LVM2
DM
设备映射,功能比MD强大
作用:
1.动态扩展或缩减磁盘分区;
2.快照
3.多路径
4.实现LVM2
5.RAID
PV(物理卷)------>VG(卷组)------->LV(逻辑卷)------>快照
PV:物理卷,单位:PE(物理盘区)
管理命令:
pvcreate:创建物理卷
pvremove:擦出PV中的数据
pvmove:将物理盘区中的数据移至其他设备
pvdisplay:查看物理卷
pvscan:扫面物理卷
VG:多个PV组合成1个VG
管理命令:
vgcreate VG_NAME /PATH/TO/PV
-s Num:指定PE大小,默认4M,创建后不可修改
vgremove VG_NAME #删除VG
vgextend VG_NAME /PATH/TO/PV #扩展VG大小,新增PV至VG
vgreduce VG_NAME /PATH/TO/PV #缩减VG大小,缩减前需将PV中的数据挪走,即pvmove命令
vgs
vgdisplay
vgscan
vgremove
vgcfgbackup
vgcfgrestore
。。。。。
LV:逻辑卷
在卷组上可以创建逻辑卷,不能大于VG的大小。
快照(数据备份):数据在某一个时间点的状态,大多数是元数据,所以快照较小(有点像软连接),取代大容量备份和还原。
1.创建逻辑卷:lvcreate
lvcreate -n LV_NAME -L #{K/M/G/T} VG_NAME #创建逻辑卷
-s:创建快照卷
1.数据的增长量不能超过快照卷大小;
2.快照卷应该是只读的;
3.跟原卷在同一卷组内。(所以划分时,需给快照卷预留空间)
2. 擦除逻辑卷数据:lvremove
3.缩减逻辑卷:lvreduce -L [-]#{K/MG/T} /PATH/TO/LV
注意:
1.不能在线缩减,得先卸载;
2.确保缩减后的空间大小,依然存储原有的所有数据;
3.缩减前检查文件系统,确保文件系统处于一致性状态;
4.缩减后,重新挂载。
3.扩展逻辑卷:lvextend -L [+]#{K/M/G/T} /PATH/TO/LV
lvextend -L +3G /dev/myvg/testlv
3.resize2fs /PATH/TO/LV #{K/M/G/T}
扩展/缩减文件系统的逻辑边界,针对ext类型
-p :能扩展到多大,就扩展到多大
resize2fs /PATH/TO/LV 5G 修改逻辑边界为5G
resize2fs -p /PATH/TO/LV 修改到跟物理边界一样大。
示例1:
1.创建PV
#fdisk /dev/sda命令创建3个分区/dev/sda10、/dev/sda/11、/dev/sdb12,分区类型均为8e(LVM)
#vgcreate /dev/sda{10,11}
#pvs #查看分区大小(会产生元数据,实际无物理磁盘大)
#pvdisplay /dev/sda10
#pvscan #扫描当前系统一个有多少个PV。(在PV拆到其他主机时,可使用此命令,扫描PV上的源数据被其他主机所识别)
2.创建VG
vgcreate myvg /dev/sda{10,11}
vgs
vgdisplay myvg
3.修改物理盘区大小=8M
vgcreate -s 8M myvg /dev/sda{10,11}
4.缩减VG的大小,保留其大小为7G(移除PV)
pvs
pvmove /dev/sda11 把sda11的数据移至其他的盘区
vgreduce myvg /dev/sda11 #将sda11从myvg中拿掉
pvremove /dev/sda11 #移除PV
5.扩展VG大小
pvcreate /dev/sda12
vgextend myvg /dev/sda12
pvdisplay /dev/sda12
6.创建LV
lvcreate -L 50M -n testlv myvg
lvs
lvsdisplay [/dev/myvg/testlv]
mke2fs -j /dev/myvg/testlv #格式化
mount /dev/myvg/testlv/ /mnt #挂载
7.移除逻辑卷
umount /mnt
lvremove /dev/myvg/testlv
8.扩展逻辑卷
顺序:先扩展物理边界,再扩展逻辑边界
lvcreate -L 2G -n testlv myvg
mke2fs -j /dev/myvg/testlv
mkdir /users
vim /etc/fstab
/dev/myvg/testlv /users ext3 defaults,acl 0 0
mount -a
vgs #查看vg是否有足够的空间
resize2fs -p /dev/myvg/testlv 扩展逻辑边界
9.缩减逻辑卷
顺序:先缩减逻辑边界,再缩减物理边界
df -Plh #确保缩减后的空间不小于Used显示的空间
umount /users
强行进行文件检查:
e2fsck -f /dev/myvg/testlv
缩减逻辑边界,将逻辑卷缩减至3G
resize2fs /dev/myvg/testlv 3G
缩减物理边界
lvreduce -L 3G /dev/myvg/testlv
重新挂载
mount -a
10.快照卷
对testlv创建大小=50M的只读快照卷
lvcreate -L 50M -n testlv-snap -s -p r /dev/myvg//testlv
lvs 查看快照卷的路径、属性、大小等信息
挂载快照卷
mount /dev/myvg/testlv-snap /mnt
#cp /etc/inittab /mnt
定期备份快照卷
#tar -jcf /tmp/users.tar.bz2 /mnt/inittab
#umount /mnt
删除快照卷
lvremove /dev/myvg/testlv-snap