我正在将数据从旧服务器迁移到 FreeBSD 10.x 上的 zfs(我实际上使用的是 FreeNAS 9.10.2-u1,但在控制台中执行此活动,因此它是纯 FreeBSD)。我的问题是zpool attach
需要正确格式或切片/分区信息的 new_device,但我不知道如何提供。
由于成本原因,我分两个阶段迁移数据 - 将数据从旧镜像复制到新的 zfs 池(无冗余),然后破坏旧服务器上的镜像以移动镜像驱动器并在新服务器上重新同步,所有阶段都有 2 份数据副本。SMART 统计数据都很好,所有磁盘都是“企业”类型。虽然不是最理想的,但到目前为止一切顺利。我已经复制了数据,并将磁盘从旧服务器连接到新服务器 - 现在我被困在获取正确的参数上zpool attach
。
当前存储如下:
camcontrol devlist
识别磁盘设备和型号,提供:
ada0 = 6TB disk
ada1 = 4TB disk
ada2 = 6TB disk
ada3 = BOOT MIRROR
ada4 = BOOT MIRROR
ada5 = 4TB disk
ada6 = 6TB disk
glabel status
识别已在使用的 5 个磁盘的 gptid:
gptid/c610a927-01da-11e7-b762-000743144400 ada0p2 - 6TB
gptid/c68f80ae-01da-11e7-b762-000743144400 ada2p2 - 6TB
gptid/3b2b904b-02b3-11e7-b762-000743144400 ada3p1 - BOOT MIRROR
gptid/fb71e387-016b-11e7-9ddd-000743144400 ada4p1 - BOOT MIRROR
gptid/c566154f-01da-11e7-b762-000743144400 ada5p2 - 4TB
zpool status
通过 gptid 识别到目前为止数据池中的 3 个磁盘
gptid/c610a927-01da-11e7-b762-000743144400 (from above this is ada0p2, 6TB)
gptid/c68f80ae-01da-11e7-b762-000743144400 (from above this is ada2p2, 6TB)
gptid/c566154f-01da-11e7-b762-000743144400 (from above this is ada5p2, 4TB)
因此要连接的新磁盘是:
ada1 (4TB) - attach to gptid/c566154f-01da-11e7-b762-000743144400 (ada5p2)
ada6 (6TB) - attach to gptid/c610a927-01da-11e7-b762-000743144400 (ada0p2)
disk arriving shortly (6TB): attach on arrival to gptid/c68f80ae-01da-11e7-b762-000743144400 (ada2p2)
问题:
我所困惑的是用于附加的实际命令。zpool attach
无论我尝试什么,都会出现错误:
zpool attach ada0p2 ada6
missing <new_device> specification
zpool attach gptid/c610a927-01da-11e7-b762-000743144400 ada6
missing <new_device> specification
我猜它反对“ada6”,我应该提供其他标识符或切片/分区 ID。但我没有这些;zfs 在连接磁盘时会自行创建它们。
这里应该使用的正确命令是什么,或者我遗漏了什么?
答案1
您还必须指定要添加磁盘的 zpool。
# zpool list -v
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
zroot 2.72T 204G 2.52T - 7% 7% 1.00x ONLINE -
mirror 2.72T 204G 2.52T - 7% 7%
gpt/zfs0 - - - - - -
gpt/zfs1 - - - - - -
# zpool attach zroot gpt/zfs1 ada6
http://docs.oracle.com/cd/E19253-01/819-5461/6n7ht6qvl/index.html