如何增加根体积

如何增加根体积

我有一台使用软件 RAID (raid1) 的服务器,我需要增加根分区上的卷。我一直在谷歌上搜索,但没有找到如何做到这一点的运气。我有 2x1TB RAID1。

我的 df -h:

Filesystem      Size  Used Avail Use% Mounted on
rootfs           20G   20G     0 100% /
/dev/root        20G   20G     0 100% /,
devtmpfs        3.9G  4.0K  3.9G   1% /dev
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            788M  256K  788M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            3.9G     0  3.9G   0% /run/shm
none            100M     0  100M   0% /run/user
overflow        1.0M  4.0K 1020K   1% /tmp
/dev/md3        898G   72M  852G   1% /home

我的 fdisk -l:

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000e1568

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *        4096    40962047    20478976   fd  Linux RAID autodetect
/dev/sdb2        40962048    42008575      523264   82  Linux swap / Solaris
/dev/sdb3        42008576  1953517567   955754496   fd  Linux RAID autodetect

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000a0d60

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        4096    40962047    20478976   fd  Linux RAID autodetect
/dev/sda2        40962048    42008575      523264   82  Linux swap / Solaris
/dev/sda3        42008576  1953517567   955754496   fd  Linux RAID autodetect

Disk /dev/md3: 978.7 GB, 978692538368 bytes
2 heads, 4 sectors/track, 238938608 cylinders, total 1911508864 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md3 doesn't contain a valid partition table

Disk /dev/md1: 21.0 GB, 20970405888 bytes
2 heads, 4 sectors/track, 5119728 cylinders, total 40957824 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md1 doesn't contain a valid partition table

答案1

在实时系统上做到这一点非常棘手。您选择的组织在调整规模方面非常不灵活。

我的建议是将根分区的一些大块移入/home并创建一个符号链接。


如果您确实想调整大小,可以使用以下方法。我建议首先在虚拟机中练习,因为您可能会面临系统无法启动(如果幸运的话)或丢失数据(如果不幸的话)的风险。请确保您的备份是最新的。

  1. 停止除 sshd 之外的所有服务。我们将取消 RAID 的同步,此时//home此后对文件进行的任何修改都将丢失。

  2. 手动关闭 RAID 组件/dev/sdb并将其从阵列中删除。同时关闭交换/dev/sdb2

    mdadm /dev/md1 -f /dev/sdb1
    mdadm /dev/md1 -r /dev/sdb1
    mdadm /dev/md3 -f /dev/sdb3
    mdadm /dev/md3 -r /dev/sdb3
    swapoff /dev/sdb2
    
  3. 重新分区/dev/sdb。我建议您使用更灵活的分区方案,即 LVM。这样,您以后想要调整大小的操作就会容易得多。创建一个跨越整个磁盘的 RAID 1 卷(交换空间除外)。我假设 RAID 的新卷现在/dev/sdb1仍然/dev/sdb2是交换空间。卷的顺序并不重要。

  4. /dev/sdb1现在使用单个组件构成RAID 1 卷的一部分。

    mdadm --create /dev/md4 -l 1 -n 2 missing /dev/sdb2
    
  5. 使新的 RAID 卷成为左心室容量物理卷,并创建包含它的卷组。

    pvcreate /dev/md4
    vgcreate main /dev/md4
    
  6. 创建具有所需大小的根逻辑卷,以及跨越其余可用空间的主 LV。

    lvcreate --size 40g -n root main
    lvcreate --size 100%FREE -n home main
    
  7. /dev/mapper/main_root在和上创建文件系统/dev/mapper/main_home。也跑mkswap /dev/sdb2

  8. 挂载新的文件系统并将数据复制到那里。

    mkdir /media/new_root /media/new_home
    mount /dev/mapper/main_root /media/new_root
    mount /dev/mapper/main_home /media/new_home
    cp -ax / /media/new_root
    cp -ax / /media/new_home
    
  9. 运行chroot /media/new_root存储配置并将其更新到新组织。您需要更新/etc/fstab才能安装/dev/mapper/main_root/home.还要注释掉 的交换条目/dev/sda2。您还需要使新系统可引导,这取决于您的引导加载程序。请注意,LILO 和 Grub2 可以从 LVM 引导,但 Grub 0.9x 不能。

  10. 重新启动到新系统。仅当您在虚拟机中完成所有这些步骤并确认其有效后才可以执行此操作!

  11. 重新分区/dev/sda与 相同/dev/sdb

  12. mkswap /dev/sda2那就跑吧swapon /dev/sda2。您现在可以取消注释/dev/sda2in 的条目/etc/fstab

  13. 添加/dev/sda1到新的RAID1阵列并让它在后台同步。

    mdadm --add /dev/md4 /dev/sda1
    

相关内容