您的位置:首页 > 房产 > 建筑 > 软件开发工具包英文缩写_app定制开发软件商城分身_购买友情链接_嘉定区整站seo十大排名

软件开发工具包英文缩写_app定制开发软件商城分身_购买友情链接_嘉定区整站seo十大排名

2025/4/3 11:06:17 来源:https://blog.csdn.net/qq_37871657/article/details/143435677  浏览:    关键词:软件开发工具包英文缩写_app定制开发软件商城分身_购买友情链接_嘉定区整站seo十大排名
软件开发工具包英文缩写_app定制开发软件商城分身_购买友情链接_嘉定区整站seo十大排名

存储池

创建基本存储池

创建一个名为mypool的新池,该池由磁盘sde组成。

zpool create -f mypool raidz sde

-f : 忽略磁盘分区标签。

raidz: 突袭级别,是RAID-5的变体。(???)

创建完成之后,查看挂载情况如下:

[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
···
mypool                   193G  128K  193G    1% /mypool

磁盘sde自动分区情况如下:

[root@localhost ~]# lsblk
···
sde               8:64   0  200G  0 disk 
├─sde1            8:65   0  200G  0 part 
└─sde9            8:73   0    8M  0 part

创建镜像存储池

zpool cerate -f mypool mirror sdb sdc mirror sdd sde

存储池添加磁盘

zpool add {zfspoolname} {device} -f

查看存储池状态

zpool status
zpool status -v
zpool status mypool

查看存储池的I/O统计信息

zpool iostat -v mypool

删除ZFS存储池

zpool destroy mypool

管理文件系统

创建ZFS文件系统

存储池建好之后,还需要在存储池中创建ZFS文件系统(也就是数据集dataset)。

例:在mypool/home文件系统中创建一个名为zhangsan的文件系统。

zfs create mypool/home/zhangsan

注意建的文件系统需要逐层目录建立,否则会报错"parent does not exist":

[root@localhost ~]# zfs create mypool/home/zhangsan
cannot create 'mypool/home/zhangsan': parent does not exist
[root@localhost ~]# zfs create mypool/home
[root@localhost ~]# ll /mypool
总用量 1
drwxr-xr-x. 2 root root 2 12月 26 14:22 home
[root@localhost ~]# ll /mypool/home
总用量 0
[root@localhost ~]# zfs create mypool/home/zhangsan
[root@localhost ~]# ll /mypool/home
总用量 1
drwxr-xr-x. 2 root root 2 12月 26 14:22 zhangsan
[root@localhost ~]# ll /mypool/home/zhangsan/
总用量 0
[root@localhost ~]# 

建好文件系统之后,zfs会自动挂载该文件系统。

[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
···
mypool                   193G  128K  193G    1% /mypool
mypool/home              193G  128K  193G    1% /mypool/home
mypool/home/zhangsan     193G  128K  193G    1% /mypool/home/zhangsan
[root@localhost ~]#

挂载点也可以通过命令行参数指定。

例:在mypool/home文件系统中创建一个名为lisi的文件系统,并挂在到/data/lisi

zfs create -o mountpoint=/data/list mypool/home/lisi

lisi的挂载情况:

[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
···
mypool                   193G  128K  193G    1% /mypool
mypool/home              193G  128K  193G    1% /mypool/home
mypool/home/zhangsan     193G  128K  193G    1% /mypool/home/zhangsan
mypool/home/lisi         193G  128K  193G    1% /data/list

查看ZFS文件系统

[root@localhost ~]# zfs list
NAME                   USED  AVAIL     REFER  MOUNTPOINT
mypool                 252K   193G     25.5K  /mypool
mypool/home           73.5K   193G     25.5K  /mypool/home
mypool/home/lisi        24K   193G       24K  /data/list
mypool/home/zhangsan    24K   193G       24K  /mypool/home/zhangsan

重命名ZFS文件系统

重命名后的新位置必须要在同一个池中。

例:将mypool/home/lisi文件系统重命名为mypool/home/lisisi

zfs rename mypool/home/lisi mypool/home/lisisi

例:将将mypool/home/lisi文件系统重命名为mypool/otherhome/lisisi

zfs rename mypool/home/lisi mypool/otherhome/lisisi

销毁ZFS文件系统

例:销毁创建出来的lisi文件系统。

销毁之后,lisi的挂载点也会自动删除。

zfs destroy mypool/home/lisi

如果lisi文件系统正在使用,也可以强制删除:

zfs destroy -f mypool/home/lisi

如果lisi文件系统中有子目录,需要递归删除:

zfs destroy -r mypool/home/lisi

如果lisi文件系统具有间接依赖项,需要使用-R选项:

zfs destroy -R mypool/home/lisi

创建ZFS文件系统快照

快照名称需要满足ZFS组件命名要求:

  • 每个组件只能包含字母、数字以及"_"、“-”、“:”、“.”。
  • 池名称必须以字母开头,但有几点限制:
    不能起名为log,log是保留名称。
    不允许以mirror、raidz、raidz1、raidz2、raidz3或spare开头,这些名称也是保留名称。
    数据集名称不得包含百分比符号(%)。
    数据集名称必须以字母、数字字符开头。
    数据集名称不得包含百分比符号(%)。

例:给mypool/home/zhangsan文件系统创建快照,名称为zhangsan_snap。
zfs snapshot mypool/home/zhangsan@zhangsan_snap

如果zhangsan有子目录,添加-r参数
zfs snapshot -r mypool/home/zhangsan@zhangsan_snap

查看ZFS文件系统快照

查看上方创建的快照信息:

zfs list -t snapshot -r mypool/home

输出信息如下:

[root@localhost ~]# zfs list -t snapshot -r mypool/home
NAME                                 USED  AVAIL     REFER  MOUNTPOINT
mypool/home/zhangsan@zhangsan_snap     0B      -       24K  -
[root@localhost ~]# zfs list -t snapshot -r mypool/home/zhangsan
NAME                                 USED  AVAIL     REFER  MOUNTPOINT
mypool/home/zhangsan@zhangsan_snap     0B      -       24K  -

销毁ZFS文件系统快照

例:销毁快照mypool/home/zhangsan@zhangsan_snap。

zfs destroy mypool/home/zhangsan@zhangsan_snap

在没有删除快照的情况下,删除数据集,会报错cannot destroy ‘mypool/home/zhangsan’: filesystem has children:

从报错看出打出来的快照也是一个数据集。

[root@localhost ~]# zfs destroy mypool/home/zhangsan
cannot destroy 'mypool/home/zhangsan': filesystem has children
use '-r' to destroy the following datasets:
mypool/home/zhangsan@zhangsan_snap

重命名ZFS快照

例:将快照mypool/home/zhangsan@zhangsan_snap重命名为mypool/home/zhangsan@zhangsan_snap1

zfs rename mypool/home/zhangsan@zhangsan_snap mypool/home/zhangsan@zhangsan_snap1

比对ZFS快照差异

给zhangsan文件系统中写入一个文件,重新打快照

[root@localhost ~]# date > /mypool/home/zhangsan/date.txt
[root@localhost ~]# zfs snapshot mypool/home/zhangsan@zhangsan_snap2
[root@localhost ~]# zfs list -t snapshot -r mypool/home
NAME                                  USED  AVAIL     REFER  MOUNTPOINT
mypool/home/zhangsan@zhangsan_snap1    22K      -       24K  -
mypool/home/zhangsan@zhangsan_snap2     0B      -       26K  -
[root@localhost ~]#

比对两次快照的差异:

[root@localhost ~]# zfs diff mypool/home/zhangsan@zhangsan_snap1 mypool/home/zhangsan@zhangsan_snap2
+       /mypool/home/zhangsan/date.txt
+       /mypool/home/zhangsan/date.txt/<xattrdir>
+       /mypool/home/zhangsan/date.txt/<xattrdir>/security.selinux
M       /mypool/home/zhangsan/

回滚ZFS快照

将zhangsan的文件内容回滚到快照mypool/home/zhangsan@zhangsan_snap1状态,这个快照状态下zhangsan目录下没有文件。

观察下方输出,发现创建的文件date.txt确实不见了。

[root@localhost ~]# ll /mypool/home/zhangsan/ -a
总用量 2
drwxr-xr-x. 2 root root  3 12月 26 15:02 .
drwxr-xr-x. 3 root root  3 12月 26 14:22 ..
-rw-r--r--. 1 root root 43 12月 26 15:02 date.txt
[root@localhost ~]# zfs rollback mypool/home/zhangsan@zhangsan_snap1
cannot rollback to 'mypool/home/zhangsan@zhangsan_snap1': more recent snapshots or bookmarks exist
use '-r' to force deletion of the following snapshots and bookmarks:
mypool/home/zhangsan@zhangsan_snap2
[root@localhost ~]# zfs rollback -r mypool/home/zhangsan@zhangsan_snap1
[root@localhost ~]# ll /mypool/home/zhangsan -a
总用量 1
drwxr-xr-x. 2 root root 2 12月 26 14:22 .
drwxr-xr-x. 3 root root 3 12月 26 14:22 ..
[root@localhost ~]#

回滚到snap1之后,在snap1之后创建的快照会被销毁。

[root@localhost ~]# zfs list -t snapshot -r mypool/home
NAME                                  USED  AVAIL     REFER  MOUNTPOINT
mypool/home/zhangsan@zhangsan_snap1    13K      -       24K  -
[root@localhost ~]#

创建ZFS克隆

克隆是基于快照进行克隆。

例:基于快照mypool/home/zhangsan@zhangsan_snap2创建克隆 mypool/home/zhangsan_clone

zfs clone mypool/home/zhangsan@zhangsan_snap2 mypool/home/zhangsan_clone

创建克隆之后,检查克隆出的数据集:

[root@localhost ~]# zfs clone mypool/home/zhangsan@zhangsan_snap2 mypool/home/zhangsan_clone
[root@localhost ~]# zfs list
NAME                         USED  AVAIL     REFER  MOUNTPOINT
mypool                       356K   193G     25.5K  /mypool
mypool/home                 97.5K   193G     25.5K  /mypool/home
mypool/home/lisi              24K   193G       24K  /data/list
mypool/home/zhangsan          48K   193G       26K  /mypool/home/zhangsan
mypool/home/zhangsan_clone     0B   193G       26K  /mypool/home/zhangsan_clone
[root@localhost ~]# ll /mypool/home/zhangsan_clone
总用量 1
-rw-r--r--. 1 root root 43 12月 26 15:20 date.txt
[root@localhost ~]# ll /mypool/home/
总用量 1
drwxr-xr-x. 2 root root 3 12月 26 15:20 zhangsan
drwxr-xr-x. 2 root root 3 12月 26 15:20 zhangsan_clone
[root@localhost ~]#

销毁ZFS克隆

zfs destroy mypool/home/zhangsan_clone

参考资料

  • 使用 zpool 命令示例在 Linux 上设置 ZFS 文件系统-云社区-华为云
  • 创建、销毁和重命名 ZFS 文件系统 - Oracle Solaris 管理:ZFS 文件系统
  • ZFS 快照概述 - Oracle Solaris 管理:ZFS 文件系统
  • ZFS 克隆概述 - Oracle Solaris 管理:ZFS 文件系统
  • 深入理解zfs文件系统.pdf

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com