Mover / var para fundir fs em pool

1

Parece haver várias perguntas sobre mover /var para outro diretório ou outra partição ou dispositivo. O que eu gostaria de fazer é movê-lo para um fs com fusível.

Meu objetivo: Instalar o servidor Linux em um USB e ter um fusível fs para gerenciar os JBODs montados. Mas eu gostaria de mover /var para o pool de armazenamento porque muitas pessoas avisam contra muitas gravações no USB, diminuindo assim sua vida útil. Se eu mover /var para o conjunto /storage anexado, a vida útil dos bastões será muito aumentada.

O problema é quando eu adicionei uma montagem de ligação ao meu /etc/fstab apontando /storage/var to /var , o sistema operacional pendurado na reinicialização. Eu tive que ir para o modo de recuperação para reverter minhas alterações.

Aqui estava meu /etc/fstab antes de recuperá-lo.

# SnapRAID Dsks
/dev/disk/by-id/ata-abc-part1  /mnt/data/disk1 ext4 defaults 0 2
/dev/disk/by-id/ata-def-part1  /mnt/data/disk2 ext4 defaults 0 2
/dev/disk/by-id/ata-ghi-part1  /mnt/data/disk3 ext4 defaults 0 2
/dev/disk/by-id/ata-jkl-part1  /mnt/data/disk4 ext4 defaults 0 2

# Parity Disks
/dev/disk/by-id/ata-lmn-part1  /mnt/data/disk5 ext4 defaults 0 2


# MergerFS 
/mnt/data/* /storage fuse.mergerfs category.create=eplfs,defaults,allow_other,minfreespace=20G,fsname=mergerfsPool 0 00

# bind mount
/storage/var  /var   ext4    defaults    0 0

Isso é impossível ou devo vincular diretamente a montá-lo em um disco diretamente?

    
por z-vap 08.09.2016 / 17:42

1 resposta

0

Em vez de mover / var para o pool, uma solução melhor seria mover / var para o tmpfs. Depois de ler this de Chris Newland, eu vou com mover / var para tmpfs e adicionando noatime na unidade de instalação raiz.

# /etc/fstab: static file system information. 
# <file system> <mount point>   <type>  <options>                   <dump>  <pass> 
proc            /proc           proc    defaults                      0       0 
/dev/sda1       /               ext2    noatime,errors=remount-ro     0       1 
tmpfs           /tmp            tmpfs   defaults,noatime              0       0 
tmpfs           /var/log        tmpfs   defaults,noatime              0       0 
tmpfs           /var/tmp        tmpfs   defaults,noatime              0       0 
tmpfs           /var/run        tmpfs   defaults,noatime              0       0 
tmpfs           /var/spool      tmpfs   defaults,noatime              0       0 
tmpfs           /var/lock       tmpfs   defaults,noatime              0       0 
tmpfs           /var/cache      tmpfs   defaults,noatime              0       0

Eu também segui com configurações adicionais devido a alguns programas reclamando sobre não ter um lugar temp para escrever (também da página de Chris Newland) ...

Isso garante que apache2, postgresql e debconf operem corretamente quando /var/log e /var/cache estiverem montados em um sistema de arquivos tmpfs:

# Put these commands into /etc/init.d/make-tmpfs-dirs 

#!/bin/sh 
mkdir /var/cache/debconf 

mkdir /var/log/apache2 
chown root:adm /var/log/apache2 
chmod 750 /var/log/apache2 

mkdir /var/log/postgresql 
chown root:postgres /var/log/postgresql 
chmod 774 /var/log/postgresql 
exit 0

Agora, torne esse executável:

chmod u+x /etc/init.d/make-tmpfs-dirs

... link para o script make-tmpfs-dirs a partir do diretório rc.d runlevel correto

cd /etc/rc2.d 
ln -s ../init.d/make-tmpfs-dirs S02make-tmpfs-dirs

Finalmente, em vez de nos livrarmos do swap, reconfigure para que ele não seja usado até que seja absolutamente necessário (quando estou ficando sem memória):

Para alterar o valor do swappiness do sistema no Ubuntu, abra /etc/sysctl.conf como root. Em seguida, altere ou adicione essa linha ao arquivo:

vm.swappiness = 10
    
por 24.09.2016 / 17:21

Tags