我的根分区空间不足,想从其他分区窃取一些空间。驱动器为 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 分区呢?
答案1
由于您已经将 RAID 分区为单个磁盘,因此在这种情况下您可以完全忽略 RAID。所以这只是调整分区大小/移动分区的问题。
例如,您可以缩小 www 分区,删除交换分区,然后将根分区向左移动以增大它。
或者,如果这看起来很复杂并且您并不严格需要单独的分区,则可以将根分区合并到 www 分区,因为它已经足够大以容纳根分区和 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 分区一切正常,您就可以删除旧的根分区并将其增长到整个磁盘大小。
或者,如果您认为在可预见的将来对于您的 www 来说足够大,那么您可以决定毕竟要坚持使用单独的分区,并将 www 文件移动到旧的根分区。
或者您可以缩小 www 分区,为新分区腾出空间。
无限可能...