此技巧可以帮助克隆单个磁盘或增加多托架 Synology NAS 上的信号磁盘卷的大小。
该提案来自 Synology 社区英文版的帖子.(感谢Simon56~)
我做了一个测试,看看克隆然后修改某些东西是否能有所帮助。幸运的是,它可以,这里是记录。
然而,该过程存在风险,因此最好在继续之前进行备份。
例如,如果克隆方向错误,原始磁盘上的数据将消失。因此,如果您有任何疑问,请询问。
此方法仅适用于:
- 多盘位 Synology NAS
- 卷类型必须为【Basic】。不适用于单个磁盘的 SHR 卷。
此测试由 DSM7.2 完成,在未来的更新中可能会发生变化。
STEP0. 停止所有应用程序向小磁盘卷写入数据。 #
在克隆磁盘之前,我们需要 停止 应用 (SMB 访问、Surveillance Station、虚拟机管理器……等)将数据写入与源磁盘相关的卷。
如果数据不断写入较小磁盘的卷,则克隆的磁盘克隆将包含不一致的数据。
在此测试中,使用 1TB 磁盘创建基本卷 2:
我们将把这个 1TB 卷 2 升级为更大的 8TB 磁盘。
STEP1. 知道Synology终端模式下的设备id。 #
要使用命令来控制磁盘,我们需要知道Linux模式下的磁盘id。
例如,DS1618+ 有 6 个磁盘插槽:
每个磁盘设备 ID 为:
- 驱动器 1 → /dev/sda
- 驱动器 2 → /dev/sdb
- 驱动器 3 → /dev/sdc
- 驱动器 4 → /dev/sdd
- 驱动器 5 → /dev/sde
- 驱动器 6 → /dev/sdf
类似的逻辑可以应用于其他 Synology NAS 型号。
步骤2. 通过 Linux 命令 dd 将源磁盘克隆到目标磁盘 #
dd 是一个基本的 Linux 命令,用于将扇区从 1TB 磁盘克隆到 8TB 磁盘。
我们要将较小的 1TB 磁盘 5 ( /dev/sde ) 克隆到 8TB 磁盘 6 ( /dev/sdf )。
通过 SSH 登录 Synology 克隆整个磁盘的语法是:
adair@one1618p:~$ sudo -i 密码:root@one1618p:~# dd if=/dev/sde of=/dev/sdf bs=64k
- if = 输入文件。这是源磁盘,disk5:/dev/sde。
- of=输出文件。它是 8TB 磁盘 6,目标更大的磁盘:/dev/sdf。
- bs 是块大小。设置为 64k 可以在 Synology NAS 中获得最佳克隆速度。
在资源监视器上观察克隆速度
平均写入速度可达到150MB/s左右。
一旦克隆完成后,ssh 终端将如下所示:
root@one1618plus:~# 15261915+1 条记录入 15261915+1 条记录出 1000204886016 字节 (1.0 TB, 932 GiB) 已复制,6887.13 秒,145 MB/s
将1TB磁盘克隆到其他设备意味着读取1TB数据。
大约需要 1.9 小时。
步骤3. 对较大的磁盘再次进行分区,以确定其最大大小 #
命令 日 将源磁盘每个扇区的信息克隆到目标磁盘,包括分区表。
目标磁盘分区表的资源磁盘大小定义已过时。要更正此问题,我们需要根据实际大小重新对较大的目标磁盘进行分区。
经过多年的发展,Synology 磁盘分区布局有许多版本。因此 Synology 有一个名为 同分 处理不同的布局。
此步骤分为两个部分。
第 1 部分。了解旧小磁盘的分区布局版本 #
本部分 1 将检查旧的较小磁盘 5、1TB、/dev/sde。以下是如何检查磁盘 5、/dev/sde 的版本。
这是 版本 9 其索引号为 15.
root@one1618p:~# synopartition --check /dev/sde
/dev/sde:分区布局为版本 9,列表索引为 15。root@one1618p:~# synopartition --list
索引版本 1-Bay 根/交换/保留分区的大小 1. 1 是 273042/ 787185/ 273042 扇区 ( 133/ 384/ 133 MB) 2. 2 是 4980087/ 1044225/ 257040 扇区 ( 2431/ 509/ 125 MB) 3. 3 是 530082/ 787185/ 16002 扇区 ( 258/ 384/ 7 MB) 4. 5 是 722862/ 594405/ 16002 扇区 ( 352/ 290/ 7 MB) 5. 6 是 4980087/ 4192965/ 257040 扇区 ( 2431/ 2047/ 125 MB) 6. 7 是 4980480/ 4194304/ 262144 扇区 ( 2431/ 2048/ 128 MB) 7. 8 是 4980480/ 4194304/ 260352 扇区 ( 2431/ 2048/ 127 MB) 8. 9 是 16777216/ 4194304/ 262144 扇区 ( 8192/ 2048/ 128 MB) 10. 1 否 1574307/ 787185/ 273105 扇区 ( 768/ 384/ 133 MB) 11. 2 否 4980087/ 1044225/257040 个扇区 (2431/509/125 MB) 12.6 NO 4980087/4192965/257040 个扇区 (2431/2047/125 MB) 13.7 NO 4980480/4194304/262144 个扇区 (2431/2048/128 MB) 14.8 NO 4980480/4194304/260352 个扇区 (2431/2048/127 MB)
15. 9 NO 16777216/ 4194304/ 262144 扇区 ( 8192/ 2048/ 128 MB)
19. 100 是 41943040/ 4194304/ 0 扇区 (20480/ 2048/ 0 MB) 20. 100 否 41943040/ 4194304/ 0 扇区 (20480/ 2048/ 0 MB)
第 2 部分。重新分区更大的新磁盘 #
第 2 部分是分区到更大的磁盘,如下 8TB 磁盘6, /dev/sdf.
我们希望将其分区为版本 9, 索引 15语法为:
root@one1618p:~# synopartition --part /dev/sdf 15
设备扇区(Version9:SupportRaid)/dev/sdf1 16777216(8192 MB)/dev/sdf2 4194304(2048 MB)保留大小:262144(128 MB)将创建主数据分区。警告:此操作将删除“/dev/sdf”上的所有数据并重新分区,您确定要继续吗?[y/N] y 正在清理所有分区...正在创建系统分区...正在创建主数据分区...请记住 mdadm 和 mkfs 新分区。
它会提示删除所有数据,但实际上不会,因为它只执行快速分区。这不会触及此磁盘中现有卷中的数据。
要了解有关 synopartition 的更多详细信息,您可以谷歌搜索或输入“ synopartition –help ” 在 SSH 终端下。
root@ad1618:~# synopartition --help 版权所有 (c) 2003-2023 Synology Inc. 保留所有权利。 用法: synopartition (Version ) --help 显示此帮助。 --list 列出分区布局表。 --check disk_path(eg./dev/sda) 检查分区布局版本。 --remove disk_path [part_no] 删除磁盘的特定分区。如果不是特定分区,则删除所有分区。 --part [--force] disk_path index_of_list(1~20) [logical_size_GB ... 0] 用特定布局对磁盘进行分区。 --scan-syno-part 扫描所有与 syno 分区布局匹配的磁盘分区。如果您选择的布局版本小于 6,那么将跳过逻辑大小。否则,您最多可以分配 11 个逻辑分区大小,单位为 GB,以 0 结尾。如果不分配逻辑大小参数,那么将创建主数据分区。请注意,列表的索引可能会在将来修改。 --log disk_path 将 disk_path 中每个分区的起始偏移量和大小记录到文件中。
步骤4. 重启具有更大磁盘的 Synology NAS #
最终的进展如下:
- 关闭 Synology NAS
- 删除旧的、较小的磁盘(现在它是我们的备份)。
- 使用新的、更大的磁盘启动 Synology NAS。
启动后,旧的、较小尺寸的 1TB 卷仍然存在。
有一个“ 立即扩展 ”链接。只需单击以下链接:
1TB 卷 2 将扩展到 8TB 卷 2。
以上就是全部内容。
我个人认为,Synology 最好在 Storage Manager 上直接支持此功能来克隆磁盘。此功能很有用且方便。原因也可以从以下帖子中看到:
有问题?直接询问 SynoPower Club.