Criando subvolume btrfs como @ ou @home

9

Estando intrigado com o btrfs, decidi brincar com ele em uma VM. A instalação funciona muito bem, desde que eu me lembre de colocar /boot em uma partição separada e tudo parece funcionar bem.

O que eu gostaria de fazer é criar um subvolume separado para dados em massa com configurações diferentes de coisas como @ e @home . btrfs subvolume create data fará isso para mim, mas estou curioso para saber por que ele continua chamando @/data (ou coisas semelhantes quando tento /data ou @data ). Existe uma maneira especial de criar subvolumes como @ e @home , para que meu subvolume de dados apareça como @data ? (e: qual é a diferença exata entre os esquemas de nomenclatura?)

Informações adicionais:

  • ubuntu 12.04.2, executando como convidado KVM no host mint15;
  • kernel 3.8.0-27-genérico do ubuntu-x-swat (raring backport);
  • btrfs usando dois dispositivos, /dev/sda e /dev/sdb
  • /dev/sda e /dev/sdb são partições em um disco não usado pelo sistema operacional host
por akaIDIOT 11.08.2013 / 12:06

2 respostas

9

Suspiro , parece que postei um pouco cedo demais, com um pouco de ajuda do todo-poderoso Zosma no IRC, descobrimos como isso deveria funcionar.

Os subvolumes @ e @home são filhos da raiz btrfs, portanto / não é realmente a raiz do sistema de arquivos. O UUID da raiz btrfs é fornecido em /etc/fstab duas vezes, fornecendo as montagens para / e /home . Montar a raiz real do sistema de arquivos mostra os subvolumes criados pelo instalador:

root@box:~# mkdir /mnt/btrfs
root@box:~# mount UUID=f8963df3-1320-4bc0-a125-62be185b029e /mnt/btrfs
root@box:~# ls /mnt/btrfs
@  @home

Então é para onde eles foram! Criar um novo subvolume da maneira exata que o instalador do ubuntu fez agora é fácil:

root@box:~# btrfs subvolume create /mnt/btrfs/@data
Create subvolume '/mnt/btrfs/@data'

Agora, como criamos um subvolume na raiz btrfs em vez de no sistema de arquivos raiz para a instalação, o /data/ não será exibido sozinho. Felizmente, é fácil copiar o truque usado pelo instalador examinando /etc/fstab e adicionar outra montagem para /data :

UUID=f8963df3-1320-4bc0-a125-62be185b029e /data  btrfs  defaults,subvol=@data 0 2

A última etapa é criar o ponto de montagem: mkdir /data . Após a reinicialização, teremos um diretório /data montado a partir de um subvolume btrfs separado.

… Lucro!

    
por akaIDIOT 11.08.2013 / 13:10
5
  

A instalação funciona muito bem, desde que eu me lembre de colocar / inicializar em uma partição separada

Você não precisa ter um / boot separado. O GRUB2 pode ler e inicializar o Linux a partir de um btrfs.

  

O que eu gostaria de fazer é criar um subvolume separado para dados em massa com configurações diferentes de coisas como @ e @home.

Se você está falando sobre a montagem de subvolumes com diferentes opções de montagem , saiba que atualmente 2013) eles não são suportados: de acordo com a FAQ do Btrfs, " Posso montar subvolumes com diferentes opções de montagem ? ", atualmente apenas as opções específicas do btrfs não são suportadas ou não são implementadas. No entanto, os desenvolvedores têm planos para implementá-lo no futuro.

  

subvolume btrfs create data fará isso para mim, mas estou curioso para saber por que ele continua nomeando @ / data (ou coisas semelhantes quando tento / data ou @data)

Por padrão, o instalador do Ubuntu, o Ubiquity, cria subvolumes @ e @home no sistema de arquivos, e sua raiz do Ubuntu está no subvolume @ .

  

Existe uma maneira especial de criar subvolumes como @ e @home para que meu subvolume de dados apareça como @data? (e: qual é a diferença exata entre os esquemas de nomenclatura?)

@ e @home são nomes arbitrários escolhidos pelo instalador, que não têm significado fora de /etc/fstab . Na verdade, eu normalmente os renomeio para nomes mais específicos, para que eu possa ter muitas distros instaladas no Ubiquity no mesmo btrfs, desde que eu me lembre de atualizar as fstab's.

Mais explicações de subvolume em Funtoo.org - BTRFS .

    
por ignis 03.11.2013 / 12:04