BTRFS文件系统??

文件系统(例如文件柜或抽屉)控制操作系统存储数据的方式。它们还保存元数据,例如文件类型,附加到数据的对象以及有权访问该数据的人。对于Windows或macOS用户

老实说,没有足够的人考虑将哪种文件系统用于他们的计算机。

Windows和macOS用户没有正当理由研究文件系统,因为它们具有自创建以来就被广泛使用的文件系统。对于Windows是NTFS,而macOS是HFS +。对于Linux用户,有很多不同的文件系统选项可供选择。Linux字段中的当前默认值称为“第四扩展文件系统”或ext4。

当前正在讨论Linux文件系统空间的变化。就像几年前对默认init系统的更改以及对systemd的切换一样,人们一直在推动将默认Linux文件系统更改为Btrfs。不,我不是在使用语或试图侮辱您。Btrfs代表B树文件系统。许多Linux用户和系统管理员对它的最初更改不太满意。那可能是因为人们通常不愿改变,或者因为他们的改变可能太突然了。一位朋友曾经说过:“我已经了解到恐惧限制了您和您的视野。对您而言,这可能只是几步之遥而使您视而不见。” 在本文中,我想帮助简化对Btrfs的理解,并使转换像黄油一样平滑。让我们先来看几件事。

文件系统做什么?

需要明确的是,我们可以总结一下文件系统的作用以及它们的用途。就像之前提到的,文件系统用于控制程序不再使用后如何存储数据,如何访问该数据,该数据位于何处以及附加到数据本身的内容。作为系统管理员,许多任务和职责之一是维护备份和管理文件系统。分区文件系统有助于分离业务环境中的不同区域,这是数据保留的常见做法。例如,将3TB硬盘和1TB分区用于生产环境,将1TB分区用于开发环境,将1TB分区用于公司相关的文档和文件。当特定分区发生事故时,仅影响该分区中存储的数据,而不是本示例中的整个3TB驱动器。一个有趣的例子是用户在开发应用程序中测试脚本,该脚本开始填充dev分区中的磁盘空间。无论是从应用程序,用户脚本还是系统中的任何内容意外填充文件系统,都可能导致整个系统停止运行。如果将数据分区到单独的分区,则仅该分区中的数据将已满或受影响,因此生产和公司数据分区是安全的。

例如,Linux系统中使用的ext4文件系统是日记文件系统,这意味着它会保留有关驱动器上文件位置的日记,并记录驱动器上发生的更改。

Ext4文件系统的优点

例如,Linux系统中使用的ext4文件系统是日记文件系统,这意味着它会保留有关驱动器上文件位置的日记,并记录驱动器上发生的更改。ext4分区的一些优点是您可以执行以下操作:

  • 在特定卷上进行加密

  • 您可以按需挂载卷

  • 您可以彼此独立地对卷进行快照,格式化或整理碎片

ext4的一些缺点是:

  • 隔离填充磁盘分区的机会更大

  • 任何管理这些磁盘的人的管理开销都会增加

  • 为在不同分区上运行的应用程序创建一致的快照很困难

  • ext4比其他文件系统使用更多的资源。

  • 不支持透明压缩

  • 不支持透明加密

  • 不支持重复数据删除

为BTR做出改变...我的意思是更好

Btrfs的发音是Butter FS,Better FS或B-Tree FS,尽管我认为人们不使用后者。它是从头开始重新构建的CoW(写入时复制)文件系统。开发人员希望扩展文件系统的功能,以包括其他功能,以获得更好的快照和池化卷。Btrfs的作者说Btrfs的目标是“让Linux扩展可用的存储”。Btrfs扩展了ext4的功能,并添加了一些功能,例如在多个硬盘驱动器上具有看似连续的文件系统,以用于跨大型分区整合数据。Btrfs的一些最佳功能是:

  • 数据镜像

  • 数据和元数据的自我修复和校验和

  • 可定制的保留政策

  • 确保备份的数据一致性

  • 将新驱动器添加到完整存储驱动器以保留数据

重复数据删除可以减少实际空间数据可能占用的数量,并且使用Btrfs进行数据镜像也可以变得更加容易。文件是硬盘上数据中最重要的部分。Btrfs具有其他功能,例如清理,自我修复数据以及其他用于数据完整性和安全性的功能。RAID功能可用于在线删除设备,创建文件系统后在RAID级别之间自由转换以及跨大型设备进行镜像。具有更新和更改RAID级别或验证校验和的多功能性,以及修复损坏的文件副本,足以考虑进行此切换。

例子

一些与BTRFS一起使用的示例和一些命令是:

平衡文件系统

平衡文件系统可将数据均匀分布在不同的磁盘上。如果磁盘大小不相等,则相等性将按已使用的容量百分比(所有磁盘的利用率均相同)。一个好时机是在向卷中添加更多磁盘之后。

$ btrfs balance start [btrfs mount point]

balance命令可能会花费很长时间。使用以下命令检查进度:


$ btrfs balance status /path/to/mount


更改RAID级别

更改RAID级别就像平衡文件系统。在大多数情况下,在ext4系统上,您需要格式化和备份文件系统以将其设置为具有RAID功能。使用BTRFS,您可以更轻松地设置RAID。

*注意:如果您不确定RAID是什么,或者对设备存储和镜像的高级概念了解很少,我不建议您这样做。

要在多个设备上设置RAID,可以运行以下命令:

(在此示例中,sda1和sdb1是要设置的两个设备。)

$ mkfs.btrfs -m raid1 -d raid1 / dev / sda1 / dev / sdb1

当前可接受的RAID级别为RAID0,RAID1和RAID10。Raid10需要4个或更多磁盘。

RAID10

在Btrfs中创建RAID10条带化镜像看起来像这样。

$ mkfs.btrfs -m RAID10 -d RAID10 / dev / sda1 / dev / sdb1 / dev / sdc1 / dev / sdd1

碎片整理

对文件或目录进行碎片整理以检查其运行状况,输入以下命令:

$ Btrfs filesystem defragment /dev/sda1


擦洗

清理文件系统可以帮助消除设备上的错误。要清除/ dev / sda1上可能出现的错误,可以运行以下命令:

$ sudo btrfs scrub start /dev/sda1

清理是在文件系统的后台完成的,因此您在进行清理时仍可以使用文件系统。您可以通过运行以下命令检查清理状态:

$ sudo btrfs scrub status /dev/sda1

添加设备

您可以通过运行以下命令来添加设备,以帮助扩展btrfs上的存储:

$ sudo btrfs scrub status /dev/sda1

添加设备后的经验法则是平衡文件系统。

卸下设备

$ btrfs device delete /dev/sda1

删除丢失的设备

如果要删除丢失的设备或可能发生故障的设备,可以运行以下命令。第一个命令将在删除设备之前以降级模式安装设备。

$ sudo mount -o degraded /dev/sda1

$ btrfs device delete missing

子卷和快照

子卷与“数据集”的BTRFS等效。它们是可用于快照/还原的独立卷。您可能想为其中创建的任何KVM来宾或装载点创建包含关键数据的子卷。

创建一个子卷

$ btrfs subvolume create

拍摄快照

$ btrfs subvolume snapshot

删除子卷

$ btrfs subvolume delete


结论

有许多文件系统可供选择,以完成正确的工作,而在Linux中,您可以选择。自2013年左右以来,Btrfs一直是Linux内核的一部分,并且将继续加强对数据保留和保护的改进。大多数发行版仍将ext4用作其默认文件系统,但是如果您要转移到已在使用它的操作系统,则可以研究OpenSUSE。OpenSUSE现在将btrfs作为其/ root分区的默认值,并将XFS文件系统当前用于/ home分区。对于更多人来说,ext4可能已经过时和过时了,但仍然具有弹性和可靠性。但是,有一个新的扩展名可以添加到您的文件系统中,可以帮助提高多个驱动器和分区的弹性和可靠性。Btrfs可以为您的文件系统/存储提供便利。


作者头像
南宫俊逸创始人

君子好学,自强不息~

上一篇:如何在Linux上杀死僵尸进程??
下一篇:编写安全外壳脚本

发表评论

vidnami 在线视频创作工具--做海外推广营销视频必备工具

image.png


我们的折扣优惠是向观众推广Vidnami的绝妙方式。他们将即时访问 25% 的 Vidnami, 再加上我们的视频营销包免费。最棒的是,您将获得所有销售额的50%!

https://www.vidnami.com/c/Mr_xiaoxiao-vn-buy-discount 

期待各位的加入,让原创发挥活力,让阅读更有价值!登录注册
登录
用户名
密码
注册
用户名
密码
确认密码
邮箱
验证码
找回密码
用户名
邮箱
※ 重置链接将发送到邮箱