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