btrfs A matriz RAID1 é mostrada como dois discos

2

Eu montei 2 drives como um array RAID1 btrfs (btrfs v3.12, Ubuntu 14.04). Tudo está funcionando bem, exceto o Nautilus e outros aplicativos baseados em GUI, que são dois discos, ambos rotulados como "Raid1". Um é montado (o disco btrfs de trabalho), o outro é desmontado.

Alguém sabe por que esse volume "fantasma" existe ou como se livrar dele?

Editar - Adicionando detalhes adicionais:

O resultado de "sudo btrfs filesystem show":

$ 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

Meu fstab:

UUID=3d12bc7b-61b1-4dea-b78b-ef9a44a6b698 /media/btr0 btrfs defaults,noauto 0 0

Tudo o que fstab parece fazer é montar o dispositivo como / media / btr0. Se eu comentar a entrada fstab, ela será montada automaticamente como / media / fred / Raid1.

    
por Fred Hamilton 20.03.2015 / 02:28

1 resposta

1

Suponho que você esteja se referindo a um sistema de arquivos btrfs raid1 criado em cima de dois dispositivos de bloco criados com algo como mkfs.btrfs -L Raid1 -d raid1 /dev/sd* /dev/sd*

Reproduzida esta configuração localmente (com base nas instruções do Funtoo do aqui ):

$ 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

Criado o fs

$ sudo mkfs.btrfs -L Raid1 -d raid1 /dev/loop0 /dev/loop1

Tanto o loop0 quanto o loop1 aparecem em nautilus e unity (usando o ubuntu 14.10 aqui). Isso não está realmente relacionado ao btrfs , mas sim devido à maneira como udisks e udev funcionam.

Existem duas maneiras de ocultar os dispositivos das ferramentas GUI, conforme mencionado abaixo. A solução 1 (preferida) ocultará apenas o dispositivo fantasma, a solução 2 ocultará os dois dispositivos das ferramentas GUI.

1. Crie uma regra do udev para ignorar o (s) dispositivo (s)

Crie um arquivo em /etc/udev/rules.d (por exemplo, /etc/udev/rules.d/99-local-udisks-btrfs.rules ) e adicione uma regra como esta:

KERNEL=="sdh1", ENV{UDISKS_IGNORE}:="1"

Em seguida, execute sudo udevadm trigger para acionar a regra.

para mais informações, consulte os seguintes links: link , link

2. Adicione a / etc / fstab

por exemplo

LABEL=rootfs / btrfs defaults,subvol=@,autodefrag 0 0
LABEL=rootfs /home btrfs defaults,subvol=@home,autodefrag 0 0
LABEL=Raid1 /tmp/raid1 btrfs defaults 0 0

Use o sistema de arquivos LABEL = ou UUID =, que você pode recuperar de

$ sudo btrfs filesystem show [<path>|<uuid>|<device>|label]

Label: 'Raid1' uuid: 98780c23-5330-4357-8fb8-ef3307fdabc3
          Total devices 2 FS bytes used 112.00KiB
          devid 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

Ambos os volumes desaparecerão da unidade e do nautilus imediatamente após salvar as alterações em / etc / fstab . Isso não funcionará, no entanto, se o ponto de montagem estiver em / media

    
por 01.04.2015 / 15:09