我正在运行 Ubuntu Server 14.04 LTS,并设置了一个包含 6 个成员驱动器的 btrfs RAID 10 卷来存储数据。我还设置了 btrfs scrub 每周使用 cron 运行一次,以便保持挂载点上数据的质量。一切都运行良好,但前几天我在系统上做了一些检查,发现上次运行 btrfs scrub 命令是在 3 周前。
> btrfs scrub status /media/data
scrub status for c93c78a0-dd9e-4b94-b501-5335d8bbf30c
scrub started at Sun Nov 22 06:47:05 2015, running for 835849 seconds
total bytes scrubbed: 814.57GiB with 18897787 errors
我尝试手动运行scrub命令:
> btrfs scrub start /media/data
出现以下错误:
ERROR: scrub is already running.
To cancel use 'btrfs scrub cancel /media/data'.
To see the status use 'btrfs scrub status [-d] /media/data'.
我尝试按照它的建议去做,但似乎我在 btrfs-progs 命令中遇到了一个错误。系统上运行的 btrfs-progs 版本是 3.12,链接页面显示已在 3.18.2 中修复,根据 btrfs wiki 页面,最新版本是 4.3.1。那么我该如何升级 btrfs-progs?
我尝试了简单的方法,sudo apt-get upgrade btrfs-progs
但没有成功。我将内核升级到 4.2.0_19,我认为这无论如何都是值得的,但这似乎并没有升级工具。我开始查看 PPA,但我不知道该设置哪一个,而且我承认,我被一堆 btrfs PPA 上的“实验性”标志吓到了。所以我想在 AskUbuntu 社区中询问,如何升级 btrfs-progs,以便可靠地修复我的问题?
作为参考,我阅读了以下两个问题,它们现在似乎有点过时了:
答案1
您可以在这里查看:
https://launchpad.net/ubuntu/+source/btrfs-tools
在每个版本的官方版本之后,您都可以看到“不受信任的档案中的‘btrfs-tools’的其他版本。”部分。
是的,是“不受信任的档案”,但你可以看到 Stephane Grabber(来自 Canonical 的 LXD 开发人员)有很多值得信赖的档案,对此,我的建议是:
https://launchpad.net/~ubuntu-lxc/+archive/ubuntu/buildd-backports
用于多个开发人员包的反向移植,您可以在此处查看 btrfs-tools。
这是第一部分,另一部分是您也要升级内核,针对 btrfs 的内核包(来自内核 <> btrfs-tools 的 btrfs,不同的东西):
https://wiki.ubuntu.com/Kernel/LTSEnablementStack
并linux-generic-lts-xenial
立即安装较新的内核。