ZFS used as block device - ZVOL

前面两篇BLOG介绍了ZFS的性能提升原理和测试, ZFS的快照回滚和克隆方法.
本文将介绍一下ZFS的另一个强大之处, 将ZFS文件系统的功能剥离, 直接当块设备使用, 同时还兼具了快照, 克隆等功能.
块设备可以给OS层使用, 创建文件系统.
创建ZFS块设备ZVOL, 使用zfs命令的-V选项, 指定块设备大小.
例如, 创建1G的一个块设备, 在zptest池中, 命名为disk1 :
[root@db-172-16-3-150 ~]# zfs create -V 1G zptest/disk1
/dev/zptest/disk1 may not be immediately available
[root@db-172-16-3-150 ~]# zpool status
  pool: zptest
 state: ONLINE
  scan: none requested
config:

        NAME                            STATE     READ WRITE CKSUM
        zptest                          ONLINE       0     0     0
          /ssd1/zfs.disk1               ONLINE       0     0     0
          /ssd1/zfs.disk2               ONLINE       0     0     0
          /ssd1/zfs.disk3               ONLINE       0     0     0
          /ssd1/zfs.disk4               ONLINE       0     0     0
          /ssd1/zfs.disk5               ONLINE       0     0     0
        logs
          mirror-4                      ONLINE       0     0     0
            /ssd4/zfs.log1              ONLINE       0     0     0
            /ssd4/zfs.log2              ONLINE       0     0     0
        cache
          wwn-0x5e83a97e827c316e-part1  ONLINE       0     0     0

errors: No known data errors
[root@db-172-16-3-150 ~]# zfs list 
NAME                 USED  AVAIL  REFER  MOUNTPOINT
zptest              11.6G  27.5G    32K  /zptest
zptest/disk1        1.03G  28.5G    16K  -
zptest/pg93         9.89G  27.5G  3.63G  /zptest/pg93
zptest/pg93_clone1   662M  27.5G  3.62G  /zptest/pg93_clone1

可以对ZVOL分区, 也可以不分区直接使用.
[root@db-172-16-3-150 ~]# fdisk -l /dev/zd0
Disk /dev/zd0: 1073 MB, 1073741824 bytes
16 heads, 63 sectors/track, 2080 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 8192 bytes
I/O size (minimum/optimal): 8192 bytes / 8192 bytes
Disk identifier: 0x00000000

在ZVOL上创建文件系统, 加载, 并且对文件系统进行操作, 快照.
[root@db-172-16-3-150 ~]# mkfs.ext4 /dev/zd0

[root@db-172-16-3-150 ~]# mount /dev/zd0 /mnt
[root@db-172-16-3-150 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdc1              29G  9.3G   19G  34% /
tmpfs                  48G     0   48G   0% /dev/shm
/dev/sdc3              98G   30G   63G  33% /opt
/dev/sdd1             183G   53G  122G  30% /ssd1
/dev/sdb1             221G   39G  171G  19% /ssd4
zptest                 28G     0   28G   0% /zptest
zptest/pg93            32G  3.7G   28G  12% /zptest/pg93
zptest/pg93_clone1     32G  3.7G   28G  12% /zptest/pg93_clone1
/dev/zd0             1008M   34M  924M   4% /mnt

[root@db-172-16-3-150 ~]# cd /mnt
[root@db-172-16-3-150 mnt]# ll
total 16
drwx------ 2 root root 16384 May 18 15:42 lost+found
[root@db-172-16-3-150 mnt]# touch a
[root@db-172-16-3-150 mnt]# zfs snapshot zptest/disk1@`date +%F%T`
[root@db-172-16-3-150 mnt]# touch b
[root@db-172-16-3-150 mnt]# zfs snapshot zptest/disk1@`date +%F%T`
[root@db-172-16-3-150 mnt]# touch c
[root@db-172-16-3-150 mnt]# zfs snapshot zptest/disk1@`date +%F%T`
[root@db-172-16-3-150 mnt]# touch d
[root@db-172-16-3-150 mnt]# zfs snapshot zptest/disk1@`date +%F%T`

快照的回滚测试 : 
[root@db-172-16-3-150 mnt]# cd
[root@db-172-16-3-150 ~]# umount /mnt

[root@db-172-16-3-150 ~]# zfs list -t snapshot
NAME                                    USED  AVAIL  REFER  MOUNTPOINT
zptest/disk1@2014-05-1815:43:51            0      -  48.6M  -
zptest/disk1@2014-05-1815:43:54            0      -  48.6M  -
zptest/disk1@2014-05-1815:43:56            0      -  48.6M  -
zptest/disk1@2014-05-1815:44:00          33K      -  48.6M  -
zptest/pg93@2014-05-1721:54:55          143M      -   185M  -
zptest/pg93@2014-05-1723:17:23         99.0M      -  3.65G  -
zptest/pg93@2014-05-1723:18:11         5.10M      -  3.65G  -
zptest/pg93@2014-05-1723:35:32         2.49G      -  3.65G  -
zptest/pg93_clone1@2014-05-1800:31:03    21K      -  3.62G  -

[root@db-172-16-3-150 ~]# zfs rollback -r zptest/disk1@2014-05-1815:43:54
/dev/zptest/disk1 may not be immediately available
[root@db-172-16-3-150 ~]# mount /dev/zd0 /mnt
[root@db-172-16-3-150 ~]# cd /mnt
[root@db-172-16-3-150 mnt]# ll
total 16
-rw-r--r-- 1 root root     0 May 18 15:43 a
drwx------ 2 root root 16384 May 18 15:42 lost+found


[参考]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值