AWS 增加 Volumes 容量後,磁碟進行擴容方式

當 Volumes 容量不足時,可以直接在 Volumes 容量,

調整容量後,實際容量還不會增加,這時還必須再進行系統指令進行擴容

這裡分別說明針對分割區 及 檔案系統 進行擴容的方式:

提醒,再增加容量前,建議先建立快照

確認磁碟類型

在開始前,先透過 lsblk查看目前磁碟區,以及確認你要擴充的磁碟

接著檢查你磁碟的類型,例如:

sudo file -s /dev/xvda

接著,請針對磁碟的類型,進行對應的擴容方式

以下說明三種類型的擴充方法:

針對分割區進行擴展

查詢執行個體的磁碟區

ubuntu@exam:~$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   40G  0 disk
└─xvda1 202:1    0   20G  0 part /
xvdb    202:16   0  180G  0 disk /opt

從查詢可以看到目前 /dev/xvda 顯示為新的容量 40G 但是在實際分割區 xvda1 反映的容量卻是 20G

開始針對 xvda 根磁碟的分割區進行擴展,底下指令最後的數字為 分割區號碼

ubuntu@exam:~$ sudo growpart /dev/xvda 1

擴容後,再查詢執行磁碟區容量,是否擴容成功

ubuntu@exam:~$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   40G  0 disk
└─xvda1 202:1    0   40G  0 part /
xvdb    202:16   0  180G  0 disk /opt

針對 XVD 檔案系統進行擴展

查詢硬碟空間

ubuntu@exam:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       39G  7.8G   31G  20% /
/dev/xvdb       148G  137G  3.8G  98% /opt
...

查詢結果顯示, xvdb 目前容量為 148G

接續用 lsblk 指令查詢執行個體的磁碟區,則顯示 180G

ubuntu@exam:~$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   40G  0 disk
└─xvda1 202:1    0   40G  0 part /
xvdb    202:16   0  180G  0 disk /opt

針對檔案系統,可透過 resize2fs 指令來擴展容量

sudo resize2fs /dev/xvdb

XFS 檔案系統進行擴展

XFS 擴容必須要先安裝擴充,這裡採用官方範例說明

 sudo yum install xfsprogs

接著,查詢目前磁碟用量

[ec2-user ~]$ df -h
Filesystem       Size  Used Avail Use% Mounted on
/dev/nvme0n1p1   8.0G  1.6G  6.5G  20% /
/dev/nvme1n1     8.0G   33M  8.0G   1% /data
...

須留意的是,這裏要進行擴容,,Mounted on 裝載點是位於 / 及 /date

執行下方指令進行擴容

[ec2-user ~]$ sudo xfs_growfs -d /
[ec2-user ~]$ sudo xfs_growfs -d /data

執行完畢可再查詢用量是否調整

[ec2-user ~]$ df -h
Filesystem       Size  Used Avail Use% Mounted on
/dev/nvme0n1p1    16G  1.6G   15G  10% /
/dev/nvme1n1      30G   33M   30G   1% /data
...

官方參考: 連結