Btrfs文件系统在Linux中的创建及其特性
创始人
2024-03-01 14:55:37
0

Btrfs(B-tree file system,B-tree文件系统)是针对Linux开发的一个新的CoW(copy-on-write,写时复制)文件系统。它最初是由甲骨文公司在2007年着手开始开发的,并在2014年8月正式发布其稳定版。开发Btrfs的目的在于解决Linux文件系统中缺少池、快照、校验和以及集成的跨多设备访问等问题,目标在于实现Linux的规模化存储。规模化不仅仅是指解决存储问题,也意味着通过简洁的界面提供对存储的管控和管理能力,让大家能看到已使用的内容并使它更可靠。

你应该注意到,Btrfs才刚刚发布稳定版,所以强烈推荐你使用最新版的内核以避免可能出现的问题和漏洞。

Btrfs特性

新文件系统的最重要的特性有:

  • 基于扩展的文件存储
  • 文件大小上限16EiB
  • 小文件和索引目录的高效空间利用
  • 动态索引节点分配
  • 支持快照可写和快照只读
  • 子卷(分离内部文件系统的根)
  • 支持数据和元数据的校验和
  • 压缩 (gzip和LZO)
  • 整合的多设备支持
  • 支持文件条块化、文件镜像和文件条块化+镜像三种部署方案
  • 高效的增量备份
  • 后台消除进程支持查找和修复冗余副本上的文件错误
  • 支持在线文件系统碎片整理和离线文件系统检查
  • Btrfs文件系统对RAID 5/RAID 6加强支持,在linux 3.19中添加了许多漏洞修补

你可以在此关于本主题的维基文章中阅读关于新特性的内容

转换到Btrfs

警告:在尝试转换文件系统前,请务必备份数据!虽然此操作很稳定,也很安全,但它仍然可能导致数据丢失,而防止此情况发生的唯一途径就是进行数据备份。

将现存的ext4文件系统转换到btrfs是相当简单而易懂的。你首先需要使用fsck来检查你现存分区上是否存在错误,然后使用btrfs-convert命令进行转换。如果你想要对/dev/sda3分区进行转换,你可以进行以下操作:

# fsck.ext4 /dev/sda4
# btrfs-convert /dev/sda4

然后,你就可以使用mount命令将它挂载到你想要的任何位置。

btrfs-convert

转换根分区

如果你想要对你系统上的根分区进行转换,你首先需要使用Live CD启动。对于Ubuntu,你可以使用Ubuntu安装盘来完成此操作,在启动后第一个屏幕选择“尝试Ubuntu”。对于其它系统,你同样可以使用Live CD镜像,操作类似。

在启动后,打开终端,使用下面的命令来转换文件系统。

# fsck.ext4 /dev/sda1
# btrfs-convert /dev/sda1

接下来,chroot到文件系统,这样你就可以修改fstab并重新安装grub了。

# mount /dev/sda1 /mnt
# for i in dev dev/pts proc sys ; do mount --bind /$i /mnt/$i ; done
# chroot /mnt
# blkid | grep sda1

btrfs-root-convert

现在来编辑fstab,并根据blkid输出的结果来修改当前“/”文件系统的UUID,并将它的文件系统类型修改为btrfs,修改后的行如下:

UUID=8e7e80aa-337e-4179-966d-d60128bd3714 / btrfs defaults 0 1

然后,重新安装Grub:

# grub-install /dev/sda
# update-grub

现在,你可以把启动光盘丢到一边了,重启机器后,你就可以使用新的文件系统了。


via: http://linoxide.com/file-system/create-btrfs-features/

作者:Adrian Dinu 译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

相关内容

【服务器数据恢复】UFS2...
服务器数据恢复环境: 某公司一台服务器,...
2025-05-28 06:51:59
DeepSeek宣布开源F...
DeepSeek宣布开源Fire-Flyer文件系统(3FS)。
2025-02-28 11:21:23
不支持的文件系统的stat...
当遇到“不支持的文件系统的statvfs”错误时,可能是因为你正在...
2025-01-11 21:31:04
不要将文件写入文件系统,直...
要将文件写入文件系统并直接使用librosa下载和打开文件,可以使...
2025-01-10 20:01:56
不要安装Composer要...
如果您不想使用Composer安装谷歌/云分布式文件系统,您可以使...
2025-01-10 17:00:30
部署应用程序时,在浏览器中...
在浏览器中,无法直接访问实际的文件系统路径,因为浏览器具有安全限制...
2025-01-08 01:02:07

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...