lvm管理
LVM是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。
①PE(Physical Extend) 物理拓展
②PV(Physical Volume) 物理卷
③VG(Volume Group) 卷组
④LV(Logical Volume) 逻辑卷
LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。我们如果新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性!
物理磁盘被格式化为PV,空间被划分为一个个的PE(默认为4m)
(2)不同的PV加入到同一个VG中,不同PV的PE全部进入到了VG的PE池内
(3)LV基于PE创建,大小为PE的整数倍,组成LV的PE可能来自不同的物理磁盘
(4)LV现在就直接可以格式化后挂载使用了
(5)LV的扩充缩减实际上就是增加或减少组成该LV的PE数量,其过程不会丢失原始数据
创建逻辑卷:
1:将磁盘分区或整个磁盘创建为物理卷
当前磁盘正在使用中创建逻辑卷后提示设备忙碌
centos5,7使用 partprobe让内核重新探测分区
centos6
创建分区partx -a /dev/sda
删除分区 partx -d -nr5 /dev/sda
pvs、pvscan、pvdisplay查看物理卷
pvcreate创建pv(物理卷)
pvcreate /dev/sdb | /dev/sdb1
pvremove移除物理卷
pvremove /dev/sdb|/dev/sdb1
pvscan pvs pvdisplay
2:将物理卷pv创建为卷组
vgs、vgscan、vgdisplay查看卷组
vgcreate创建vg(卷组)
vgcreate juanzu /dev/sdb |/dev/sdb1
vgextend扩展vg
vgextend juanzu /dev/sdc
vgreduce缩减空间
先做pvmove,再做vgduce
vgreduce juanzu /dev/sdc
vgremove删除卷组
先做pvmove,再做vgremove
vgremove juanzu
3:在卷组中创建逻辑卷
lvs、lvscan、lvdisplay查看逻辑卷
lvcreate创建逻辑卷
lvcreate -L 10G -n 逻辑卷名称 卷组名称
lvcreate -l 60%VG -n 逻辑卷名称 卷组名称(指定逻辑卷空间大小为vg卷组空间%60)
lvcreate -l 100%FREE -n 逻辑卷名称 卷组名称 (指定逻辑卷空间大小为vg卷组%100)
lvremove /dev/卷组名称/逻辑卷名称
4:逻辑卷建立文件系统并挂载使用
mkfs.ext4 /dev/juanzu/caiwubu
mkfs -t 系统类型 /dev/juanzu/caiwubu
mount /dev/juanzu/caiwubu /PATH
扩展逻辑卷
lvextend扩展lv,支持在线扩展
lvextend -L +5G /dev/卷组名称/逻辑卷名称(将逻辑卷在原有基础上扩展5G)
lvexntend -L 10G /dev/卷组名称/逻辑卷名称 (将逻辑卷扩展至10G)
resize2fs 逻辑卷空间 /dev/卷组名称/逻辑卷名称 (重设文件系统大小 centos6)
lvresize -r -L 逻辑卷空间 /dev/卷组名称/逻辑卷名称(等于上面两步结合起来)
xfs_growfs /mountpoint(重设文件系统大小 centos7)
缩减逻辑卷(centos6, xfs文件系统不支持缩减)
查看逻辑卷使用空间状况
不能在线缩减,得先卸载 切记
确保缩减后的空间大小依然能存储原有的所有数据
在缩减之前应该先强行检查文件,以确保文件系统处于一至性状态
卸载文件系统
umount /dev/juanzu/caiwubu
强制检测文件系统
e2fsck -f /dev/juanzu/caiwubu
缩减逻辑卷到指定大小
resize2fs /dev/juanzu/caiwubu 10G
lvreduce -L 10G /dev/juanzu/caiwubu
重新挂载
mount /dev/juanzu/caiwubu /PATH
跨主机迁移卷组
源计算机上
1 在旧系统中,umount所有卷组上的逻辑卷
2 禁用卷组 vgchange –a n vg0 lvdisplay
3 导出卷组 vgexport vg0 pvscan vgdisplay
拆下旧硬盘
在目标计算机上
4在新系统中安装旧硬盘,并导入卷组:vgimport vg0
5 vgchange –ay vg0 启用
6 mount所有卷组上的逻辑卷
lvm快照
快照是特殊的逻辑卷,它是在生成快照时存在的逻辑卷的准确拷贝
对于需要备份或者复制的现有数据临时拷贝以及其它操作来说,快照是最合适 的选择
快照一般都很小,它存的是原系统上要发生变化的文件,比如我要修改一个文件,快照会首先把文件存起来,然后修改过后的文件在原系统,未修改的文件存进了快照。这样就实现了数据备份,这样快照卷刚开始很小,时间长了就大了。它这个备份存的是软件资料的备份。而我们的raid1和raid10存的备份是磁盘的备份。我的磁盘直接坏掉了,快照肯定没有备份下来,还原也是没用的【快照也是存在磁盘上的】。
快照卷的好多文件其实都是和原文件系统共用的,所以快照卷相当于一个分区的另一个入口,这样快照卷肯定在该分区上,对LVM而言就是在一个卷组上【因为PE在vg下面的每个PV上都有】
要求:
1:生命周期为整个快照的文件系统的生命周期,并且在该周期内原文件系统变化的文件大小不能超过快照卷,因为每有文件变化就会备份一份该文件变化之前的快照,最大不会超过快照的原文件系统大小
2:快照应该是只读
3:跟原卷在同一卷组
使用方法:lvcreate -L # -n SLV_NAME -s -p r /PATH/LV 【指定为那个逻辑卷创建的】
-s:表示快照卷
-p:指定权限r|w
-L:快照卷大小
为现有逻辑卷创建快照
lvcreate -l 64 -s -n data-snapshot -p r /dev/vg0/data
挂载快照
mkdir -p /mnt/snap
mount -o ro /dev/vg0/data-snapshot /mnt/snap
Centos7逻辑卷快照挂载需要加 mount -o nouuid 选项(因为xfs文件系统逻辑卷和快照uuid相同,挂不上去)
恢复快照
umount /dev/vg0/data-snapshot
umount /dev/vg0/data
lvconvert --merge /dev/vg0/data-snapshot
删除快照
umount /mnt/databackup
lvremove /dev/vg0/databackup