ZFS 是重新思考与储存相关技术的结果,它把传统的文件系统和卷管理器集成到一个工具当中. ZFS不但有把它和传统存储系统分开来的特有术语,也有很多聚焦于可用性的功能。

ZFS概念

虚拟设备(Virtual Devices,VDEV)

对于操作系统来说,VDEV和传统的RAID阵列卡所呈现的raid设备类似。VDEV有几种不同的类型,每种类型 都有自己的优势,包括冗余和速度。一般来说,VDEV的可靠性和安全性比阵列卡要好。因此使用ZFS时不 建议使用阵列卡。让ZFS直接管理磁盘。

VDEV的类型

数据会以条带方式存储于存储池中的所有VDEV上。因此一个存储池中的VDEV越多,IOPS就越高。

storage pool (存储池)

ZFS 使用存储池来作为底层存储提供者(VDEV)的抽象。这样可以把用户可见的文件系统和底层的物理磁盘 布局分离开来。

ZFS 数据集(Dataset)

ZFS 数据集类似于传统的文件系统(译者注:或者说是目录),但是提供了更多的功能。ZFS的很多优势也是 在这一层体现出来的。数据集支持 Copy on Write 快照, 配额, 压缩和重复消除(de-duplication).

限制

一个目录最多可包含 2^48个文件, 每个文件最大可以是16 exabytes. 一个存储池最大可包含256 zettabytes 、 (2^78) 的空间, 可以条带化地分布于2^64 设备上. 单一主机最多可以创建2^64个存储池。这些限制可以说是相 当大。

命令

存储池

Actions: (存储池操作)

List zpools (列举存储池(也叫zpool))

Status of zpools (存储池状态)

Properties of zpools (存储池属性)

Remove zpool (删除存储池)

Datasets (数据集)

Actions: (数据集相关操作)

Create datasets

List datasets (列举数据集)

Rename datasets (重命名数据集)

Delete dataset (删除数据集)

Get / set properties of a dataset (获取/设置数据集属性)

Snapshots (快照)

快照是ZFS 的一个非常重要的功能

Actions: (快照相关操作)

Create snapshots (创建快照)

Renaming Snapshots (重命名)

Accessing snapshots (访问快照)

Sending and Receiving

Cloneing Snapshots (克隆快照)

汇总

下面这个脚本使用了FreeBSD, jails和ZFS,来自动在一个mysql群集的热备主机上为一个mysq staging数据库 创建一份纯净的拷贝。

延伸阅读