日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

文檔

擴容分區和文件系統(Linux)

更新時間:

在ECS控制臺上擴容云盤容量后,對應分區和文件系統并未擴容,您還需要進入ECS實例內部繼續擴容云盤的分區和文件系統,將擴容部分的容量劃分至已有分區及文件系統內,使云盤擴容生效。本文為您介紹如何通過兩個步驟完成Linux實例云盤的分區和文件系統擴容。

前提條件

  • 操作系統版本需符合要求。

    請確保Linux實例的操作系統是Alibaba Cloud Linux 2/3、CentOS 6及以上、Debian 8及以上或者Ubuntu14及以上版本。

    重要
  • (強烈建議)已創建云盤快照,做好數據備份。具體操作,請參見創建快照

    說明

    擴容分區和文件系統正常情況下不會丟失數據。為避免誤操作導致數據丟失或異常,建議您創建快照備份云盤數據。

  • 已在ECS控制臺擴容云盤容量。具體操作,請參見步驟一:擴容云盤容量

    如果您在擴容云盤容量時選擇離線擴容,擴容后需要通過ECS控制臺或API接口重啟實例(在實例內部執行reboot命令重啟無效)才能生效。具體操作,請參見重啟實例

注意事項

  • 本文檔不適用于使用LVM(Logical Volume Manager)管理磁盤分區的場景。

    如果您使用LVM管理磁盤分區,在控制臺擴容云盤容量后,需要先通過LVM完成邏輯卷擴容,再進行文件系統擴容。具體操作,請參見擴容邏輯卷

  • 本文檔不適用于云盤開啟了多重掛載功能且使用了集群文件系統的場景。

    因為多重掛載功能允許同一塊云盤被多個掛載點同時訪問,直接擴容分區和文件系統可能會影響到其他掛載點,可能會破壞集群的一致性或可用性。更多信息,請參見云盤多重掛載功能

操作視頻

下文為您詳細介紹如何擴容Linux實例的云盤,您也可以通過視頻的方式進行觀看,更加直觀。

操作步驟

推薦您使用一鍵擴容工具擴容分區和文件系統。該工具會自動生成擴容命令,并支持一鍵執行擴容命令,幫助您實現操作系統內的分區和文件系統擴容。如果您的環境不支持該工具,請參考本文進行操作。

  1. 訪問EBS控制臺工具集下的擴容分區和文件系統工具

  2. 選擇待操作的云盤,然后單擊提交

  3. 工具將檢測操作系統分區狀態。如果顯示操作系統未擴容分區字樣,且解決方案中包含自動生成的命令,則可以按照如下操作進行一鍵擴容。

    說明

    如果未顯示擴容命令,則說明工具暫不支持該種情況,您仍需要參考文檔手動執行擴容。

    1. 解決方案區域的云助手工具頁簽中,確認自動生成的擴容命令,然后單擊執行上述遠程命令

      image.png

    2. 在彈出的發送命令對話框單擊執行,系統將自動執行擴容命令。

    3. 看到命令執行成功提示后,單擊取消關閉對話框。

      即可看到該云盤的分區和文件系統擴容成功。

      image.png

本文操作適用于以下云盤擴容場景:

在文檔末尾分別以擴容MBR分區、GPT分區、裸數據盤為例,為您展示了擴容分區和文件系統的命令示例,供您參考。

準備工作:獲取目標云盤信息

執行擴容分區和文件系統操作前,請先獲取待擴容云盤和云盤分區信息。

方式一:通過命令行獲取

  1. 遠程連接ECS實例。

    具體操作,請參見通過密碼或密鑰認證登錄Linux實例

  2. 運行以下命令,確認待擴容云盤及其分區信息。

    sudo fdisk -lu

    image.png

    如圖所示,表示該實例有2塊云盤,系統盤/dev/vda和數據盤/dev/vdb,我們以數據盤/dev/vdb為例。其中:

    • ①:云盤的設備名稱。

    • ②:云盤是否分區及分區名稱。

      • 已分區:如果有②處的分區信息表示已分區,Device取值為分區名稱(示例中為/dev/vdb1),數字1是分區編號,則需擴容分區和文件系統。

      • 未分區(裸設備):如果沒有②處的分區信息表示未分區,為裸設備。則無需執行步驟1:擴容分區,直接執行步驟2:擴容文件系統即可。

    • ③:云盤的分區類型。

      Disk label type值為dos表示MBR分區,值為gpt表示GPT分區。

      說明
      • 不同操作系統的顯示略有不同。如果沒有Disk label type字段,可通過System字段判斷。System值為Linux表示MBR分區,值為GPT表示GPT分區。

      • 較低版本的fdisk可能不能正常顯示GPT分區表。您可以通過gdisk -l /dev/vdb命令查看分區類型。

    • ④:確認待擴容的分區。

      由于容量= sectors值*512 bytes,圖示例中:

      • 云盤/dev/vdb的sectors=125829120,則云盤容量=125829120*512bytes=64.4GB(等于60GiB)

      • 分區/dev/vdb1的sectors=(End-Start)=83886078,則分區容量= 83886078*512bytes=42.9GB(等于40GiB)

      根據計算得出/dev/vdb1分區的容量小于云盤/dev/vdb的容量,即/dev/vdb1分區需要擴容。

      說明

      您也可以通過運行lsblk命令查看哪個分區待擴容。

方式二:通過控制臺獲取

重要

使用該方式時注意:

  • 該方式僅支持部分用戶使用,支持情況以實際界面為準。

  • 該云盤所在的ECS實例已安裝云助手Agent。具體操作,請參見安裝云助手Agent

  1. 在實例詳情頁面的塊存儲(云盤)頁簽下,找到待擴容的目標云盤。

  2. 鼠標懸浮至①處,再分別單擊②處和③處的image圖標,查看待擴容云盤的設備名、分區類型、分區名稱、文件系統類型和掛載點。

    image

步驟1:擴容分區

本操作以公共鏡像Alibaba Cloud Linux 3.2104 LTS 64位操作系統、在ECS實例內部將云盤分區/dev/vdb1由40 GiB擴容至60 GiB(已在控制臺擴大容量為60 GiB)為例,請您根據實際環境進行操作。

  1. (條件必選)根據準備工作獲取的信息,如果您的云盤分區類型為MBR且在控制臺擴容后容量大于2 TiB,需先將分區轉換為GPT分區。

    具體操作,請參見轉換Linux數據盤的分區類型

  2. 運行以下命令,擴容指定分區。例如擴容分區名稱為/dev/vdb1的分區,則執行如下命令。

    說明
    • 命令參數中的/dev/vdb1之間需要空格分隔,1是分區編號。

    • 如果您擴容的是系統盤,命令中的/dev/vdb需要替換為/dev/vda

    Alibaba Cloud Linux 2/3版本、CentOS 6及以上版本

    • MBR分區

      type growpart || sudo yum install -y cloud-utils-growpart
      sudo yum update cloud-utils-growpart
      sudo LC_ALL=en_US.UTF-8 growpart /dev/vdb 1
    • GPT分區(需安裝gdisk工具)

      type growpart || sudo yum install -y cloud-utils-growpart
      sudo yum update cloud-utils-growpart
      type sgdisk || sudo yum install -y gdisk
      sudo LC_ALL=en_US.UTF-8 growpart /dev/vdb 1 
    說明

    由于CentOS 6和CentOS 8結束生命周期(EOL),如果您使用的是CentOS 6或者CentOS 8系統的ECS實例,請先切換源地址。具體操作,請參見CentOS 6 EOL如何切換源?CentOS 8 EOL如何切換源?

    Debian 8及以上版本、Ubuntu14及以上版本

    • MBR分區

      sudo apt-get update
      sudo apt-get install -y cloud-guest-utils
      sudo LC_ALL=en_US.UTF-8 growpart /dev/vdb 1
    • GPT分區(需安裝gdisk工具)

      sudo apt-get update
      sudo apt-get install -y cloud-guest-utils
      type sgdisk || sudo apt-get install -y gdisk
      sudo LC_ALL=en_US.UTF-8 growpart /dev/vdb 1
    重要

    執行擴容分區命令時,您需要特別注意以下幾種情況:

    • LC_ALL=en_US.UTF-8是環境變量設置,為了兼容中文操作系統的字符編碼。

    • 如果單盤有多個連續分區的情況,僅能擴容最后一個分區。例如數據盤/dev/vdb有三個分區/dev/vdb1/dev/vdb2/dev/vdb3。擴容時,只能擴容最后一個分區/dev/vdb3,即執行growpart /dev/vdb 3命令即可完成數據盤的分區擴容。

    • 如果您是NVMe類型云盤,以分區名稱/dev/nvme0n1p1為例,其中/dev/nvme0n1是設備名稱。擴容時執行命令為growpart /dev/nvme0n1 1,而不是growpart /dev/nvme0n1p1 1

    • 如果您需要擴容的云盤分區是MBR分區表下的擴展分區(通常判斷方式是分區號大于等于5),您需要先對擴展分區擴容后再對邏輯分區進行擴容。例如您有/dev/vdb1(主分區)、/dev/vdb2(擴展分區)、/dev/vdb5(邏輯分區)三個分區,此時您需要依次執行growpart /dev/vdb 2growpart /dev/vdb 5完成分區的擴容。

    • 使用growpart工具時,如果出現報錯信息,請參見常見問題進行排查。

    如下圖所示,輸出CHANGED字樣時,表示分區擴容成功。

    image.png

  3. (條件必選)CentOS 6等較低版本的操作系統,需要執行reboot命令重啟實例,使分區擴容生效。

    通常情況下,擴容分區不需要執行重啟。但如果您擴容的是CentOS 6操作系統的云盤或者發現擴容后操作系統實際識別的分區沒有擴展,這是操作系統版本較低的原因,需要重啟實例使分區擴容生效。建議您選擇業務低谷的時間段進行重啟,避免影響業務運行。

步驟2:擴容文件系統

  1. 運行以下命令,獲取需要擴容的文件系統的類型和掛載目錄。

    df -Th

    Type值為文件系統類型,Mounted on值為分區的掛載目錄。如下圖表示/dev/vdb1分區的文件系統類型為ext4,掛載目錄為/mnt

    image.png

    如果Filesystem取值后綴不帶數字(例如/dev/vdc),則為裸設備。

  2. 擴容文件系統。

    擴容命令因文件系統類型而異,請您根據上一步中查詢到的文件系統類型選擇以下命令。

    說明

    云盤和文件系統在使用的狀態下,采用resize2fs等工具在線擴容文件系統,有可能會觸發文件系統數據問題,該問題與鏡像內核版本、resize2fs工具版本相關,與云盤擴容本身無關。建議您為云盤創建快照,做好數據備份。具體操作,請參見創建快照

    ext*(例如ext2、ext3、ext4)文件系統

    • 以擴容云盤分區/dev/vdb1ext*文件系統為例,則運行如下命令:

      sudo resize2fs /dev/vdb1
      說明

      如果您擴容的是系統盤,命令中的/dev/vdb1需要替換為/dev/vda1

    • 以擴容裸設備/dev/vdcext*文件系統為例,則運行如下命令:

      sudo resize2fs /dev/vdc

    xfs文件系統

    以擴容掛載目錄為/mntxfs文件系統為例,則運行如下命令:

    Alibaba Cloud Linux 2/3版本、CentOS 6及以上版本

    type xfs_growfs || sudo yum install -y xfsprogs
    sudo xfs_growfs /mnt

    Debian 8及以上版本、Ubuntu14及以上版本

    type xfs_growfs || sudo apt-get install -y xfsprogs
    sudo xfs_growfs /mnt

    btrfs文件系統

    以擴容掛載目錄為/mntbtrfs文件系統為例,則運行如下命令:

    sudo btrfs filesystem resize max /mnt
  3. 運行以下命令,確認是否擴容成功。

    df -Th

    當查詢結果中的文件系統容量和控制臺容量一致時,表示擴容成功。

    如下圖所示,分區/dev/vdb1文件系統容量(59 GiB)和云盤容量(60 GiB)基本一致(因為文件系統本身會占用部分存儲空間),表示擴容完成。image.png

    擴容完成后,您需要根據實際情況檢查云盤數據是否正常。

    • 如果擴容成功,ECS實例中的業務程序能夠正常運行,則完成操作。

    • 如果擴容失敗,您可以通過備份的快照回滾數據。具體操作,請參見使用快照回滾云盤

擴容示例

本節以MBR分區、GPT分區、裸數據盤為例展示擴容分區和文件系統的操作命令,供您參考。在實際擴容過程中,請您以實際環境為準。

示例1:擴容MBR分區和ext4文件系統

  • 設備名:/dev/vda(系統盤)

  • 1個分區:/dev/vda1

  • 文件系統類型:ext4

  • 操作系統:Alibaba Cloud Linux 3

擴容分區和文件系統命令如下:

type growpart || sudo yum install -y cloud-utils-growpart
sudo yum update cloud-utils-growpart
sudo LC_ALL=en_US.UTF-8 growpart /dev/vda 1
sudo resize2fs /dev/vda1

示例2:擴容GPT分區和xfs文件系統

  • 設備名:/dev/vdb(數據盤)

  • 2個分區:/dev/vdb1 、/dev/vdb2

  • 文件系統類型:xfs

  • /dev/vdb2的掛載目錄:/mnt

  • 操作系統:Debian 12

擴容分區和文件系統命令如下:

sudo apt-get update
sudo apt-get install -y cloud-guest-utils
type sgdisk || sudo apt-get install -y gdisk
sudo LC_ALL=en_US.UTF-8 growpart /dev/vdb 2
type xfs_growfs || sudo apt-get install -y xfsprogs
sudo xfs_growfs /mnt

示例3:擴容裸數據盤

  • 設備名:/dev/vdc(裸數據盤未分區)

  • 文件系統類型:ext4

  • 操作系統:CentOS 7

擴容文件系統命令如下:

sudo resize2fs /dev/vdc

常見問題

說明

如果您遇到難以解決的問題,您可以加入云盤擴容問題客戶釘釘群(釘釘群號:25920014655)與我們的工程師即時溝通。

growpart相關問題

  • 問題1:運行擴容分區growpart命令時,提示unexpected output in sfdisk --version [sfdisk,來自 util-linux 2.23.2]

    原因:中文版操作系統使用了非en_US.UTF-8的字符編碼類型。

    解決方案

    • 運行locale命令查看ECS實例的字符編碼類型,將非en_US.UTF-8的字符編碼類型切換成en_US.UTF-8

      • 運行以下命令,切換字符編碼類型。

        export LANG=en_US.UTF-8
      • 如果問題仍未解決,運行以下命令,切換字符編碼類型。

        export LC_ALL=en_US.UTF-8
    • 如果問題仍未解決,請您嘗試運行reboot命令重啟ECS實例。

    重要

    當您通過切換字符編碼,成功完成擴容分區后,建議您按需切回原有字符編碼。

  • 問題2:運行擴容分區growpart命令時,提示unexpected output in sfdisk --version [sfdisk (util-linux-ng 2.17.2)]

    原因:您的fdisk版本與growpart版本不兼容。

    解決方案:嘗試將growpart版本降低到0.27。如果問題仍未解決,請參考擴展分區和文件系統_Linux數據盤擴容分區。

  • 問題3:運行擴容分區growpart命令時,提示FAILED: unable to determine partition type

    原因:您的云盤是裸設備,未分區。裸設備無需執行擴容分區操作,直接擴容文件系統即可。

    解決方案:直接步驟2:擴容文件系統

  • 問題4:運行擴容分區growpart命令時,提示WARNING: MBR/dos partitioned disk is larger than 2TB. Additional space will go unused.

    原因:MBR分區類型不支持2 TiB以上的云盤。

    解決方案:先將分區類型從MBR轉換為GPT,然后再擴容分區。具體操作,請參見轉換MBR分區為GPT分區

  • 問題5:運行擴容分區growpart命令時,提示mkdir: cannot create directory ... No space left on device

    原因:磁盤空間不足,導致growpart命令創建臨時目錄時失敗。

    解決方案:清理無用的文件釋放空間,然后再進行擴容。

  • 問題6:在CentOS 6中安裝growpart工具時提示Error: Cannot retrieve repository metadata

    原因:CentOS 6操作系統版本已結束生命周期(EOL),繼續使用默認源會導致無法安裝軟件包。

    解決方案

    • 在CentOS 6中切換yum源。具體操作,請參見CentOS 6 EOL如何切換源?

      說明

      CentOS 6操作系統版本已結束生命周期(EOL),如果您需要使用yum安裝軟件包,需要先切換yum源。

    • 重新運行以下命令,安裝growpart工具。

      type growpart || sudo yum install -y cloud-utils-growpart
    • 如果問題仍未解決,請參考擴展分區和文件系統_Linux數據盤擴容分區。

  • 問題7:設備名以/dev/mapper開頭的分區未擴容成功。

    原因:設備名以/dev/mapper開頭,通常是通過LVM管理磁盤分區。

    解決方案:需要先通過LVM擴容邏輯卷,然后再擴容文件系統。具體操作,請參見通過LVM擴容邏輯卷

  • 問題8:運行擴容分區growpart命令時,提示NOCHANGE: partition 1 could only be grown by 2015 [fudge=2048]

    原因:擴容分區時沒有更多可用空間。通常是因為在控制臺離線擴容云盤后,未通過控制臺或OpenAPI重啟實例,導致云盤本身沒有得到擴容。

    解決方案:離線擴容后,必須通過ECS控制臺或者OpenAPI重啟實例才能使云盤擴容生效,在ECS實例內部重啟(執行reboot命令)無效。具體操作,請參見重啟實例或者RebootInstance

resize2fs相關問題

  • 問題1:運行擴容文件系統resize2fs命令時,提示Couldn't find valid filesystem superblock. open: Is a directory while opening /mnt

    原因:擴容文件系統時,resize2fs指定的是云盤分區名稱,不是云盤設備名稱或者分區的掛載目錄。

    解決方案:擴容文件系統時,請您指定正確的分區名稱。

  • 問題2:運行擴容文件系統resize2fs命令時,提示The filesystem is already ... blocks long. Nothing to do!

    原因:文件系統沒有可擴容的空間,可能是分區未擴容或者擴容未生效導致。

    解決方案

    • 請先確認是否有成功執行growpart擴容分區的步驟,如果遺漏請您先執行growpart命令擴容分區。

    • 如果您成功執行了growpart命令擴容分區,并輸出CHANGED字樣后,在執行resize2fs命令時仍有上述報錯。這可能是因為操作系統版本較低,無法在線更新系統分區表。請嘗試執行reboot命令重啟實例后,再執行resize2fs命令。

  • 問題3:運行擴容文件系統resize2fs命令時,提示resize2fs: Permission denied to resize filesystem

    原因:可能是文件系統不一致,導致文件系統擴容失敗。

    解決方案

    • 運行dmesg -T | grep fs命令,如果輸出There are errors in the filesystem類似信息,說明文件系統不一致。

    • 為云盤做好數據備份。具體操作,請參見創建快照

    • 在業務允許的情況下,運行umount命令,根據實際環境卸載已掛載的分區或者整塊盤。

      說明

      如果是系統盤(無法umount),則要使用卸載系統盤再掛載到其他實例上的方式,進行修復。具體操作,請參見卸載或掛載系統盤

    • 嘗試使用e2fsck命令進行修復。e2fsck命令的使用方法請參考其手冊。