LVM结构
名称 | 介绍 |
---|---|
PE | 每一个物理卷被划分的可以被LVM寻址的最小单元,默认为4MB |
PV | LVM中物理的磁盘分区 |
VG | LVM中的物理 |
LV | LVM中的逻辑卷 |
LE | 逻辑卷被划分的可被寻址的基本单元,同一卷组中,LE大小与PE大小相同 |
相关命令
PV
pvcreate:创建pv
pvs:查看pv信息
pvdisplay:查看pv的详细信息
pvremove: 移除物理卷
pvmove:将硬盘上的数据转移到其他硬盘上
pvscan:在系统中扫描硬盘,列出找到的物理卷列表
pvscan相关选项:
-e:仅显示属于卷组的物理卷
-n:仅显示不属于任何卷组的物理卷
-s:短格式输出
-u:显示UUID
vg
vgcreate :创建卷组 -s :指定PE大小
vgextend:向卷组中添加成员
vgreduce:从卷组中删除成员
vgremove:删除卷组
vgs vgdisplay:查看卷组信息
vgrename:更改改卷组名称
vgchange:改变卷组的工作状态
vgexport:导出卷组
vgimport:导入卷组
lv
lvcreate:创建逻辑卷
lvextent:扩展逻辑卷大小
lvreduce:缩减逻辑卷大小
lvrename:更改逻辑卷名称
lvs lvdisplay:查看lv信息
lvremove:删除逻辑卷
lvconvert:恢复快照且恢复后删除快照
lvcreat相关选项:
-n:指定名称
-L:指定容量大小
-L +n(K,M,G):增加容量n(K,M,G)
-l:用PE数量指定大小
-l +:增加PE个数
-s:创建快照
-p:设置只读属性
快照
快照要和lv在同一vg,当变化量大于快照大小,快照失效
LVM实操
创建逻辑卷
创建PV
[root@localhost ~]# pvcreate /dev/sdb1 /dev/sdb2
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdb2" successfully created.
创建VG
[root@localhost ~]# vgcreate yourvg /dev/{sdb1,sdb2}
Volume group "yourvg" successfully created
创建LV
[root@localhost ~]# lvcreate -n part -L 200M yourvg
WARNING: ext4 signature detected on /dev/yourvg/part at offset 1080. Wipe it? [y/n]: y
Wiping ext4 signature on /dev/yourvg/part.
Logical volume "part" created.
[root@localhost ~]# lvcreate -n yourlv -L 200M yourvg
Logical volume "yourlv" created.
创建文件系统
[root@localhost ~]# mkfs.ext4 /dev/yourvg/part
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
51200 inodes, 204800 blocks
10240 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=33816576
25 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
挂载part ,查看信息
[root@localhost ~]# mount /dev/yourvg/part /mnt/part
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 10G 2.1G 8.0G 21% /
devtmpfs devtmpfs 475M 0 475M 0% /dev
tmpfs tmpfs 487M 0 487M 0% /dev/shm
tmpfs tmpfs 487M 7.7M 479M 2% /run
tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 xfs 497M 126M 372M 26% /boot
tmpfs tmpfs 98M 0 98M 0% /run/user/0
/dev/mapper/yourvg-part ext4 190M 1.5M 177M 1% /mnt/part
LV在线扩容
lv扩容 刷新文件系统 查看信息
[root@localhost ~]# lvextend -L +200M /dev/yourvg/part
[root@localhost ~]# resize2fs /dev/yourvg/part
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 10G 2.1G 8.0G 21% /
devtmpfs devtmpfs 475M 0 475M 0% /dev
tmpfs tmpfs 487M 0 487M 0% /dev/shm
tmpfs tmpfs 487M 7.7M 479M 2% /run
tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 xfs 497M 126M 372M 26% /boot
tmpfs tmpfs 98M 0 98M 0% /run/user/0
/dev/mapper/yourvg-part ext4 384M 2.3M 362M 1% /mnt/part
LV缩减
卸载逻辑卷 使用e2fsck -f 强制检测逻辑卷的空余空间
[root@localhost ~]# umount /mnt/part
[root@localhost ~]# e2fsck -f /dev/yourvg/part
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/yourvg/part: 32/98800 files (0.0% non-contiguous), 18875/409600 blocks
重置文件系统大小
[root@localhost ~]# resize2fs /dev/yourvg/part 200M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/yourvg/part to 204800 (1k) blocks.
The filesystem on /dev/yourvg/part is now 204800 blocks long.
缩减逻辑卷大小
[root@localhost ~]# resize2fs /dev/yourvg/part 200M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/yourvg/part to 204800 (1k) blocks.
The filesystem on /dev/yourvg/part is now 204800 blocks long.
[root@localhost ~]# lvreduce -L -200M /dev/yourvg/part
WARNING: Reducing active logical volume to 200.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce yourvg/part? [y/n]: y
Size of logical volume yourvg/part changed from 400.00 MiB (100 extents) to 200.00 MiB (50 extents).
Logical volume yourvg/part successfully resized.
删除逻辑卷
卸载分区
[root@localhost ~]# umount /mnt/part
删除LV
[root@localhost ~]# lvremove /dev/yourvg/part
Do you really want to remove active logical volume yourvg/part? [y/n]: y
Logical volume "part" successfully removed
删除VG
[root@localhost ~]# vgremove yourvg
Do you really want to remove volume group "yourvg" containing 1 logical volumes? [y/n]: y
Do you really want to remove active logical volume yourvg/yourlv? [y/n]: y
Logical volume "yourlv" successfully removed
Volume group "yourvg" successfully removed
删除PV
[root@localhost ~]# pvremove /dev/sdb1 /dev/sdb2
Labels on physical volume "/dev/sdb1" successfully wiped.
Labels on physical volume "/dev/sdb2" successfully wiped.
快照
创建快照,指定大小和名称
[root@localhost ~]# lvcreate -L 10M -s -n cosplaypart /dev/yourvg/part
Rounding up size to full physical extent 12.00 MiB
Logical volume "cosplaypart" created.
查看分区内容,创建新文件
[root@localhost ~]# ls /mnt/part/
lost+found tao
[root@localhost ~]# mkdir /mnt/part/ddd
[root@localhost ~]# ls /mnt/part/
ddd lost+found tao
卸载分区,恢复快照
[root@localhost ~]# umount /mnt/part
[root@localhost ~]# lvconvert --merge /dev/yourvg/cosplaypart
Merging of volume yourvg/cosplaypart started.
yourvg/part: Merged: 100.00%
挂载且查看分区内容
[root@localhost ~]# mount /dev/yourvg/part /mnt/part
[root@localhost ~]# ls /mnt/part/
lost+found tao
此时快照已被自动删除