1. 程式人生 > >阿里雲擴容資料盤_Linux

阿里雲擴容資料盤_Linux

擴容資料盤_Linux

更新時間:2018-10-11 15:18:46

 · 編輯者

編輯 ·  ★ 我的收藏 本頁目錄

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

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

您可以按以下步驟完成擴容操作:
  1. 在控制檯上擴容資料盤的磁碟空間
  2. 登入例項擴容檔案系統

前提條件

  • 例項處於 執行中 (Running) 或 已停止(Stopped) 狀態。

  • 資料盤的狀態為 待掛載 或 使用中。

  • 資料盤已做分割槽。

  • 建議在擴容資料盤之前手動建立快照,以備份資料。

注意事項

  • 擴容這種資料盤需要在控制檯上重啟例項後才能使擴容後的容量生效,而重啟例項會停止例項,中斷您的業務,所以請您謹慎操作。

  • 包年包月例項如果做過 續費降配 操作,當前計費週期的剩餘時間內,例項上的包年包月雲盤不支援擴容磁碟操作。

  • 如果資料盤正在建立快照,則不允許執行擴容資料盤的操作。

  • 磁碟擴容功能只能擴容資料盤,不能擴容系統盤或本地盤(本地 SSD 盤等)。

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

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

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

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

步驟 2. 登入例項擴容檔案系統

在ECS控制檯上完成磁碟擴容後,磁碟每個分割槽的檔案系統並未擴容。您需要登入例項擴容檔案系統。

在本示例中,假設資料盤掛載在一臺Linux例項上,例項的作業系統為CentOS 7.3 64位,未擴容前的資料盤只有一個主分割槽(/dev/vdb1,ext4檔案系統),檔案系統的掛載點為 /resizetest,檔案系統擴容完成後,資料盤仍然只有一個主分割槽。

  1. 遠端連線例項
  2. 執行 umount 命令解除安裝主分割槽。  
    umount /dev/vdb1
      說明 使用  df -h 檢視是否解除安裝成功,如果看不到 /dev/vdb1 的資訊表示解除安裝成功。以下為示例輸出結果。  
    
    [[email protected] ~]# 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 並按回車鍵,刪除原來的分割槽。   說明 刪除分割槽不會造成資料盤內資料的丟失。
    4. 輸入 n 並按回車鍵,開始建立新的分割槽。
    5. 輸入 p 並按回車鍵,選擇建立主分割槽。因為建立的是一個單分割槽資料盤,所以只需要建立主分割槽。   說明 如果要建立4個以上的分割槽,您應該建立至少一個擴充套件分割槽,即選擇  e
    6. 輸入分割槽編號並按回車鍵。因為這裡僅建立一個分割槽,所以輸入 1
    7. 輸入第一個可用的扇區編號:為了保證資料的一致性,First sector需要與原來的分割槽保持一致。在本示例中,按回車鍵採用預設值。   說明 如果發現First sector顯示的位置和之前記錄的不一致,說明之前可能使用  parted 來分割槽,那麼就停止當前的  fdisk 操作,使用  parted 重新操作。
    8. 輸入最後一個扇區編號:因為這裡僅建立一個分割槽,所以按回車鍵採用預設值。
    9. 輸入 wq 並按回車鍵,開始分割槽。  
      
      [[email protected] ~]# 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 命令來建立即可,如下圖所示。 
       
  4. 部分作業系統裡,修改分割槽後可能會重新自動掛載檔案系統。建議先執行 df -h 重新檢視檔案系統空間和使用情況。如果檔案系統重新被掛載,執行 umount [檔案系統名稱] 再次解除安裝檔案系統。
  5. 檢查檔案系統,並變更檔案系統大小。  
    
    e2fsck -f /dev/vdb1 # 檢查檔案系統
    resize2fs /dev/vdb1 # 變更檔案系統大小
    
    
      說明
    • 使用 e2fsck 時,由於系統需要檢查並訂正檔案系統元資料,所以速度較慢、耗時較長,請耐心等待。
    • 正確使用 e2fsck 和 resize2fs 指令,不會造成原有資料丟失。

    以下為示例輸出結果。

     
    
    [[email protected] ~]# 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
    [[email protected] ~]# 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。如果出現擴容後的檔案系統資訊,說明掛載成功,可以使用擴容後的檔案系統了。   說明 掛載操作完成後,不需要在控制檯上重啟例項即可開始使用擴容後的檔案系統。

    以下為示例輸出結果。

     
    
    [[email protected] ~]# 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