我的S11服务器配置如下:
磁盘#1 用于 rpool,它是根池,我想添加磁盘#2 来增加已安装文件夹的可用大小,但我无法将磁盘添加到现有的 rpool,因为它是根池。
有没有办法让新磁盘可用于“/”文件夹?我唯一的选择是创建一个新的 zpool 并将其挂载到新文件夹下吗?
谢谢。
拉米
root@raamee:~# zpool status
pool: rpool
state: ONLINE
status: The pool is formatted using an older on-disk format. The pool can
still be used, but some features are unavailable.
action: Upgrade the pool using 'zpool upgrade'. Once this is done, the
pool will no longer be accessible on older software versions.
scan: none requested
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
c4t0d0s0 ONLINE 0 0 0
root@raamee:~# zfs list
NAME USED AVAIL REFER MOUNTPOINT
rpool 130G 4.18G 4.59M /rpool
rpool/ROOT 101G 4.18G 31K legacy
rpool/ROOT/S11-GA 152M 4.18G 7.33G /
rpool/ROOT/S11-GA/var 17.4M 4.18G 5.20G /var
rpool/VARSHARE 180K 4.18G 180K /var/share
rpool/dump 8.25G 4.43G 8.00G -
rpool/guests 31K 4.18G 31K /guests
rpool/scratch 2.52M 4.18G 2.52M /scratch
rpool/swap 20.6G 4.81G 20.0G -
root@raamee:~# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c4t0d0 <FUJITSU-MBB2147RCSUN146G-0505 cyl 17845 alt 2 hd 255 sec 63>
/pci@7b,0/pci1022,7458@11/pci1000,3060@2/sd@0,0
/dev/chassis/SYS/HD0/disk
1. c4t1d0 <FUJITSU-MBB2147RCSUN146G-0505-136.73GB>
/pci@7b,0/pci1022,7458@11/pci1000,3060@2/sd@1,0
/dev/chassis/SYS/HD1/disk
答案1
将第二个磁盘作为第一个磁盘的镜像,等待重新镀银,移除第一个磁盘,将属性设置为自动扩展。不要忘记设置启动代码或类似的东西。示例:
zpool attach rpool olddisk newdisk
...wait, check using zpool status rpool
zpool detach rpool olddisk
zpool set autoexpand=on rpool
答案2
如前所述,您不能通过将一个磁盘附加到另一个磁盘 (raid 0) 来“扩展”rpool 大小,但是正如 Chris S 在下面提到的那样,您可以将更大的磁盘附加为镜像,然后,一旦数据同步 (重新切片完成),就分离较小的磁盘。 (哎呀,现在我也看到了 Chris 的回应)
以下是镜像根磁盘的过程... http://constantin.glez.de/blog/2011/03/how-set-zfs-root-pool-mirror-oracle-solaris-11-express
遵循这一点,除非他们这样做:
prtvtoc /dev/rdsk/c7t0d0s0 | fmthard -s - /dev/rdsk/c7t1d0s0
... 您将需要运行 format 并增大切片 0 的大小,可能是整个磁盘
# format /dev/rdsk/c4t1d0s0
(我不会详细介绍交互式格式命令)
# zpool attach rpool c4t0d0s0 c4t1d0s0
# zpool status rpool
等待直到显示“重新镀银完成”(继续检查zpool status rpool
)
确保您可以启动到第二个磁盘
然后分离较小的 rpool 镜像并重新启动,确保您可以再次启动。
# zpool detach rpool c4t0d0s0
利润!?
参考:http://docs.oracle.com/cd/E19963-01/html/821-1448/gjtuk.html#gjtui
上一个答案:
使用他指定的命令创建池后:
zpool create mypool c4t1d0
创建文件系统,例如:
zfs create mypool/home
...将数据复制到新磁盘...(重新)从 rpool 磁盘移动数据,然后将挂载点设置为适当的位置,例如:
zfs set mountpoint=/export/home mypool/home
当然,这是假设 /export/home 是所有空间被使用的地方。您可能必须在“单用户”模式下执行此操作,或者创建一个不属于主目录的用户来/export/home
完成此操作。
顺便提一下,您的 zfs list 输出看起来很奇怪,好像缺少了什么东西。rpool/ROOT
显示已使用 101GB,但其下的文件系统仅显示约 12.5GB REF,USED 则少得多。您是否碰巧在 rpool/ROOT 下有其他引导环境,而您已将其从 zfs list 输出中“删减”掉?您是否可以销毁这些 bootenv 或至少销毁 zfs 文件系统以重新获得 rpool/ROOT 中使用的空间?
~汤米
答案3
是的,我相信你唯一的选择是使用第二个磁盘创建一个新池。你对 rpool 唯一能做的事情就是镜像磁盘 - 这不会提供更多可用空间。rpool 不支持条带化,因为它会给启动带来困难。
zpool create mypool c4t1d0