linux 擴容

fanggege發表於2024-08-06

工具

fdisk

只支援 MBR分割槽模式

parted

同時支援MBR 和GPT

分割槽擴容

線擴容

parted

root@kzf:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 446.6G 0 disk
├─sda1 8:1 0 1G 0 part /boot/efi
└─sda2 8:2 0 92.1G 0 part /


parted /dev/sda      
resizepart 2 100G 擴容分割槽/dev/sda2,輸入分割槽號2 擴容的目標大小

growpart

growpart   /dev/sda 1

使用限制:

growpart支援線上擴容,擴容的分割槽必須是最後一個或者擴容分割槽與下一分割槽之間有空餘的扇區。

growpart擴容無法自定義擴容大小,預設使用剩餘全部空間

離線擴容

2、假設我們有一個未分配的磁碟空間,我們可以使用fdisk或parted等工具對其進行分割槽,使用fdisk命令對/dev/sdb進行分割槽:
sudo fdisk /dev/sdb

3、按照提示進行操作,建立一個新的分割槽,完成後,使用mkfs命令格式化新分割槽,例如格式化為ext4檔案系統:

sudo mkfs.ext4 /dev/sdb1

4、掛載新分割槽到臨時目錄,mnt/temp:
sudo mkdir /mnt/temp
sudo mount /dev/sdb1 /mnt/temp

5、將根目錄下的檔案複製到臨時目錄:

sudo rsync aAXv / /mnt/temp

6、更新/etc/fstab檔案,新增新分割槽的掛載資訊:

echo '/dev/sdb1 / ext4 defaults 0 0' | sudo tee a /etc/fstab

7、重啟系統,檢查根目錄是否已經擴容成功。

檔案系統擴容

透過parted、growpart等工具給分割槽擴容後還需要擴容掛載的檔案系統,

[root@adse-yw-cli ~]# lsblk            
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 41G 0 disk
└─sdb1 8:17 0 20G 0 part /data3        #分割槽已經擴容到了20G

[root@adse-yw-cli ~]# df -h|grep -E "Filesystem|data3"
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 9.8G 37M 9.2G 1% /data3      #掛載點檔案系統還是9.8G

resize2fs /dev/sda1              #更新檔案系統大小到20G

[root@adse-yw-cli ~]# df -h|grep -E "Filesystem|data3"
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 19.8G 37M 9.2G 0.5% /data3      #掛載點檔案系統已經更新為19.8G

resize2fs /dev/sda1 15G #可以指定擴容後的大小,如果不指定預設使用當前分割槽的全部可用空間

相關文章