AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 479545
Accepted
Jasio
Jasio
Asked: 2018-11-04 01:37:47 +0800 CST2018-11-04 01:37:47 +0800 CST 2018-11-04 01:37:47 +0800 CST

Como diminuir um volume físico?

  • 772

Eu tenho um volume físico em uma partição que se estende por todo o disco, digamos /dev/sda1 usando 100% de /dev/sda. Agora preciso reduzi-lo para criar /dev/sda2. Um volume lógico usa aproximadamente 50% do PV, então teoricamente há muito espaço disponível, mas tudo é alocado dentro do único PV. Existe uma maneira segura de reduzir o volume físico (e a partição de disco subjacente) para criar algum espaço extra para a segunda partição? Infelizmente, minha configuração exclui a possibilidade de pvmove temporariamente o volume físico para outro dispositivo.

Claro, eu sei que posso fazer isso em nível de arquivo (como fazer backup do conteúdo, reparticionar a unidade de disco e recriar a configuração do LVM), mas prefiro fazer o trabalho sem a necessidade de configurar o LV do zero.

Obrigado adiantado.

lvm
  • 1 1 respostas
  • 22566 Views

1 respostas

  • Voted
  1. Best Answer
    telcoM
    2018-11-04T04:12:27+08:002018-11-04T04:12:27+08:00

    Se você precisar apenas de outro sistema de arquivos separado, não precisará criar uma nova partição: você pode criar outro volume lógico LVM dentro do grupo de volumes existente usando o espaço não alocado no PV. Mas se você precisar especificamente de uma nova partição , deverá fazer como planejado originalmente.

    GParted é uma ferramenta GUI que pode fazer toda a operação de redimensionamento de partição + PV para você. Você provavelmente o encontrará na coleção de pacotes da sua distribuição.

    Mas se você não puder ou não quiser usá-lo por algum motivo, continue lendo...

    Reduzir um volume físico LVM que possui espaço não alocado é bastante simples. Por exemplo, para reduzir o tamanho de /dev/sda1 para 40 GiB:

    # pvresize --setphysicalvolumesize 40G /dev/sda1
    

    Este comando é seguro, pois ele se recusará a fazer qualquer coisa se a parte do PV que ele cortar contiver extensões alocadas.

    Mas esse é apenas o primeiro passo. O segundo passo será reduzir o tamanho da própria partição.

    Para estar seguro, é recomendado que você inicialmente reduza o PV um pouco mais do que planeja realmente reduzir a partição, para que depois de reduzir a partição você possa estender explicitamente o PV para cobrir o tamanho total da partição. Se a operação de extensão falhar, você saberá imediatamente que algo deu errado no redimensionamento da partição e não deixará erros ocultos para prender você ou outra pessoa no futuro.

    Você pode reduzir uma partição usando um comando simples do Linux fdisk, mas deve ter em mente algumas coisas:

    • Ao usar fdiskpara redimensionar uma partição, certifique-se de configurá-la para exibir todos os tamanhos de partição e locais iniciais nos setores primeiro. Durante a história do Linux fdisk, seu comportamento variou aqui: versões modernas fazem isso por padrão, versões mais antigas podem precisar de uma opção -uou -u=sectorspara fazê-lo.
    • Ao redimensionar uma partição existente, você não pode mover o ponto inicial da partição. (Se você mover o ponto inicial, não será mais uma operação de redimensionamento simples, mas uma operação de movimentação de partição mais complexa.)

    Ao usar fdisk, quaisquer alterações são gravadas no disco somente quando você usa o wcomando. Então sugiro proceder assim:

    • use sfdisk -d /dev/sda > /safe/location/partition_table_backup.dumppara fazer backup da tabela de partição existente.
    • iniciar fdisk /dev/sdano modo interativo
    • use o pcomando para visualizar a tabela de partição atual e verifique se os valores "start" e "end" são exibidos como setores. Anote o valor "start".
    • use o dcomando para excluir a entrada de partição atual para sda1.
    • use o ncomando para recriar a entrada da partição primária 1 para sda1o tamanho desejado, tendo o cuidado de especificar a localização do primeiro setor exatamente como estava (ou seja, o mesmo número que foi exibido no valor "inicial" do pcomando).
    • use o tcomando para definir o tipo de partição 1 para "Linux LVM".
    • verifique novamente seu trabalho
    • use o wcomando para gravar a tabela de partição atualizada e sair fdisk.

    Preste atenção na mensagem exibida fdiskno final. Se disser "O kernel ainda usa a tabela antiga", algo está bloqueando a atualização da tabela de partição on-line. Você pode tentar partprobe /dev/sdadizer ao kernel para reler a tabela de partições (usando uma interface mais recente do que algumas versões mais antigas de fdiskuso, então pode ajudar e certamente não prejudicará) e depois cat /proc/partitionsverificar se a partição agora é reconhecida pelo kernel no tamanho esperado.

    Se o redimensionamento da partição for bem-sucedido, agora você poderá executar o pvresize /dev/sda1. Se você seguiu meu conselho e redimensionou o PV inicialmente um pouco menor que o novo tamanho desejado da partição, agora ele deve estender com sucesso o PV um pouco para cobrir totalmente a partição redimensionada automaticamente. Se este comando relatar um erro, você provavelmente cometeu um erro ao especificar o novo tamanho e deve usar sfdisk /dev/sda < /safe/location/partition_table_backup.dumppara restaurar a tabela de partição para o que era inicialmente e, em seguida, tente novamente.

    (Em sistemas muito antigos, talvez seja necessário desativar o VG antes de executar partprobeou até mesmo reinicializar para permitir que o sistema releia a tabela de partição atualizada.)

    Quando a operação de redimensionamento estiver concluída, você poderá usar fdisknovamente para criar a segunda partição necessária. Sim, você também pode fazer isso juntos enquanto redimensiona a partição, mas fazer apenas uma coisa de cada vez é mais seguro e garante que você possa reverter facilmente suas alterações, se necessário.

    • 26

relate perguntas

  • Instantâneo do LVM não atualizando quando o LVM é modificado

  • grub2-mkconfig não está gerando caminhos de montagem corretos (e também como faço para me livrar de kernels extras que não uso mais?)

  • lvm e uma questão de particionamento

  • Redimensionando um volume físico LVM no dispositivo /dev/sdb

  • snap /dev/loop em 100% de utilização -- sem espaço livre

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve