修改硬碟大小 Resize root disk on Google Compute Engine

未分類
我在兩年內 resize 了四次吧 但每次都找不到文件 官方的都寫的很怪 看不懂 (而且有錯) 網路上其他文件 過一陣子不知道為什麼就會404 所以只好自己寫一篇了 剛又 resize 了一次 趕快把流程記下來 1. 進到你的 Google Cloud 後台 改變你的硬碟大小 像我這次是從 400G 擴充到 500G 就從400改500 改的時候不用關機 但改好要重開機 GCP 才能讀到最新的數值 2. ssh 到你的機器裡面 跑底下的指令 sudo growpart /dev/sda 1 神奇的事情是 會出現這個錯誤 /bin/growpart: line 175: 磁柱,171*磁區/磁軌*: syntax error: operand expected (error token is "磁柱,171*磁區/磁軌*") 後來 google 了一下 好像是語系的問題 = = 解決來源 https://hacknote.jp/archives/7575/ 只要改語系設定就好 執行這個 export LANG="en_US.UTF-8" 再跑一次 sudo growpart /dev/sda 1 就好了 然後有的文件會叫你跑 sudo resize2fs /dev/sda 1 但我跑了以後會噴錯誤 resize2fs 1.42.9 (28-Dec-2013) resize2fs: Device or resource busy while trying to open /dev/sda Couldn't find valid filesystem superblock. 我也不知道是什麼問題 但 Google Cloud 的文件是這樣寫的= = 不過沒關係 不用理這個 可以跑下一個指令 sudo xfs_growfs -d /dev/sda1 然後系統會顯示類似的資訊 meta-data=/dev/sda1 isize=256 agcount=161, agsize=655296 blks = sectsz=4096 attr=2, projid32bit=1 = crc=0 finobt=0 spinodes=0 data = bsize=4096 blocks=104857344, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=0 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 104857344 to 131071244 跟你說區塊已經修改了 Google Cloud 的文件不曉得在欉三小 他會叫你這樣下 sudo xfs_growfs /dev/sda 1 但這根本就是錯的 3. 執行完畢後不需要重開機 可以用 df 查一下 發現硬碟大小已經改變了 原本 # df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 400G 358G 43G 90% / 改變後# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 500G 358G 143G 72% / 就完成啦 希望這流程不要再改了= = 備註一下 我的系統是 CentOS7