Qual é a melhor prática para adicionar discos no LVM


21

De acordo com as páginas de manual do Linux, você pode adicionar discos brutos e partições a um grupo de volumes.

Em outra documentação (RedHat, CentOS ou openSUSE), todos os exemplos se referem à adição de partições ao VG em vez de discos brutos. O que é (melhor) prática comum?


Respostas:


19

RHEL6 LVM Admin Guide

De acordo com o Guia de Administração do Volume Lógico do RHEL 6 , é recomendável que, se você deseja usar uma unidade inteira como volume físico em um grupo de volumes LVM, ainda deve particioná-lo:

trecho do guia "Guia do Administrador LVM do RHEL6 Logical Volume Manager Administration"

2.1.2 Várias partições em um disco

O LVM permite criar volumes físicos a partir de partições de disco. Geralmente, é recomendável que você crie uma única partição que cubra todo o disco para rotular como um volume físico LVM pelos seguintes motivos:

Conveniência administrativa

É mais fácil acompanhar o hardware em um sistema se cada disco real aparecer apenas uma vez. Isso se torna particularmente verdadeiro se um disco falhar. Além disso, vários volumes físicos em um único disco podem causar um aviso do kernel sobre tipos de partição desconhecidos na inicialização.

Como LVM

Seção 11.1. Inicializando discos ou partições de disco do LVM Howto afirma da seguinte maneira:

trecho do How to LVM

Para discos inteiros:

Execute o pvcreate no disco:

# pvcreate /dev/hdb

Isso cria um descritor de grupo de volumes no início do disco.

Não recomendado

Não é recomendável usar o disco inteiro como um PV (em oposição a uma partição que abrange todo o disco) devido aos problemas de gerenciamento que ele pode criar. Qualquer outro sistema operacional que examine o disco não reconhecerá os metadados do LVM e exibirá o disco como livre, portanto, é provável que ele seja substituído. O próprio LVM funcionará bem com PVs de disco inteiro.

Se você receber um erro em que o LVM não pode inicializar um disco com uma tabela de partição, primeiro verifique se o disco em que você está operando é o correto. Se você tiver certeza disso, execute o seguinte:

PERIGOSO

Os seguintes comandos destruirão a tabela de partição no disco que está sendo operado. Tenha certeza de que é o disco correto.

# dd if=/dev/zero of=/dev/diskname bs=1k count=1
# blockdev --rereadpt /dev/diskname

Conclusões

Essas são as fontes principais nas quais eu confiaria para determinar se você deve formatar uma única partição em um disco rígido antes de adicioná-la como volume físico ou não. Como outras respostas indicaram (e comentários), você não estaria errado em adicionar a unidade inteira sem uma partição.

Para mim, eu comparo isso a dirigir no meu carro com o cinto de segurança. Se você nunca se envolver em um acidente, o cinto de segurança não serve para nada, mas se eu sofrer um acidente, fico feliz por estar usando.

Acompanhamento # 1 (comentários de To @ Joel)

Eu pensei que os 2 guias acima eram 2 boas razões. Ambos são guias oficiais, um do RH e outro do Howto, elaborado pela equipe do LVM.

Aqui está outro motivo. Ao não particionar o disco rígido, nenhum ID está sendo definido explicitamente no disco rígido para identificar claramente como ele está sendo usado.

 fdisk -l
 ...
/dev/sda6       318253056   956291071   319019008   8e  Linux LVM

Como administrador de sistemas, é muito mais óbvio para mim e para os outros a intenção de como essa unidade específica está sendo usada vs. sem o 8e.

Aprecio o que você está dizendo @ Joel, também trabalhei em uma empresa da Fortune 500, onde tínhamos centenas de implantações de Linux em implantações físicas / virtuais de desktop / servidor, bem como em grandes implantações de armazenamento. dizendo.


Só porque a Red Hat diz que não é verdade. Ainda estou ouvindo uma verdadeira razão pela qual você particionaria um disco e só consigo pensar em razões para não fazê-lo. Além disso, "é mais fácil acompanhar o hardware em um sistema se cada disco real aparecer apenas uma vez". Isso é realmente um problema? Ele será exibido uma fdisk -lvez, /sys/blockuma vez e em sua biografia uma vez. Onde é que deveria ser duplicado? (continuação)
Bratchley

Estou falando da experiência pessoal, tivemos que adicionar espaço a muitos volumes. Como eles foram particionados, enfrentamos todos os tipos de problemas em que o kernel não estava deixando de lado a tabela de partições. Por isso, fomos forçados a fazer uma repartição e depois uma reinicialização, criando uma interrupção do serviço sem um bom motivo. quanto a "Qualquer outro sistema operacional que examine o disco não reconhecerá os metadados do LVM e exibirá o disco como livre, portanto, é provável que seja substituído", o que não é verdade. No Windows, ele aparecerá como um disco não utilizado (mas o administrador sabe melhor), de que sistema operacional eles estão falando?
Bratchley

Até agora, ninguém que está dizendo que é preferível particionar o disco está realmente dando razões válidas e incentivando as pessoas a fazer algo que certamente as morderá no keister, eventualmente em uma situação corporativa (você acabará desejando mais espaço) . Tudo o que estamos obtendo são respostas vagas e onduladas sobre como ele será exibido não alocado em outros sistemas operacionais (como se isso fosse um problema, o Windows não reconhecerá o seu ext3 em uma partição) ou declarações não substanciadas sobre ele aparecer mais de uma vez ou de alguma forma facilitando o rastreamento do armazenamento.
Bratchley

Obrigado pessoal :) Esta discussão foi realmente útil para mim.
MacGyver

2
@ Joel - Como eu. Agradeço a discussão. É bom que todos possamos trazer nossas várias experiências práticas e tentar fornecer melhores orientações sobre esse tópico específico do que o que está disponível atualmente nas redes. No mínimo, estamos puxando muita documentação fragmentada para um único local. 8-).
slm

10

É preferível ter alguns descritores comumente reconhecidos (metadados) e o MBR permanece como um descritor. Até o GPT usa a tabela de partição antiga baseada em MBR para indicar sua presença.

Na verdade, você perde algum espaço em disco, mas é uma vantagem insignificante, entretanto, de entender o que está no disco (e onde) é evidente.


1
Você nem pode perder espaço em disco. Verifique pvdisplay(PV TAMANHO: não é possível usar o X MiB), se o X for maior que 1MiB, você também poderá particionar sem perder mais.
Frostschutz

@frostschutz Bem atento, mas brincando de espertinho: o espaço "disponível para desperdiçar" não é "tamanho do módulo de desenvolvimento tamanho PE", mas "(tamanho do desenvolvedor menos espaço de metadados (384K)) tamanho do módulo PE". Se isso resulta em mais ou menos depende, é claro.
Hauke ​​Laging

O LVM também possui um descritor. Por que primeiro criar uma tabela FAT e depois o LVM Descriptor. O LVM armazena os metadados no segundo setor. A primeira coisa que posso pensar em criar uma gordura é a recuperação de desastres ou alguns administradores iniciantes-linux (administração de discos).
MacGyver

O HP-UX também usa o LVM. Nesta plataforma, é prática comum adicionar discos brutos e permitir que o LVM faça suas coisas nos discos. LVM2.x
MacGyver

1
@ user39597, você está estragando tudo. FAT significa Tabela de Alocação de Arquivos, isso é coisa do MS-DOS. A tabela de partição MBR é de fato padrão; muitas ferramentas diferentes não estão cientes do LVM saberiam que o disco está particionado e ocupado - é uma medida de precaução.
poige 21/05

4

Criar volumes físicos em partições que ocupam 100% do disco quase nunca é a coisa certa a fazer. Digo "quase" só porque tomo a atitude de que só porque não consigo pensar em uma razão para fazer algo, isso não significa que não há razão para fazê-lo. Dito isso, não consigo pensar em um único motivo para colocar partições em um disco a 100% do espaço, se for LVM.

Você não obtém nenhum benefício discernível em troca da recuperação da rigidez do particionamento. Se estes são volumes físicos suportados por SAN e você faz isso, existem apenas duas maneiras de expandir o espaço de armazenamento no grupo de volumes:

  1. Apresente um novo LUN maior, adicione-o ao grupo de volumes, remova-o do LUN que você particionou inexplicavelmente, remova-o do grupo de volumes e peça às pessoas da SAN que o não apresentem. O que pode funcionar e pode ser feito on-line (com um impacto no desempenho e supondo que haja espaço SAN suficiente no seu pool de armazenamento no lado da SAN para armazenar esses dois LUNs simultaneamente), mas é factível.
  2. A única outra maneira é voltar a lidar com partições, o que é parte do motivo pelo qual as pessoas gostam de esquemas de gerenciamento de volume bem projetados (como com btrfs, lvm, zfs, etc.). Você pode editar a tabela de partição do volume físico e torcer para partprobeque você leia os novos tamanhos, mas isso só funciona cerca de 1 vez em 2 da minha experiência pessoal e exige que você desmonte o sistema de arquivos (ou seja, força você a ficar offline outra razão pela qual as pessoas como gerenciadores de volume).

Se você cria um disco inteiro, o administrador da SAN pode expandir o LUN para você, digitaliza novamente o barramento SCSI, ele seleciona o novo tamanho do LUN e faz um pvresizepara expandir o volume físico. Tudo sem colocar nenhum sistema de arquivos offline.

Saindo do bit MBR, você normalmente não pega PVs de um sistema e os apresenta a outro em um ambiente corporativo. Mesmo se você o fez, se for o LVM, você desejará que o sistema operacional ao qual você apresentará o LUN seja compatível com o LVM. Caso contrário, qual é o sentido de apresentar a eles? Se isso acontecer, você poderá ver todas as informações de volume físico, informações de grupo de volumes e volumes lógicos (assumindo que este seja o único PV no grupo de volumes). Portanto, ele se autodocumenta dessa maneira.

Basicamente: particionar um disco inteiro para 100% é como exigir que o garçom que trouxe uma torta de maçã também traga uma faca para você. Quando ele joga a faca para o lado e apenas enterra o rosto na torta. Significado: não faz sentido insistir em uma ferramenta para dividir algo em pedaços menores, se você quiser usar tudo de uma só vez.


2
Em teoria, você não está errado, na prática você vê problemas cotidianos, como SO e instaladores (até Linux), oferecendo formatar esse disco supostamente livre - porque eles não reconheciam o LVM. Ao mesmo tempo, não há desvantagem (em termos de desempenho) no uso de partições. Portanto, em um ambiente doméstico de usuário, desktop e multi-SO, é mais seguro manter partições.
Frostschutz

Eu não vi os problemas com os instaladores. O kernel deve fazer o equivalente pvscanao inicializar, portanto, o kernel no disco do instalador deve ter verificado todos os dispositivos de bloco à procura de cabeças LVM. Eu provavelmente arquivaria um erro com quem o fornecedor está explicando que seu instalador é fubar'd. Para instalações domésticas, o problema é o mesmo, mesmo que o sistema de arquivos raiz cubra dois discos, seu disco principal será particionado para / boot e, quando o kernel carregar, fará a verificação do volume. É assim que você é capaz de inicializar no LVM.
Bratchley

mas, no lado negativo, não há benefício de partições fora do BIOS e do suporte ao grub (daí / boot). Mesmo para usuários domésticos. Há também muito pouco benefício (o seu disco rígido não vai ficar maior), apenas um bom hábito de entrar.
Bratchley

Obrigado pessoal :) Esta discussão foi realmente útil para mim.
MacGyver

0

Pela minha experiência, o uso da partição será bom se você estiver testando ou em um ambiente pequeno em que o disco / armazenamento não esteja disponível. É bom para a escola ou para trabalhar na sua garagem. No mundo real, com um servidor virtual onde você pode expandir o disco sob demanda, é melhor se você deixar o LVM gerenciar o disco bruto / inteiro em vez de particionar. Será fácil e flexível gerenciar sem reiniciar o servidor. Você sabe quanto tempo isso economiza? Multiplique o de todo o servidor que você pode precisar gerenciar! Várias vezes, tenho desafios que, devido à partição / fatias, você precisa reiniciar o servidor, pois o kernel pode não reconhecer a nova tabela. Ao adicionar um disco bruto / disco virtual ao seu LVM, é necessário expandir o LVM do sistema de arquivos com o disco bruto. Executando um comando simples como “eco 1> / sys / block / XXX / device / rescan ”onde XXX é o seu disco (sdb, sdc, sdd, etc) irá verificar novamente o disco para o espaço adicional sem reinicializar, e faça o boom! você poderá estender seu sistema de arquivos rapidamente. Você levará 5 minutos literários para estender um disco sem reiniciar o servidor linux. Com disco particionado, esse processo é complicado


1
Sua resposta parece concentrar-se mais nos méritos do uso de VMs do que nas alocações completas de disco ao LVM.
roaima 19/04

@roaima: OK, meus olhos estão falhando. Onde essa resposta diz algo sobre VMs?
G-Man diz 'Reinstate Monica'

1
@ G-Man, tudo sobre a adição de armazenamento a uma VM e a possibilidade de dividir o disco recém-alocado usando o LVM na própria VM sem a necessidade de uma reinicialização.
roaima 20/04
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.