情境說明
Azure虛擬機掛載的磁碟在管理上看到是 64 GB
但是實際上只有用到 29 GB
執行 lsblk 指令檢查磁碟和分區的詳細情況,可以看到磁碟的總大小確實是64G,但分割區的配置問題導致只能看到部分磁碟空間。
所以 disk 64GB 是正常的, 只是ROOT / 部份不夠用而已,調整適合該 partition 大小即可。
利用Linux 的 parted 指令修復磁碟分割區
(以下用AWS
EC2操作展示,同樣都是 Linux 系統)
1. 原本EC2的磁碟區大小為8GB(左方為EC2 Connect畫面,右方為控制台畫面)
2.
控制台將磁碟區大小調整為30GB
3.
調整完成後 lsblk 查看磁碟區資訊,發現根 (xvda1) 的磁碟大小還是未調整前的8GB
4.
執行 parted 指令進到 parted 環境(提示符號顯示(parted))
5.
在 parted 環境執行 print 指令可以看到根磁碟大小是8GB
6.
執行 resizepart 指令將根磁碟(磁區列表代號1)可用磁區調整為100%,再次 print 查看根磁碟大小已調整完成
7.
退出 parted 環境,lsblk 顯示
/dev/xvda1 已經擴展到 30GB,但使用 df -h
指令查看檔案系統的使用狀況還是8GB,這表示雖然磁碟區已經成功擴展,但並不代表檔案系統也已經擴展使用了全部空間。
8.
執行 xfs_growfs (注) 並指定根路徑(/)即可完成檔案系統擴展,再次執行 df -h,確認 / 已經使用了全部的 30GB 空間。
(注)
擴展檔案系統時,需視檔案系統的格式使用不同指令:
對於 ext4 檔案系統,可使用指令 resize2fs 來擴展檔案系統。
對於 XFS 檔案系統,可使用指 xfs_growfs 來擴展檔案系統。
額外補充:
growpart 跟 parted 一樣,也是一種可以自動擴展磁碟區大小的工具。
sudo -i
yum install cloud-utils-growpart
gdisk //安裝
lsblk -f
//驗證封裝含根 ( / ) 分區的分區和檔案系統類型
gdisk -l /dev/ xvda //列出 sda 磁碟的分區表
growpart /dev/ xvda 1 //擴展root 的分區
xfs_growfs / //擴展分區上的檔案系統
★系統磁碟擴展的情況下 注意磁碟路徑★
參考資料:
Azure 擴充磁碟分割與檔案系統(Linux)
Linux 的
Parted 指令教學:建立、變更與修復磁碟分割區
AWS 調整 EBS
卷大小後擴展文件系統
沒有留言:
張貼留言