天天看點

阿裡雲雲盤擴容資料盤_Linux

随着業務的增長,您的資料盤容量可能無法滿足資料存儲的需要,這時您可以使用 磁盤擴容 功能擴容資料盤。

說明
  • 挂載在執行個體上的資料盤,隻有當執行個體處于 運作中 (Running) 或 已停止(Stopped) 狀态時才可以擴容。擴容這種資料盤需要在控制台上重新開機執行個體後才能使擴容後的容量生效,而重新開機執行個體會停止執行個體,中斷您的業務,是以請您謹慎操作。
  • 建議在擴容資料盤之前手動建立快照,以備份資料。
  • 無論資料盤的狀态是 待挂載 還是 使用中,都可以執行磁盤擴容操作。
  • 包年包月執行個體如果做過 續費降配 操作,目前計費周期的剩餘時間内,執行個體上的包年包月雲盤不支援擴容磁盤操作。
  • 如果資料盤正在建立快照,則不允許執行擴容資料盤的操作。
  • 磁盤擴容功能隻能擴容資料盤,不能擴容系統盤或本地盤(本地 SSD 盤等)。

本文以一個高效雲盤的資料盤和一個運作CentOS 7.3 64位的 ECS 執行個體為例,說明如何擴容資料盤并使擴容後的容量可用。

您可以按以下步驟完成擴容操作:

步驟 1. 在控制台上擴容資料盤的磁盤空間

步驟 2. 登入執行個體擴容檔案系統

步驟 1. 在控制台上擴容資料盤的磁盤空間

按以下步驟在控制台上擴容資料盤的磁盤空間:

  1. 登入 ECS管理控制台。
  2. 在左側導航欄裡,選擇 存儲 > 雲盤。
    說明
    如果您需要擴容的資料盤已經挂載在某個執行個體上,您可以單擊 執行個體,找到相應執行個體後,進入執行個體詳情頁,并單擊 本執行個體磁盤。
  3. 選擇地域。
  4. 找到需要擴容的磁盤,并在 操作 列中,選擇 更多 > 磁盤擴容。
  5. 在 磁盤擴容 頁面上,設定 擴容後容量,在本示例中為30 GiB。擴容後容量隻能比目前容量大。
  6. 待頁面上顯示費用資訊後,單擊 确定擴容。
    說明
    擴容成功後,磁盤清單裡即顯示擴容後的容量。但是,如果您的資料盤已經挂載到執行個體上,隻有在控制台上 重新開機執行個體 後,登入執行個體才能看到新的磁盤空間容量。

在控制台上擴容資料盤的磁盤空間後,

  • 如果資料盤已經挂載到執行個體上,您必須執行 步驟 2. 登入執行個體擴容檔案系統。
  • 如果資料盤未挂載到執行個體上,您必須先挂載資料盤(參見 挂載雲盤),再根據資料盤的實際情況執行不同的操作:
    • 如果這是一個未格式化的資料盤,您必須格式化資料盤。詳細資訊,請參見 Linux 格式化和挂載資料盤。
    • 如果這個資料盤之前已經格式化并分區,您必須 步驟 2. 登入執行個體擴容檔案系統。

步驟 2. 登入執行個體擴容檔案系統

在ECS控制台上完成磁盤擴容後,磁盤每個分區的檔案系統并未擴容。您需要登入執行個體擴容檔案系統。

在本示例中,假設資料盤挂載在一台Linux執行個體上,執行個體的作業系統為CentOS 7.3 64位,未擴容前的資料盤隻有一個主分區(/dev/vdb1,ext4檔案系統),檔案系統的挂載點為 /resizetest,檔案系統擴容完成後,資料盤仍然隻有一個主分區。

  1. 使用使用者名密碼驗證連接配接 Linux 執行個體。
  2. 運作 

    umount

     指令解除安裝主分區。
    umount /dev/vdb1           
    說明
    使用 

    df -h

     檢視是否解除安裝成功,如果看不到 /dev/vdb1 的資訊表示解除安裝成功。以下為示例輸出結果。
    [root@iXXXXXX ~]# df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/vda1 40G 1.5G 36G 4% /
    devtmpfs 487M 0 487M 0% /dev
    tmpfs 497M 0 497M 0% /dev/shm
    tmpfs 497M 312K 496M 1% /run
    tmpfs 497M 0 497M 0% /sys/fs/cgroup
    tmpfs 100M 0 100M 0% /run/user/0           
  3. 使用 

    fdisk

     指令删除原來的分區并建立新分區:
    說明
    如果您使用 

    parted

     工具操作分區,不能與 

    fdisk

     交叉使用,否則會導緻分區的起始扇區不一緻。關于 

    parted

    工具的使用說明可以參考這裡。
    1. 運作指令 

      fdisk -l

       羅列分區資訊并記錄擴容前資料盤的最終容量、起始扇區(First sector)位置。
    2. 運作指令 

      fdisk [資料盤裝置名]

       進入 

      fdisk

       界面。本示例中,指令為 

      fdisk /dev/vdb

    3. 輸入 

      d

       并按Enter鍵,删除原來的分區。
      說明
      删除分區不會造成資料盤内資料的丢失。
    4. 輸入 

      n

       并按Enter鍵,開始建立新的分區。
    5. 輸入 

      p

       并按Enter鍵,選擇建立主分區。因為建立的是一個單分區資料盤,是以隻需要建立主分區。
      說明
      如果要建立4個以上的分區,您應該建立至少一個擴充分區,即選擇 

      e

    6. 輸入分區編号并按Enter鍵。因為這裡僅建立一個分區,是以輸入 1。
    7. 輸入第一個可用的扇區編号:為了保證資料的一緻性,First sector需要與原來的分區保持一緻。在本示例中,按Enter鍵采用預設值。
      說明
      如果發現First sector顯示的位置和之前記錄的不一緻,說明之前可能使用 

      parted

       來分區,那麼就停止目前的 

      fdisk

       操作,使用 

      parted

       重新操作。
    8. 輸入最後一個扇區編号:因為這裡僅建立一個分區,是以按Enter鍵采用預設值。
    9. 輸入 

      wq

       并按Enter鍵,開始分區。
      [root@iXXXXXX ~]# fdisk /dev/vdb
      Welcome to fdisk (util-linux 2.23.2).
      Changes will remain in memory only, until you decide to write them.
      Be careful before using the write command.
      Command (m for help): d
      Selected partition 1
      Partition 1 is deleted
      Command (m for help): n
      Partition type:
      p primary (0 primary, 0 extended, 4 free)
      e extended
      Select (default p):
      Using default response p
      Partition number (1-4, default 1):
      First sector (2048-62914559, default 2048):
      Using default value 2048
      Last sector, +sectors or +size{K,M,G} (2048-62914559, default 62914559):
      Using default value 62914559
      Partition 1 of type Linux and of size 30 GiB is set
      Command (m for help): wq
      The partition table has been altered!
      Calling ioctl() to re-read partition table.
      Syncing disks.           
      說明
      如果您使用的是 

      parted

       工具,進入 

      parted

       界面後,輸入 

      p

       羅列目前的分區情況。如果有分區,則使用 rm+ 序列号來删除老的分區表,然後使用 

      unit s

       定義起始位置,機關使用扇區個數計量,最後使用 

      mkpart

      指令來建立即可,如下圖所示。 
      阿裡雲雲盤擴容資料盤_Linux
  4. 部分作業系統裡,修改分區後可能會重新自動挂載檔案系統。建議先執行 

    df -h

     重新檢視檔案系統空間和使用情況。如果檔案系統重新被挂載,執行 

    umount [檔案系統名稱]

     再次解除安裝檔案系統。
  5. 檢查檔案系統,并變更檔案系統大小。
    e2fsck -f /dev/vdb1 # 檢查檔案系統
    resize2fs /dev/vdb1 # 變更檔案系統大小
    
               
    說明
    • 使用 

      e2fsck

       時,由于系統需要檢查并訂正檔案系統中繼資料,是以速度較慢、耗時較長,請耐心等待。
    • 正确使用 

      e2fsck

       和 

      resize2fs

       指令,不會造成原有資料丢失。
    以下為示例輸出結果。
    [root@iXXXXXX ~]# e2fsck -f /dev/vdb1
    e2fsck 1.42.9 (28-Dec-2013)
    Pass 1: Checking inodes, blocks, and sizes
    Pass 2: Checking directory structure
    Pass 3: Checking directory connectivity
    Pass 4: Checking reference counts
    Pass 5: Checking group summary information
    /dev/vdb1: 11/1835008 files (0.0% non-contiguous), 159218/7339776 blocks
    [root@iXXXXXX ~]# resize2fs /dev/vdb1
    resize2fs 1.42.9 (28-Dec-2013)
    Resizing the filesystem on /dev/vdb1 to 7864064 (4k) blocks.
    The filesystem on /dev/vdb1 is now 7864064 blocks long.           
  6. 将擴容完成的檔案系統挂載到原來的挂載點(如本示例中的 /resizetest)。
    mount /dev/vdb1 /resizetest           
  7. 檢視檔案系統空間和使用情況:運作指令 

    df -h

    。如果出現擴容後的檔案系統資訊,說明挂載成功,可以使用擴容後的檔案系統了。
    說明
    挂載操作完成後,不需要在控制台上重新開機執行個體即可開始使用擴容後的檔案系統。
    以下為示例輸出結果。
    [root@iXXXXXX ~]# df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/vda1 40G 1.5G 36G 4% /
    devtmpfs 487M 0 487M 0% /dev
    tmpfs 497M 0 497M 0% /dev/shm
    tmpfs 497M 312K 496M 1% /run
    tmpfs 497M 0 497M 0% /sys/fs/cgroup
    tmpfs 100M 0 100M 0% /run/user/0
    /dev/vdb1 30G 44M 28G 1% /resizetest