diandianrong 发表于 2007-06-20 15:39

zfs zpool的创建和删除(实验)

1.Create zpool
bash-3.00# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
       0. c0d0
          /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0
       1. c2t0d0
          /pci@0,0/pci1000,30@10/sd@0,0
       2. c2t1d0
          /pci@0,0/pci1000,30@10/sd@1,0
       3. c2t2d0
          /pci@0,0/pci1000,30@10/sd@2,0
       4. c2t3d0
          /pci@0,0/pci1000,30@10/sd@3,0
Specify disk (enter its number):
disk c2t0d0 c2t1d0 and c2t2d0 都只分两个区,s0 s1而且大小各为1G
Part      Tag    Flag   Cylinders      Size            Blocks
0 unassigned    wm       1 -512   1024.00MB    (512/0/0)2097152
1 unassigned    wm   513 - 1019   1014.00MB    (507/0/0)2076672
2   backup    wu       0 - 1019      1.99GB    (1020/0/0) 4177920

bash-3.00# zpool create pool1 /dev/dsk/c2t0d0s2
无效的 vdev 说明
使用 '-f' 覆盖以下错误:
/dev/dsk/c2t0d0s2 overlaps with /dev/dsk/c2t0d0s0
bash-3.00# zpool create -f pool1 /dev/dsk/c2t0d0s2
bash-3.00# zpool list
NAME                  SIZE    USED   AVAIL    CAPHEALTH   ALTROOT
pool1                  1.98G   51.5K   1.98G   0%联机       -
bash-3.00# zpool status
池:pool1
状态:ONLINE
清理:未请求
配置:
      NAME      STATE   READ WRITE CKSUM
      pool1       联机         0   0   0
          c2t0d0s2联机         0   0   0
错误:无已知的数据错误
bash-3.00# zpool add pool1 /dev/dsk/c2t1d0s1
bash-3.00# zpool list
NAME                  SIZE    USED   AVAIL    CAPHEALTH   ALTROOT
pool1                  2.97G    184K   2.97G   0%联机       -
bash-3.00# zpool status
池:pool1
状态:ONLINE
清理:未请求
配置:
      NAME      STATE   READ WRITE CKSUM
      pool1       联机         0   0   0
          c2t0d0s2联机         0   0   0
          c2t1d0s1联机         0   0   0
错误:无已知的数据错误
bash-3.00# zfs list
NAME                   USEDAVAILREFERMOUNTPOINT
pool1                   80K3.90G24.5K/pool1
bash-3.00# zpool list
NAME                  SIZE    USED   AVAIL    CAPHEALTH   ALTROOT
pool1                  3.96G    298K   3.96G   0%联机       -
bash-3.00# zpool status
池:pool1
状态:ONLINE
清理:未请求
配置:
      NAME      STATE   READ WRITE CKSUM
      pool1       联机         0   0   0
          c2t0d0s2联机         0   0   0
          c2t1d0s1联机         0   0   0
          c2t1d0s0联机         0   0   0
错误:无已知的数据错误
bash-3.00# zpool create -f pool2 /dev/dsk/c2t2d0s2
bash-3.00# zpool status
池:pool1
状态:ONLINE
清理:未请求
配置:
      NAME      STATE   READ WRITE CKSUM
      pool1       联机         0   0   0
          c2t0d0s2联机         0   0   0
          c2t1d0s1联机         0   0   0
          c2t1d0s0联机         0   0   0
错误:无已知的数据错误
池:pool2
状态:ONLINE
清理:未请求
配置:
      NAME      STATE   READ WRITE CKSUM
      pool2       联机         0   0   0
          c2t2d0s2联机         0   0   0
错误:无已知的数据错误
bash-3.00# zpool list
NAME                  SIZE    USED   AVAIL    CAPHEALTH   ALTROOT
pool1                  3.96G    298K   3.96G   0%联机       -
pool2                  1.98G   51.5K   1.98G   0%联机       -

2.Create zfs

bash-3.00# zfs create pool1/zfs1
bash-3.00# zfs create pool1/zfs2
bash-3.00# zfs create pool1/zfs3
bash-3.00# zfs create pool1/zfs3/zfs33
bash-3.00# df -thk -F zfs
文件系统               大小   用了   可用 容量      挂接在
pool1                  3.9G    28K   3.9G   1%    /pool1
pool2                  2.0G    24K   2.0G   1%    /pool2
pool1/zfs1             3.9G    24K   3.9G   1%    /pool1/zfs1
pool1/zfs2             3.9G    24K   3.9G   1%    /pool1/zfs2
pool1/zfs3             3.9G    25K   3.9G   1%    /pool1/zfs3
pool1/zfs3/zfs33       3.9G    24K   3.9G   1%    /pool1/zfs3/zfs33
bash-3.00# zfs list
NAME                   USEDAVAILREFERMOUNTPOINT
pool1                  204K3.90G28.5K/pool1
pool1/zfs1            24.5K3.90G24.5K/pool1/zfs1
pool1/zfs2            24.5K3.90G24.5K/pool1/zfs2
pool1/zfs3            50K3.90G25.5K/pool1/zfs3
pool1/zfs3/zfs33      24.5K3.90G24.5K/pool1/zfs3/zfs33
pool2               74.5K1.95G24.5K/pool2

3.ZFS set

bash-3.00# zfs list
NAME                   USEDAVAILREFERMOUNTPOINT
pool1                  174K3.90G28.5K/pool1
pool1/zfs1            24.5K3.90G24.5K/pool1/zfs1
pool1/zfs2            24.5K3.90G24.5K/pool1/zfs2
pool1/zfs3            24.5K3.90G24.5K/pool1/zfs3
pool2               74.5K   984M24.5K/pool2
bash-3.00# zfs set quota=999m pool2 (999>984)
bash-3.00# zfs list
NAME                   USEDAVAILREFERMOUNTPOINT
pool1                  174K3.90G28.5K/pool1
pool1/zfs1            24.5K3.90G24.5K/pool1/zfs1
pool1/zfs2            24.5K3.90G24.5K/pool1/zfs2
pool1/zfs3            24.5K3.90G24.5K/pool1/zfs3
pool2               74.5K   984M24.5K/pool2(AVAIL不变,如果quota设置大于pool2本身的值,系统不给出任何提示)
bash-3.00# zfs set quota=99m pool2
bash-3.00# zfs list
NAME                   USEDAVAILREFERMOUNTPOINT
pool1                  174K3.90G28.5K/pool1
pool1/zfs1            24.5K3.90G24.5K/pool1/zfs1
pool1/zfs2            24.5K3.90G24.5K/pool1/zfs2
pool1/zfs3            24.5K3.90G24.5K/pool1/zfs3
pool2               74.5K98.9M24.5K/pool2
bash-3.00# zfs set quota=none pool2(取消限额)
bash-3.00# zfs list
NAME                   USEDAVAILREFERMOUNTPOINT
pool1                  174K3.90G28.5K/pool1
pool1/zfs1            24.5K3.90G24.5K/pool1/zfs1
pool1/zfs2            24.5K3.90G24.5K/pool1/zfs2
pool1/zfs3            24.5K3.90G24.5K/pool1/zfs3
pool2               74.5K   984M24.5K/pool2

bash-3.00# zfs set quota=1g pool1/zfs1
bash-3.00# zfs list
NAME                   USEDAVAILREFERMOUNTPOINT
pool1                  174K3.90G28.5K/pool1
pool1/zfs1            24.5K1024M24.5K/pool1/zfs1
pool1/zfs2            24.5K3.90G24.5K/pool1/zfs2
pool1/zfs3            24.5K3.90G24.5K/pool1/zfs3
pool2               74.5K   984M24.5K/pool2
bash-3.00# zfs set reservation=0.5g pool1/zfs2
bash-3.00# zfs list
NAME                   USEDAVAILREFERMOUNTPOINT
pool1                  512M3.40G28.5K/pool1
pool1/zfs1            24.5K1024M24.5K/pool1/zfs1
pool1/zfs2            24.5K3.90G24.5K/pool1/zfs2
pool1/zfs3            24.5K3.40G24.5K/pool1/zfs3
pool2               74.5K   984M24.5K/pool2
bash-3.00# zfs set compression=on pool1/zfs3
bash-3.00# zfs list
NAME                   USEDAVAILREFERMOUNTPOINT
pool1                  512M3.40G28.5K/pool1
pool1/zfs1            24.5K1024M24.5K/pool1/zfs1
pool1/zfs2            24.5K3.90G24.5K/pool1/zfs2
pool1/zfs3            24.5K3.40G24.5K/pool1/zfs3
pool2               74.5K   984M24.5K/pool2

4.ZFS rename
bash-3.00# zfs rename pool1/zfs1 pool1/zfs11
bash-3.00# zfs list
NAME                   USEDAVAILREFERMOUNTPOINT
pool1                  200M3.70G28.5K/pool1
pool1/zfs11         24.5K   512M24.5K/pool1/zfs11
pool1/zfs2            24.5K3.90G24.5K/pool1/zfs2
pool1/zfs3            50K3.70G25.5K/pool1/zfs3
pool1/zfs3/zfs33      24.5K3.70G24.5K/pool1/zfs3/zfs33
pool2               74.5K1.95G24.5K/pool2

5.zfs destroy
1)-f 参数
bash-3.00# cd /
bash-3.00# cd pool1/zfs2
bash-3.00# pwd
/pool1/zfs2
bash-3.00# zfs destroy pool1/zfs2
cannot unmount '/pool1/zfs2': 设备忙
bash-3.00# zfs destroy -f pool1/zfs2
bash-3.00# zfs list
NAME                   USEDAVAILREFERMOUNTPOINT
pool1                  174K3.90G27.5K/pool1
pool1/zfs11         24.5K   512M24.5K/pool1/zfs11
pool1/zfs3            50K3.90G25.5K/pool1/zfs3
pool1/zfs3/zfs33      24.5K3.90G24.5K/pool1/zfs3/zfs33
pool2               74.5K1.95G24.5K/pool2
或者用bash-3.00# df -hk -F zfs |grep zfs2 (返回为空,证明已经删除)
2)-r参数
bash-3.00# zfs destroy pool1/zfs3
无法销毁 'pool1/zfs3':filesystem 具有子项
使用 '-r' 销毁以下数据集:
pool1/zfs3/zfs33
bash-3.00# zfs destroy -rpool1/zfs3
bash-3.00# zfs list
NAME                   USEDAVAILREFERMOUNTPOINT
pool1                  113K3.90G27.5K/pool1
pool1/zfs11         24.5K   512M24.5K/pool1/zfs11
pool2               74.5K1.95G24.5K/pool2

如果数据集存在快照,则不能销毁该数据集.如
# zfs destroy pool1/zfs1
无法销毁 'pool1/zfs1':filesystem 具有子项
使用 '-r' 销毁以下数据集:
pool1/zfs1@firstp?id=187500
可按提示用-r来销毁
3)-R参数 (还没明白,以后再补上)

6.Zpool destroy
bash-3.00# zpool destroy pool2
bash-3.00# zpool list
NAME                  SIZE    USED   AVAIL    CAPHEALTH   ALTROOT
pool1                  3.96G    115K   3.96G   0%联机       -
bash-3.00# zpool status
池:pool1
状态:ONLINE
清理:未请求
配置:
      NAME      STATE   READ WRITE CKSUM
      pool1       联机         0   0   0
          c2t0d0s2联机         0   0   0
          c2t1d0s1联机         0   0   0
          c2t1d0s0联机         0   0   0
错误:无已知的数据错误
bash-3.00# zpool destroy pool1
bash-3.00# zpool status
没有可用的池
bash-3.00# zpool list
没有可用的池
PS.第三步有关于zfs set 中的数据和其它的几个步骤中的数据有点出入,是因为是两次实验取的数据,但不影响。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/26090/showart_325086.html
页: [1]
查看完整版本: zfs zpool的创建和删除(实验)