Solaris 10下如何使用ZFS

ZFS,作为Solaris 10的下一代文件存储解决方案,ZFS即Zettabyte File System,也叫动态文件系统Dynamic File System, 是第一个128位文件系统,无限容量、自优化、永远数据一致、管理简单:
- 支持POSIX文件系统,应用无需移植
- 无限容量,比32/64位文件系统大16 billion billion倍
- 对于应用来说,ZFS像一个标准的POSIX文件系统,无需移植 。
- 对于系统管理员来说,ZFS提供存储池的模型,彻底消除了卷管理的概念,及其带来的硬盘分区的问题,可以使所有文件系统利用存储池的所有设备的访问带宽,100%在线维护 。
- 所有操作采用copy-on-write方式,硬盘状态永远有效,无需fsck 。
- 所有数据块被64位校验,防止数据瘫痪, 并且数据可做Raid,其中一个数据损坏可由另一数据修复 。
- 提供无限份的快照,提供磁盘限额
1. 检查预装OS,如无 ZFS包,则需安装软件包:
# pkginfo |grep SUNWzfs
# pkgadd -d .
The following packages are available:
1 SUNWzfs Zettabyte File System (ZFS)
(sparc) 11.10.0,REV=2004.12.26.02.38
Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]:1
...
Installation ofwas successful.
2. 建立storage pool:
# zpool create -f testpool mirror /dev/dsk/c0t1d0s0 /dev/dsk/c0t1d0s1
# zpool df testpool
Poolsizeused avail capacity
-------------------- ------ ------ ------ --------
testpool500M 56.0K500M 1%
# zpool vdevs -v testpool
mirror1
c0t1d0s0
c0t1d0s1
3. 建立文件系统:
# zfs create testpool/user1
# zfs create testpool/user2
# mkdir -p /disk/user1 /disk/user2
# zfs mount testpool/user1 /disk/user1
# zfs mount testpool/user2 /disk/user2
# df -h -F zfs
文件系统大小用了可用 容量挂接在
testpool/user1484M 27K484M1%/disk/user1
testpool/user2484M 27K484M1%/disk/user2
4. 测试ZFS的读写变化:
# cp /etc/n* /disk/user1; cp /etc/m* /disk/user2
# df -h -F zfs
文件系统大小用了可用 容量挂接在
testpool/user1484M 60K484M1%/disk/user1
testpool/user2484M 123K484M1%/disk/user2
5. 增加新的存储到storage pool,扩展ZFS:
# zpool add -f testpool mirror c0t1d0s3 c0t1d0s4
# zpool df testpool
Poolsizeused avail capacity
-------------------- ------ ------ ------ --------
testpool 1000M303K 1000M 1%
s6a# zpool vdevs -v testpool
mmirror1
c0t1d0s0
c0t1d0s1
mirror2
c0t1d0s3
c0t1d0s4
# df -h -F zfs
文件系统大小用了可用 容量挂接在
testpool/user1982M60K982M1%/disk/user1
testpool/user2982M 123K982M1%/disk/user2
6. 破坏storage pool硬盘的数据,观察ZFS中数据不受影响:
# dd if=/dev/urandom of=/dev/rdsk/c0t1d0s1 count=10000
10000 0 记录进入
10000 0 记录调出
# df -h -F zfs
文件系统大小用了可用 容量挂接在
testpool/user1982M60K982M1%/disk/user1
testpool/user2982M 123K982M1%/disk/user2
# diff /etc/nsswitch.conf /disk/user1/nsswitch.conf

文件系统管理,ZFS提供一个新的易于使用的自动管理的模型,降低复杂性,减少错误和实施的时间 。
数据安全和完整性,ZFS数据在任何时间都是一致的 。
对于资源利用,ZFS存储池可为多个文件系统共享 。
增加灵活性,ZFS扩展或缩小是动态的,无需系统管理员介入。
【Solaris 10下如何使用ZFS】降低费用,可免除额外的卷管理的许可费用 。

    推荐阅读