zpool create 池的名字 硬盘号
zpool create -n 测试
zpool create -m 指定挂载点
zpool list 看有什么池
zpool status 看池里面有什么硬盘 和运行状态 或者加 -x 查看坏的池
zpool destory [-f 强行] 池名 删除池
----------------------------------------------------高---级---------------------------------------------------------
zpool create 池的名字 mirror 硬盘号 创建镜像卷
zpool create 池的名字 mirror 硬盘号 mirror 硬盘号 创建双向存储池
zpool create 池的名字 raidz[raid2 允许坏几个硬盘] 创建RAIDZ分区
zpool add tank spare 硬盘号 添加热备硬盘
zpool add [mirror raidz] 池 硬盘号 向池里面添加硬盘
zpool detach zeepool c2t1d0 分离设备
zpool attach zfspool c1t1d0 c2t1d0 添加设备到镜像卷
zpool replace tank c1t1d0 c1t2d0 替换设备
-----------------------------------------------------------------------------------------------------------------------
zfs create tank/home 创建分层结构
zfs set mountpoint=/export/home tank/home 更改挂载目录
zfs set sharenfs =on tank/home
zfs set compression=on tank/home
zfs get compression tank /home
zfs set quota=10g tank/home 磁盘配额
zfs list 查看挂载情况
zfs destory[-f 强行] 销毁
------------------------------------------------------------------------------------------------------------------------------------
理论快照数是 264
zfs snapshot[-r 递归]data/home/tom@snapshot01 创建快照 叫做snapshot01
zfs rename data/home/tom@snapshot01 data/home/tom@snapshot02 重命名快照
ls /home/tom/.zfs/snapshot 访问快照
zfs list -t snapshot 查看快照
zfs destroy data/home/tom@snapshot01 销毁快照
zfs rollback [-r强制回滚]data/home/tom@snapshot02 回滚快照
zfs send tank/dana@snap1 | zfs recv spool/ds01
可以将 zfs recv 用作 zfs receive 命令的别名。
如果要将快照流发送到不同的系统,请通过 ssh 命令传输 zfs send 输出。例如:
sys1# zfs send tank/dana@snap1 | ssh sys2 zfs recv newtank/dana
发送完整的流时,目标文件系统必须不能存在。
使用 zfs send -i 选项可以发送增量数据。例如:
sys1# zfs send -i tank/dana@snap1 tank/dana@snap2 | ssh sys2 zfs recv newtank/dana
请注意,第一个参数 (snap1) 是较早的快照,第二个参数 (snap2) 是较晚的快照。这种情况下,newtank/dana 文件系统必须已经存在,增量接收才能成功。
可将增量 snap1 源指定为快照名称的最后一个组成部分。此快捷方式意味着只需在 @ 符号后指定 snap1 的名称,假定它与 snap2 都来自同一文件系统。例如:
sys1# zfs send -i snap1 tank/dana@snap2 | ssh sys2 zfs recv newtank/dana
这一快捷方式语法等效于上例中的增量语法。
尝试从其他文件系统 snapshot1 生成增量流时,将显示以下消息:
cannot send 'pool/fs@name': not an earlier snapshot from the same fs
如果需要存储许多副本,可以考虑使用 gzip 命令压缩 ZFS 快照流表示。例如:
# zfs send pool/fs@snap | gzip > backupfile.gz
接收 ZFS 快照
-
将接收快照和文件系统。
-
将取消挂载文件系统和所有后代文件系统。
-
文件系统在接收期间不可访问。
-
要接收的原始文件系统在传输期间必须不存在。
-
如果文件系统名称已经存在,可以使用 zfs rename 命令重命名文件系统。
例如:
# zfs send tank/gozer@0830 > /bkups/gozer.083006 # zfs receive tank/gozer2@today < /bkups/gozer.083006 # zfs rename tank/gozer tank/gozer.old # zfs rename tank/gozer2 tank/gozer
如果对目标文件系统进行更改并且要再次以增量方式发送快照,则必须先回滚接收文件系统。
请参考以下示例。首先更改文件系统,如下所示:
sys2# rm newtank/dana/file.1
然后以增量方式发送 tank/dana@snap3。但是,要接收新的增量快照,首先必须回滚接收文件系统。或者,使用 -F 选项可以取消回滚步骤。例如:
sys1# zfs send -i tank/dana@snap2 tank/dana@snap3 | ssh sys2 zfs recv -F newtank/dana
接收增量快照时,目标文件系统必须已存在。
如果对文件系统进行更改,但不回滚接收文件系统以接收新的增量快照,或者不使用 -F 选项,则会看到类似以下的消息:
sys1# zfs send -i tank/dana@snap4 tank/dana@snap5 | ssh sys2 zfs recv newtank/dana cannot receive: destination has been modified since most recent snapshot
在 -F 选项成功之前,会执行以下检查:
-
如果最新快照与增量源不匹配,则回滚和接收都无法完成,并且会返回一条错误消息。
-
如果意外地提供了与 zfs receive 命令所指定的增量源不匹配的其他文件系统名称,则回滚和接收都无法完成,并且会返回以下错误消息。
cannot send 'pool/fs@name': not an earlier snapshot from the same fs
#################################################################
1 创建新的文件系统
zfs create test1/zhl
2 写入数据
cd /test1/zhl/
touch aaa
3 创建快照
zfs snapshot test1/zhl@001
4 导入数据
zfs send test1/zhl@001 |zfs receive zones/zhl