我有一个 btrfs RAID1 系统,其状态如下:
# btrfs filesystem show
Label: none uuid: 975bdbb3-9a9c-4a72-ad67-6cda545fda5e
Total devices 2 FS bytes used 1.65TiB
devid 1 size 1.82TiB used 1.77TiB path /dev/sde1
*** Some devices missing
Run Code Online (Sandbox Code Playgroud)
丢失的设备是一个完全失败的磁盘驱动器,操作系统无法再识别它。我取出了故障磁盘并将其送去回收。
现在我在 /dev/sdd 下安装了一个新磁盘。在网上搜索时,我找不到这种情况的说明(搜索词选择不当?)。有许多示例如何在故障磁盘仍然可以被操作系统访问时保存 RAID 系统。 btrfs replace
命令需要源磁盘。
我尝试了以下方法:
# btrfs replace start 2 /dev/sdd /mnt/brtfs-raid1-b
# btrfs replace status /mnt/brtfs-raid1-b
Never started
Run Code Online (Sandbox Code Playgroud)
没有错误消息,但状态表明它从未启动。我无法弄清楚我的尝试有什么问题。
我正在运行 Ubuntu 16.04 LTS Xenial Xerus,Linux 内核 4.4.0-57-generic。
更新 #1
好的,在“非后台模式(-B)”下运行命令时,我看到了一个以前没有出现过的错误:
# btrfs replace start -B 2 /dev/sdd /mnt/brtfs-raid1-b
ERROR: ioctl(DEV_REPLACE_START) failed on "/mnt/brtfs-raid1-b": …
Run Code Online (Sandbox Code Playgroud)