擴充Linux VM上的虛擬硬碟
本文內容
警告
這篇文章參考 CentOS,這是接近生命週期結束 (EOL) 狀態的 Linux 發行版本。 請據以考慮您的使用方式和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指引 。
適用於: ✔️ Linux VM ✔️ 彈性擴展集
本文說明如何擴充Linux虛擬機的受控磁碟(VM)。 您可以 新增數據磁碟 以提供額外的儲存空間,也可以擴充現有的數據磁碟。 操作系統的預設虛擬硬碟大小在 Azure 中的 Linux VM 上通常是 30 GB。 本文涵蓋擴充 OS 磁碟或數據磁碟。 您無法擴充等量磁碟區的大小。
OS 磁碟的容量上限為 4,095 GiB。 不過,根據預設,許多操作系統會以 主要開機記錄 (MBR) 進行分割。 MBR 會將可用大小限制為 2 TiB。 如果您需要的大小超過 2 TiB,建立和連結資料磁碟,並將其用於資料儲存。 如果您需要將資料儲存在 OS 磁碟上,而且需要額外的空間,請將它轉換成 GUID 磁碟分區數據表 (GPT)。
警告
請務必確定檔系統處於狀況良好的狀態,磁碟分區數據表類型 (GPT 或 MBR) 將支援新的大小,並確定您的數據在執行磁碟擴充作業之前已備份。 如需詳細資訊,請參閱 Azure 備份 快速入門 。
識別作業系統內的 Azure 資料磁碟物件
當 VM 上有數個數據磁碟時,擴充數據磁碟時,可能會很難將 Azure LUN 與 Linux 裝置產生關聯。 如果OS磁碟需要擴充,則會在 Azure 入口網站 中清楚標示為OS磁碟。
首先,使用 df
命令識別磁碟使用率、裝入點和裝置之間的關聯性。
df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 xfs 97G 1.8G 95G 2% /
<truncated>
/dev/sdd1 ext4 32G 30G 727M 98% /opt/db/data
/dev/sde1 ext4 32G 49M 30G 1% /opt/db/log
在這裡,我們可以看到 /opt/db/data
文件系統幾乎已滿,而且位於分割區上 /dev/sdd1
。 的 df
輸出會顯示裝置路徑,不論磁碟是由裝置路徑掛接,還是 fstab 中的 (慣用) UUID。 也請記下 Type 資料行,指出文件系統的格式。 這在稍後很重要。
現在,藉由檢查 的內容/dev/disk/azure/scsi1
,找出與 相互關聯的 /dev/sdd
LUN。 下列ls
命令的輸出會顯示在查看 Azure 入口網站 時,Linux OS 中稱為 /dev/sdd
的裝置位於 LUN1。
sudo ls -alF /dev/disk/azure/scsi1/
total 0
drwxr-xr-x. 2 root root 140 Sep 9 21:54 ./
drwxr-xr-x. 4 root root 80 Sep 9 21:48 ../
lrwxrwxrwx. 1 root root 12 Sep 9 21:48 lun0 -> ../../../sdc
lrwxrwxrwx. 1 root root 12 Sep 9 21:48 lun1 -> ../../../sdd
lrwxrwxrwx. 1 root root 13 Sep 9 21:48 lun1-part1 -> ../../../sdd1
lrwxrwxrwx. 1 root root 12 Sep 9 21:54 lun2 -> ../../../sde
lrwxrwxrwx. 1 root root 13 Sep 9 21:54 lun2-part1 -> ../../../sde1
展開 Azure 受控磁碟
在不停機的情況下展開
您可以擴充受控磁碟,而不需解除分配 VM。 您的磁碟主機快取設定不會變更您是否可以擴充數據磁碟,而不需要解除分配 VM。
這項功能有下列限制:
僅支援數據磁碟。
如果磁碟是 4 TiB 或更小,您應該先解除配置 VM 並中斷連結磁碟,再將其擴充至 4 TiB 以上。 如果磁碟已大於 4 TiB,則無須解除配置 VM 及中斷連結磁碟即可擴充。
不支援 Ultra 磁碟或 進階版 SSD v2 磁碟。
共用磁碟不支援。
安裝並使用下列其中一項:
在某些傳統 VM 上無法使用。 使用此 腳本 來取得支援在不停機的情況下擴充的傳統 VM SKU 清單。
展開 Azure 受控磁碟
請確定您已安裝最新的 Azure CLI ,並使用 az login 登入 Azure 帳戶 。
本文需要 Azure 中至少有一個連結和備妥的數據磁碟的現有 VM。 如果您還沒有可以使用的 VM,請參閱 使用數據磁碟 建立和準備 VM。
在下列範例中,以您自己的值取代範例參數名稱,例如 myResourceGroup 和 myVM 。
重要
如果您的磁碟符合 Expand 中 不需要停機 的需求,您可以略過步驟 1 和 3。
虛擬硬碟上的作業無法在執行中的 VM 上執行。 使用 az vm deallocate 解除配置您的 VM。 下列範例會在名為 myResourceGroup 的資源群組中解除分配名為 myVM 的 VM:
az vm deallocate --resource-group myResourceGroup --name myVM
注意
VM 必須解除分配,才能擴充虛擬硬碟。 停止具有 az vm stop
的 VM 不會釋放計算資源。 若要釋放計算資源,請使用 az vm deallocate
。
使用 az disk list 檢視資源群組中的受控磁碟清單 。 下列範例會顯示名為 myResourceGroup 的資源群組中的受控磁碟清單:
az disk list \
--resource-group myResourceGroup \
--query '[*].{Name:name,Gb:diskSizeGb,Tier:accountType}' \
--output table
使用 az disk update 展開所需的磁碟。 下列範例會將名為 myDataDisk 的受控磁碟展開為 200 GB:
az disk update \
--resource-group myResourceGroup \
--name myDataDisk \
--size-gb 200
使用 az vm start 啟動 VM。 下列範例會在名為 myResourceGroup 的資源群組中啟動名為 myVM 的 VM:
az vm start --resource-group myResourceGroup --name myVM
展開磁碟分區和文件系統
注意
雖然有許多工具可用來執行分割區重設大小,但本檔其餘部分詳述的工具與某些自動化程式所使用的工具相同,例如 cloud-init。 如這裡所述, growpart
套件的工具 gdisk
提供與 GUID 分割區數據表 (GPT) 磁碟的通用相容性,因為舊版的工具,例如 fdisk
不支援 GPT。
偵測變更的磁碟大小
如果使用先前所述的程式來擴充數據磁碟,則在重新掃描裝置之前,磁碟大小不會變更,這通常只會在開機過程中發生。 您可以使用下列程式視需要呼叫此重新掃描。 在此範例中,我們偵測到使用本檔中的方法,指出數據磁碟目前 /dev/sda
已從 256 GiB 調整為 512 GiB。
識別輸出第一行上目前辨識的大小 fdisk -l /dev/sda
sudo fdisk -l /dev/sda
Disk /dev/sda: 256 GiB, 274877906944 bytes, 536870912 sectors
Disk model: Virtual Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x43d10aad
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 536870878 536868831 256G 83 Linux
1
將字元插入此裝置的重新掃描檔案中。 請注意 sda 的參考,如果不同磁碟裝置已重設大小,這會變更。
echo 1 | sudo tee /sys/class/block/sda/device/rescan
確認已辨識新的磁碟大小
sudo fdisk -l /dev/sda
Disk /dev/sda: 512 GiB, 549755813888 bytes, 1073741824 sectors
Disk model: Virtual Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x43d10aad
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 536870878 536868831 256G 83 Linux
本文的其餘部分會使用 OS 磁碟作為程式範例,以增加 OS 層級的磁碟區大小。 如果展開的磁碟是數據磁碟,請使用 先前的指引來識別數據磁碟裝置 ,並遵循這些指示作為指導方針,並視需要取代數據磁碟裝置(例如 /dev/sda
),分割區編號、磁碟區名稱、裝入點和文件系統格式。
所有 Linux OS 指引都應該視為一般,而且可能會套用在任何發行版上,但通常符合具名 Marketplace 發行者的慣例。 參考 Red Hat 檔,以瞭解任何宣告 Red Hat 相容性的散發套件需求,例如 CentOS 和 Oracle。
增加 OS 磁碟的大小
下列指示適用於背書的Linux發行版。
注意
繼續進行之前,請先製作 VM 的完整備份複本,或至少擷取 OS 磁碟的快照集。
在 Ubuntu 16.x 與較新的版本上,OS 磁碟和檔案系統的根分割區會自動擴充,以藉由 cloud-init 來利用根磁碟上所有可用的連續空間,前提是調整大小作業有一些可用空間。 在此情況下,順序只是
如先前所述增加 OS 磁碟的大小
重新啟動 VM,然後使用根用戶帳戶存取 VM 。
確認 OS 磁碟現在顯示增加的檔案系統大小。
如下列範例所示,OS 磁碟已從入口網站重設大小為 100 GB。 / 上掛接的 /dev/sda1 檔案系統現在顯示 97 GB。
df -Th
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 314M 0 314M 0% /dev
tmpfs tmpfs 65M 2.3M 63M 4% /run
/dev/sda1 ext4 97G 1.8G 95G 2% /
tmpfs tmpfs 324M 0 324M 0% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 324M 0 324M 0% /sys/fs/cgroup
/dev/sda15 vfat 105M 3.6M 101M 4% /boot/efi
/dev/sdb1 ext4 20G 44M 19G 1% /mnt
tmpfs tmpfs 65M 0 65M 0% /run/user/1000
user@ubuntu:~#
若要增加 SUSE 12 SP4 中的 OS 磁碟大小,SUSE SLES 12 for SAP、SUSE SLES 15 和 SUSE SLES 15 for SAP:
請遵循上述程式,在 Azure 基礎結構中展開磁碟。
以其他使用者身分登入之後,使用 sudo
命令,以根 使用者身分存取您的 VM:
sudo -i
使用下列命令來安裝 growpart 套件,如果資料分割尚未存在,將會用來調整分割區的大小:
zypper install growpart
使用 lsblk
命令來尋找掛接在檔案系統根目錄上的分割區 (/ )。 在此情況下,我們看到裝置 sda 的分割區 4 已掛接在 / 上:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 48G 0 disk
├─sda1 8:1 0 2M 0 part
├─sda2 8:2 0 512M 0 part /boot/efi
├─sda3 8:3 0 1G 0 part /boot
└─sda4 8:4 0 28.5G 0 part /
sdb 8:16 0 4G 0 disk
└─sdb1 8:17 0 4G 0 part /mnt/resource
使用 growpart
命令和上一個步驟中決定的資料分割編號來調整所需分割區的大小:
growpart /dev/sda 4
CHANGED: partition=4 start=3151872 old: size=59762655 end=62914527 new: size=97511391 end=100663263
再次執行 lsblk
命令,檢查分割區是否已增加。
下列輸出顯示 /dev/sda4 分割區的大小已調整為 46.5 GB:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 48G 0 disk
├─sda1 8:1 0 2M 0 part
├─sda2 8:2 0 512M 0 part /boot/efi
├─sda3 8:3 0 1G 0 part /boot
└─sda4 8:4 0 46.5G 0 part /
sdb 8:16 0 4G 0 disk
└─sdb1 8:17 0 4G 0 part /mnt/resource
使用 lsblk
命令搭配 -f
旗標,識別 OS 磁碟上的檔案系統類型:
lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1
├─sda2 vfat EFI AC67-D22D /boot/efi
├─sda3 xfs BOOT 5731a128-db36-4899-b3d2-eb5ae8126188 /boot
└─sda4 xfs ROOT 70f83359-c7f2-4409-bba5-37b07534af96 /
sdb
└─sdb1 ext4 8c4ca904-cd93-4939-b240-fb45401e2ec6 /mnt/resource
根據檔案系統類型,使用適當的命令來調整檔案系統的大小。
針對 xfs ,使用此命令:
xfs_growfs /
範例輸出︰
meta-data=/dev/sda4 isize=512 agcount=4, agsize=1867583 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0 rmapbt=0
= reflink=0
data = bsize=4096 blocks=7470331, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=3647, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 7470331 to 12188923
針對 ext4 ,使用此命令:
resize2fs /dev/sda4
使用下列命令,確認 df -Th 增加的檔案系統大小:
df -Thl
範例輸出︰
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 445M 4.0K 445M 1% /dev
tmpfs tmpfs 458M 0 458M 0% /dev/shm
tmpfs tmpfs 458M 14M 445M 3% /run
tmpfs tmpfs 458M 0 458M 0% /sys/fs/cgroup
/dev/sda4 xfs 47G 2.2G 45G 5% /
/dev/sda3 xfs 1014M 86M 929M 9% /boot
/dev/sda2 vfat 512M 1.1M 511M 1% /boot/efi
/dev/sdb1 ext4 3.9G 16M 3.7G 1% /mnt/resource
tmpfs tmpfs 92M 0 92M 0% /run/user/1000
tmpfs tmpfs 92M 0 92M 0% /run/user/490
在上述範例中,我們可以看到 OS 磁碟的檔案系統大小已增加。
請遵循上述程式,在 Azure 基礎結構中展開磁碟。
以其他使用者身分登入之後,使用 sudo
命令,以根 使用者身分存取您的 VM:
sudo -i
使用 lsblk
命令來判斷檔案系統根目錄 (/ ) 上掛接的邏輯磁碟區 (LV)。 在此情況下,我們看到 rootvg-rootlv 掛接在 / 上。 如果不同的檔案系統需要重設大小,請在整個區段中取代 LV 和載入點。
lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
fd0
sda
├─sda1 vfat C13D-C339 /boot/efi
├─sda2 xfs 8cc4c23c-fa7b-4a4d-bba8-4108b7ac0135 /boot
├─sda3
└─sda4 LVM2_member zx0Lio-2YsN-ukmz-BvAY-LCKb-kRU0-ReRBzh
├─rootvg-tmplv xfs 174c3c3a-9e65-409a-af59-5204a5c00550 /tmp
├─rootvg-usrlv xfs a48dbaac-75d4-4cf6-a5e6-dcd3ffed9af1 /usr
├─rootvg-optlv xfs 85fe8660-9acb-48b8-98aa-bf16f14b9587 /opt
├─rootvg-homelv xfs b22432b1-c905-492b-a27f-199c1a6497e7 /home
├─rootvg-varlv xfs 24ad0b4e-1b6b-45e7-9605-8aca02d20d22 /var
└─rootvg-rootlv xfs 4f3e6f40-61bf-4866-a7ae-5c6a94675193 /
檢查 LVM 磁碟區群組 (VG) 中是否有包含根磁碟分區的可用空間。 如果有可用空間,請跳至步驟 12。
vgdisplay rootvg
--- Volume group ---
VG Name rootvg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 6
Open LV 6
Max PV 0
Cur PV 1
Act PV 1
VG Size <63.02 GiB
PE Size 4.00 MiB
Total PE 16132
Alloc PE / Size 6400 / 25.00 GiB
Free PE / Size 9732 / <38.02 GiB
VG UUID lPUfnV-3aYT-zDJJ-JaPX-L2d7-n8sL-A9AgJb
在此範例中,免費PE/ 大小行 會顯示磁碟群組中有38.02 GB可用,因為磁碟已重設大小。
安裝 cloud-utils-growpart 套件以提供 growpart 命令,這是增加 OS 磁碟的大小和 GPT 磁碟配置的 gdisk 處理程式的必要條件。此套件已預安裝在大多數市集映射上
yum install cloud-utils-growpart gdisk
在 RHEL/CentOS 8.x VM 中,您可以使用 dnf
命令, yum
而不是 。
使用 pvscan 命令,判斷哪些磁碟和數據分割會保存 磁碟區群組中名為 rootvg 的 LVM 實體磁碟區 (PV) 或磁碟區。 請注意,方括號 ([ 和 ] ) 之間所列的大小和可用空間。
pvscan
PV /dev/sda4 VG rootvg lvm2 [<63.02 GiB / <38.02 GiB free]
使用 lsblk
來確認分割區的大小。
lsblk /dev/sda4
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda4 8:4 0 63G 0 part
├─rootvg-tmplv 253:1 0 2G 0 lvm /tmp
├─rootvg-usrlv 253:2 0 10G 0 lvm /usr
├─rootvg-optlv 253:3 0 2G 0 lvm /opt
├─rootvg-homelv 253:4 0 1G 0 lvm /home
├─rootvg-varlv 253:5 0 8G 0 lvm /var
└─rootvg-rootlv 253:6 0 2G 0 lvm /
使用 growpart 、裝置名稱和分割區編號展開包含此 PV 的數據分割。 這麼做會展開指定的分割區,以使用裝置上所有可用連續空間。
growpart /dev/sda 4
CHANGED: partition=4 start=2054144 old: size=132161536 end=134215680 new: size=199272414 end=201326558
再次使用 lsblk
命令,確認分割區已調整為預期的大小。 請注意,範例 sda4 已從 63G 變更為 95G。
lsblk /dev/sda4
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda4 8:4 0 95G 0 part
├─rootvg-tmplv 253:1 0 2G 0 lvm /tmp
├─rootvg-usrlv 253:2 0 10G 0 lvm /usr
├─rootvg-optlv 253:3 0 2G 0 lvm /opt
├─rootvg-homelv 253:4 0 1G 0 lvm /home
├─rootvg-varlv 253:5 0 8G 0 lvm /var
└─rootvg-rootlv 253:6 0 2G 0 lvm /
展開 PV 以使用新展開之分割區的其餘部分
pvresize /dev/sda4
Physical volume "/dev/sda4" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
確認 PV 的新大小是預期的大小,與原始 [size / free] 值比較。
pvscan
PV /dev/sda4 VG rootvg lvm2 [<95.02 GiB / <70.02 GiB free]
依所需的數量展開 LV,這不需要是磁碟區群組中的所有可用空間。 在下列範例中, /dev/mapper/rootvg-rootlv 會透過下列命令,從 2 GB 調整為 12 GB(增加 10 GB)。 此命令也會調整 LV 上的檔案系統大小。
lvresize -r -L +10G /dev/mapper/rootvg-rootlv
範例輸出︰
Size of logical volume rootvg/rootlv changed from 2.00 GiB (512 extents) to 12.00 GiB (3072 extents).
Logical volume rootvg/rootlv successfully resized.
meta-data=/dev/mapper/rootvg-rootlv isize=512 agcount=4, agsize=131072 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=524288, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 524288 to 3145728
此命令 lvresize
會自動呼叫 LV 中檔案系統的適當重設大小命令。 使用 df -Th
命令,確認掛接在 上的 / /dev/mapper/rootvg-rootlv 是否有 增加的文件系統大小:
範例輸出︰
df -Th /
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/rootvg-rootlv xfs 12G 71M 12G 1% /
注意
若要使用相同的程序來調整任何其他邏輯磁碟區的大小,請變更步驟 12 中的 lv 名稱。
請遵循上述程式,在 Azure 基礎結構中展開磁碟。
以其他使用者身分登入之後,使用 sudo
命令,以根 使用者身分存取您的 VM:
sudo -i
當 VM 重新啟動時,請執行下列步驟:
安裝 cloud-utils-growpart 套件以提供 growpart 命令,這是增加 OS 磁碟大小和 GPT 磁碟配置的 gdisk 處理常式所需的命令。 此套件已預安裝在大部分市集映像上
yum install cloud-utils-growpart gdisk
在 RHEL/CentOS 8.x VM 中,您可以使用 dnf
命令, yum
而不是 。
使用 lsblk -f 命令來驗證存放根目錄的分割區和文件系統類型(/ ) 分割區
lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs 2a7bb59d-6a71-4841-a3c6-cba23413a5d2 /boot
├─sda2 xfs 148be922-e3ec-43b5-8705-69786b522b05 /
├─sda14
└─sda15 vfat 788D-DC65 /boot/efi
sdb
└─sdb1 ext4 923f51ff-acbd-4b91-b01b-c56140920098 /mnt/resource
若要進行驗證,請從使用 gdisk 列出 sda 磁碟的分割區資料表開始。 在此範例中,我們看到磁碟分區大小為 29.0 GiB 的 48.0 GiB 磁碟。 磁碟在 Azure 入口網站中已從 30 GB 擴充到 48 GB。
gdisk -l /dev/sda
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 100663296 sectors, 48.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 78CDF84D-9C8E-4B9F-8978-8C496A1BEC83
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 62914526
Partitions will be aligned on 2048-sector boundaries
Total free space is 6076 sectors (3.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 1026048 2050047 500.0 MiB 0700
2 2050048 62912511 29.0 GiB 0700
14 2048 10239 4.0 MiB EF02
15 10240 1024000 495.0 MiB EF00 EFI System Partition
使用 growpart 命令展開根目錄的分割區,在此案例中為 sda2。 使用此命令展開分割區,以使用磁碟上的所有連續空間。
growpart /dev/sda 2
CHANGED: partition=2 start=2050048 old: size=60862464 end=62912512 new: size=98613214 end=100663262
現在再次使用 gdisk 列印新的分割區資料表。 請注意,分割區 2 現在的大小為 47.0 GiB
gdisk -l /dev/sda
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 100663296 sectors, 48.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 78CDF84D-9C8E-4B9F-8978-8C496A1BEC83
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 100663262
Partitions will be aligned on 2048-sector boundaries
Total free space is 4062 sectors (2.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 1026048 2050047 500.0 MiB 0700
2 2050048 100663261 47.0 GiB 0700
14 2048 10239 4.0 MiB EF02
15 10240 1024000 495.0 MiB EF00 EFI System Partition
使用 xfs_growfs 展開分割區上的檔案系統,其適用於標準市集產生的 RedHat 系統:
xfs_growfs /
meta-data=/dev/sda2 isize=512 agcount=4, agsize=1901952 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=7607808, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=3714, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 7607808 to 12326651
使用 df 命令確認已反映新大小
df -hl
Filesystem Size Used Avail Use% Mounted on
devtmpfs 452M 0 452M 0% /dev
tmpfs 464M 0 464M 0% /dev/shm
tmpfs 464M 6.8M 457M 2% /run
tmpfs 464M 0 464M 0% /sys/fs/cgroup
/dev/sda2 48G 2.1G 46G 5% /
/dev/sda1 494M 65M 430M 13% /boot
/dev/sda15 495M 12M 484M 3% /boot/efi
/dev/sdb1 3.9G 16M 3.7G 1% /mnt/resource
tmpfs 93M 0 93M 0% /run/user/1000
在不停機的情況下擴充傳統 VM SKU 支援
如果您使用傳統 VM SKU,它可能不支援在不停機的情況下擴充磁碟。
使用下列 PowerShell 腳本來判斷可用的 VM SKU:
Connect-AzAccount
$subscriptionId="yourSubID"
$location="desiredRegion"
Set-AzContext -Subscription $subscriptionId
$vmSizes=Get-AzComputeResourceSku -Location $location | where{$_.ResourceType -eq 'virtualMachines'}
foreach($vmSize in $vmSizes){
foreach($capability in $vmSize.Capabilities)
{
if(($capability.Name -eq "EphemeralOSDiskSupported" -and $capability.Value -eq "True") -or ($capability.Name -eq "PremiumIO" -and $capability.Value -eq "True") -or ($capability.Name -eq "HyperVGenerations" -and $capability.Value -match "V2"))
{
$vmSize.Name
}
}
}