我的几年前的 Linux 服务器有四个 raid-1 卷:
/dev/md1 on /boot type ext4
/dev/md2 on / type ext4
/dev/md3 on /home type ext4
/dev/md4 on /data type ext4
这四个卷按此顺序存储在磁盘上。
多年来,发行版不断更新,/boot 中的内核和 initrd 也随之变得越来越大。如今,/boot 卷对于两个内核版本(新版和旧版)来说太小了。有没有办法将 /dev/md1 增大一点,例如 100M,并缩小 /dev/md2 以释放所需的空间?
谢谢。
答案1
不太优雅,如下
- 备份。是的,真的。如果必须,请借用磁盘,但在开始之前请备份
- 一个磁盘上的分区发生故障,从而拆分 RAID
- 扁平化并重新分区“故障”磁盘。考虑现在是否是开始在 RAID 上使用 LVM 而不是固定分区的好时机
- 在之前发生故障的磁盘上创建只有一个成员且有一个缺失成员的新 RAID1 分区,并根据需要在上面构建文件系统
- 将剩余 RAID 成员的所有数据复制到新分区磁盘
- 销毁旧的 RAID1,根据需要重新对磁盘进行分区,并将成员添加到新的 RAID1
- 更新并重新安装引导加载程序
如果您完全正确,您将获得一个包含所有数据的新 RAID1。如果您做错了,您可能会失去一切。但您备份了,对吗?
你可以在接触真实数据之前使用一些循环设备来测试这个过程。我有这种方法的几个例子在……之上Unix 和 Linux