#LVM
逻辑卷管理
一、创建pv
创建pv可以在物理硬盘(裸盘上创建),MBR类型的分区(要更改分区类型为linux lvm: 8e )。GPT分区也要更改分区类型为8e00 Linux LVM 。
还可以在RAID上创建。注意要在没有数据的分区上创建,否则会丢失数据。
只有需要拆除pv才需要pvmove移动该pv的数据。否者不需要。拆除前要先调整vg大小。尽量让vg小于剩余pv的总和。
注意,先调整pv上层的个系统,最后pvmove 移动数据。才能拆除pv
命令
pvcreat
pvcreate /dev/sdb
pvremove
pvmove
二、创建vg
可以创建多个vg,同一硬盘的不同分区可以属于不同的vg。vg类似于MBR的扩展分区,不能独立使用。需要在vg上创建逻辑分区,才能使用。
一般不建议单独对vg进行缩减操作。一般都是在要缩减lv的空间,才有可能需要缩减vg
vg创建后,之后创建的lv设备会以软连接的方式放到/dev/mapper/下。lv名称是由所属vgname组成格式: vgname-lvname,使用者更能区分,lv属于哪个vg上的。
命令
vgcreat
vgcreate vg0 /dev/sdb
vgextend
vgextend vg0 /dev/sdc
vgreduce
vgremove
三、创建lv
一个vg上可以创建多个lv。
lv是系统可以识别的使用单位。一个lv就相当于一个磁盘
创建lv后需要使用分区工具,进行分区。然后创建需要的文件系统。所以注意,想要调整分区大小,一定要使用。相应分区类型的分区调整工具。
扩容的话可以先扩容lv在更新分区表。使用相应的分区类型的分区调整工具。ext系列是用resize2fs
命令
lvreduce
lvreduce -L 21G /dev/vg0/lvol0 缩减
lvextend
lvextend -L 35G /dev/vg0/lvol0 扩大
lvcreate
lvcreate -L 15G vg0
lvremove
lvremove /dev/vg0/lvol0
lvresize
lvreduce -L 21G /dev/vg0/lvol0 lv上有文件系统需要使用扩大vg或减小vg后需要使用 ?
创建快照
要创建快照,卷组一定要有富裕空间。
创建快照卷,快照卷必须与原卷处于同一卷组之内。
建立快照的卷大小只需要原始逻辑卷的15%~20%就够了。也可以使用lvextend放大快照。
快照卷的生命周期,为整个数据时长,数据的增长量不能超过快照卷大小。根据数据变化量创建。最安全的做法是快照卷与原卷一样大,或者与原卷的数据一样大。
使用LVM快照
为现有逻辑卷创建快照
#lvcreate -L #[mgt] -s -n snap-data -p r /dev/vg0/data
-s 创建快照卷
-p r 创建只读
-n 指明快照卷名称
挂载快照
#mkdir -p /mnt/snap
#mount -o ro /dev/vg0/snap-data /mnt/snap
删除快照
#umount /mnt/databackup
#lvremove /dev/vg0/databackup
[root@yangyouwei ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
arc-snap myvg sri-aos— 1.00g archlinux 0.00
archlinux myvg owi-a-s— 10.00g
data myvg owi-aos— 7.00g
data-snap myvg sri-aos— 1.00g data 0.01
Attr 属性字段中s表示快照卷。 r只读 ,Origin 指的是原卷,Data% 指的是发生改变的数据(快照的中保存的原卷发生改变的数据)。
四、扩容lv
扩展逻辑卷:可在线执行扩展操作。无需卸载
# lvextend-L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
# resize2fs /dev/VG_NAME/LV_NAME #G 修复文件系统分区到多大。
resize2fs -p /dev/VG_NAME/LV_NAME 物理边界有多大,就扩展到多大。
五、缩减lv
# umount/dev/VG_NAME/LV_NAME
# e2fsck -f /dev/VG_NAME/LV_NAME
# resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
# lvreduce-L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
# mount
一定要先卸载,不能在线缩减。
一定要确认缩减后,依然能够容纳下原有的数据。
[root@yangyouwei ~]# df -hl
一般不建议,进行缩减操作。如必须执行的话,一定要严格按如下步骤执行。否则会造成系统无法识别lv,丢失数据。
先缩减文件系统边界,后缩减lv边界(物理边界)
缩减逻辑卷:严格按照如下步骤只从。
卸载lv设备 umount/dev/VG_NAME/LV_NAME
强制检测lv设备 e2fsck -f /dev/VG_NAME/LV_NAME ####如果是其他文件系统,使用相应的工具进行检查。确保文件系统处于一致状性态。
调整分区大小 resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT] ####如不是ext系列的分区,许使用相应的工具调整。
调整lv大小 lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
注意事项:
创建的lvm设备,只有创建了lv以后才能被系统识别看到硬件设备。
/dev/vgname/vgname-lvname
/dev/mapper/lvname
lv是被系统设备能够识别的,在/dev下有设备文件。dm-0…dm-n。
/dev/vgname/lvname /dev/mapper/lvname都是软连接到 dm设备的
需要调整分区大小,需要先执行resize2fs,这仅是针对ext系列分区的分区调整工具。其他类型的分区,需要使用相应的工具。
lvm调整的时候注意各种边界。pv边界,vg边界,lv边界(物理边界) 以及 文件系统边界(逻辑边界)
创建快照卷,快照卷必须与原卷处于同一卷组之内。
快照的原理
快照的实现是,创建快照是创建一个元数据监视器,将元数据保存在快照逻辑卷,这监视器,时刻监视着目标磁盘设备的元数据变化,一旦发生变化才将要被修改变化的数据备份到快照卷。(快照卷是指向访问原卷的另一个路径(类似于硬链接))。快照卷的体积很小。快照卷大小,取决于想要保存快照多长时间。时间越久,就需要更大的快照空间,最大到与原卷大小一样。快照卷通常是只读的。还有一种方式,是快照的快照。注意快照的实现是非常快的。
原创文章,作者:yyw,如若转载,请注明出处:http://www.178linux.com/42643