显然,每个 raid1 分区的末尾都应该留出一些空白空间。但如果我们来不及了,如果替换的 RAID1 驱动器比幸存的驱动器略小,该怎么办?
可以将数组的大小调整得更小吗?
在这种情况下,hdparm 显示:
型号=ST31000524AS,固件版本=JC45,序列号=9VPBMQJD CurCHS=16383/16/63,CurSects=16514064,LBA=yes,LBAsects=1953525168
型号=ST1000DM003-1CH162、FwRev=CC44、序列号=S1D7LDD7 CurCHS=16383/16/63、CurSects=16514064、LBA=yes、LBAsects=1953525168
但是由于逻辑扇区大小不同,fdisk 将旧驱动器的分区设为 976760832 块,将新驱动器的分区设为 976760001。有一个分区,格式为 ext3。
答案1
如果您可以容忍存储阵列出现一定程度的停机时间,则可以执行以下操作:
卸载现有阵列上的文件系统。或者以只读方式重新安装文件系统。(重点是让文件系统处于可以安全复制的静止状态。)
使用新驱动器创建一个新的、降级的 RAID1 阵列,注意对其进行分区以便在驱动器末尾留出一些空白空间(吸取教训)。
在新阵列上创建必要的文件系统,然后将所有文件从旧阵列复制到新阵列。
彻底移除旧阵列,并将旧磁盘添加到新阵列。重新同步后,新阵列将不再降级。
更新 fstab 和 mdadm.conf 以反映新的现实,并将新阵列投入生产(即将其安装在预期位置)。
当然,如果您现有的阵列包含根文件系统(或者对于正在运行的系统至关重要),那么您将必须为服务器安排一些停机时间。