If I need to increase / to have 257398 1-M blocks and decrease /home to 20000 1-M blocks, can I do this without rebooting and if so, what is the specific command sequence to do this?
Você tem aproximadamente 280 GB de espaço disponível, dos quais 50 GB foram alocados para '/' e 230 GB foram alocados para /home
. Porque isso representa todo o seu espaço disponível, você terá que liberar algo primeiro. Aqui estão algumas opções:
Se você não colocou nenhum dado em /home
, é mais fácil descartar o sistema de arquivos existente e recriá-lo com o tamanho apropriado:
-
Desmontar
/home
:# umount /home
-
Reduza o tamanho do volume lógico (LV) para 20 GB:
# lvreduce -L 20G /dev/vg_livecd/lv_home
-
Recrie o sistema de arquivos
/home
:# mke2fs -j -m0 /dev/vg_livecd/lv_home
-
E remontar
/home
:# mount /home
É possível reduzir /home
, em vez de descartá-lo, mas isso pode ser um pouco mais complicado:
-
Desmontar
/home
:# umount /home
-
fsck
do sistema de arquivos. Isso provavelmente é necessário na próxima etapa:# fsck /dev/vg_livecd/lv_home
-
Redimensione o sistema de arquivos:
# resize2fs /dev/vg_livecd/lv_home 19G
-
Reduza o LV:
# lvreduce -L 20G /dev/vg_livecd/lv_home
Você notará que eu reduzi o sistema de arquivos um pouco mais do que o LV; isso é porque eu nunca consigo me lembrar se eles contam as coisas da mesma maneira, então eu tento deixar um pouco de espaço de manobra.
Em ambos os casos, agora você tem aproximadamente 210 GB de espaço livre no seu grupo de volumes. Agora você pode aumentar o tamanho do seu sistema de arquivos raiz:
-
Aumentar o tamanho da raiz LV:
# lvresize -L260G /dev/vg_livecd/lv_root
-
Aumentar o tamanho do sistema de arquivos:
# resize2fs /dev/vg_livecd/lv_root
Observe que você pode precisar usar um número um pouco menor que 260 G devido ao arredondamento que estou usando nesta resposta. Além disso, versões recentes dos utilitários LVM incluem a capacidade de redimensionar o sistema de arquivos para você, mas eu venho fazendo isso desde antes de essas opções estarem disponíveis ... então não posso afirmar que elas sabem exatamente como elas operam.
If I want to add a dedicated /var partition, how should I do it without a complete reinstall?
Primeiro, você provavelmente desejará fazer isso no modo de usuário único, caso contrário, os processos em execução provavelmente terão arquivos abertos em /var
, dificultando sua substituição. Tendo dito isso ...
Mais uma vez, você precisará de espaço livre. Se, em vez de usar todo o seu espaço livre no passo anterior, você deixar alguns GB livres, você pode fazer isso:
-
Crie um novo volume lógico:
# lvcreate -n lv_var -L 10G /dev/vg0
-
Crie um novo sistema de arquivos:
# mke2fs -j -m0 /dev/vg_livecd/lv_var
-
Edite
/etc/fstab
para montar o novo LV em/var
adicionando a seguinte linha:/dev/vg_livcde/lv_var /var ext4 defaults 1 2
Mas não o monte ainda!
-
Monte o novo sistema de arquivos em algum lugar conveniente:
# mount /dev/vg_livecd/lv_var /mnt
-
Copie o conteúdo de
/var
:# rsync -a /var/ /mnt/
-
Renomeie
/var
para/var.old
e crie um novo diretório:# mv /var /var.old # mkdir /var
-
Monte seu novo LV em
/var
:# umount / mnt # mount / var
-
E continue a inicialização. Quando estiver satisfeito, tudo está funcionando corretamente, você pode excluir
/var.old
.