我有一台带有两个硬盘的机器。我在其中一个硬盘上安装了 OpenSolaris,现在我想将另一个硬盘添加为我的 zpool 中的镜像驱动器池。我想我必须先格式化第二个磁盘,然后将其添加到池中。我该怎么做?
我曾尝试过OpenSolaris ZFS rpool 镜像,但当我来到这里时,prtvtoc /dev/rdsk/c7t0d0s0 | fmthard -s - /dev/rdsk/c7t1d0s0
我收到了这条消息fmthard: Cannot stat device /dev/rdsk/c7t1d0s0
:prtvtoc: /dev/rdsk/c7t0d0s0: No such file or directory
下面是一些命令和我的输出(我删除了输出中我认为不需要的部分:
pfexec format
AVAILABLE DISK SELECTIONS:
0. c7d0
1. c7d1
和
zpool status
pool: rpool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
c7d0s0 ONLINE 0 0 0
编辑:devfsadm -v
运行以下命令后工作正常:
pfexec fdisk /dev/rdsk/c7d1s2
prtvtoc /dev/rdsk/c7d0s2 | fmthard -s - /dev/rdsk/c7d1s2
zpool attach -f rpool c7d0s0 c7d1s0
和
zpool status
pool: rpool
state: ONLINE
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scrub: resilver completed after 0h10m with 0 errors
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
c7d0s0 ONLINE 0 0 0
c7d1s0 ONLINE 0 0 0 3,77G resilvered
errors: No known data errors
但我失败了安装grub
pfexec installgrub /boot/grub/stage1 /boot/grub/stage2 c7d1s0
cannot open/stat device c7d1s0
答案1
- 用于
format
获取可用硬盘的列表。 - rpools 比较特殊。其磁盘不能有 EFI 标签。您可以使用 删除 EFI 标签
format/fdisk
。 - 在将驱动器添加到 zpool 之前,您不必格式化驱动器。但是对于 rpools,您需要将分区布局从第一个磁盘复制到第二个磁盘。您提到的命令是正确的,但您需要使用 s2(整个磁盘)而不是 s0 来调用它们。
- 用于
zpool attach
为现有设备添加新的镜像设备。 - 使用 验证新的镜像
zpool status rpool
。 - 建议添加整个磁盘到数据zpools(而不仅仅是单个切片/分区)。
- 不要忘记
grub
也安装在第二张磁盘上,以使其可启动。(在 BIOS 中也将其启用为启动驱动器。然后测试它!)
最后,命令序列如下:
fdisk /dev/rdsk/c7d1s2 (confirm that you want a 100% Solaris partition)
prtvtoc /dev/rdsk/c7d0s2 | fmthard -s - /dev/rdsk/c7d1s2
zpool attach [-f] rpool c7d0s0 c7d1s0 (maybe use "-f" flag)
zpool status
installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c7d1s0
如果您仍然无法使其工作,请向我们展示的输出zpool status
和驱动器列表输出format
。