我有一个正在运行的 Solaris 10 盒,其启动/磁盘使用 ZFS。
我想添加另一个硬盘并镜像该启动驱动器。
当我运行我认为正确的命令(如下)时,出现错误:
-bash-3.2# zpool add -f rpool mirror c1t0d0 c1t1d0
invalid vdev specification
the following errors must be manually repaired:
/dev/dsk/c1t0d0s0 is part of active ZFS pool rpool. Please see zpool(1M).
对于如何解决这个问题,有任何的建议吗?
非常感谢,Doug
答案1
首先,您需要确保新磁盘大小等于或大于原始磁盘大小。
复制磁盘分区(仅限 x86):
fdisk -W /var/tmp/rpool-fdisk /dev/rdsk/c1t0d0p0
fdisk -F /var/tmp/rpool-fdisk /dev/rdsk/c1t1d0p0
复制标签(x86 和 SPARC)
prtvtoc /dev/rdsk/c1t0d0s0 | fmthard -s - /dev/rdsk/c1t1d0s0
镜像根池(x86 和 SPARC):
zpool attach -f rpool c1t1d0s0
安装 GRUB 引导加载程序(仅限 x86):
installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t1d0s0
安装引导加载程序(仅限 SPARC):
installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t1d0s0
设置 BIOS (x86) 或 OpenBOOT prom (SPARC) 以使新磁盘可启动。
在后一种情况下(SPARC),应该是这样的:
eeprom "boot-device=disk1 disk2"
确保在重新启动之前 ZFS 重新同步已完成。使用zpool status rpool
命令来监控重新同步。