Thursday Nov 30, 2006

ZFS概况


        ZFS是Sun开发的基于Solaris平台的最新一代文件系统。Solaris已经于2005年6月正式开源,ZFS作为Solaris的一部分当然也是开源的,这一点是从它正式介绍到OpenSolaris开源社区那天就开始了。2005年10月下旬ZFS正式集成到Solaris Express中,也就是OpenSolaris开源社区中,这标志着全世界的开发者和用户可以开始体验ZFS所带来的全新感受。可以这么说,ZFS对业界所带来的冲击,无论是它的超简单易用性,超大容量,还是简单的设计理念无一不是革命性的。ZFS有很多全新的特性,简单来说可以归纳成以下几点:


        1. 简单易用性
        在设计ZFS时,有一个最基本的原则就是要把系统管理员从繁琐而又很容易出错的日常操作中解放出来,而不是整天纠缠于系统的维护,调整与配置中。比个例
子,我们要创建一个1G的mirror用已有的创建文件系统的方法。系统disk分布情况: 0:c1t5d0 1:c1t6d0
先在各个盘中分出大个大小为1G的slice.
        \* 在UFS上创建与删除


    # metadb -a -f c1t5d0s6 c1t6d0s6
    # metainit d10 1 1 c1t5d0s0
    d10: Concat/Stripe is setup
    # metainit d20 1 1 c1t6d0s0
    d20: Concat/Stripe is setup
    # metainit m0 -m d10
    m0: Mirror is setup
    # metattach m0 d20
    m0: submirror d20 is attached
    # newfs /dev/md/dsk/m0
    newfs: construct a new file system /dev/md/rdsk/m0: (y/n)? y
    /dev/md/rdsk/m0:        2097152 sectors in 64 cylinders of 128 tracks, 256 sectors
            1024.0MB in 32 cyl groups (2 c/g, 32.00MB/g, 15040 i/g)
    super-block backups (for fsck -F ufs -o b=#) at:
     32, 65824, 131616, 197408, 263200, 328992, 394784, 460576, 526368, 592160,
     1447456, 1513248, 1579040, 1644832, 1710624, 1776416, 1842208, 1908000,
     1973792, 2039584
    # mount /dev/md/dsk/m0 /mnt
    # df -lhF ufs
    Filesystem             size   used  avail capacity  Mounted on
    /dev/dsk/c0t1d0s0       11G   4.0G   7.0G    37%    /
    /dev/dsk/c0t1d0s7      223M   1.0M   200M     1%    /export/home
    /dev/md/dsk/m0         965M   1.0M   906M     1%    /mnt

    bash-3.00# umount /mnt
    bash-3.00# metaclear m0
    m0: Mirror is cleared
    bash-3.00# metaclear d10
    d10: Concat/Stripe is cleared
    bash-3.00# metaclear d20
    d20: Concat/Stripe is cleared
    bash-3.00# metadb -f -d c1t6d0s6 c1t5d0s6

    \*  在ZFS上创建与删除

    # zpool create -f pool mirror c1t6d0 c1t5d0
    # zfs create pool/fs
    # zfs set quota=1G pool/fs
    # zfs set mountpoint=/mnt pool/fs
    # zfs list
    NAME      USED  AVAIL  REFER  MOUNTPOINT
    pool      121K  16.5G  24.5K  /pool
    pool/fs  24.5K  1024M  24.5K  /mnt
    # zfs destroy pool/fs
    # zpool destroy pool

        以上这些只是一个简单的比较,而ZFS所拥有的大量非常有用特性和特点我会在以后逐个介绍。


        2. 海量容量
        ZFS是128位的文件系统,而当今的文件系统是64位的,也就是说ZFS是64位文件系统的18\*10\^18 倍。其中各种dataset的大小限制可以参考wikipidia.


        3. 数据的完整与一致性
        ZFS中所有操作都是基于copy-on-write
术的,所有操作都是原子操作,非0即1。因为所有操作都是基于事务的,所以没有journal日志,这也就是为什么ZFS不需要fsck(1M)。再者,
ZFS对所有数据都进行checksum处理,不会出现悄无声息的坏数据,这样也就不会由于坏数据而出现系统panic.


         如果你想参考更多有关ZFS的资料,可以登陆OpenSolarisZFS社区

[Read More]
About

forrest

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today