linux z文件系统(zfs)简介

ZFS通常被数据囤积者、NAS爱好者和其他喜欢信任自己的冗余存储系统而不是云的极客使用。它是一个很好的文件系统,可用于管理多个磁盘的数据和竞争对手的一些最伟大的RAID设置。...

linux z文件系统(zfs)简介

ZFS通常被数据囤积者、NAS爱好者和其他喜欢信任自己的冗余存储系统而不是云的极客使用。它是一个很好的文件系统,可用于管理多个磁盘的数据和竞争对手的一些最伟大的RAID设置。

肯尼·路易摄。

什么是我为什么要用zfs呢(zfs and why should i use it)?

Z文件系统是一个免费的开源逻辑卷管理器,由sunmicrosystems构建,用于Solaris操作系统。它的一些最吸引人的功能包括:

无限的可扩展性

好吧,从技术上讲,它不是无止境的,但它是一个128位的文件系统,能够管理zettabytes(十亿兆兆字节)的数据。不管你有多少硬盘空间,ZFS都适合管理它。

最大完整性

在ZFS中所做的一切都使用校验和来确保文件的完整性。您可以放心,您的文件及其冗余副本不会遇到静态数据损坏。另外,当ZFS忙于安静地检查数据的完整性时,它会在任何可能的时候进行自动修复。

驱动器池

ZFS的创建者希望您将其视为类似于计算机使用RAM的方式。当你的电脑需要更多的内存时,你再放一根棍子就行了。与ZFS类似,当您需要更多的硬盘空间时,您可以放入另一个硬盘,这样就完成了。无需花费时间对磁盘进行分区、格式化、初始化或其他操作—当您需要更大的存储“池”时,只需添加磁盘即可。

突袭

ZFS能够实现许多不同的RAID级别,同时提供与硬件RAID控制器相当的性能。这使您可以节省资金,使安装更容易,并可以访问ZFS改进的高级RAID级别。

安装zfs

由于本指南中只介绍了基本内容,因此我们不打算将ZFS安装为根文件系统。本节假设您使用的是ext4或其他文件系统,并且希望将ZFS用于某些辅助硬盘驱动器。下面是在一些最流行的Linux发行版上安装ZFS的命令。

Solaris和FreeBSD应该已经安装了ZFS并可以使用了。

乌班图:

$ sudo add-apt-repository ppa:zfs-native/stable $ sudo apt-get update $ sudo apt-get install ubuntu-zfs

Debian公司:

$ su - # wget http://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_2%7Ewheezy_all.deb # dpkg -i zfsonlinux_2~wheezy_all.deb # apt-get update # apt-get install debian-zfs

RHEL/中心:

$ sudo yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm $ sudo yum install zfs

如果你有其他发行版,请查看zfsonlinux.org并单击“软件包”列表下的发行版以获取有关如何安装ZFS的说明。

在继续本指南时,我们将使用Ubuntu,因为它似乎是Linux极客的首选。无论发生什么,您都应该能够跟随,因为ZFS命令不会在不同的发行版之间更改。

安装需要相当长的时间,但一旦安装完成,请运行$sudo zfs list以确保安装正确。您应该得到如下输出:

linux z文件系统(zfs)简介

我们现在使用的是新安装的Ubuntu服务器,只有一个硬盘。

linux z文件系统(zfs)简介

配置zfs

现在,假设我们又在电脑里放了六个硬盘。

$sudo fdisk-l | grep Error将显示我们刚刚安装的六个硬盘驱动器。它们目前不可用,因为它们不包含任何类型的分区表。

linux z文件系统(zfs)简介

正如我们前面提到的,ZFS的一个优点是我们不需要为分区而烦恼(尽管如果您愿意的话可以)。让我们从三个硬盘开始,通过运行以下命令将它们放入存储池:

$ sudo zpool create -f geek1 /dev/sdb /dev/sdc /dev/sdd

zpool create是用于创建新存储池的命令,-f覆盖发生的任何错误(例如,如果磁盘已经有关于它们的信息),geek1是存储池的名称,/dev/sdb/dev/sdc/dev/sdd是我们放入池中的硬盘驱动器。

创建池后,应该可以使用df命令或sudo zfs list查看池:

linux z文件系统(zfs)简介

如您所见,/geek1已经安装好,可以使用了。

如果要查看为池选择了哪三个磁盘,可以运行sudo zpool status:

linux z文件系统(zfs)简介

到目前为止,我们所做的是创建一个9 TB的动态条带池(实际上是RAID 0)。如果您不熟悉这意味着什么,请设想我们在/geek1上创建了一个3kb的文件。1 KB将自动转到sdb,1 KB转到sdc,1 KB转到sdd。然后,当我们去读取3KB的文件时,每个硬盘驱动器将向我们呈现1KB,将三个驱动器的速度结合起来。这使得写入和读取数据的速度很快,但也意味着我们有一个单一的故障点。如果只有一个硬盘出现故障,我们将丢失3KB的文件。

假设保护数据比快速访问数据更重要,让我们看看其他流行的设置。首先,我们将删除已创建的zpool,以便在更冗余的设置中使用这些磁盘:

$ sudo zpool destroy geek1

砰,我们的游泳池不见了。这次,让我们使用三个磁盘来创建一个RAID-Z池。RAID-Z基本上是raid5的一个改进版本,因为它通过使用copy-on-write避免了“写洞”。RAID-Z至少需要三个硬盘驱动器,在某种程度上是RAID 0和RAID 1之间的折衷方案。在RAID-Z池中,您仍然可以获得块级条带化的速度,但也可以使用分布式奇偶校验。如果池中有一个磁盘死亡,只需更换该磁盘,ZFS就会根据其他磁盘的奇偶校验信息自动重建数据。要丢失存储池中的所有信息,必须有两个磁盘死亡。为了使事情更加冗余,可以使用raid6(在ZFS的情况下使用RAID-Z2)和双奇偶校验。

为此,我们可以使用与前面相同的zpool create命令,但在池的名称后指定raidz:

$ sudo zpool create -f geek1 raidz /dev/sdb /dev/sdc /dev/sdd

linux z文件系统(zfs)简介

如您所见,df-h显示我们的9tb池现在已经减少到6tb,因为3tb被用来保存奇偶校验信息。通过zpool status命令,我们看到我们的池与以前基本相同,但现在使用的是RAID-Z。

为了说明向存储池中添加更多磁盘是多么容易,让我们将另外三个磁盘(另外9 TB)作为另一个RAID-Z配置添加到geek1存储池中:

$ sudo zpool add -f geek1 raidz /dev/sde /dev/sdf /dev/sdg

我们的结局是:

linux z文件系统(zfs)简介

故事还在继续…

我们几乎没有触及ZFS及其功能的表面,但是使用本文中的知识,您现在应该能够创建数据的冗余存储池了。回头看看我们未来关于ZFS的文章,看看手册页,搜索关于ZFS功能的无数利基指南和Youtube视频。

  • 发表于 2021-04-11 11:59
  • 阅读 ( 138 )
  • 分类:互联网

你可能感兴趣的文章

将数据存储在freenas盒上的10个原因

...是,可以安装多少个驱动器会带来成本。甚至unRAID选择的文件系统也与FreeNAS有很大的不同。 ...

  • 发布于 2021-03-14 03:40
  • 阅读 ( 318 )

linux中的进程是什么?

... 相关:Linux根目录中的那些文件夹是什么? ...

  • 发布于 2021-03-27 02:21
  • 阅读 ( 238 )

如何在linux上杀死僵尸进程

...该列表可能包含累加器、索引寄存器和堆栈指针。 打开文件列表:与此进程关联的文件。 CPU调度信息:用于确定分配给该进程的CPU处理时间的频率和持续时间。进程的优先级、指向调度队列的指针和其他调度参数必须记录在PCB...

  • 发布于 2021-04-01 07:47
  • 阅读 ( 235 )

ubuntu 20.10“groovy gorilla”的新增功能

...。 一个显著的变化是隐藏在“高级特性”对话框中。ZFS文件系统安装选项的旁边不再有大写字母“Experimental”一词。必须在Canonical内部建立信心,以确保其ZFS实现作为日常驱动程序文件系统的持久性和就绪性。 安装ubuntu20.10并...

  • 发布于 2021-04-01 11:00
  • 阅读 ( 190 )

如何在linux上使用stat命令

...挖个洞。你可以像剥洋葱一样剥Linux。 ls将向您显示有关文件的大量信息,例如对其设置了哪些权限、文件的大小以及文件是文件还是符号链接。为了显示这个信息,ls从一个叫做inode的文件系统结构中读取它。 每个文件和目录...

  • 发布于 2021-04-02 19:25
  • 阅读 ( 162 )

Ubuntu19.10“eoan ermine”的新增功能,现已推出

...的Linux内核、更快的启动时间、更新的主题和实验性的ZFS文件系统支持。无论您是否升级,Ermine都会向您展示下一个将于2020年4月发布的LTS版本。 你应该升级吗? Ubuntu19.10可在今天2019年10月17日下载。升级不是强制性的事实上,...

  • 发布于 2021-04-03 01:40
  • 阅读 ( 212 )

如何备份linux系统

...了一些不错的可选图形界面。 有很多方法可以实现备份文件。我们想向您展示一种健壮、灵活、可靠的方法来保护您的数据。我们之所以选择rsync,是因为rsync的算法非常受人尊敬,可以计算源目录和目标目录中文件之间的差异...

  • 发布于 2021-04-03 09:19
  • 阅读 ( 201 )

如何在linux上安全地删除文件

撕碎旧数据文件的原因与撕碎旧纸质文档的原因相同。我们将告诉您有关安全删除Linux文件的需要了解的内容。本教程介绍了shred命令和secure delete实用程序套件。 删除的文件通常是可恢复的 删除一个文件实际上并不会将其从硬...

  • 发布于 2021-04-03 10:54
  • 阅读 ( 191 )

如何在linux上使用rename命令

抓住Linux世界的文件重命名引擎,让mv和你自己休息一下。重命名是灵活的,快速的,有时甚至更容易。下面是一个关于这个强大的命令的教程。 mv怎么了? mv没什么问题。这个命令做得很好,在所有Linux发行版、macOS和其他类...

  • 发布于 2021-04-03 12:15
  • 阅读 ( 278 )

37个重要的linux命令

...您的别名始终可用,请将其添加到.bash\u别名主目录中的文件。 2猫 cat命令(concatenate的缩写)将文件的内容列出到终端窗口。这比在编辑器中打开文件要快,而且不可能意外更改文件。要读取.bash\u log\u文件的内容,请在主目录...

  • 发布于 2021-04-03 15:04
  • 阅读 ( 184 )
无根水极
无根水极

0 篇文章

相关推荐