20160106

The VM root file system extend with the swap partition issue.

在 ESXi 調整磁碟影像檔案大小之後, 要讓 VM 的檔案系統變大, 但是有一個 swap 分割區的狀況的處裡方式


sudo echo 1 > '/sys/class/scsi_disk/0:0:0:0/device/rescan'
# 強制作業系統更新硬碟大小

sudo fdisk -l /dev/sda
# 先看分割區狀態, 有 swap 分割區, 所以要先建立 swap 檔案, 然後加 swap 檔案, 關閉 swap partition

sudo apt-get install parted
# 沒有裝 parted, 所以要裝一下

sudo parted /dev/sda
# 用 parted 再看一下分割區

df -h
# 確認目前檔案系統空間

sudo fallocate -l 1G /mnt/1GB.swap
# 建立一個 1GB 的檔案

sudo mkswap /mnt/1GB.swap
# 把檔案格式化成 swap 的檔案系統

sudo swapon /mnt/1GB.swap
# 啟用 swap 檔案

sudo ls -lh  /mnt/1GB.swap
# 確認檔案屬性

sudo chmod 600  /mnt/1GB.swap
# 修改屬性為 600

ls -lh  /mnt/1GB.swap
# 確認檔案屬性

sudo vim /etc/fstab
# 編輯 fstab 檔案, 加上新行內容如下 , 註解掉原來的 swap 分割區
/mnt/1GB.swap  none  swap  sw 0  0

sudo vim /etc/sysctl.conf
# 編輯 sysctl.conf, 加上新行內容如下
vm.swappiness=10

sudo swapon -s
# 確認 swap 檔案狀態

sudo swapoff -a
# 關閉 swap, 記得要確認 swap 使用狀態

sudo swapon -a
# 啟動 swap

sudo parted /dev/sda
# 在 parted 裡面執行下列指令

(parted) print
# 顯示目前分割區狀態


Model: VMware Virtual disk (scsi)
Disk /dev/sda: 34.4GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number  Start   End     Size    Type      File system     Flags
 1      1049kB  16.4GB  16.4GB  primary   ext4            boot
 2      16.4GB  17.2GB  749MB   extended
 5      16.4GB  17.2GB  749MB   logical   linux-swap(v1)


(parted) rm 5
# 刪除 swap 分割區


(parted) print
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 34.4GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number  Start   End     Size    Type      File system  Flags
 1      1049kB  16.4GB  16.4GB  primary   ext4         boot
 2      16.4GB  17.2GB  749MB   extended


(parted) rm 2
# 刪除延伸分割區

(parted) print
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 34.4GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number  Start   End     Size    Type     File system  Flags
 1      1049kB  16.4GB  16.4GB  primary  ext4         boot

# 執行下面的指令讓分割區最大化
(parted) resizepart 1 yes 100%

# 然後會顯示下面的訊息
Warning: Partition /dev/sda1 is being used. Are you sure you want to continue?

# print 指令顯示現在分割區狀態
(parted) print
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 34.4GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number  Start   End     Size    Type     File system  Flags
 1      1049kB  34.4GB  34.4GB  primary  ext4         

(parted) quit
# 結束 parted

df -h
# 檢查檔案系統空間

sudo resize2fs -F /dev/sda1
# 更新檔案系統大小

df -h
# 檢查檔案系統空間

沒有留言: