DEV Community

Cover image for 擴充 AWS 主機硬碟空間
Leon
Leon

Posted on • Originally published at editor.leonh.space

擴充 AWS 主機硬碟空間

過往我曾經在〈各家 Serverless 短評〉談到主機雲端化帶給我們的便利,剛好最近碰到要擴充 AWS 上某台機器的硬碟,很適合讓人更具體地感受到雲端化對 IT 維運上的優勢,要擴充硬碟只需要進入 AWS 主控台調整一下設定即可,當然自建虛擬機也可以做到同樣的便利性,但自建虛擬機的 host 還是會有硬碟被瓜分光的一天,你各位終究還是要自己去機櫃抽插硬碟的。


想要擴充硬碟空間,第一步是到 AWS 的 EBS 頁面,對目標硬碟做修改設定,在這邊我們是把原本一個 8G 的卷加成 16G:

AWS EBS 修改卷
卷修改完了,但卷內的分割區還是原本的 8G,所以我們登入 shell 去修改分割區。

在修改前,先確認目前的分割區配置:

$ lsblk
Enter fullscreen mode Exit fullscreen mode
NAME      MAJ:MIN RM  SIZE  RO  TYPE  MOUNTPOINT
xvda      202:0   0   16G   0   disk
  -xvda1  202:1   0    8G   0   part  /
Enter fullscreen mode Exit fullscreen mode

可以看到 disk 是 16G,但分割區 xvda1 還是只有原本配置的 8G,而剩下的 8G 目前是真空未配置的狀態。

用指令讓分割區 xvda1 吃滿未配置的空間:

$ sudo growpart /dev/xvda 1
Enter fullscreen mode Exit fullscreen mode

再次用 lsblk 驗證結果:

NAME      MAJ:MIN RM  SIZE  RO  TYPE  MOUNTPOINT
xvda      202:0   0   16G   0   disk
  -xvda1  202:1   0   16G   0   part  /
Enter fullscreen mode Exit fullscreen mode

確認分割區已經擴充,但…檔案系統還沒,看 xvda1 的 ext4 還是只擁有約 8G 的空間:

$ df --human-readable --print-type
Enter fullscreen mode Exit fullscreen mode
Filesystem  Type  Size  Used  Avail Use%  Mounted on
/dev/xvda1  ext4  7.7G  7.0G  734M  91%   /
Enter fullscreen mode Exit fullscreen mode

所以還要再一步修改檔案系統:

$ sudo resize2fs /dev/xvda1
Enter fullscreen mode Exit fullscreen mode

再次確認:

Filesystem  Type  Size  Used  Avail Use%  Mounted on
/dev/xvda1  ext4  16G   7.0G  8.5G  46%   /
Enter fullscreen mode Exit fullscreen mode

確認變為 16G,至此大功告成。

注意到了嗎,我們擴充硬碟空間的整個程序中,是沒有重新開機的,也不需要什麼高深的熱抽換技術,就兩三個一望即知的指令,隨便拉一個三十年前用過 DOS 的小朋友都會做。

本文是 AWS 文件〈調整磁碟區大小後擴展 Linux 檔案系統〉的 human readable 版。

Discussion (0)