找回密码
 骑士注册

QQ登录

微博登录

搜索
❏ 站外平台:

Linux中国开源社区 技术 查看内容

在Linux上使用ZFS

2011-03-29 23:00    评论: 6 收藏: 1 分享: 1    

在 Linux 上使用 ZFS

现在您已经了解了 ZFS 背后的一些抽象概念,让我们在实践中看看其中的一些概念。本演示使用了 ZFS-FUSE。FUSE 是一种机制,允许您在没有内核代码(除 FUSE 内核模块和现有的文件系统代码以外)情况下在用户空间中实现文件系统。该模块为用户和文件系统实现提供从内核文件系统接口到用户空间的桥梁。首先,安装 ZFS-FUSE 包(下面的演示针对 Ubuntu)。

安装 ZFS-FUSE

安装 ZFS-FUSE 很简单,尤其是在使用 apt 的 Ubuntu 上。下面的命令行安装了您开始使用 ZFS-FUSE 所需的一切:

$ sudo apt-get install zfs-fuse
此命令行安装 ZFS-FUSE 和所有其他依赖包( 我的也需要 libaiol),为新的程序包执行必要的设置并启动 zfs-fuse 守护进程。

使用 ZFS-FUSE

在此演示中,您使用环回设备以便在主机操作系统内将磁盘仿真为文件。要开始此操作,请通过 dd 实用程序(参见清单 1)创建这些文件(使用 /dev/zero 作为源)。在创建了四个磁盘映像之后,使用 losetup 将磁盘映像与环路设备关联在一起。

清单 1. 使用 ZFS-FUSE 的设置

  1. $ mkdir zfstest
  2. $ cd zfstest
  3. $ dd if=/dev/zero of=disk1.img bs=64M count=1
  4. 1+0 records in
  5. 1+0 records out
  6. 67108864 bytes (67 MB) copied, 1.235 s, 54.3 MB/s
  7. $ dd if=/dev/zero of=disk2.img bs=64M count=1
  8. 1+0 records in
  9. 1+0 records out
  10. 67108864 bytes (67 MB) copied, 0.531909 s, 126 MB/s
  11. $ dd if=/dev/zero of=disk3.img bs=64M count=1
  12. 1+0 records in
  13. 1+0 records out
  14. 67108864 bytes (67 MB) copied, 0.680588 s, 98.6 MB/s
  15. $ dd if=/dev/zero of=disk4.img bs=64M count=1
  16. 1+0 records in
  17. 1+0 records out
  18. 67108864 bytes (67 MB) copied, 0.429055 s, 156 MB/s
  19. $ ls
  20. disk1.img disk2.img disk3.img disk4.img
  21. $ sudo losetup /dev/loop0 ./disk1.img
  22. $ sudo losetup /dev/loop1 ./disk2.img
  23. $ sudo losetup /dev/loop2 ./disk3.img
  24. $ sudo losetup /dev/loop3 ./disk4.img
  25. $

有了四台设备作为您的 ZFS 块设备(总大小 256MB),使用 zpool 命令来创建您的池。您可以使用 zpool 命令来管理 ZFS 存储池,不过您将看到,您可以将其用于各种其他目的。下面的命令要求通过四个设备创建 ZFS 存储池并通过 RAID-Z 提供数据保护。在此命令后为一个列表请求,以便提供您池中的数据(参见清单 2)。

清单 2. 创建 ZFS 池

  1. $ sudo zpool create myzpool raidz /dev/loop0 /dev/loop1 /dev/loop2 /dev/loop3
  2. $ sudo zfs list
  3. NAME USED AVAIL REFER MOUNTPOINT
  4. myzpool 96.5K 146M 31.4K /myzpool
  5. $

您还可以研究池的一些属性,如清单 3 所示,其代表默认值。对于其他事项,您可以查看可用容量和已使用的部分。(为了简洁,此代码已经被压缩。)

清单 3. 查看存储池的属性

  1. $ sudo zfs get all myzpool
  2. NAME PROPERTY VALUE SOURCE
  3. myzpool type filesystem -
  4. myzpool creation Sat Nov 13 22:43 2010 -
  5. myzpool used 96.5K -
  6. myzpool available 146M -
  7. myzpool referenced 31.4K -
  8. myzpool compressratio 1.00x -
  9. myzpool mounted yes -
  10. myzpool quota none default
  11. myzpool reservation none default
  12. myzpool recordsize 128K default
  13. myzpool mountpoint /myzpool default
  14. myzpool sharenfs off default
  15. myzpool checksum on default
  16. myzpool compression off default
  17. myzpool atime on default
  18. myzpool copies 1 default
  19. myzpool version 4 -
  20. ...
  21. myzpool primarycache all default
  22. myzpool secondarycache all default
  23. myzpool usedbysnapshots 0 -
  24. myzpool usedbydataset 31.4K -
  25. myzpool usedbychildren 65.1K -
  26. myzpool usedbyrefreservation 0 -
  27. $
现在,让我们实际使用 ZFS 池。首先,在您的池中创建目录,然后在该目录中启用压缩(使用 zfs set 命令)。其次,将文件复制到其中。我已经选择了大小 120KB 左右的文件来查看 ZFS 压缩的效果。请注意您的池挂载在根目录上,因此就像您的根文件系统内的目录一样加以处理。一旦复制该文件,您就可以列出它来表示文件已存在(但与原来同样 大小)。通过使用 dh 命令,您可以看到文件大小为原来的一半,这说明 ZFS 已经将其压缩。您还可以查看 compressratio 属性,了解您的池有多少已经被压缩(使用默认压缩程序,gzip)。清单 4 显示了该压缩。


清单 4. 演示 ZFS 压缩

  1. $ sudo zfs create myzpool/myzdev
  2. $ sudo zfs list
  3. NAME USED AVAIL REFER MOUNTPOINT
  4. myzpool 139K 146M 31.4K /myzpool
  5. myzpool/myzdev 31.4K 146M 31.4K /myzpool/myzdev
  6. $ sudo zfs set compression=on myzpool/myzdev
  7. $ ls /myzpool/myzdev/
  8. $ sudo cp ../linux-2.6.34/Documentation/devices.txt /myzpool/myzdev/
  9. $ ls -la ../linux-2.6.34/Documentation/devices.txt
  10. -rw-r--r-- 1 mtj mtj 118144 2010-05-16 14:17 ../linux-2.6.34/Documentation/devices.txt
  11. $ ls -la /myzpool/myzdev/
  12. total 5
  13. drwxr-xr-x 2 root root 3 2010-11-20 22:59 .
  14. drwxr-xr-x 3 root root 3 2010-11-20 22:55 ..
  15. -rw-r--r-- 1 root root 118144 2010-11-20 22:59 devices.txt
  16. $ du -ah /myzpool/myzdev/
  17. 60K /myzpool/myzdev/devices.txt
  18. 62K /myzpool/myzdev/
  19. $ sudo zfs get compressratio myzpool
  20. NAME PROPERTY VALUE SOURCE
  21. myzpool compressratio 1.55x -
  22. $
最后,让我们看看 ZFS 的自修复功能。请回想在您创建池时,您要求四个设备具有 RAID-Z。通过使用 zpool status 命令您可以检查池的状态, 如清单 5 所示。如清单所示,您可以看到池的元素(RAID-Z 1 以及四个设备)。


清单 5. 检查池状态

  1. $ sudo zpool status myzpool
  2. pool: myzpool
  3. state: ONLINE
  4. scrub: none requested
  5. config:
  6. NAME STATE READ WRITE CKSUM
  7. myzpool ONLINE 0 0 0
  8. raidz1 ONLINE 0 0 0
  9. loop0 ONLINE 0 0 0
  10. loop1 ONLINE 0 0 0
  11. loop2 ONLINE 0 0 0
  12. loop3 ONLINE 0 0 0
  13. errors: No known data errors
  14. $
现在,让我们强制执行一个错误到池中。对于此演示来说,转到后台并损坏组成设备的磁盘文件(disk4.img,通过 loop3 设备显示在 ZFS 中)。使用 dd 命令将整个设备清零(参见清单 6)。


清单 6. 损坏 ZFS 池

  1. $ dd if=/dev/zero of=disk4.img bs=64M count=1
  2. 1+0 records in
  3. 1+0 records out
  4. 67108864 bytes (67 MB) copied, 1.84791 s, 36.3 MB/s
  5. $
ZFS 目前未意识到损坏,但是您可以通过请求池的清理,强制池发现问题。如清单 7 所示,ZFS 现在认识到(loop3 设备的)损坏并建议操作以便替换该设备。还请注意在 ZFS 通过 RAID-Z 自我更正时,池仍然在线,您仍然可以访问您的数据。


清单 7. 清理并检查池

  1. $ sudo zpool scrub myzpool
  2. $ sudo zpool status myzpool
  3. pool: myzpool
  4. state: ONLINE
  5. status: One or more devices could not be used because the label is missing or
  6. invalid. Sufficient replicas exist for the pool to continue
  7. functioning in a degraded state.
  8. action: Replace the device using 'zpool replace'.
  9. see: http://www.sun.com/msg/ZFS-8000-4J
  10. scrub: scrub completed after 0h0m with 0 errors on Sat Nov 20 23:15:03 2010
  11. config:
  12. NAME STATE READ WRITE CKSUM
  13. myzpool ONLINE 0 0 0
  14. raidz1 ONLINE 0 0 0
  15. loop0 ONLINE 0 0 0
  16. loop1 ONLINE 0 0 0
  17. loop2 ONLINE 0 0 0
  18. loop3 UNAVAIL 0 0 0 corrupted data
  19. errors: No known data errors
  20. $ wc -l /myzpool/myzdev/devices.txt
  21. 3340 /myzpool/myzdev/devices.txt
  22. $
根据建议,引入新的设备到您的 RAID-Z 集以便充当新的容器。首先创建新的磁盘映像并通过 losetup 将其表示为设备。请注意此过程类似于将新的物理磁盘添加到集。然后,您使用 zpool replace 用新的设备(loop4)交换已损坏的设备(loop3)。检查池状态,您可以看到新设备具有一条消息,指示其上重新构建了数据(称为 resilvering)以及移到那里的数据量。还请注意池仍保持在线,没有错误(对用户可见)。最后,再次清理池;在检查其状态以后,您将看不到存在问 题,如清单 8 所示。


清单 8. 使用 zpool replace 修复池

  1. $ dd if=/dev/zero of=disk5.img bs=64M count=1
  2. 1+0 records in
  3. 1+0 records out
  4. 67108864 bytes (67 MB) copied, 0.925143 s, 72.5 MB/s
  5. $ sudo losetup /dev/loop4 ./disk5.img
  6. $ sudo zpool replace myzpool loop3 loop4
  7. $ sudo zpool status myzpool
  8. pool: myzpool
  9. state: ONLINE
  10. scrub: resilver completed after 0h0m with 0 errors on Sat Nov 20 23:23:12 2010
  11. config:
  12. NAME STATE READ WRITE CKSUM
  13. myzpool ONLINE 0 0 0
  14. raidz1 ONLINE 0 0 0
  15. loop0 ONLINE 0 0 0
  16. loop1 ONLINE 0 0 0
  17. loop2 ONLINE 0 0 0
  18. loop4 ONLINE 0 0 0 59.5K resilvered
  19. errors: No known data errors
  20. $ sudo zpool scrub myzpool
  21. $ sudo zpool status myzpool
  22. pool: myzpool
  23. state: ONLINE
  24. scrub: scrub completed after 0h0m with 0 errors on Sat Nov 20 23:23:23 2010
  25. config:
  26. NAME STATE READ WRITE CKSUM
  27. myzpool ONLINE 0 0 0
  28. raidz1 ONLINE 0 0 0
  29. loop0 ONLINE 0 0 0
  30. loop1 ONLINE 0 0 0
  31. loop2 ONLINE 0 0 0
  32. loop4 ONLINE 0 0 0
  33. errors: No known data errors
  34. $
此简短演示探究了通过文件系统进行的卷管理的整合,并展示了管理 ZFS(即使是故障时)有多简单。

其他 Linux-ZFS 可能性
FUSE 中 ZFS 的优点是易于开始使用 ZFS,但是它的缺点是效率低。这种效率上的缺点是每个 I/O 都要求多个用户内核转换的结果。但是考虑到 ZFS 的流行,有另外一种提供更好性能的选项。

针对 Linux 内核的 ZFS 本地端口正在 Lawrence Livermore 国家实验室中处于顺利开发当中。虽然此端口仍然缺乏一些元素,如 ZFS 便携式操作系统接口(适用于 UNIX®) 层,但是这正在开发中。其端口提供大量有用的功能,尤其是当您有兴趣与 Lustre 一起使用 ZFS 时。(要了解更多细节,参阅 参考资料。)

12
查看其它分页:

最新评论

我也要发表评论

evremonder 2011-03-27 18:27 回复
在 Linux 上使用 ZFS

现在您已经了解了 ZFS 背后的一些抽象概念,让我们在实践中看看其中的一些概念。本演示使用了 ZFS-FUSE。FUSE 是一种机制,允许您在没有内核代码(除 FUSE 内核模块和现有的文件系统代码以外)情况下在用户空间中实现文件系统。该模块为用户和文件系统实现提供从内核文件系统接口到用户空间的桥梁。首先,安装 ZFS-FUSE 包(下面的演示针对 Ubuntu)。

安装 ZFS-FUSE

安装 ZFS-FUSE 很简单,尤其是在使用 apt 的 Ubuntu 上。下面的命令行安装了您开始使用 ZFS-FUSE 所需的一切:

$ sudo apt-get install zfs-fuse
此命令行安装 ZFS-FUSE 和所有其他依赖包( 我的也需要 libaiol),为新的程序包执行必要的设置并启动 zfs-fuse 守护进程。

使用 ZFS-FUSE

在此演示中,您使用环回设备以便在主机操作系统内将磁盘仿真为文件。要开始此操作,请通过 dd 实用程序(参见清单 1)创建这些文件(使用 /dev/zero 作为源)。在创建了四个磁盘映像之后,使用 losetup 将磁盘映像与环路设备关联在一起。

清单 1. 使用 ZFS-FUSE 的设置

  1. $ mkdir zfstest
  2. $ cd zfstest
  3. $ dd if=/dev/zero of=disk1.img bs=64M count=1
  4. 1+0 records in
  5. 1+0 records out
  6. 67108864 bytes (67 MB) copied, 1.235 s, 54.3 MB/s
  7. $ dd if=/dev/zero of=disk2.img bs=64M count=1
  8. 1+0 records in
  9. 1+0 records out
  10. 67108864 bytes (67 MB) copied, 0.531909 s, 126 MB/s
  11. $ dd if=/dev/zero of=disk3.img bs=64M count=1
  12. 1+0 records in
  13. 1+0 records out
  14. 67108864 bytes (67 MB) copied, 0.680588 s, 98.6 MB/s
  15. $ dd if=/dev/zero of=disk4.img bs=64M count=1
  16. 1+0 records in
  17. 1+0 records out
  18. 67108864 bytes (67 MB) copied, 0.429055 s, 156 MB/s
  19. $ ls
  20. disk1.img disk2.img disk3.img disk4.img
  21. $ sudo losetup /dev/loop0 ./disk1.img
  22. $ sudo losetup /dev/loop1 ./disk2.img
  23. $ sudo losetup /dev/loop2 ./disk3.img
  24. $ sudo losetup /dev/loop3 ./disk4.img
  25. $
复制代码


有了四台设备作为您的 ZFS 块设备(总大小 256MB),使用 zpool 命令来创建您的池。您可以使用 zpool 命令来管理 ZFS 存储池,不过您将看到,您可以将其用于各种其他目的。下面的命令要求通过四个设备创建 ZFS 存储池并通过 RAID-Z 提供数据保护。在此命令后为一个列表请求,以便提供您池中的数据(参见清单 2)。

清单 2. 创建 ZFS 池

  1. $ sudo zpool create myzpool raidz /dev/loop0 /dev/loop1 /dev/loop2 /dev/loop3
  2. $ sudo zfs list
  3. NAME USED AVAIL REFER MOUNTPOINT
  4. myzpool 96.5K 146M 31.4K /myzpool
  5. $
复制代码


您还可以研究池的一些属性,如清单 3 所示,其代表默认值。对于其他事项,您可以查看可用容量和已使用的部分。(为了简洁,此代码已经被压缩。)

清单 3. 查看存储池的属性

  1. $ sudo zfs get all myzpool
  2. NAME PROPERTY VALUE SOURCE
  3. myzpool type filesystem -
  4. myzpool creation Sat Nov 13 22:43 2010 -
  5. myzpool used 96.5K -
  6. myzpool available 146M -
  7. myzpool referenced 31.4K -
  8. myzpool compressratio 1.00x -
  9. myzpool mounted yes -
  10. myzpool quota none default
  11. myzpool reservation none default
  12. myzpool recordsize 128K default
  13. myzpool mountpoint /myzpool default
  14. myzpool sharenfs off default
  15. myzpool checksum on default
  16. myzpool compression off default
  17. myzpool atime on default
  18. myzpool copies 1 default
  19. myzpool version 4 -
  20. ...
  21. myzpool primarycache all default
  22. myzpool secondarycache all default
  23. myzpool usedbysnapshots 0 -
  24. myzpool usedbydataset 31.4K -
  25. myzpool usedbychildren 65.1K -
  26. myzpool usedbyrefreservation 0 -
  27. $
复制代码


现在,让我们实际使用 ZFS 池。首先,在您的池中创建目录,然后在该目录中启用压缩(使用 zfs set 命令)。其次,将文件复制到其中。我已经选择了大小 120KB 左右的文件来查看 ZFS 压缩的效果。请注意您的池挂载在根目录上,因此就像您的根文件系统内的目录一样加以处理。一旦复制该文件,您就可以列出它来表示文件已存在(但与原来同样大小)。通过使用 dh 命令,您可以看到文件大小为原来的一半,这说明 ZFS 已经将其压缩。您还可以查看 compressratio 属性,了解您的池有多少已经被压缩(使用默认压缩程序,gzip)。清单 4 显示了该压缩。

清单 4. 演示 ZFS 压缩

  1. $ sudo zfs create myzpool/myzdev
  2. $ sudo zfs list
  3. NAME USED AVAIL REFER MOUNTPOINT
  4. myzpool 139K 146M 31.4K /myzpool
  5. myzpool/myzdev 31.4K 146M 31.4K /myzpool/myzdev
  6. $ sudo zfs set compression=on myzpool/myzdev
  7. $ ls /myzpool/myzdev/
  8. $ sudo cp ../linux-2.6.34/Documentation/devices.txt /myzpool/myzdev/
  9. $ ls -la ../linux-2.6.34/Documentation/devices.txt
  10. -rw-r--r-- 1 mtj mtj 118144 2010-05-16 14:17 ../linux-2.6.34/Documentation/devices.txt
  11. $ ls -la /myzpool/myzdev/
  12. total 5
  13. drwxr-xr-x 2 root root 3 2010-11-20 22:59 .
  14. drwxr-xr-x 3 root root 3 2010-11-20 22:55 ..
  15. -rw-r--r-- 1 root root 118144 2010-11-20 22:59 devices.txt
  16. $ du -ah /myzpool/myzdev/
  17. 60K /myzpool/myzdev/devices.txt
  18. 62K /myzpool/myzdev/
  19. $ sudo zfs get compressratio myzpool
  20. NAME PROPERTY VALUE SOURCE
  21. myzpool compressratio 1.55x -
  22. $
复制代码


最后,让我们看看 ZFS 的自修复功能。请回想在您创建池时,您要求四个设备具有 RAID-Z。通过使用 zpool status 命令您可以检查池的状态, 如清单 5 所示。如清单所示,您可以看到池的元素(RAID-Z 1 以及四个设备)。

清单 5. 检查池状态

  1. $ sudo zpool status myzpool
  2. pool: myzpool
  3. state: ONLINE
  4. scrub: none requested
  5. config:
  6. NAME STATE READ WRITE CKSUM
  7. myzpool ONLINE 0 0 0
  8. raidz1 ONLINE 0 0 0
  9. loop0 ONLINE 0 0 0
  10. loop1 ONLINE 0 0 0
  11. loop2 ONLINE 0 0 0
  12. loop3 ONLINE 0 0 0
  13. errors: No known data errors
  14. $
复制代码


现在,让我们强制执行一个错误到池中。对于此演示来说,转到后台并损坏组成设备的磁盘文件(disk4.img,通过 loop3 设备显示在 ZFS 中)。使用 dd 命令将整个设备清零(参见清单 6)。

清单 6. 损坏 ZFS 池

  1. $ dd if=/dev/zero of=disk4.img bs=64M count=1
  2. 1+0 records in
  3. 1+0 records out
  4. 67108864 bytes (67 MB) copied, 1.84791 s, 36.3 MB/s
  5. $
复制代码


ZFS 目前未意识到损坏,但是您可以通过请求池的清理,强制池发现问题。如清单 7 所示,ZFS 现在认识到(loop3 设备的)损坏并建议操作以便替换该设备。还请注意在 ZFS 通过 RAID-Z 自我更正时,池仍然在线,您仍然可以访问您的数据。

清单 7. 清理并检查池

  1. $ sudo zpool scrub myzpool
  2. $ sudo zpool status myzpool
  3. pool: myzpool
  4. state: ONLINE
  5. status: One or more devices could not be used because the label is missing or
  6. invalid. Sufficient replicas exist for the pool to continue
  7. functioning in a degraded state.
  8. action: Replace the device using 'zpool replace'.
  9. see: http://www.sun.com/msg/ZFS-8000-4J
  10. scrub: scrub completed after 0h0m with 0 errors on Sat Nov 20 23:15:03 2010
  11. config:
  12. NAME STATE READ WRITE CKSUM
  13. myzpool ONLINE 0 0 0
  14. raidz1 ONLINE 0 0 0
  15. loop0 ONLINE 0 0 0
  16. loop1 ONLINE 0 0 0
  17. loop2 ONLINE 0 0 0
  18. loop3 UNAVAIL 0 0 0 corrupted data
  19. errors: No known data errors
  20. $ wc -l /myzpool/myzdev/devices.txt
  21. 3340 /myzpool/myzdev/devices.txt
  22. $
复制代码


根据建议,引入新的设备到您的 RAID-Z 集以便充当新的容器。首先创建新的磁盘映像并通过 losetup 将其表示为设备。请注意此过程类似于将新的物理磁盘添加到集。然后,您使用 zpool replace 用新的设备(loop4)交换已损坏的设备(loop3)。检查池状态,您可以看到新设备具有一条消息,指示其上重新构建了数据(称为 resilvering)以及移到那里的数据量。还请注意池仍保持在线,没有错误(对用户可见)。最后,再次清理池;在检查其状态以后,您将看不到存在问题,如清单 8 所示。

清单 8. 使用 zpool replace 修复池

  1. $ dd if=/dev/zero of=disk5.img bs=64M count=1
  2. 1+0 records in
  3. 1+0 records out
  4. 67108864 bytes (67 MB) copied, 0.925143 s, 72.5 MB/s
  5. $ sudo losetup /dev/loop4 ./disk5.img
  6. $ sudo zpool replace myzpool loop3 loop4
  7. $ sudo zpool status myzpool
  8. pool: myzpool
  9. state: ONLINE
  10. scrub: resilver completed after 0h0m with 0 errors on Sat Nov 20 23:23:12 2010
  11. config:
  12. NAME STATE READ WRITE CKSUM
  13. myzpool ONLINE 0 0 0
  14. raidz1 ONLINE 0 0 0
  15. loop0 ONLINE 0 0 0
  16. loop1 ONLINE 0 0 0
  17. loop2 ONLINE 0 0 0
  18. loop4 ONLINE 0 0 0 59.5K resilvered
  19. errors: No known data errors
  20. $ sudo zpool scrub myzpool
  21. $ sudo zpool status myzpool
  22. pool: myzpool
  23. state: ONLINE
  24. scrub: scrub completed after 0h0m with 0 errors on Sat Nov 20 23:23:23 2010
  25. config:
  26. NAME STATE READ WRITE CKSUM
  27. myzpool ONLINE 0 0 0
  28. raidz1 ONLINE 0 0 0
  29. loop0 ONLINE 0 0 0
  30. loop1 ONLINE 0 0 0
  31. loop2 ONLINE 0 0 0
  32. loop4 ONLINE 0 0 0
  33. errors: No known data errors
  34. $
复制代码


此简短演示探究了通过文件系统进行的卷管理的整合,并展示了管理 ZFS(即使是故障时)有多简单。
其他 Linux-ZFS 可能性
FUSE 中 ZFS 的优点是易于开始使用 ZFS,但是它的缺点是效率低。这种效率上的缺点是每个 I/O 都要求多个用户内核转换的结果。但是考虑到 ZFS 的流行,有另外一种提供更好性能的选项。

针对 Linux 内核的 ZFS 本地端口正在 Lawrence Livermore 国家实验室中处于顺利开发当中。虽然此端口仍然缺乏一些元素,如 ZFS 便携式操作系统接口(适用于 UNIX®) 层,但是这正在开发中。其端口提供大量有用的功能,尤其是当您有兴趣与 Lustre 一起使用 ZFS 时。(要了解更多细节,参阅 参考资料。)

evremonder 2011-03-27 22:04 回复
好像还真的有点长呢
youngster21 2011-03-28 00:48 回复
文章好像没注明出处吧?这篇文章应该是IBM developerworks上面的吧,原名《在linux上运行ZFS》
nemesis74 2011-03-28 10:06 回复
有点 虚拟文件系统的感觉  太长了 没看完
evremonder 2011-03-28 11:09 回复
回复 youngster21 的帖子

是的……
夜域诡士 2014-01-27 16:42 回复
收藏一下吧 以后不知道怎用的时候   看看

收藏

返回顶部

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。