Como posso colocar / tmp, / var, / opt e / usr / local em uma partição / data em vez da partição /?

1

Eu quero particionar um servidor CentOS 6.5 que possui 4 VDs RAID:

  • sdb - 102398 (100 GB)
  • sdc - 2185727 (2TB)
  • sdd - 11440639 (11 TB)
  • sde - 11440639 (11 TB)

Para que eu possa ter a maioria do espaço em disco como uma única partição ( / data ). Eu quero que uma única partição grande inclua / tmp , / var , / opt e / usr / local . Eu quero que a partição / inclua o restante do sistema operacional. O objetivo é ter os dados voláteis do / data armazenamento de partições ( / tmp , / var , etc.), bem como dados e aplicativos do usuário ( / opt , / usr / local , / home , etc.) como links simbólicos (por exemplo, / tmp - > / data / tmp) ou ligar montagens (por exemplo, em / etc / fstab: / data / tmp / tmp nenhuma ligação 0 0). Eu considerei particionamento como:

O particionamento padrão do CentOS durante a instalação sempre inclui / tmp no sistema de arquivos / . Por favor note : Eu não quero / tmp , / var , etc. como sistemas de arquivos separados. Dada minha configuração RAID e tamanhos de disco, estou assumindo que a partição / data precisaria ser uma partição LVM xfs , certo?

Alguém pode me dizer como posso conseguir isso? Eu tentei inicializar como usuário único e fazer montagens de ligação acima, mas a reinicialização falhou com problemas ao visualizar / var . Talvez a abordagem de ligação simbólica funcionasse, mas neste momento estou esperando por algum conselho especializado!

    
por Steve Amerige 14.07.2014 / 14:06

1 resposta

2

Com base nos seus comentários, sugiro que:

Use seu controlador RAID de hardware para criar um volume espelhado (RAID 1) para o sistema operacional. Este volume deve ser designado como sua unidade de inicialização nas configurações da BIOS. Com muitos controladores / drivers RAID, esse volume aparecerá como /dev/sda em seu sistema CentOS.

Se as unidades restantes também estiverem conectadas ao seu controlador RAID, você poderá usá-las para criar um volume JBOD (sem redundância e 1 unidade morrendo destruirá todos os dados), que aparecerá como /dev/sdb . Caso contrário, as outras unidades simplesmente aparecerão como unidades individuais no CentOS. Estes serão /dev/sdb /dev/sdc etc.

Como você deseja ter um mínimo de espaço em disco atribuído ao sistema operacional e todo o restante do volume de dados, particionarei / dev / sda da seguinte forma

/dev/sda 
    sda1 - 250 MB - ext3 - /boot  (I still find a separate boot partition useful)
    sda2 - 2-5 GB - ext4 - /      (this may also be a LVM physical volume for vg_root VG)
    sda3 - ???    - swap - (when using LVM merge with the vg_root Volume Group)     
    sda4 - all remaining space - physical volume for a vg_data Volume Group
/dev/sdb
    sdb1 - all space - physical volume for a vg_data Volume Group
/dev/sdc
    sdc1 - all space - physical volume for a vg_data Volume Group

vg_root 
   lv_root - 2-5 GB - ext4 - /
   lv_swap - ??? <swap>
vg_data
   lv_data - 20 TB? - ext4 - /data

Note que, como você especificou, / data morrerá rapidamente quando apenas um dos discos componentes morrer.

O truque aqui é atribuir também o espaço restante do disco de inicialização ao seu grupo de volumes de dados, dando a ele o máximo de espaço.

Agora, se seus aplicativos e usuários não cumprirem as configurações de $ TEMPDIR , basta mover /tmp para /data/tmp e criar um link simbólico em vez de ln -s /data/tmp /tmp . O mesmo com qualquer outra coisa que você queira realocar.

É melhor fazer isso na seção de pós-instalação de um script de kickstart ou no modo de usuário único depois de concluir a instalação.

N.B. Eu posso ver um ponto para mover / var / tmp para / data / tmp também, mas não para mover todo o / var lá. Por design / data é o seu armazenamento mais confiável e você pretende permitir que usuários e aplicativos preencham completamente esse espaço também ...

    
por 14.07.2014 / 16:57