Solaris ZFS文件系统rpool扩容 您所在的位置:网站首页 zfs动态扩容 Solaris ZFS文件系统rpool扩容

Solaris ZFS文件系统rpool扩容

2023-03-15 07:57| 来源: 网络整理| 查看: 265

ZFS文件系统简介

Solaris10默认的文件系统是ufs(Unix Filesystem),当然也可以选装zfs;Solaris11默认的文件系统是zfs(Zettabyte Filesystem)。

ZFS文件系统的英文名称为Zettabyte File System,也叫动态文件系统(Dynamic File System),是第一个128位文件系统。最初是由Sun公司为Solaris 10操作系统开发的文件系统。作为OpenSolaris开源计划的一部分,ZFS于2005年11月发布,被Sun称为是终极文件系统。ZFS是基于存储池,与典型的映射物理存储设备的传统文件系ZFS统不同,ZFS所有在存储池中的文件系统都可以使用存储池的资源。

ZFS 是一个组合文件系统和逻辑卷管理器。

ZFS 的功能包括防止数据损坏、高存储容量 (256 ZiB)、快照和写入时复制克隆以及连续完整性检查等。

如果您正在处理大量数据,或者为虚拟化提供后备文件系统,ZFS 是一个不错的选择。

ZFS和OpenZFS

2013年,OpenZFS成立,旨在协调开源ZFS的开发。截至2019年,OpenZFS中超过50%的原始OpenSolaris ZFS代码已经被社区贡献的代码所取代,使得“Oracle ZFS”和“OpenZFS”在体制上和技术上不兼容。 OpenZFS是一个开源存储平台。它包括传统文件系统和卷管理器的功能(此为独特之处)。它具有许多高级功能。

存储池及其分类

存储池是一种设备集合,提供 ZFS 数据集的物理存储和数据复制。存储池内的所有数据集共享同一个空间。ZFS 存储池是为数据集提供空间的设备的逻辑集合。存储池也是 ZFS 文件系统分层结构的根。

zpool 命令配置 ZFS 存储池。

Basic Storage Pool

# zpool create tank c1t0d0 c1t1d0

Mirrored Storage Pool

# zpool create tank mirror c1d0 c2d0 mirror c3d0 c4d0

RAID-Z Storage Pool

# zpool create tank raidz c1t0d0 c2t0d0 c3t0d0 c4t0d0 /dev/dsk/c5t0d0

ZFS Root Pool

根池在所有类型的存储池中,属于比较特殊的:

1、根池必须创建为镜像配置或单磁盘配置。使用zpool add命令不能增加磁盘以创建多个镜像顶级虚拟设备,但可以使用zpool attach命令扩展镜像虚拟设备。

2、根池不支持RAID-Z和striped 配置。

3、根池不能有单独的日志设备。

扩展根池

这里说是硬盘扩容,不如说是更换硬盘。案例:将15G的系统盘替换为50G的系统盘(并不能想LVM一样将两块盘都绑定到LV,然后挂载到/)。

1、查看当前的存储池,目前只有rpool,大小为15G

# zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT rpool 15.6G 15.0G 618M 96% 1.00x ONLINE - # zpool status rpool pool: rpool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 c2t0d0 ONLINE 0 0 0

2、查看当前磁盘设备

# format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c2t0d0 /[email protected],0/pci15ad,[email protected]/[email protected],0 1. c2t1d0 /[email protected],0/pci15ad,[email protected]/[email protected],0

3、将new_device附加到storage pool,前面我们说过rpool不支持zpool add 只支持zpool attach。attach后会将old_device的数据同步到new_device,并且rpool也从“单磁盘”配置自动转换为“镜像”配置。

# 命令解释:

zpool attach [-f] pool  device new_device

将new_device附加到现有的zpool设备。现有设备不能作为raidz配置的一部分。如果device当前不是镜像配置的一部分,则device自动转换为device和new_device的双向镜像。如果device是双向镜像的一部分,则附加new_device将创建一个三向镜像,依此类推。在任何一种情况下,new_device都立即开始恢复。

zpool add [-f] [-n [-l]] pool vdev ...

将指定的虚拟设备添加到给定的池中。

# zpool attach rpool c2t0d0 c2t1d0 Make sure to wait until resilver is done before rebooting. # zpool status rpool pool: rpool state: DEGRADED status: One or more devices are currently being resilvered. The pool will continue to function in a degraded state. action: Wait for the resilver to complete. Run 'zpool status -v' to see device specific details. scan: resilver in progress since Fri Mar 23 16:06:21 2001 284M scanned out of 15.0G at 3.11M/s, 1h20m to go 271M resilvered, 1.85% done config: NAME STATE READ WRITE CKSUM rpool DEGRADED 0 0 0 mirror-0 DEGRADED 0 0 0 c2t0d0 ONLINE 0 0 0 c2t1d0 DEGRADED 0 0 0 (resilvering) # zpool status rpool pool: rpool state: ONLINE scan: resilvered 14.0G in 32m36s with 0 errors on Fri Mar 23 16:38:57 2001 config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d0 ONLINE 0 0 0 c2t1d0 ONLINE 0 0 0 errors: No known data errors

4、将old_device从rpool中分离

命令解释:

zpool detach pool  device

该命令用于从镜像存储池中分离设备或备件。如果物理更换了RAID-Z存储池中的设备,也可以将备用设备从RAID-Z存储池中分离出来。或者,如果RAID-Z存储池中已有设备被备用设备替换,则可以卸载该设备。如果没有其他有效的数据副本,则拒绝该操作。

# zpool detach rpool c2t0d0

5、设置rpool自动扩展

命令解释:

zpool set autoexpand=on | off

控制底层LUN扩容时自动扩容池。

如果设置为on,池的大小将根据扩展设备的大小进行调整。如果该设备是镜像或raidz的一部分,那么在池使用新空间之前,必须对该镜像或raidz组中的所有设备进行扩展。默认off。可以使用缩写expand来代替autoexpand。

请勿使用format命令获取新的LUN大小,并对其重新打标签。zpool会自动反映新的LUN大小。

# zpool set autoexpand=on rpool

6、检验是否成功

# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 15.0G 33.8G 4.33M /rpool rpool/ROOT 3.01G 33.8G 31K none rpool/ROOT/solaris 3.01G 33.8G 2.64G / rpool/ROOT/solaris/var 315M 33.8G 315M /var rpool/VARSHARE 35.4M 33.8G 2.74M /var/share rpool/VARSHARE/kvol 27.7M 33.8G 31K /var/share/kvol rpool/VARSHARE/kvol/dump_summary 1.22M 33.8G 1.02M - rpool/VARSHARE/kvol/ereports 10.2M 33.8G 10.0M - rpool/VARSHARE/kvol/kernel_log 16.2M 33.8G 16.0M - rpool/VARSHARE/pkg 63K 33.8G 32K /var/share/pkg rpool/VARSHARE/pkg/repositories 31K 33.8G 31K /var/share/pkg/repositories rpool/VARSHARE/sstore 4.75M 33.8G 4.75M /var/share/sstore/repo rpool/VARSHARE/tmp 31K 33.8G 31K /var/tmp rpool/VARSHARE/zones 31K 33.8G 31K /system/zones rpool/dump 2.00G 33.8G 2.00G - rpool/export 8.97G 33.8G 32K /export rpool/export/home 8.97G 33.8G 32K /export/home rpool/export/home/xiao 8.97G 33.8G 8.97G /export/home/xiao rpool/swap 1.00G 33.8G 1.00G - # zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT rpool 49.6G 15.0G 34.6G 30% 1.00x ONLINE - # zpool status rpool pool: rpool state: ONLINE scan: resilvered 14.0G in 32m36s with 0 errors on Fri Mar 23 16:38:57 2001 config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 c2t1d0 ONLINE 0 0 0 errors: No known data errors


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有