调整Debian软件RAID 1镜像中使用的分区大小

我有一个简单的RAID1设置与几个驱动器。

我已经意识到,其中一个分区并不与CEPAORD边界alignment,我担心这是一件坏事,在某些时候会让我感到悲伤。

通常我会使用gparted来调整边界,但是如何在RAID1arrays中使用分区的时候这样做呢?

我不想走LVM路线,因为我不明白这一点,简单的方法工作正常,所以我想避免这种学习曲线。

如果您暂时只能使用一个磁盘(无冗余),那么简单地让错误分区失败,将其从arrays中删除,并从中删除任何RAID元数据(将md设备和分区replace为需要)。

对于重新分区,这个磁盘上的所有分区都需要脱机 – 如果您只使用一个分区作为RAID1设置,并且不与RAID或其他任何其他分区共享任何其他分区(例如,交换空间)。 如果您只在该磁盘上使用单个分区,并仅将该分区用于RAID1,则可以这样开始:

mdadm /dev/md0 --fail /dev/sdb1 --remove /dev/sdb1 mdadm --zero-superblock /dev/sdb1 

如果在同一物理驱动器上还有其他分区,请执行“fail,remove,zero”操作。

请仔细检查您是否从正确的磁盘使用正确的分区。 如果你select了错误的分区,并且已经“失败”了你的分区,或者甚至将超级分区置零,那么请立即运行mdadm /dev/md0 --add /dev/sdb1来重新构build你的RAID1并重新启动重新分区。重build成功后进行分区。

将超级块置零后,应根据需要(使用gparted,parted,sfdisk,cfdi​​sk,fdisk,…)重新分区磁盘。 当然,resize的分区需要(至less)与第一块RAID磁盘的大小相同。

分区后,请发出一个

 blockdev --rereadpt /dev/sdb 

以确保您的内核使用最新的分区表,并将“失败”分区添加到您的MD设备:

 mdadm /dev/md0 --add /dev/sdb1 

对所有其他的分区和MD设备也做同样的步骤。

驱动器将立即进入恢复模式,并将数据从另一个磁盘复制到“新”磁盘。 您可以使用cat /proc/mdstat来监视恢复进度。

关于LVM:LVM本质上是磁盘和文件系统之间的“另一层”,可以把它replace成可以在线更改的静态大小的分区。 文件系统可以在线生长(有时也可以缩小),并且与LVM一起,这可以提供一些灵活性。 逻辑卷也可以随时添加,删除或更改,并且可以添加更多磁盘,以便扩展现有的逻辑卷。

例如,您不需要考虑确切的分区scheme,因为您稍后可以在线添加一些更多的空间到现有的文件系统。 如果你的系统使用一个单独的分区来存放所有的文件(可能是一个小的/引导分区),而且你不需要增加更多的空间,那么LVM就不会看到太多的好处。

如果用于LVM的物理卷已经在使用未alignment的分区,LVM也不会有多大的帮助。 从技术上讲,在准备在LVM中使用它的物理卷(PV)时,可能会添加一个数据偏移量,但这通常没什么区别。 修正一个错位的LVM本质上涉及到一个没有alignmentRAID的麻烦,但是需要额外的不同的工具来完成。

如果一个LVM PV驻留在一个正确alignment的分区上,新创build的逻辑卷也恰好alignment,但由于大尺寸物理盘区的事实,这只是一个巧合。 如果将LVM设置configuration为在4k形状的磁盘上使用1KB大小的物理盘区,则错误的逻辑卷可能只是标准configuration。

然而,LVM是“走出去”的灵活性,我build议大家看看LVM的基本概念。