我有一台 Synology NAS(运行 DSM 6.2 的 DS416play),配置为 SHR,具有 1 个驱动器冗余。
其中一个驱动器已被标记为故障,但尚未显示任何错误。我可以直接将其拔出并插入一个新的,但根据过去的经验,在数据清理期间,我可能会有一周的时间没有冗余。
NAS 有 USB,所以我想知道:我是否可以暂时将一个新驱动器外部连接并以某种方式“预克隆”到它上面,以尽量减少没有冗余的时间?
如果相关的话,新的驱动器会有所不同/更大(8TB 对 6TB)。
答案1
作为替代选择,在某些情况下,临时改变一些参数可以大大加快团队扩张的速度(例如,从 10 天到 16 小时)。
您可以使用cat /proc/mdstat
和mdadm --detail /dev/mdX
来查找要扩展的 raid 设备。通常是md2
,而其他是 ~2GB 镜像系统分区。
先记下当前值以便稍后恢复它们。
$ cat /sys/block/md2/md/stripe_cache_size
$ cat /proc/sys/dev/raid/speed_limit_min
$ cat /sys/block/md2/queue/read_ahead_kb
$ cat /sys/block/md2/md/sync_max
$ echo 32768 > /sys/block/md2/md/stripe_cache_size
$ echo 50000 > /proc/sys/dev/raid/speed_limit_min
$ echo 32768 > /sys/block/md2/queue/read_ahead_kb
$ echo max > /sys/block/md2/md/sync_max
stripe_cache_size
是最大值,当阵列降级时,需要占用 32Mib 来同步读/写操作。
speed_limit_min
提示您希望更多地关注同步扩展任务。它还作为GUI 选项在 DSM 6 和 7 中。
read_ahead_kb
是驱动器阵列将在读取请求之前预加载多长时间。
sync_max
是指示阵列中检查/修复操作范围的扇区数(还有一个 sync_min)。这个似乎对某些人影响最大。
资料来源:
- https://gist.github.com/fbartho/2cb998dc1f10d13c124bf736286fd757
- https://community.synology.com/enu/forum/1/post/130936
- https://eprints.bbk.ac.uk/id/eprint/30457/1/2020-01-03-accelerating-synology-raid-6-reshapes.markdown
- https://www.kernel.org/doc/html/v4.15/admin-guide/md.html
- https://kb.synology.com/en-us/DSM/help/DSM/StorageManager/storage_pool_adjust_resync_speed?version=7