Mover / usr para seu próprio sistema de arquivos / volume lógico

2

Meu sistema de arquivos raiz do Fedora 17 (x64 - rodando no VMware Workstation 8) está ficando sem espaço (essa foi uma instalação usando o layout padrão como sugerido pelo instalador do Fedora):

# df -h
Filesystem                    Size  Used Avail Use% Mounted on
rootfs                         18G   17G  937M  95% /
devtmpfs                      1.5G     0  1.5G   0% /dev
tmpfs                         1.5G  224K  1.5G   1% /dev/shm
tmpfs                         1.5G   51M  1.5G   4% /run
/dev/mapper/vg_bloss-lv_root   18G   17G  937M  95% /
tmpfs                         1.5G   51M  1.5G   4% /run
tmpfs                         1.5G     0  1.5G   0% /sys/fs/cgroup
tmpfs                         1.5G     0  1.5G   0% /media
/dev/sda2                     485M   85M  376M  19% /boot

A maior parte do espaço é ocupada pelo diretório /usr . Eu adicionei um disco de 40GB à máquina virtual ( /dev/sdb ) e desejo mover /usr para seu próprio volume lógico.

O LVM é um pouco novo para mim, mas acho que desenvolvi as etapas para adicionar esse disco usando o LVM:

fdisk /dev/sdb 
# (create a new 0x8e LVM partition type using all of the disk)

pvcreate /dev/sdb1
vgextend vg_bloss /dev/sdb1
lvcreate -l +100%FREE -n lv_usr vg_bloss /dev/sdb1
mkfs -t ext4 /dev/vg_bloss/lv_usr
# mount fs
mkdir /mnt/usr
mount -t ext4 /dev/vg_bloss/lv_usr /mnt/usr

Eu então usaria as etapas a seguir para mover /usr para esse novo sistema de arquivos:

cp -aR /usr/* /mnt/usr
umount /mnt/usr
# add relevant mount entry in /etc/fstab:
# /dev/mapper/vg_bloss-lv_usr /usr    ext4    defaults    1 1
mv /usr /usr_old
mkdir /usr
mount -t ext4 /dev/vg_bloss/lv_usr /usr
reboot

Então, quando eu estou feliz que /usr parece intacto e se comportando normalmente, eu vou deletá-lo para liberar espaço em / .

Isso parece sensato?

    
por Kev 03.09.2012 / 13:02

2 respostas

2

Sua sequência de instruções parece correta, mas observe que eu apenas as observei, não as testei.

Como observado por outros, separar /usr não é suportado por todas as distribuições, e mesmo que seja oficialmente suportado agora, o suporte pode ser descartado porque há muito pouca demanda para ele com tamanhos de disco modernos. Por isso, não recomendo dividir /usr . Em vez disso, amplie o sistema de arquivos raiz.

Acredito que o VMware permite ampliar um disco existente. Então faça isso. Em seguida, crie uma nova partição no disco (primária ou lógica, como desejar); você pode usar fdisk ou gparted ou qualquer outra ferramenta de particionamento. Dê à partição o tipo 8e (Linux LVM). Digamos que a nova partição seja /dev/sda9 ; crie um volume físico nele e inclua-o no grupo de volumes existente:

pvcreate /dev/sda9
vgextend vg_bloss /dev/sda9

Em seguida, estenda o volume lógico e amplie o sistema de arquivos.

lvextend vg_bloss/lv_root /dev/sda9
resize2fs /dev/mapper/vg_bloss-lv_root

Se você não conseguir ampliar o disco, eu ainda recomendo aumentar o sistema de arquivos. Espalhar um sistema de arquivos em vários discos físicos geralmente é uma má idéia, porque se um dos discos quebrar, você perderá seus dados; aqui, sobre discos virtuais, não importa. Portanto, coloque o novo volume físico no grupo de volumes existente e aumente o volume lógico e o sistema de arquivos como acima.

    
por 05.09.2012 / 03:35
2

Não coloque / usr em um volume ou ponto de montagem próprio.

Acabamos de alterar nosso layout de sistema de arquivos padrão, onde anteriormente tínhamos / usr montado como LV separado.

Os problemas ficaram cada vez maiores, uma vez que o número de processos de inicialização que usam / usr está em constante crescimento. Existem até planos para eliminar / bin e / sbin em favor de / usr / bin e / usr / sbin.

Então nossa solução foi redimensionar / para um novo tamanho maior que / e / usr antes.

/ e / usr devem ser bastante estáticos, depois de instalar todos os rpms necessários.

    
por 04.09.2012 / 16:10