LVM-逻辑卷管理命令总结
1 相关概念
-
PV (physical volume 物理卷):物理卷就是基本的逻辑存储块,创建物理卷可以用硬盘分区或者硬盘本身
-
VG (volume group 卷组):卷组由一个或者多个物理卷组成
-
-
PE (physical extent):物理卷可以划分的最小存储单元,类似于block
-
LE (logical extent):逻辑卷可以划分的最小单元
2 相关命令
2.1 安装对应的安装包
yum install lvm2
2.2 创建逻辑卷PV
2.2.1 相关命令
-
pvcreate 创建pv
-
pvremove 移除PV
-
pvs 显示pv信息
-
pvdisplay 显示详细信息
-
pvmove Move extents from one physical volume to another
2.2.2 创建流程
1)创建对应的分区比如下
[root@gsh_n2 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 12G 0 disk
|-sda1 8:1 0 1G 0 part /boot
|-sda2 8:2 0 1G 0 part [SWAP]
`-sda3 8:3 0 10G 0 part /
sdb 8:16 0 1G 0 disk
|-sdb1 8:17 0 600M 0 part
|-sdb2 8:18 0 1K 0 part
|-sdb5 8:21 0 100M 0 part
`-sdb6 8:22 0 321M 0 part
sr0 11:0 1 4.5G 0 rom
2)创建物理卷流程
pvcreate /dev/sdb1
pvremove /dev/sdb1
2.2.3 示例
#################################创建pv#################################
[root@gsh_n2 ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created.
[root@gsh_n2 ~]# pvcreate /dev/sdb5
Physical volume "/dev/sdb5" successfully created.
[root@gsh_n2 ~]# pvcreate /dev/sdb6
Physical volume "/dev/sdb6" successfully created.
[root@gsh_n2 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 --- 600.00m 600.00m
/dev/sdb5 lvm2 --- 100.00m 100.00m
/dev/sdb6 lvm2 --- 321.00m 321.00m
[root@gsh_n2 ~]# pvremove /dev/sdb1
Labels on physical volume "/dev/sdb1" successfully wiped.
[root@gsh_n2 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb5 lvm2 --- 100.00m 100.00m
/dev/sdb6 lvm2 --- 321.00m 321.00m
[root@gsh_n2 ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created.
#################################创建vg#################################
2.3 创建卷组VG
2.3.1 相关命令
-
vgcreate 创建卷组
-
vgs 显示卷组简易信息
-
vgdisplay 显示卷组信息
-
vgremove 移除卷组
-
vgreduce 将物理卷从卷组移除
-
vgextend 卷组扩容
2.3.2 创建流程
vgcreate myvg /dev/sdk1 /dev/sdl1
vgextend vg00 /dev/sda4 /dev/sdn1
vgreduce VG PV (做pv移除时先要做pvmove,因为里面可能有数据)
2.3.3 示例
[root@gsh_n2 ~]# vgcreate myvg /dev/sdb1
Volume group "myvg" successfully created
[root@gsh_n2 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
myvg 1 0 0 wz--n- 596.00m 596.00m
[root@gsh_n2 ~]# vgextend myvg /dev/sdb5
Volume group "myvg" successfully extended
[root@gsh_n2 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
myvg 2 0 0 wz--n- 692.00m 692.00m
[root@gsh_n2 ~]# vgextend myvg /dev/sdb6
Volume group "myvg" successfully extended
[root@gsh_n2 ~]# pvmove /dev/sdb1
No data to move for myvg.
[root@gsh_n2 ~]# vgreduce myvg /dev/sdb1
Removed "/dev/sdb1" from volume group "myvg"
[root@gsh_n2 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
myvg 2 0 0 wz--n- 416.00m 416.00m
[root@gsh_n2 ~]# vgextend myvg /dev/sdb1
Volume group "myvg" successfully extended
[root@gsh_n2 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
myvg 3 0 0 wz--n- 1012.00m 1012.00m
[root@gsh_n2 ~]# vgremove myvg
Volume group "myvg" successfully removed
[root@gsh_n2 ~]# vgs
[root@gsh_n2 ~]# vgcreate myvg /dev/sdb1 /dev/sdb5 /dev/sdb6
Volume group "myvg" successfully created
[root@gsh_n2 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
myvg 3 0 0 wz--n- 1012.00m 1012.00m
2.4 创建逻辑卷LV
2.4.1 相关命令
-
lvextend 扩展逻辑卷
-
lvresize 改变逻辑卷容量
-
lvcreate 创造逻辑卷
-
lvreduce 减少逻辑卷容量
-
lvs 显示逻辑卷简易信息
-
lvdisplay 显示逻辑卷详细信息
-
lvremove 移除逻辑卷
2.4.2 创建流程
1)扩展逻辑卷
lvextend -L +54 vg01/lvol10 将逻辑卷扩展54
lvextend vg01/lvol01
lvextend -L+16m vg01/lvol01
2)缩减逻辑卷
umount /dev/myvg/mylv
fsck.ext4 /dev/myvg/mylv -f (强制检测文件系统)
resize2fs /dev/myvg/mylv 400M (修剪文件系统大小,不能超过vg大小)
lvreduce -L 400M /dev/myvg/mylv
2.4.3 示例
#########################lv创建及扩容#########################
[root@gsh_n2 ~]# lvcreate -L 100M -n mylv myvg
Logical volume "mylv" created.
[root@gsh_n2 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
mylv myvg -wi-a----- 100.00m
[root@gsh_n2 ~]# lvextend -L +100M /dev/myvg/mylv
Size of logical volume myvg/mylv changed from 100.00 MiB (25 extents) to 200.00 MiB (50 extents).
Logical volume myvg/mylv successfully resized.
[root@gsh_n2 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
mylv myvg -wi-a----- 200.00m
[root@gsh_n2 ~]# mkfs.ext4 /dev/myvg/mylv
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
[root@gsh_n2 ~]# mount /dev/myvg/mylv /data1
[root@gsh_n2 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 900M 0 900M 0% /dev
tmpfs 910M 0 910M 0% /dev/shm
tmpfs 910M 9.6M 901M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda3 10G 2.1G 8.0G 21% /
/dev/sda1 1014M 142M 873M 15% /boot
tmpfs 182M 0 182M 0% /run/user/0
/dev/mapper/myvg-mylv 190M 1.6M 175M 1% /data1
[root@gsh_n2 ~]# lvextend -L 500M /dev/myvg/mylv
Size of logical volume myvg/mylv changed from 200.00 MiB (50 extents) to 500.00 MiB (125 extents).
Logical volume myvg/mylv successfully resized.
[root@gsh_n2 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
mylv myvg -wi-a----- 500.00m
#########################lv缩减容量#########################
[root@gsh_n2 ~]# fsck.ext4 /dev/myvg/mylv -f
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/myvg/mylv: 11/129024 files (0.0% non-contiguous), 22696/512000 blocks
[root@gsh_n2 ~]# resize2fs /dev/myvg/mylv -f
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/myvg/mylv to 512000 (1k) blocks.
The filesystem on /dev/myvg/mylv is now 512000 blocks long.
[root@gsh_n2 ~]# resize2fs /dev/myvg/mylv 400M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/myvg/mylv to 409600 (1k) blocks.
The filesystem on /dev/myvg/mylv is now 409600 blocks long.
[root@gsh_n2 ~]# lvre
lvreduce lvremove lvrename lvresize
[root@gsh_n2 ~]# lvreduce -L 400M /dev/myvg/mylv
WARNING: Reducing active logical volume to 400.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce myvg/mylv? [y/n]: y
Size of logical volume myvg/mylv changed from 500.00 MiB (125 extents) to 400.00 MiB (100 extents).
Logical volume myvg/mylv successfully resized.
[root@gsh_n2 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
mylv myvg -wi-a----- 400.00m
[root@gsh_n2 ~]# mount /dev/myvg/mylv /data1
[root@gsh_n2 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 900M 0 900M 0% /dev
tmpfs 910M 0 910M 0% /dev/shm
tmpfs 910M 9.6M 901M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda3 10G 2.1G 8.0G 21% /
/dev/sda1 1014M 142M 873M 15% /boot
tmpfs 182M 0 182M 0% /run/user/0
/dev/mapper/myvg-mylv 384M 2.3M 358M 1% /data1
3 快照功能(snapshot)
3.1 基本原理
快照的基本原理是创建一个快照卷,快照卷根相当于硬连接,快照卷与原卷处于同一个vg(卷组),他跟源卷上的文件都指向相同磁盘上相同的位置,当磁盘上的文件发生变化时,快照卷会将变化的文件没在改变之前的状态备份存储到快照卷中,故而快照能够恢复某一时间点的状态。快照卷的大小取决于单位时间,数据变化快,变化越快则快照卷需要的容量越大。快照卷可以用于备份。
3.2 相关命令lvcreate参数
-
-p rw|r Set access permission to read only r or read and write rw.
-
-s snapshot
3.3 示例
[root@gsh_n2 ~]# lvcreate -s -p r -L 100M -n mylv_snap /dev/myvg/mylv
Logical volume "mylv_snap" created.
[root@gsh_n2 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 12G 0 disk
|-sda1 8:1 0 1G 0 part /boot
|-sda2 8:2 0 1G 0 part [SWAP]
`-sda3 8:3 0 10G 0 part /
sdb 8:16 0 1G 0 disk
|-sdb1 8:17 0 600M 0 part
| |-myvg-mylv-real 253:1 0 400M 0 lvm
| | |-myvg-mylv 253:0 0 400M 0 lvm /data1
| | `-myvg-mylv_snap 253:3 0 400M 1 lvm
| `-myvg-mylv_snap-cow 253:2 0 100M 0 lvm
| `-myvg-mylv_snap 253:3 0 400M 1 lvm
|-sdb2 8:18 0 1K 0 part
|-sdb5 8:21 0 100M 0 part
`-sdb6 8:22 0 321M 0 part
sr0 11:0 1 4.5G 0 rom
[root@gsh_n2 /dev/myvg]# mount /dev/myvg/mylv_snap /data2 -f
[root@gsh_n2 /data2]# ls -lhi /data1 /data2
/data1:
total 12K
11 drwx------. 2 root root 12K Oct 9 20:38 lost+found
/data2:
total 12K
11 drwx------. 2 root root 12K Oct 9 20:38 lost+found
浙公网安备 33010602011771号