lvm e uma questão de particionamento

1

Então, quando eu faço (como root)

fdisk -l

Eu vejo /dev/sda1 e /dev/sda2

Agora estou praticando a criação de volumes lógicos, quando tentei particionar

/dev/sda2

Eu tenho duas novas partições /dev/sda2p1 e /dev/sda2p2

e depois corro

partprobe

mas quando tento criar um pv

/dev/sda2p1 /dev/sda2p2

Ele diz que esses dispositivos não são encontrados mesmo quando eu corro

fdisk -l /dev/sda2

Eu os vejo listados lá (e escolhi o tipo 8e ao criar essa partição lvm)

o que estou fazendo de errado?

    
por alkabary 05.12.2017 / 19:20

2 respostas

3

What am I doing wrong?

LVM Volumes Lógicos não são criados com fdisk . Você precisa usar lvcreate .

I did chose type 8e when creating these partition lvm

Definir o tipo de partição usando o fdisk, permite que você indique que uma partição pode conter um LVM Physical Volume . Como definir qualquer outro tipo de partição, isso não formata a partição. Para formatar uma partição como um LVM Physical Volume , você precisa usar pvcreate .

Você faz o pvcreate primeiro. Em seguida, atribua-o a um LVM Volume Group , por exemplo, criando um novo VG usando vgcreate myvg /dev/sda2 . Então você pode criar volumes lógicos.

Você poderia ir em frente e fazer isso a partir das man pages, você não deveria precisar configurar nenhuma opção não padrão aqui, mas é provavelmente mais fácil procurar por um bom tutorial que satisfaça estes critérios :-P.

Então, o que você fez? Bem, você tratou efetivamente a partição /dev/sda2 como um disco em si. Você formatou com uma tabela de partição e criou partições dentro dela. Aparentemente fdisk está feliz em deixar você fazer isso sem considerar um problema :). No entanto, isso geralmente não é útil ou algo que as pessoas fazem. As instalações do BSD nos PCs fazem algo parecido com isso, no entanto, os instaladores do Linux não. Eu tentei criar algo como sda2p1 eu mesmo. Minha conclusão foi que o próprio kernel do Linux não suporta tabelas de partição de aninhamento como essa, embora os comandos do userspace possam permitir que você os acesse se você entender o que está acontecendo.

Em meus próprios testes, partprobe /dev/sda8 falhou. Parecia confuso, pensando que as partições já estavam sendo usadas, e relatou erros em mais partições do que existia em qualquer lugar no meu sistema. Em vez disso, usando kpartx -av /dev/sda8 funcionou, no meu caso, para detectar e mapear "sda8p1". No entanto, parece que o kernel do Linux não suportava partições aninhadas como esta. [1] O kernel não estava ciente do dispositivo de bloco sda8p1 . (Ele não apareceu em /sys/class/block sob esse nome). Em vez disso, o resultado de kpartx foi criar um dispositivo de bloco "mapeador de dispositivos" chamado dm-0 . Foi criado de tal forma que cat /sys/block/dm-0/dm/name mostrou sda8p1 .

Mesmo depois do comando kpartx , meu sistema não criou um nó de dispositivo em /dev/sda8p1 . Em vez disso, o nó do dispositivo estava acessível como /dev/mapper/sda8p1 .

(Ou diretamente como /dev/dm-0 . ls -l /dev/mapper mostra que o (s) arquivo (s) tem links simbólicos para /dev/dm-* ).

[1] Fato bônus: nós de dispositivo para sda1 etc. têm dispositivo pré-alocado números . Não há um número pré-alocado para sda2p1 etc.

    
por 05.12.2017 / 19:32
0

Primeiro, você tem um disco rígido físico, por exemplo, sda ou sdb Um disco rígido físico pode conter uma tabela de partições.

você pode adicionar o disco inteiro ao seu lvm , então você não precisa de uma tabela de partições. por exemplo:

pvcreate /dev/sda

ou crie uma tabela de partições com fdisk ou cfdisk depois disso, você terá que criar as extensões físicas, por exemplo:

pvcreate /dev/sda5

o comando pvcreate cria extensões físicas agora você precisa criar um grupo de volumes , um grupo de volumes contém muitas extensões físicas, um grupo de volumes pode conter extensões físicas de um ou vários dispositivos.

vgcreate VGName /dev/sda5
#          ^the name of your new volume group
#                    ^the partition or device

Você pode ver com vgs o espaço livre para seus grupos de volumes.

lvcreate -L 100G -n home VGName
#           ^size of your new logical volume
#                    ^with -n you can set a name e.g. home
#                          ^at the end the name of your VolumeGroup

Você pode usar lvcreate -l 100%FREE se quiser usar todo o seu grupo de volumes ou lvcreate -l60%VG para 60%

depois de criar um volume lógico, você pode criar um sistema de arquivos, por exemplo ext4 mkfs.ext4 /dev/VGName/home

    
por 05.12.2017 / 21:19