linux磁盤擴容方案


方案有兩種,從原有的磁盤中直接擴容,另一種是利用邏輯卷的操作,動態進行擴容。

一.第一種方案,簡單快捷,不需要進行關機停服務。

在控制台對雲硬盤擴容之后,操作系統的分區並未擴容,需要您手動擴容。本實例為Linux 操作系統,版本為CentOS7.2_64bit,已經掛載一塊數據盤。擴容前的數據盤只有一個主分區(/dev/vdb1),ext3文件系統,掛載點/test,擴容前40G,擴容后50G,擴容完成后數據盤仍只有一個主分區。

注意事項

1.  雲硬盤正在創建快照時,不允許進行擴容操作。

2.  包月雲磁盤無法進行擴容操作。

3.  擴容只是擴容數據盤的容量,不是擴大文件系統容量。

4.  磁盤擴容只能擴容數據盤,不能對系統盤進行擴容。

擴容已有分區

操作步驟

1.  登錄linux實例

2.  輸入 df –h查看分區掛載目錄

3.  卸載分區umount /dev/vdb1。

4.  刪除原來的分區並創建新分區,fdisk /dev/vdb。

(1)輸入 d 鍵,然后回車,刪除已有的分區。

說明:

  • 刪除分區數據盤不會丟失盤內數據。
  • 硬盤有多個分區不建議此操作。

(2)輸入 n 鍵,然后回車,開始創建新的分區。

(3)輸入 p 鍵,然后回車,創建主分區。

(4)輸入分區編號,示例使用默認 1 編號,回車。

(5)輸入第一個扇區編號,示例使用默認值,回車。

(6) 輸入最后一個扇區編號,示例使用默認值,回車。

(7) 最后輸入 w 鍵,然后回車,寫入更改。

5.  檢查文件系統e2fsck -f /dev/vdb1,刷新文件系統大小resize2fs /dev/vdb1。

6.  重新掛載分區mount /dev/vdb1 /test,使用df –h查看擴容后的分區。

 

二. 邏輯卷的操作

  

在Linux系統中使用雲硬盤時,需要對雲硬盤進行分區。伴隨着存儲需求的不斷提升,會出現分區容量不足的情況。當容量不足時,通常會采用替換原有分區的方式進行擴容(具體方法可參見擴容雲硬盤)。該方法操作過程復雜,需要經過備份數據、清除硬盤、重新分區、數據恢復等多個環節,此外,還需要中斷業務運行。

通過邏輯卷管理LVM來管理雲硬盤后,文件系統不再受限於雲硬盤的大小,可以分布在多個雲硬盤上,並且可以動態擴容。

邏輯卷管理LVM(Logical Volume Manager)是在Linux環境下對磁盤分區管理的一種機制。LVM是建立在雲硬盤和分區之間的一個邏輯層,可以將若干個磁盤物理分區連接為一個整塊的卷組VG(Vloume Group),形成一個存儲池,然后,在卷組上創建邏輯卷LV(Logical Volumes))。通過這樣一種方式,可以在線動態調整存儲卷的大小,提高磁盤分區管理的靈活性。

LVM的基本工作原理是將底層的雲硬盤抽象的封裝起來,然后以邏輯卷的方式呈現給上層應用。

  1. 最底層的存儲設備為雲硬盤。
  2. 雲硬盤被格式化為物理卷PV(Physical Volume)。物理卷可以是實際雲硬盤上的分區,也可以是整個雲硬盤,也可以是RAID設備。
  3. 在物理卷PV之上建立卷組VG。一個卷組中至少要包括一個物理卷,在卷組建立之后可動態添加物理卷到卷組中。
  4. 在卷組之上建立邏輯卷LV。卷組中的未分配空間可以用於建立新的邏輯卷,邏輯卷建立后可以動態地擴展或縮小空間。

 

I.構建邏輯卷

本文以/dev/vdb、/dev/vdc和/dev/vdd三塊雲硬盤為例說明如何創建LVM。如下圖所示,系統已經掛載了三塊雲硬盤,大小是20GB。

 

步驟一:安裝LVM

  1. 執行如下命令,檢查系統是否安裝過LVM。
    rpm -qa |grep lvm2
    • 如果出現如下顯示信息,則說明已經安裝,可以跳過步驟一,直接執行步驟二
    • 如果沒有出現如上顯示信息,則執行步驟二
  2. 執行如下命令,安裝LVM。
    yum install lvm2

    執行后,若出現如下信息,則說明安裝成功。

步驟二:將雲硬盤創建為物理卷

  1. 以root用戶登錄雲服務器。
  2. 執行如下命令,查看當前設備掛載的雲硬盤。
    fdisk -l

    從上述的顯示信息中我們可以看出,當前系統掛載了三塊雲硬盤,分別是/dev/vdb、/dev/vdc和/dev/vdd。

  3. 創建物理卷,將希望添加到卷組的所有分區或者雲硬盤創建為物理卷。將整個硬盤創建為物理卷的命令為:
    pvcreate <磁盤設備名1> <磁盤設備名2 > … <磁盤設備名n>

    多個磁盤之間用空格來分隔。

    本示例中,執行pvcreate /dev/vdb /dev/vdc /dev/vdd命令,顯示如下。

  4. 執行如下命令,查看新創建的物理卷詳細信息。
    pvdisplay

    從顯示信息中,我們可以看到新創建的三個物理卷,分別是/dev/vdb、/dev/vdc 、/dev/vdd。

步驟三:創建卷組

  1. 將多個物理卷創建為一個卷組。
    vgcreate <卷組名> <物理卷名稱1> <物理卷名稱2> … <物理卷名稱n>

    本示例中,執行 vgcreate lvm_example /dev/vdb /dev/vdc /dev/vdd

    如果出現如上提示信息,則說明卷組創建成功。

  2. 查看卷組詳細信息
    vgdisplay
  3. (可選)卷組創建完成后,如果想將新的物理卷添加到該卷組,可以執行如下命令。
    vgextend <卷組名> <物理卷名稱1>

步驟四:在卷組中創建邏輯卷

  1. 創建邏輯卷。
    lvcreate -L <邏輯卷大小> -n <邏輯卷名稱> <卷組名稱>

    本示例中,執行lvcreate -L 20G -n lv1 lvm_example

  2. 查看邏輯卷詳情。
    lvdisplay

步驟五:創建並掛載文件系統

  1. 創建文件系統。
    mkfs.<文件格式> <邏輯卷路徑>

    本示例中,執行mkfs.ext3 /dev/lvm_example/lv1

  2. 創建掛載目錄。
    mkdir <掛載目錄>

    示例

    mkdir /Data
  3. 掛載邏輯卷。
    mount <邏輯卷路徑> <掛載目錄>

    示例

    mount /dev/lvm_example/lv1 /Data
  4. 查看掛載是否成功。
    df -h

    可以看到該邏輯卷已經成功掛載在/Data下。

II。擴容邏輯卷

當邏輯卷容量不足時,可以在線動態擴展邏輯卷容量。

  1. 擴展邏輯卷容量。
    lvextend -L +/- <增減容量> <邏輯卷路徑>

    示例

    //樣例1:將邏輯卷lv1增加350M容量
          lvextend -L +350M /dev/lvm_example/lv1
          //樣例2:將邏輯卷lv1所在卷組所有空閑空間分配到lv1中
          lvextend –l +100%FREE /dev/lvm_example/lv1
  2. 擴展文件系統容量。
    resize2fs <邏輯卷路徑>

    示例

    resize2fs  /dev/lvm_example/lv1
  3. 查看擴展后的邏輯卷大小。
    df -h

    可以看到,新增加的1G容量已經加到邏輯卷上了,容量總量變為21G。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM