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 então eu corro
partprobe
mas quando tento criar um pv
/dev/sda2p1 /dev/sda2p2
Ele diz que esses dispositivos não foram encontrados, embora quando eu corro
fdisk -l /dev/sda2
Eu os vejo listados lá (e escolhi o tipo 8e ao criar essas partições lvm)
O que estou fazendo errado ?
Volumes Lógicos LVM não são criados com arquivos
fdisk
. Você precisa usarlvcreate
em vez disso.Definir o tipo de partição usando fdisk permite sugerir que uma partição pode conter um Volume Físico LVM . Como definir qualquer outro tipo de partição, isso não formata a partição. Para formatar uma partição como um Volume Físico LVM , você precisa usar
pvcreate
.Você faz o
pvcreate
primeiro. Em seguida, atribua-o a um grupo de volumes LVM , por exemplo, criando um novo VG usandovgcreate myvg /dev/sda2
. Então você pode criar volumes lógicos.Você poderia ir em frente e fazer isso nas páginas de manual, você não precisa definir nenhuma opção não padrão aqui, mas provavelmente é mais fácil procurar um bom tutorial que satisfaça esses critérios :-P.
Então o que você fez? Bem, você efetivamente tratou a partição
/dev/sda2
como um disco em si. Você o formatou com uma tabela de partições e criou partições dentro dela. Aparentementefdisk
, fica feliz em permitir que você faça isso sem considerá-lo um problema :). No entanto, isso geralmente não é útil ou algo que as pessoas fazem. As instalações do BSD em PCs fazem algo mais ou menos assim, mas os instaladores do Linux não. Eu tentei criar algo como sda2p1 sozinho. Minha conclusão foi que o próprio kernel do Linux não suporta tabelas de partição aninhadas como esta, embora os comandos do espaço do usuário possam permitir que você os acesse se você entender o que está acontecendo.Em meu próprio teste,
partprobe /dev/sda8
falhou. Parecia confuso, pensando que as partições já estavam sendo usadas e relatou erros em mais partições do que existiam em qualquer lugar do meu sistema. Em vez disso, usandokpartx -av /dev/sda8
funcionou, no meu caso, para detectar e mapear "sda8p1". No entanto, parece que o kernel do Linux não suporta partições aninhadas como esta.[1] O kernel não estava ciente do dispositivo de blocosda8p1
. (Não apareceu/sys/class/block
com esse nome). Em vez disso, o resultadokpartx
foi criar um dispositivo de bloco "mapeador de dispositivo" chamadodm-0
. Foi criado tal quecat /sys/block/dm-0/dm/name
mostrousda8p1
.Mesmo após o
kpartx
comando, 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) contém links simbólicos para/dev/dm-*
).[1] Fato de bônus: nós de dispositivo para
sda1
etc. têm números de dispositivo pré-alocados . Não há número pré-alocado parasda2p1
etc.Primeiro você tem um disco rígido físico, por exemplo,
sda
ousdb
Um disco rígido físico pode conter uma tabela de partições.você pode adicionar todo o disco ao seu
lvm
, então não precisa de uma tabela de partições. por exemplo:ou você cria uma tabela de partição com
fdisk
oucfdisk
depois disso, você deve criar as extensões físicas, por exemplo:o comando
pvcreate
criar extensões físicas agora você tem que 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.Você pode visualizar com
vgs
o espaço livre para seus grupos de volumes.Você pode usar
lvcreate -l 100%FREE
, se quiser, usar todo o grupolvcreate -l60%VG
de volume ou 60%depois de criar um volume lógico, você pode criar um sistema de arquivos, por exemplo, ext4
mkfs.ext4 /dev/VGName/home