我在物理 Debian 服务器上的软件 RAID1 设置中有两个 600GB 驱动器。
我希望能够通过将驱动器克隆到一对匹配的 2TB 驱动器来升级服务器的容量。然后我可以擦除 600GB 驱动器并将它们用作存储或其他任何东西。
解决这个问题的最佳方法是什么?
slave:~# mount
/dev/md0 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
您应该能够更换第一个驱动器,将分区添加到阵列并让 raid 重新同步。然后更换第二个驱动器,让它重新同步,然后扩展 raid 和文件系统以占用整个空间。当您对新驱动器进行分区时,它们会占用您想要用于新布局的所有空间。
人mdadm , resize2fs
从阵列中移除设备
将设备添加到阵列
扩大阵列以占用分区允许的整个空间
增加文件系统以占用阵列的整个空间
您仍然应该进行备份。只是要确定。如果你想练习和测试,你可能想先在虚拟机中尝试一下,这样你才能有信心。
以防万一有人用谷歌搜索,这是我在 mdadm RAID1 + LVM 中从 2x150Gb 移动到 2x1Tb 驱动器的经验。
假设我们有 2 个驱动器 - mdadm 镜像 (md0) 中的 small1、small2,新的是 big1 和 big2。在它们之上是具有卷组 VG1 和逻辑卷 LV1 的 LVM
确保当前 md 一切正常:
告诉 mdadm 使一个驱动器发生故障并将其从 md 阵列中删除:
将 small1 驱动器替换为 big 驱动器(热插拔或关闭系统电源)。
在 FD 类型的大硬盘上创建新分区(Linux RAID 自动检测)。将其设置为您希望新 RAID 的大小。我更喜欢 cfdisk,但这可能会有所不同:
添加新磁盘(或者,正确地说,是您新创建的分区,例如 /dev/sda1):
等到阵列同步:
对另一对驱动器重复此操作。最后你会得到两个大磁盘阵列。
将数组增加到组件设备允许的最大大小,等待同步:
现在是调整 LVM 大小的时候了。注意 --test 选项,它将模拟操作,但不会更改元数据(在实际调整大小之前查看是否有任何错误配置很有用)。
调整物理卷大小:
调整逻辑卷大小:
最后,调整 ext3 FS 的大小:
使用两个 1Tb 硬盘,我花了大约 20 个小时(在弄乱 LVM 和 FS 之前,我已经从阵列中删除了一个磁盘,所以它是 3 个同步 + 阵列增长)。
一切都在生产服务器上完成,服务运行没有中断。
但不要忘记在进行任何更改之前备份您的数据。
假设要更换的磁盘之一是引导磁盘,那么在开始拔出磁盘之前,您不需要担心两个磁盘上都有 GRUB 吗?(我假设 GRUB 在 /boot 中寻找的东西被镜像到两个磁盘上。)
我很确定当我没有做对时,我已经盯着一个不太正确的 GRUB 提示...