首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么mdraid在一次成长手术之后?

为什么mdraid在一次成长手术之后?
EN

Unix & Linux用户
提问于 2020-12-10 20:55:57
回答 1查看 179关注 0票数 0

最近,我决定扩展使用mdadm raid1卷配置的NAS。由于磁盘槽是有限的,这方面的过程大致是:

  1. 拉出一个磁盘,用一个更大的磁盘替换它。
  2. 发行mdadm /dev/md0 --add /dev/sda1
  3. 等待重新同步完成到新磁盘上。
  4. 拉出另一个磁盘并更换它
  5. 发行mdadm /dev/md0 --add /dev/sdb1
  6. 等待重新同步完成
  7. 发行mdadm /dev/md0 --grow --size=max

步骤7是必要的,因为否则md0将保持原来的大小,尽管它现在完全位于较大的磁盘上。

我的问题是,为什么mdadm需要在步骤7之后再进行重新同步?什么数据是同步的,从哪里到哪里?在执行步骤2和步骤5的resyncs中,旧卷上的所有数据都被完全同步,因此步骤7之后唯一新的数据就是替换磁盘的后半部分上的垃圾。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-12-10 21:08:41

即使是RAID 1上的“垃圾”也需要相同。这与创建MD数组后发生的重新同步相同,请参见内核Wiki上的初始数组创建

初始再同步(以及生长后再同步)的最大原因是进行检查和修复--腿间的差异会在检查期间造成错误。

如果您确信磁盘的内容是相同的(例如,它们是零的),则可以在grow操作中使用--assume-clean。来自mdadm手册:

当数组被调整到更大的大小时--增长--大小=新空间通常被重新生成,就像整个数组在创建时被重新生成一样。在Linux3.0版本中,可以在该命令中使用“假设-干净”,以避免自动重新同步。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/623904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档