之路教程 https://onitr oad .com
启动 btrfs 擦洗
以下示例在挂载在 /btrfs 上的 Btrfs 文件系统上启动清理。
# btrfs scrub start /btrfs scrub started on /btrfs, fsid ba60ac96-1628-4656-b68b-c7327ff49179 (pid=11164)
使用 btrfs 清理状态命令获取清理作业的状态。
一种选择是可用的:
- -d - 为文件系统的每个设备打印单独的统计信息。
下面是一个在健康文件系统上的 btrfs 清理状态命令示例。
如果文件系统损坏,我们会在输出中看到更正的错误。
# btrfs scrub status /btrfs scrub status for ba60ac96-1628-4656-b68b-c7327ff49179 scrub started at Fri Mar 30 14:29:47 2018 and finished after 00:00:02 total bytes scrubbed: 325.29MiB with 0 errors
使用上面命令中的“-d”选项,我们可以获得每个设备级别的状态,如下例所示。
# btrfs scrub status /btrfs -d scrub status for ba60ac96-1628-4656-b68b-c7327ff49179 scrub device /dev/sda (id 1) history scrub started at Fri Mar 30 14:29:47 2018 and finished after 00:00:02 total bytes scrubbed: 325.29MiB with 0 errors
我们可以通过触发文件系统清理作业来启动对整个文件系统的检查。
清理作业默认在后台运行,并扫描整个文件系统的完整性。
它会自动尝试报告和修复沿途发现的任何坏块。
清理作业只处理实际分配的数据,而不是遍历整个磁盘驱动器。
根据分配的磁盘空间,这比执行磁盘的整个表面扫描要快得多。
清理涉及从所有磁盘读取所有数据并验证校验和。
如果任何值不正确,可以通过从另一个驱动器读取块的良好副本来更正数据。
清理代码也会在读取时自动扫描。
建议我们每周清理一次高使用率的文件系统,每月清理一次所有其他文件系统。
以下是可用 btrfs 擦洗命令的列表:
# btrfs scrub usage: btrfs scrub [command] [options] [path]|[device] btrfs scrub start [-BdqrRf] [-c ioprio_class -n ioprio_classdata] [path]|[device] Start a new scrub. If a scrub is already running, the new one fails. btrfs scrub cancel [path]|[device] Cancel a running scrub btrfs scrub resume [-BdqrR] [-c ioprio_class -n ioprio_classdata] [path]|[device] Resume previously canceled or interrupted scrub btrfs scrub status [-dR] [path]|[device] Show status of running or finished scrub verify checksums of data and metadata
取消/恢复 btrfs 清理作业
我们还可以取消正在运行的清理作业。
进度保存在擦洗进度文件中,我们可以稍后继续擦洗。
要取消擦洗:
# btrfs scrub cancel /btrfs
要恢复已取消或者中断的清理作业:
# btrfs scrub resume /btrfs
擦洗恢复命令与擦洗启动命令具有相同的选项。
Btrfs 以 30 秒的间隔存储根 ID 生成的最后两分钟。
即使文件系统没有变化,Btrfs 也会继续滚动这些代。
如果清理没有纠正错误,我们可以使用以下挂载选项回滚到已知良好的 B 树,因为树的其余部分由于写时复制而可用:
# mount -o recovery /dev/sda /btrfs
btrfs 擦洗实用程序:示例
使用 btrfs 清理启动命令在文件系统的所有设备或者单个设备上启动清理。
语法如下:
# btrfs scrub start [-BdqrR] [-c ioprio_class ...
选项说明:
选项 | 描述 |
---|---|
-B | 不要在后台运行并在完成后打印统计信息。 |
-d | 为文件系统的每个设备打印单独的统计信息。 此选项与 -B 选项结合使用。 |
-q | 以安静模式运行,忽略错误消息和统计信息。 |
-r | 以只读模式运行,不纠正任何错误。 |
-R | 原始打印模式。 打印完整数据而不是摘要。 |
-c ioprio_class | 设置 IO 优先级类(参见 ionice 手册页)。 |
-n ioprio_classdata | 设置 IO 优先级类数据(参见 ionice 手册页)。 |
日期:2020-09-17 00:13:44 来源:oir作者:oir