Jaime Silva Posted August 9, 2015 Share Posted August 9, 2015 O presente tutorial ensina como converter a partição root de um servidor CentOS 6.x em produção para RAID 1 via software e já foi usado pelo autor em pelo menos 4 servidores, os quais também tem o cPanel instalado. Importante: caso use o CloudLinux, será necessário desistalá-lo e em seguida reiniciar o servidor. Após o procedimento de conversão para RAID, você poderá reinstalá-lo. Este tutorial baseia-se nas seguintes premissas: 1º O sistema operacional não tem uma partição separada para /boot2º A partição root está em /dev/sda1 e a partição do disco secundário a ser usada para espelhamento é /dev/sdb13º Caso use um layout de particionamento diferente, você saberá adaptar este tutorial para as particularidades do seu caso 1. Particione o disco secundário de acordo com sua preferência, porém a partição que será usada como espelho - no nosso caso /dev/sdb1 - deverá ter exatamente o mesmo tamanho em bytes que a partição do sistema - no nosso caso /dev/sda1.Se quiser copiar o layout do disco primário para o secundário, execute:sfdisk -d /dev/sda | sfdisk --force /dev/sdb 2. Crie o dispositivo RAID. Certifique-se de usar o parâmetro “--metadata=0.9″ para garantir que o carregador de boot GRUB funcione:mdadm --create --verbose /dev/md0 --metadata=0.9 --level=1 --raid-devices=2 missing /dev/sdb1 a - Execute cat /proc/mdstat e verifique se a saída do comando será algo comoPersonalities : [raid1]md0 : active raid1 sdb1[1] 33554368 blocks [2/2] [UU] unused devices: <none> b - Crie um arquivo mdadm.conf com a configuração do RAID atual:mdadm --examine --scan >> /etc/mdadm.conf 3. Crie o sistema de arquivos no novo dispositivo RAID:mkfs.ext4 -L 'root' /dev/md0 4. Edite o arquivo /etc/fstab e mude a partição root do sistema operacional (possivelmente a partição atual é /dev/sda1 ou UUID=abcd1234-ef56-ab78-cd12-abcdef123456) para algo como:/dev/md0 / ext4 usrjquota=quota.user,jqfmt=vfsv0 1 1 5. Atualize o initrd e reconstrua o initramfs (faremos uma cópia para o caso de termos algum problema):cp -pf /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bkpdracut --mdadmconf --add-drivers "raid1 raid0" --filesystems "ext4 ext3 swap tmpfs devpts sysfs proc" --force /boot/initramfs-$(uname -r).img $(uname -r) 6. Edite o menu de boot do GRUB (/boot/grub/grub.conf ou /boot/grub/menu.lst) e atualize a informação sobre a nova partição root, que deve ficar algo como: title CentOS (2.6.32-573.1.1.el6.x86_64) root (hd0,0) kernel /boot/vmlinuz-2.6.32-573.1.1.el6.x86_64 ro root=/dev/md0 nomodeset rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_LVM rhgb quiet initrd /boot/initramfs-2.6.32-573.1.1.el6.x86_64.img a - Mude a partição root de root=/dev/sda1 ou root=UUID=abcd1234-ef56-ab78-cd12-abcdef123456 para root=/dev/md0b - Apague qualquer um destes parâmetros de boot: rd_NO_DM rd_NO_MD rn_NO_DM rn_NO_MD Possivelmente deve ter mais de um sistema operacional na lista mas você deve editar apenas o primeiro. 7. Monte o nova partição do sistema em RAID e faça cópia dos arquivos do sistema:mkdir /raid && mount /dev/md0 /raidrsync -aAxXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/raid"} / /raid O último comando acima exclui a cópia de arquivos dos diretórios /dev, /sys, /proc, /tmp e do próprio ponto de montagem da partição RAID e não copia arquivos de outras partições. Ele copia permissões, proprietários, links simbólicos, dispositivos, ACLs e atributos extendidos. Recomendações:a. Faça cópia de todos os bancos de dados MySQL: mysqldump -u root --all-databases > /backup/todos_bancos_dados.sqlb. Use o rsync no diretório MySQL quando o servidor SQL estiver parado para evitar (?) corrupção de tabelas do tipo InnoDB:service mysql stoprsync -av /var/lib/mysql /raid/var/lib 8. Instale o GRUB na MBR (ou GPT) do disco secundário:grubgrub> root (hd1,0)grub> setup (hd1)grub> quit 9. Reinicie o sistema operacional:shutdown -r now 10. Se ocorreu tudo bem e o sistema iniciou, adicione a partição do disco primário ao RAID (a antiga partição do sistema):mdadm --add /dev/md0 /dev/sda1 Antes, porém, recomendo que faça backup. Digamos que esta partição é /dev/sda1 e haja espaço numa outra partição montada em /backup:mkdir /mnt/sda1 && mount /dev/sda1 /mnt/sda1rsync -avAX /mnt/sda1 /backup 11. Acompanhe o processo de cópia do disco em RAID e somente siga para o passo final quando o espelhamento estiver completo:cat /proc/mdstat 12. Recrie o carregador de boot no disco primário:grubgrub> root (hd0,0)grub> setup (hd0)grub> quit Importante: Se o sistema operacional não reiniciar,1. Entre no modo de recuperação (Rescue Mode na OVH e Hetzner)2. Monte a partição do sistema: /mount /dev/sda1 /media3. Edite o arquivo /media/etc/fstab e coloque a partição primária como sendo novamente /dev/sda1.4. Edite também /media/boot/grub/grub.conf e mude:a. root=/dev/md0 para root=/dev/sda1b. restaure o arquivo initramfs: mv -vf /media/boot/initramfs-$(uname -r).bkp /media/boot/initramfs-$(uname -r).img5. Saia do modo de recuperação e inicie o CentOS novamente. 0 Quote Não há bem nem mal que dure para sempre. Um dia tudo acaba. Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.