Centos

如何調整/移動分區?

  • April 5, 2021

我的根分區上的空間不足,想從不同的分區中竊取一些空間。驅動器為 2x120GB,帶有 mdadm 軟體 RAID。我正在使用 CentOS 6.5 64 位。我使用了 centos 安裝程序引導的 RAID 設置。似乎大多數 HowTos 都在讓我朝著沒有底層分區的方向發展。所以其他人只會有/dev/md0。他們將執行 resize2fs /dev/md0 25G(例如從 50G 減少),然後使用 mdadm 調整它的大小,等等。

佈局是:

已使用的文件系統大小可用使用百分比已安裝在
/dev/md0p5 9.7G 7.1G 2.1G 78% /
tmpfs 16G 0 16G 0% /dev/shm
/dev/md0p1 194M 99M 86M 54% /boot
/dev/md0p2 68G 7.2G 57G 12% /var/www

貓/proc/mdstat:

個性:[raid1]
md0 : 活動 raid1 sdb[1] sda[0]
117220736 塊 [2/2] [UU]

未使用的設備:

這是 fdisk:

fdisk -l

磁碟 /dev/sda:120.0 GB,120034123776 字節
255 個磁頭,63 個扇區/磁軌,14593 個柱面
單位 = 16065 * 512 = 8225280 字節的柱面
扇區大小(邏輯/物理):512 字節/512 字節
I/O 大小(最小/最佳):512 字節/512 字節
磁碟標識符:0x00035afc

設備引導開始結束塊 ID 系統
/dev/sda1 * 1 26 204800 83 Linux
分區 1 不在柱面邊界上結束。
/dev/sda2 26 8950 71680000 83 Linux
/dev/sda3 8950 11039 16777216 82 Linux 交換/Solaris
/dev/sda4 11039 14594 28557312 5 擴展
/dev/sda5 11039 12314 10240000 83 Linux

磁碟 /dev/sdb:120.0 GB,120034123776 字節
255 個磁頭,63 個扇區/磁軌,14593 個柱面
單位 = 16065 * 512 = 8225280 字節的柱面
扇區大小(邏輯/物理):512 字節/512 字節
I/O 大小(最小/最佳):512 字節/512 字節
磁碟標識符:0x00035afc

設備引導開始結束塊 ID 系統
/dev/sdb1 * 1 26 204800 83 Linux
分區 1 不在柱面邊界上結束。
/dev/sdb2 26 8950 71680000 83 Linux
/dev/sdb3 8950 11039 16777216 82 Linux 交換/Solaris
/dev/sdb4 11039 14594 28557312 5 擴展
/dev/sdb5 11039 12314 10240000 83 Linux

磁碟 /dev/md0:120.0 GB,120034033664 字節
2 個磁頭,4 個扇區/磁軌,29305184 個柱面
單位 = 8 * 512 = 4096 字節的柱面
扇區大小(邏輯/物理):512 字節/512 字節
I/O 大小(最小/最佳):512 字節/512 字節
磁碟標識符:0x00035afc

設備引導開始結束塊 ID 系統
/dev/md0p1 * 257 51456 204800 83 Linux
分區 1 不在柱面邊界上結束。
/dev/md0p2 51457 17971456 71680000 83 Linux
分區 2 不在柱面邊界上結束。
/dev/md0p3 17971457 22165760 16777216 82 Linux 交換/Solaris
分區 3 不在柱面邊界上結束。
/dev/md0p4 22165761 29305088 28557312 5 擴展
分區 4 不在柱面邊界上結束。
/dev/md0p5 22166273 24726272 10240000 83 Linux

那麼我可以做些什麼來增加根分區並縮小 /var/www 分區呢?

由於您已將 RAID 分區為單個磁碟,因此在這種情況下您可以完全忽略 RAID。所以這只是調整/移動分區的問題。

因此,例如,您可以縮小 www 分區,刪除交換分區,然後將根分區向左移動以擴大它。

或者,如果這看起來很複雜並且您並不嚴格需要單獨的分區,您可以將根分區合併到您的 www 分區,因為它已經足夠大以容納 root 和 www。這就是我會做的。

# mount stuff
mkdir /mnt/root /mnt/www
mount /dev/md0p5 /mnt/root
mount /dev/md0p2 /mnt/www

# since /mnt/www will be the new root, move www files to /var/www
mkdir -p /mnt/www/var/www
mv /mnt/www/* /mnt/var/www/

# copy the root files
rsync -avAHSX /mnt/root/. /mnt/www/.

# comment out old root partition in fstab
# change /var/www to / in fstab

# update bootloader and reboot

這種方法還有一個好處是,如果出現任何問題,原始根分區仍然完好無損,因此您可以恢復操作。

一旦合併的 root+www 分區一切正常,您可以刪除舊的 root 分區並將其增加到完整的磁碟大小。

或者,如果您認為在可預見的將來對於您的 www 來說足夠大,您也可以決定堅持使用單獨的分區並將 www 文件移動到舊的根分區。

或者您可以縮小 www 分區以為新分區騰出空間。

無限可能…

引用自:https://unix.stackexchange.com/questions/193929