zfs命令

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值