AWS對(duì)磁盤(EBS)的計(jì)費(fèi)是根據(jù)用戶劃分的容量來按時(shí)計(jì)費(fèi),而不是以使用容量來計(jì)費(fèi)。所以,大家可能會(huì)問,那磁盤擴(kuò)容方不方便呢,答案是肯定的,在AWS上,即便擴(kuò)容根分區(qū)也是非常方便的。擴(kuò)容工具就是cloud-init。
擴(kuò)容操作步驟如下:
1、安裝cloud-init
對(duì)于ubuntu系統(tǒng),安裝cloud-init命令如下:
# apt-get install -y cloud-init
對(duì)于CentOs系統(tǒng),安裝cloud-init命令如下:
# yum -y install cloud-init
2、登錄AWS控制臺(tái)修改EBS卷大小,此處是將名為gitlab的卷從60GB擴(kuò)容到100GB。


3、確認(rèn)文件系統(tǒng)類型,ext4文件系統(tǒng)要用growpart和resize2fs命令;而如果是XFS文件系統(tǒng),則應(yīng)該用growpart和xfs_growfs。

此處應(yīng)該用以下兩條命令,使用growpart命令,后面接是設(shè)備名以及分區(qū)編號(hào)(中間有空隔),可以使用fdisk -l命令查看。
# growpart /dev/nvme0n1 1
# xfs_growfs /dev/nvme0n1p1

說明:nvme0n1是設(shè)備名,nvme0n1p1是對(duì)應(yīng)的一個(gè)分區(qū),p1表示主分區(qū)1
完成上述命令后,再次查看,根分區(qū)已經(jīng)擴(kuò)到100GB了。

若文件系統(tǒng)是ext4,則用下面2條命令完成擴(kuò)容操作:
# growpart /dev/nvme0n1 1
# resize2fs /dev/nvme0n1p1
總結(jié):AWS的EBS擴(kuò)容操作確實(shí)很方便,但我們也應(yīng)該注意到,不應(yīng)該把重要數(shù)據(jù)放在根分區(qū)中,而應(yīng)該用獨(dú)立的數(shù)據(jù)磁盤存放(便于備份以及做快照)。另外,AWS上的根分區(qū)磁盤標(biāo)簽類型為dos(Disk label type: dos),這就限制了最大分區(qū)容量不能超過2TB,所以,我們除了將數(shù)據(jù)單獨(dú)存放在一塊EBS上時(shí),還要采用GPT分區(qū)。當(dāng)然,也可以用LVM來管理多個(gè)EBS,總之,方案有多種,根據(jù)實(shí)際需求選擇。