LVM逻辑卷
以下为本篇中会用到的命令
pvs 查看物理卷
pvdisplay 查看物理卷详细信息
vgs 查看卷组
vgdisplay 查看卷组详细信息
lvs 查看逻辑卷
lvdisplay 查看逻辑卷详细信息
pvcreate 创建物理卷(physical Volumes)
vgcreate 创建卷组(Volme Group)
lvcreate 创建逻辑卷(Logical Volumes)
vgrename 修改卷组名
lvrename 修改逻辑卷名
vgchange -an 禁用卷组状态
vgchange -ay 激活卷组状态
vgimport 导入卷组
vgexport 导出卷组
vgextent 扩展卷组
lvextent 扩展逻辑卷
lvreduce 缩减逻辑卷
lvconvert --merge 快照还原
lvremove 移除逻辑卷
pvremove 移除物理卷
vgremove 移除卷组
创建逻辑卷(硬盘先分区id改成Linux LVM代号8e或使用整块硬盘创建)
- 创建物理卷(sda6和sdb创建成物理卷)
[[email protected] ~]#pvcreate /dev/sda6 Physical volume "/dev/sda6" successfully created [[email protected] ~]#pvcreate /dev/sdb Physical volume "/dev/sdb" successfully created
- 创建卷组(创建vg0卷组,pe块设置为每个16M,sda6和sdb添加到vg0卷组)
[[email protected] ~]#vgcreate vg0 -s 16M /dev/sda6 /dev/sdb Volume group "vg0" successfully created
- 创建逻辑卷(从vg0卷组中,创建一个名为lv0,大小为1500M的逻辑卷)
[[email protected] ~]#lvcreate -n lv0 -L 1500M vg0 Rounding up size to full physical extent 1.47 GiB Logical volume "lv0" created
- 为lv0创建文件系统 (.ext系统可扩展可缩减.xfs可扩展不可缩减)
[[email protected] ~]#mkfs.ext4 /dev/vg0/lv0
- 修改/etc/fstab配置文件
UUID=cdd32349-4ece-4467-9aac-ddb837673f5f /mnt/lv0 ext4 defaults 0 0
- 创建/mnt/lv0文件夹,并挂载
[[email protected] ~]#mkdir /mnt/lv0 [[email protected] ~]#mount -a
扩展逻辑卷
- 查看卷组是否有剩余空间,剩余空间足够直接进行第三步开始扩展
[[email protected] ~]#vgdisplay
- 剩余空间不组,添加硬盘或分区到卷组(把sda7的容量添加到vg0卷组)
[[email protected] ~]#vgextend vg0 /dev/sda7 Physical volume "/dev/sda7" successfully created Volume group "vg0" successfully extended
- 扩展逻辑卷 (把逻辑卷lv0扩展到10个G)
[[email protected] ~]#lvextend -L 10G /dev/vg0/lv0 或 [[email protected] ~]#lvextend -r -L 2G /dev/vg0/lv0 执行此命令无需第三步,参数-r直接自动选择并重设文件系统
注:
(把剩余空间全部扩展到lv0逻辑卷)lvextend -r -l +100%FREE /dev/vg0/lv0
- 重设文件系统(确定逻辑卷lv0是ext系统还是xfs系统选择下面对应的命令)
blkid
[[email protected] ~]#resize2fs /dev/vg0/lv0 ext系统对应盘 或 [[email protected] ~]#xfs_grop /mnt/lv0 xfs系统对应挂载点
缩减逻辑卷(只能是.ext文件系统)
- 取消挂载逻辑卷
[[email protected] ~]#umount /mnt/lv0
- 检查文件系统
[[email protected] ~]#fsck -f /dev/vg0/lv0
- 缩减文件系统
[[email protected] ~]#resize2fs /dev/vg0/lv0 2G
- 缩减逻辑卷 (强烈建议缩减前备份,可能会丢失数据)
[[email protected] ~]#lvreduce -L 2G /dev/vg0/lv0
- 重新挂载
[[email protected] ~]#mount -a
跨主机迁移逻辑卷
- 卷组改名(避免迁移名字相同)
[[email protected] ~]#vgrename vg0 newvg0 Volume group "vg0" successfully renamed to "newvg0"
- 逻辑卷改名(可不改)
[[email protected] ~]#lvrename /dev/newvg0/lv0 newlv0 Renamed "lv0" to "newlv0" in volume group "newvg0"
- 取消挂载 (取消挂载卷组上的逻辑卷)
[[email protected] ~]#umount /mnt/lv0
- 卷组设置成非活动状态
[[email protected] ~]#vgchange -an newvg0
- 查看状态 (LV Status:NOT acailable)
[[email protected] ~]#lvdisplay --- Logical volume --- LV Path /dev/newvg0/newlv0 LV Name newlv0 VG Name newvg0 LV UUID j8Psol-jzvF-p7C9-5jvW-1ecM-ectR-1meEbM LV Write Access read/write LV Creation host, time Dadda6.10, 2018-08-21 08:39:50 +0800 LV Status NOT available LV Size 12.00 GiB Current LE 768 Segments 2 Allocation inherit Read ahead sectors auto vgexport newvg0 设置导出状态
- 导出卷组
[[email protected] ~]#vgexport newvg0 Volume group "newvg0" successfully exported [[email protected] ~]#lvdisplay Volume group newvg0 is exported
-
转移硬盘 (把带有要转移逻辑卷所在的所有硬盘转移)
转移完成后
扫描物理卷查看状态pvscan
- 导入卷组
注:如碰丢失逻辑卷[[email protected] ~]#vgimport newvg0
可强制移除,如有丢失可能为硬盘上有其他逻辑卷,并且其他的那个逻辑卷在另一块硬盘上,未转移全。vgreduce --removemissing --force newvg0
- 激活newvg0卷组 (激活后用
lvdisplay
查看状态)gvdisplay
[[email protected] ~]#vgchange -ay newvg0
- 建文件夹挂载
[[email protected] ~]#mkdir /mnt/newvg0 [[email protected] ~]#mount /dev/newvg0/newlv0 /mnt/newlv0
逻辑卷快照 (快照和逻辑卷放在同一卷组内,快照大小应小于逻辑卷)
创建快照
- 创建快照(快照名lv0-snapshot)(-p r为了安全设置成只读)(-s 快照)(-L 1G指定大小)(lv0的快照)
lvcreate -n lv0-snapshot -p r -s -L 1G /dev/newvg0/lv0 *创建完毕后lvdisplay查看下状态
- 建文件夹,挂载快照(xfs需用mount-o nouuid挂载)
mkdir /mnt/lv0snapshot mount /dev/newvg0/lv0-snapshot /mnt/lv0-snapshot 注:xps系统用下面命令挂载,否则无法查看 mount -o nouuid /dev/newvg0/lv0-snapshot /mnt/lv0-snapshot
还原快照
- 取消硬盘挂载 取消快照挂载
umount /mnt/lv0 umount /mnt/lv0-snapshot
- 合并 (还原快照)
lvconvert --merge /dev/newvg0/lv0-snapshot
- 重新挂载硬盘即可
mount /dev/newvg0/lv0 /mnt/lv0
删除快照
- 取消挂载
umount /mnt/lv0-snapshot
- 删除快照
lvremove /dev/newvgr0/lv0-snapshot
硬盘灯变黄,提前更换硬盘,硬盘上有逻辑卷
- 需先挪PE
pvdisplay`查看卷组中别的磁盘的pe是否够用 vgdisplay查看卷组中free pe是否够用
- 不够需找块.ext每占满的硬盘压缩。够用执行以下命令 (把sde的pe挪动到其他硬盘上)
pvmove /dev/sde
- 把硬盘移出卷组 (把/sde盘移出newvg0卷组)移出后可用pvdisplay看看
vgreduce newvg0 /dev/sde
- 删除物理卷(移除后可用pvs再看看)
pvremove /dev/sde
全部清空:物理卷\逻辑卷\卷组
- 删除/etc/fstab中逻辑卷的配置
- 取消挂载逻辑卷
umount /mnt/lv0
- 删除逻辑卷
lvremove /dev/newvg0/lv0
- 删除卷组
vgremove newvg0
- 删除物理卷
pvremove newvg0