btrfs RAID1 陣列顯示為兩個磁碟
我將 2 個驅動器安裝為 RAID1 btrfs 陣列(btrfs v3.12,Ubuntu 14.04)。一切正常,除了 nautilus 和其他基於 GUI 的應用程序看到兩個磁碟,都標記為“Raid1”。一個已安裝(工作 btrfs 磁碟),另一個已解除安裝。
有誰知道為什麼這個“鬼”卷存在或如何擺脫它?
編輯 - 添加其他詳細資訊:
“sudo btrfs 文件系統顯示”的結果:
$ sudo btrfs filesystem show Label: Raid1 uuid: 3d12bc7b-61b1-4dea-b78b-ef9a44a6b698 Total devices 2 FS bytes used 2.39TiB devid 1 size 3.64TiB used 2.43TiB path /dev/sdg1 devid 2 size 3.64TiB used 2.43TiB path /dev/sdh1 Btrfs v3.12
我的 fstab:
UUID=3d12bc7b-61b1-4dea-b78b-ef9a44a6b698 /media/btr0 btrfs defaults,noauto 0 0
fstab 似乎所做的只是將設備掛載為 /media/btr0。如果我註釋掉 fstab 條目,它會自動掛載為 /media/fred/Raid1。
我假設您指的是在兩個塊設備之上創建的 btrfs raid1 文件系統,這些塊設備是用類似的東西創建的
mkfs.btrfs -L Raid1 -d raid1 /dev/sd* /dev/sd*
在本地複制此設置(基於此處的 Funtoo 說明):
$ dd if=/dev/zero of=/tmp/btrfs-vol0.img bs=1G count=1 $ dd if=/dev/zero of=/tmp/btrfs-vol1.img bs=1G count=1 $ sudo losetup /dev/loop0 /tmp/btrfs-vol0.img $ sudo losetup /dev/loop1 /tmp/btrfs-vol1.img
創建了 fs
$ sudo mkfs.btrfs -L Raid1 -d raid1 /dev/loop0 /dev/loop1
loop0 和 loop1 都出現在nautilus和unity中(這裡使用 ubuntu 14.10)。不過,這與btrfs本身並沒有真正的關係,而是由於udisks和udev的工作方式。
有兩種方法可以從 GUI 工具中隱藏設備,如下所述。解決方案 1(首選)將僅隱藏 ghost 設備,解決方案 2 將從 GUI 工具隱藏兩個設備。
- 創建 udev 規則以忽略設備
在 /etc/udev/rules.d 中創建一個文件(例如
/etc/udev/rules.d/99-local-udisks-btrfs.rules
),並添加如下規則:核心==“sdh1”,ENV{UDISKS_IGNORE}:=“1”
然後執行
sudo udevadm trigger
觸發規則。有關更多資訊,請參閱以下連結:https ://wiki.archlinux.org/index.php/udev,https : //askubuntu.com/questions/124094/how-to-hide-an-ntfs-partition-from- ubuntu
2.添加到/etc/fstab
例如
LABEL=rootfs / btrfs 預設值,subvol=@,autodefrag 0 0
LABEL=rootfs /home btrfs 預設值,subvol=@home,autodefrag 0 0
LABEL=Raid1 /tmp/raid1 btrfs 預設值 0 0
使用文件系統 LABEL= 或 UUID=,您可以從中檢索
$ sudo btrfs filesystem show [<path>|<uuid>|<device>|label]
標籤:’ Raid1 ’ uuid:98780c23-5330-4357-8fb8-ef3307fdabc3
使用的 設備總數 2 FS 字節 112.00KiBdevid 1 size 1.00GiB used 231.75MiB path /dev/loop0
devid 2 size 1014.19MiB used 211.75MiB path /dev/loop1
Btrfs v3.14.1
將更改保存到/etc/fstab後,兩個卷都應立即從 unity 和 nautilus 中消失。但是,如果您的掛載點位於 /media 下,這將不起作用