Linux磁盤文件管理——LVM學習(一)

LVM邏輯卷管理


  • 邏輯卷:將多個物理磁盤邏輯組成一個邏輯組,把邏輯組分爲若干個分區(劃掉),這裏叫邏輯卷,我們只關心邏輯卷大小即可,實際上它裏面的數據可能存儲在組成邏輯組的物理磁盤的各個角落。在邏輯捲上可以創建文件系統。
  • 邏輯卷管理:針對磁盤分區而言的手段;允許對捲進行方便操作的抽象層,包括重新設定文件系統的大小;允許在多個物理設備間重新組織文件系統。

 

 

相關命令我放在下面了,先看栗子

  • 看圖說話,在Linux裏,將若干塊設備貼上物理設備的標籤來組成邏輯組,邏輯組分爲若干邏輯卷。


創建邏輯卷示例

1. 這裏先準備用一個分區和一個硬盤來組成邏輯組

  • fdisk /dev/sdc,這裏我用sdc創建分區,另外準備sdd硬盤
    • n
    • p
    • enter
    • enter
    • +2G
    • w

2. 開始創建邏輯卷

  • pvcreate /dev/sd{c1,d},創建物理卷。可以看到VG裏沒有信息,說明這兩個物理卷還不屬於任何卷組

  • vgcreate vg0 -s 16M /dev/sd{c1,d},創建邏輯卷組。vg0是卷組名,- s 16M是在指定PE的大小,並且-s要求大小是扇區的指數倍,也就是2的n次方,最小爲128K。

 

  •  詳細看一下信息,pvdisplay。以上面的物理卷爲例,一個pe16M,一共127個,總共2G。整個卷組大小爲2+1=3G。

  •  lvcreate -n lv0 -L 1.5G vg0創建邏輯卷,-n指定名字爲lv0,-L 1.5G vg0指定從vg0中分配1.5G大小的空間給lv0。下圖可以看到分配1.5G用了96個LE(PE)。

 

  • 此時再pvdisplay看看物理卷

 

  •  繼續創建邏輯卷,這次將剩餘的空間全部用上。lvcreate -n lv1 -l 100%FREE vg0。-l 100%FREE意思是將剩餘空間都用上。此時邏輯卷信息如下圖。

 

  • 對比一下物理卷信息pvdisplay,此時PE都用光了。

  •  此時的邏輯卷還不能用,因爲沒有文件系統。
  • 創建文件系統,既然是做實驗,那就創建兩個不同的文件系統。
    • mkfs.ext4 /dev/vg0/lv0
    • mkfs.xfs /dev/vg0/lv1
  • 創建兩個文件夾,把lv0和lv1掛上去

     

    • touch /mnt/lv0
    • touch /mnt/lv1
    • vim /etc/fstab
      • !blkid 
    • mount -a
  • df看一下,已經可以使用了。



擴展邏輯卷

  1. 首先,要知道想要擴展邏輯卷,卷組要有空間,得有PE。
  2. 擴展過程:新建一個物理卷,並加到之前的卷組裏,用卷組擴展命令擴展卷組空間,繼續用邏輯卷擴展命令擴展邏輯卷。
  3. 開始操作,繼續看圖說話,先放一張沒擴展前的邏輯卷信息。lv0是1.5G,lv1也差不多有1.5G

 

  • pvcreate /dev/sde,雖然我用的是sde,但是讀者你可以用別的。
  • vgextend vg0 /dev/sde,將物理卷sde的加到邏輯卷組vg0
  • lvextend -L 3G /dev/vg0/lv0    和    lvextend -L +3G /dev/vg0/lv0。擴展邏輯卷lv0的大小。前者是擴展到3G大小,後者是在原來的基礎上再加3G大小。如圖
  • 空間是加上去了,但是別忘記同步文件系統。判斷一下是什麼類型的文件系統
    • ext4:resize2fs /dev/vg0/lv0
    • xfs:xfs_growfs /mnt/lv1(用相同操作我又擴展了lv1的空間而lv1是xfs類型的文件系統) 
  •  擴展完成

  • 其實不用判斷也可以(捂臉),直接用lvextend -r -L 3G /dev/vg0/lv0,-r選項自動判斷


縮減

  1. 還是首先,縮減不支持xfs文件系統,只支持ext4的。其次,縮減不是壓縮,可能會造成數據丟失,萬一有1G的內容,縮成了500M肯定丟失。所以縮減前先備份。
  2. 步驟:

  • 取消掛載umount /mnt/lv0
  • 檢查系統完整性 e2fsck -f /dev/vg0/lv0(不檢查不能繼續執行後面的cmd) 
  • 縮減文件系統,resize2fs /dev/vg0/lv0 4G,縮到4G
  • 縮減邏輯卷,lvreduce -L 4G /dev/vg0/lv0,出現提示,y確認
  • 縮減完畢,重新掛載,mount -a,df -h看到已經縮減了。


LVM邏輯卷管理

  • 邏輯卷:將多個物理磁盤邏輯組成一個邏輯組,把邏輯組分爲若干個分區(劃掉),這裏叫邏輯卷,我們只關心邏輯卷大小即可,實際上它裏面的數據可能存儲在組成邏輯組的物理磁盤的各個角落。在邏輯捲上可以創建文件系統。
  • 邏輯卷管理系統:針對磁盤分區而言的手段;允許對捲進行方便操作的抽象層,包括重新設定文件系統的大小;允許在多個物理設備間重新組織文件系統。

  • lvm介紹
  • LVM: Logical Volume Manager
  • dm: device mapper: 將一個或多個底層塊設備組織成一個邏輯設備的模塊
  • 設備名(真名): /dev/dm-#
  • 軟鏈接(真名不容識別,軟鏈接的顯示就很清晰):
    • /dev/mapper/VG_NAME-LV_NAME
    • /dev/mapper/vol0-root
    • /dev/VG_NAME/LV_NAME
    • /dev/vol0/root
  • LVM更改文件系統的容量
  • LVM可以彈性更改LV的容量,通過PE(擴展或縮減LVM的單位)實現,通過交換PE來進行資料的轉換,將原來LV內的PE轉移到其它設備中以降低LV的容量,或將其它設備中的PE加到LV中以加大容量。加一句,邏輯卷的LE跟物理卷的PE是一回事。
  • pv(物理卷)管理工具
    • 顯示pv信息(物理卷)
      • pvdisplay
      • pvs簡要顯示
    • 創建pv
      • pvcreate /dev/device
  • vg(卷組)管理
    • 顯示卷組
      • vgs
      • vgdisplay
    • 創建卷組
      • vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
    • 管理卷組
      • vgextend VolumeGroupName PhysicalDevicePath
      • vgreduce VolumeGroupName PhysicalDevicePath
    • 刪除卷組
      • 現將物理卷裏的內容移除pvremove,再做vgremove
  • lv(邏輯卷)管理
  • 顯示邏輯卷
    • lvs 簡單顯示
    • lvdisplay 詳細顯示
  • 創建邏輯卷
    • lvcreate -L #[mMgGtT] -n NAME VolumeGroup,-L後面接要創建的邏輯卷大小,後面是邏輯卷的名字,之後接邏輯組名
    • 舉個栗子
      • lvcreate -l 60%VG -n mylv testvg,小寫的-l 60%VG意思是創建相當於邏輯組60%大小的邏輯卷
      • lvcreate -l 100%FREE -n yourlv testvg,把邏輯組剩下的空間全用來創建邏輯卷
  • 刪除邏輯卷
    • lvremove /dev/邏輯組名/邏輯卷名
  • 重設文件系統大小
    • fsadm [options] resize device [new_size[BKMGTEP]]
    • resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]
    • resize2fs命令被用來增大或者收縮未加載的ext文件系統的大小
  • 擴展邏輯卷
    • lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
    • resize2fs /dev/VG_NAME/LV_NAME
    • lvresize -r -l +100%FREE /dev/VG_NAME/LV_NAME
  • 縮減邏輯卷
    • 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

    先這麼多吧,Thanks♪(・ω・)ノ

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章