我正在尝试向我的 zfs 根池添加一个新磁盘。这是我当前的配置:
# zpool status
pool: rpool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
c0d0s0 ONLINE 0 0 0
errors: No known data errors
bash-3.00# df -h
Filesystem Size Used Avail Use% Mounted on
rpool/ROOT/s10x_u7wos_08
311G 18G 293G 6% /
swap 14G 384K 14G 1% /etc/svc/volatile
/usr/lib/libc/libc_hwcap1.so.1
311G 18G 293G 6% /lib/libc.so.1
swap 14G 52K 14G 1% /tmp
swap 14G 40K 14G 1% /var/run
rpool/export 293G 19K 293G 1% /export
rpool/export/home 430G 138G 293G 32% /export/home
rpool 293G 36K 293G 1% /rpool
# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c0d0 <DEFAULT cyl 60797 alt 2 hd 255 sec 63>
/pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0
1. c2d0 <Hitachi- JK1181YAHL0YK-0001-16777216.>
/pci@0,0/pci-ide@1f,5/ide@1/cmdk@0,0
上面的磁盘 1 是我需要连接的新磁盘,以扩展我的根池(给 /export/home 一些额外的空间)。
如果我尝试将新磁盘附加到池中
# zpool attach -f rpool c0d0s0 c2d0s0
cannot attach c2d0s0 to c0d0s0: new device must be a single disk
# uname -a
SunOS dsol1 5.10 Generic_139556-08 i86pc i386 i86pc Solaris
有任何想法吗?
编辑:
# zpool add rpool c2d0
无法添加到“rpool”:根池不能有多个 vdev 或单独的日志
答案1
您不能将设备添加到根池(在镜像之外但这对您的情况没有帮助)。
您可以做的是使用第二个磁盘创建一个新的 zpool,然后在其上重新定位 /export。
答案2
难道不是zpool add
,而不是zpool attach
?
以下方法可能有帮助:
http://lildude.co.uk/growing-a-zfs-root-pool
http://prefetch.net/blog/index.php/2006/12/26/adding-disks-to-zfs-pools/
答案3
我轻松扩展了根池:
- 以 root 身份登录
确保 rpool 可以自动扩展
- zpool 设置自动扩展=在 rpool 上
使用 gdisk 将要添加的磁盘格式化为“Solaris Root”分区
- gdisk /dev/sdx
使用选项‘n’创建新分区
对于 Solaris Root,文件系统类型代码应为“bf00”
选择“w”写入更改
通过 ID 查找磁盘
- ls /dev/disk/by-id
记下你刚刚创建的分区作为硬盘模型,并在名称后附加“-part1”或其他数字
将该分区添加到 zpool(假设磁盘分区为“disk-part1”)
- zpool add -f rpool /dev/disk/by-id/disk-part1
验证池是否已扩展
- zpool 状态
- zfs 列表
您应该能够看到根目录现在已扩展存储