分类: BSD
2008-11-07 09:50:14
在开始我们的之旅前,请再次确认你用的是FreeBSD7.0的系统。另外请准备一些,比如三块SCSI硬盘:da0,da1,da2
增加如下一行内容到你的/etc/rc.conf里面
# echo 'zfs_enable="YES"' >> /etc/rc.conf
使用raidz1创建一个zpool,命名为tank
# zpool create tank raidz da0 da1 da2
此时,这个zpool会被自动挂接到 /tank,并且我们可以访问到他。
创建一个目录/tank/home,并设置他的限制不超过10G
# zfs create tank/home # zfs set quota=10G tank/home # zfs get quota tank/home NAME PROPERTY VALUE SOURCE tank/home quota 10G local
创建一个目录/tank/home/reserva,设置5G为预留/tank/home下的预留空间
# zfs create tank/home/reserva # zfs set reservation=5G tank/home/reserva # zfs get reservation tank/home/reserva NAME PROPERTY VALUE SOURCE tank/home/reserva reservation 5G local
设置一个目录使用压缩,可以简单的启用压缩,也可以特别指定以什么方式进行压缩,可选的方式有gzip,lzjb,gzip-[1-9]。
# zfs set compression=on tank/home # zfs set compression=off tank/home/reserva # zfs get -r compression tank/home NAME PROPERTY VALUE SOURCE tank/home compression on local tank/home/reserva compression off local
ZFS提供snapshot功能,理论上你最多可以给你的系统做2^64次方个快照,并能通过这些快照对文件系统进行恢复。在这里我们创建一些测试文件,创建快照之后再他们,然后再恢复这些文件。
# mkdir /tank/home/reserva/test /tank/home/reserva/tt # dd if=/dev/zero of=/tank/home/reserva/aaaa bs=1024 count=100000 # zfs snapshot tank/home/reserva@20071119 # zfs list -t snapshot NAME USED AVAIL REFER MOUNTPOINT tank/home/reserva@20071119 0 - 97.7M - # rm -fr /tank/home/reserva/* # zfs rollback tank/home/reserva@20071119
从创建的snapshot中clone一份出来
# zfs clone tank/home/reserva@20071119 tank/clone # zfs list NAME USED AVAIL REFER MOUNTPOINT tank 5.00G 129G 30.6K /tank tank/clone 0 129G 97.7M /tank/clone tank/home 5.00G 5.00G 28.0K /tank/home tank/home/reserva 97.7M 9.90G 97.7M /tank/home/reserva tank/home/reserva@20071119 0 - 97.7M -