cents7 下LVM的使用

LVM基本术语: PV:物理卷,PV处于LVM系统最低层,它可以是整个硬盘,或者与磁盘分区具有相同功能的设备(如RAID),但和基本的物理存储介质相比较,多了与LVM相关管理参数

VG:卷组,创建在PV之上,由一个或多个PV组成,可以在VG上创建一个或多个“LVM分区”(逻辑卷),功能类似非LVM系统的物理硬盘

LV:逻辑卷,从VG中分割出的一块空间,创建之后其大小可以伸缩,在LV上可以创建文件系统(如/var,/home) PE:物理区域,每一个PV被划分为基本单元(也被称为PE),具有唯一编号的PE是可以被LVM寻址的最小存储单元,默认为4MB

-----------------------

使用LVM目的在于使用LV实现磁盘的动态扩容,对于生产环境下的服务器来说,如果存储数据的分区磁盘空间不够来使用LVM扩容

我目前使用的条件:虚拟机添加新的虚拟硬盘

[root@air ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)

虚拟机实验 加硬盘,格式化新硬盘,fdisk创建新分区,更新分区,创建pv,vg,lv,mount挂载,df查看,使用,常用命令

一、LV的创建步骤
1)添加硬盘或者创建分区,通知内核(此实验使用新虚拟硬盘创建新分区)
2)创建物理卷(pvcreate)
3)创建卷组(vgcreate)
4)创建逻辑卷(lvcreate)
5)创建文件系统(mkfs.ext4)
6)挂载使用(mkdir;mount)

1)添加新虚拟硬盘并创建分区

新虚拟硬盘再次虚拟机上为sdb

[root@air dev]# mount /dev/sdb /mnt/

mount: /dev/sdb 写保护,将以只读方式挂载

mount: 未知的文件系统类型“(null)”

[root@air dev]# mount: 未知的文件系统类型“(null)”        //不格式化会报错,执行下面命令格式化文件系统

[root@air dev]# mkfs.ext4 /dev/sdb

mke2fs 1.42.9 (28-Dec-2013)

/dev/sdb is entire device, not just one partition!

无论如何也要继续? (y,n) y

文件系统标签=

OS type: Linux

块大小=4096 (log=2)

分块大小=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

524288 inodes, 2097152 blocks

104857 blocks (5.00%) reserved for the super user

第一个数据块=0

Maximum filesystem blocks=2147483648

64 block groups

32768 blocks per group, 32768 fragments per group

8192 inodes per group

Superblock backups stored on blocks:

       32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: 完成

正在写入inode表: 完成

Creating journal (32768 blocks): 完成

Writing superblocks and filesystem accounting information: 完成

-----------------------------------------------------

fdisk /dev/sdb    //fdisk 是Linux磁盘分区工具

...

   设备 Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048     2099199     1048576   83  Linux

/dev/sdb2         2099200     4196351     1048576   83  Linux

/dev/sdb3         4196352     6293503     1048576   83  Linux

]# partprobe    输入命令实现更新, partprobe命令用于重读分区表

2)创建PV物理卷

[root@air ~]# pvcreate /dev/sdb[123]  //添加刚刚创建好的分区为物理卷

 Physical volume "/dev/sdb1" successfully created.

 Physical volume "/dev/sdb2" successfully created.

 Physical volume "/dev/sdb3" successfully created.

从卷组VG里移除PV

]# vgreduce vg01 /dev/sdb1
Physical volume "/dev/sdb1" still in use    //因为在使用中所以不可以移除

删除PV

 pvremove  /dev/sdb1

3)创建VG卷组

 1.vgcreate 卷组名 物理卷列表

~]# vgcreate vg01 /dev/sdb1    //现在只将sdb1加入卷组

2.给卷组添加PV

~]# vgextend vg01 /dev/sdb2  //sdb2 需要先使用fdisk先创建
Volume group "vg01 successfully extended

3.从卷组中移除pv —— vgreduce 卷组名 物理卷
注意:只能够移除未划分给lv的物理卷,否则会报如下错误
 ~]# vgreduce vg0 /dev/sdb2

Physical volume "/dev/sdb2" still in use

4)创建LV逻辑卷

1.创建逻辑卷 LV

~]# lvcreate -L 500m -n lv01 vg01  

[root@air dev]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <8.00g
swap centos -wi-a----- 1.00g
lv01 vg01 -wi-a----- 500.00m

2.扩展LV

命令:lvextend -L +500m  /dev/lv01/lv01 //lvextend 表示增加500M,视卷组容量而定

      lvresize -L 5G  /dev/lv01/lv01  //lvresize表示增加到5G,是调整后的容量,视卷组容量而定

2、检查文件系统

命令:fsck -f  /dev/vg01/lv01

3.给逻辑卷创建文件系统

~]# mkfs.ext4 /dev/vg01/lv01

~]# mount /dev/vg01/lv01 /mnt/lv01  

~]# cd /mnt/lv01/
~]# ls
lost+found

lv01]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 484M 0 484M 0% /dev
tmpfs 496M 0 496M 0% /dev/shm
tmpfs 496M 6.9M 489M 2% /run
tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/mapper/centos-root 8.0G 1.9G 6.2G 23% /
/dev/sda1 1014M 163M 852M 16% /boot
tmpfs 100M 0 100M 0% /run/user/0
/dev/mapper/vg01-lv01 499M 1.1M 477M 1% /mnt/lv01  //此处数据和逻辑卷不一样是我创建虚拟机LV的数据和上述内容不同

扩展

lv拉伸的步骤

a、确定你要拉伸的空间的大小

b、查看lv所属的卷组剩余空间的大小 vgs

c、如果卷组空间充足,直接可以扩lv,如果卷组空间不足,添加硬盘或者创建分区,创建pv,将pv加入到vg,然后再扩lv

d、扩展文件系统的大小

e、验证

df -h (在线扩容的)

(2)lv的回缩步骤 一般做的少

a、如果lv是挂载的,那么先卸载掉

b、回缩文件系统的大小

c、缩小lv的空间大小

d、挂载使用,验证

二, 查看PV/VG/LV信息

scan 扫描

pvscan

vgscan

lvscan

create 创建

pvcreate

vgcreate

lvcreate

display显示

pvdisplay

vgdisplay

lvdisplay

remove 移除

pvremove

vgremove

lvremove

extend 扩展

 

vgextend

lvextend

reduce减少

 

vgreduce

lvreduce

 

原文地址:https://www.cnblogs.com/5444de/p/14105987.html