Btrfs 文件系统在 Linux 中的创建及其特性

发布于 2024-12-28 03:02:13 字数 2450 浏览 2 评论 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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

东京女

暂无简介

文章
评论
26 人气
更多

推荐作者

迎风吟唱

文章 0 评论 0

qq_hXErI

文章 0 评论 0

茶底世界

文章 0 评论 0

捎一片雪花

文章 0 评论 0

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文