1. 程式人生 > >CentOS 6.9之LVM創建,擴容等常用操作

CentOS 6.9之LVM創建,擴容等常用操作

linux lvm 卷 分區 擴容

在系統安裝時候大多情況下有可能因為考慮不周,導致服務器空間不足問題,這時候如果沒有lvm邏輯卷管理工具的話,往往就是查找服務器大文件刪除之,或者應用遷移。但如果有了lvm邏輯卷管理,只需要新增硬盤,並將新硬盤的空間劃分到不足的分區及可,如果空間浪費也可以減少對應分區的空間,這樣可大大增加對空間的利用率


在安裝系統時使用lvm邏輯卷管理,創建方法如下:

  1. 在系統安裝到硬盤分區時選擇“創建自定義布局”

    技術分享

  2. 首先創建一個/boot分區,/boot分區不能在邏輯卷中,所以先需要創建一個分區給/boot,選中空閑的空間,點擊創建,然後點擊標準分區,點創建

    技術分享

  3. 創建/boot分區,掛載點選擇/boot,大小設定為500,單位為MB,然後固定大小,點擊創建,至此/boot分區創建完成

    技術分享

  4. 創建lvm物理卷點擊剩余的空間,創建,創建時選擇“lvm物理卷”

    技術分享

  5. 創建lvm物理卷,文件系統類型默認,空間大小使用全部可用空間,點擊創建,至此物理卷創建完畢

    技術分享

  6. 從lvm物理卷創建lvm邏輯卷組,選中剛創建的lvm物理卷,然後點創建,創建時選擇lvm卷組

    技術分享

  7. 從lvm邏輯卷組創建lvm邏輯卷,打開創建卷組對話框,輸入卷組名稱(隨意,看懂就行),然後在下面添加卷組中包含的lvm邏輯卷,我這裏在當前卷組分配了2048的swap,再把剩余所有空間分配到了根分區

    技術分享

  8. 效果圖

    技術分享

  9. 效果圖

    技術分享

通過以上步驟我們已經完成了在系統安裝時采用lvm邏輯卷管理的方式


在已有系統中增加新硬盤並使用邏輯卷管理:

  1. 新增一塊新硬盤(我這裏使用的是虛擬機,新增硬盤步驟略)

  2. 將新硬盤初始化為物理卷(我這裏新添加的新硬盤為/dev/sdb)

    pvcreate /dev/sdb

    結果為“Physical volume "/dev/sdb" successfully created”代表創建成功

  3. 創建邏輯卷組

    vgcreate VolGroup2 /dev/sdb

    VolGroup2為邏輯卷組的名稱,/dev/sdb我們前面已經初始化成物理卷,所以這裏我們指定的是物理卷。整條命令的意思是創建一個名為VolGroup2的邏輯卷組,並將/dev/sdb物理卷加入到此邏輯卷組中

    結果為“Volume group "VolGroup2" successfully created”代表創建成功

  4. 創建邏輯卷

    lvcreate -L 5G -n LogVol01 VolGroup2

    此命令的意思是從VolGroup2卷組創建一個名為LogVol01的邏輯卷

    結果為“Logical volume "LogVol01" created”表示邏輯卷創建成功,成功後會在/dev/mapper目錄下生成一個名為VolGroup2-LogVol01名稱的邏輯卷文件

  5. 格式化剛創建的VolGroup2-LogVol01邏輯卷

    mkfs.ext4 /dev/mapper/VolGroup2-LogVol01

  6. 將格式化後的邏輯卷掛載到我們服務器的/data目錄

    mkdir /data

    blkid | grep VolGroup2-LogVol01

    記住UUID

    編輯/etc/fstab文件,在文件最後加入

    UUID=c0d28e46-c8b8-4d39-a355-b155e2852e36 /data ext4 defaults 0 0

    mount -a

  7. 效果如下

    技術分享

  8. 剛才新增的硬盤為10G,只分配了5G的空間給VolGroup2-LogVol01,我們現在再把其它剩余的空間用來給根分區擴容,操作步驟如下:

    1. 從VolGroup2創建一個新的邏輯卷,並使用剩余所有空間

      lvcreate -l 100%FREE -n LogVol02 VolGroup2

    2. 將新創建的邏輯卷格式化,並掛載到/data2

      mkdir /data2

      mkfs.ext4 /dev/mapper/VolGroup2-LogVol02

      blkid | grep VolGroup2-LogVol02

      echo "UUID=7f427618-22bd-4e98-90ff-7f782d067644 /data2 ext4 defaults 0 0" >> /etc/fstab

      mount -a

    3. 效果如下

      技術分享


增加新硬盤為給現有lvm邏輯卷擴容空間:

  1. 新增一塊新硬盤(我這裏使用的是虛擬機,新增硬盤步驟略)

  2. 把新硬盤初始化成物理卷

    pvcreate /dev/sdc

  3. 查看VolGroup2邏輯卷組信息

    vgdisplay VolGroup2

    技術分享

    從以上信息可以看出VolGroup2共有10G,也就是我們添加的第二塊硬盤的大小

  4. 擴容VolGroup2的大小,用我們第三塊盤去擴容

    vgextend VolGroup2 /dev/sdc

    查看擴容後的大小,為25G

    技術分享

  5. 通過上一步我們已經將VolGroup2 擴容到了25G,也就意味著還有剩余空間沒有被分配到邏輯卷,這時候我們可以利用這些剩余空間來增加邏輯卷的大小,但只能增加VolGroup2中的邏輯卷,而VolGroup1中的邏輯卷還需要另外的新硬盤來擴展VolGroup1的空間

    lvextend -L+5G /dev/mapper/VolGroup2-LogVol01

    通過上面的命令,我們將VolGroup2-LogVol01邏輯卷增加了5G的空間

    這時候我們實際顯示還是原來的空間,我們需要再執行下面的命令

    resize2fs /dev/mapper/VolGroup2-LogVol01

  6. 最後再查看空間,這時候/data增加了5G

    技術分享

  7. 將第三塊硬盤的剩余所有空間,擴展到/data2

    lvextend -l+100%FREE /dev/mapper/VolGroup2-LogVol02

    resize2fs /dev/mapper/VolGroup2-LogVol02

  8. 結果如下

    技術分享

  9. 這時候如果我們要擴容根分區的容量,同樣的道理,只需要再新增一塊新硬盤,然後把硬盤初始化成物理卷,再把物理卷加入到VolGroup1的組裏面,然後就可以擴容根分區了

    1. 執行以下命令

      pvcreate /dev/sdd

      vgextend VolGroup1 /dev/sdd

      lvextend -l+100%FREE /dev/mapper/VolGroup1-LogVol01

      在執行上面命令之前我已經對/dev/sdd的空間劃分了3G給交換分機文件,詳情見下面b步驟

      resize2fs /dev/mapper/VolGroup1-LogVol01

      通過上面命令,根分區也擴容了2G,結果如下

      技術分享技術分享

    2. 經測試如果要對lvm的交換分機進行擴容,操作如下:

      lvextend -l+3G /dev/mapper/VolGroup1-LogVol00

      swapoff -a

      mkswap /dev/mapper/VolGroup1-LogVol00

      swapon /dev/mapper/VolGroup1-LogVol00

      這時候交換結果如下:

      技術分享

本文出自 “藍色_風暴” 博客,請務必保留此出處http://270142877.blog.51cto.com/12869137/1932499

CentOS 6.9之LVM創建,擴容等常用操作