Remover RAID do servidor


Primeiramente gostaria de salientar que não sou o autor principal do conteúdo deste artigo. A minha intenção é de mostrar o que outros autores tem realizado (referenciando links para o conteúdo original) neste blog até como um guia pessoal para uso próprio e ainda compartilhar minhas anotações e pequenas modificações que realizo no conteúdo, desejando que possa ajudar mais alguém em algum lugar.
First and foremost, I take no credit for any of this post’s content. I am really just taking what others have done (which I have links to bellow) and am putting it on my blog for a personal reference and hopefully the small changes that I made to their guides will help someone somewhere.


link: http://www.ducea.com/2009/03/08/mdadm-cheat-sheet/

A idéia é remover um disco do RAID e torná-lo o único disco do servidor copiando todo o conteúdo para ele e removendo os demais discos.


Primeiro vamos ver o status do RAID como comando:
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md2 : active raid5 sda4[0] sdc4[2] sdb4[1]
957024000 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
md1 : active raid5 sda3[0] sdb3[1] sdc3[2]
429995648 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
md0 : active raid1 sda1[0] sdb1[1] sdc1[2](S)
34178176 blocks [2/2] [UU]
unused devices: <none>

Outros detalhes:
sudo mdadm --detail /dev/md0
sudo mdadm --detail /dev/md1
sudo mdadm --detail /dev/md2


Depois force uma falha no disco escolhido e remova ele do RAID:
sudo mdadm /dev/md0 --fail /dev/sdc1 --remove /dev/sdc1
sudo mdadm /dev/md1 --fail /dev/sdc3 --remove /dev/sdc3
sudo mdadm /dev/md2 --fail /dev/sdc4 --remove /dev/sdc4
sudo mdadm --zero-superblock /dev/sdc1
sudo mdadm --zero-superblock /dev/sdc3
sudo mdadm --zero-superblock /dev/sdc4

Verifique como ficou o RAID:
cat /proc/mdstat

Certifique-se dos nomes dos discos:
sudo sfdisk -l /dev/sdc

e com o comando abaixo:
df

Formate o disco removido para ficar como um novo disco (ele tem 91201 cilindros):
sudo dd if=/dev/zero of=/dev/sdc bs=512 count=1 conv=notrunc
sudo sfdisk -l /dev/sdc
sudo sfdisk --force /dev/sdc << EOF 
0,90600,L,*
,,S
;
;
EOF
sudo partprobe /dev/sdc
sudo mkfs.ext4 /dev/sdc1
sudo mkswap /dev/sdc2

DICA: Ou utilize o gparted e escolha uma tabela de particao do tipo GPT ao inves de MSDOS.
Copie o conteúdo dos discos atuais para o novo disco:
sudo mkdir -p /mnt/newdisk/
sudo mount /dev/sdc1 /mnt/newdisk/
sudo rsync -Wavx --delete --force --progress / /mnt/newdisk/
sudo mkdir -p -m 777 /mnt/newdisk/home
sudo rsync -Wavx --delete --force --progress /home /mnt/newdisk
sudo mkdir -p -m 755 /mnt/newdisk/srv
sudo rsync -Wavx --delete --force --progress /srv /mnt/newdisk

Modifique o arquivo fstab do novo disco:
ls /dev/disk/by-uuid -alh
lrwxrwxrwx 1 root root 9 2012-03-25 15:39 0bdd2b74-a640-4694-a76d-93461fe97d43 -> ../../md1 
lrwxrwxrwx 1 root root 10 2012-03-25 15:39 509e88ff-61e9-484a-8934-b882c7a29487 -> ../../sda2 
lrwxrwxrwx 1 root root 10 2012-03-25 15:48 625ac285-0db1-45cf-8435-7ebb10d4784f -> ../../sdc1 
lrwxrwxrwx 1 root root 10 2012-03-25 20:50 54a5ce15-8c60-4e1a-8ef5-306014b5b3be -> ../../sdc2
lrwxrwxrwx 1 root root 9 2012-03-25 15:39 89fd4236-6f14-4358-bba9-635a06e2289a -> ../../md0 
lrwxrwxrwx 1 root root 10 2012-03-25 15:39 dd022368-617a-4d02-ba67-820958d094c3 -> ../../sdb2 
lrwxrwxrwx 1 root root 9 2012-03-25 15:39 df2b1121-9fa3-4fbb-baa1-90ce6b3f7dd7 -> ../../md2 

sudo gedit /mnt/newdisk/etc/fstab
proc            /proc           proc    defaults        0       0
UUID=625ac285-0db1-45cf-8435-7ebb10d4784f /               ext3    relatime,errors=remount-ro 0       1
UUID=54a5ce15-8c60-4e1a-8ef5-306014b5b3be none            swap    sw,pri=1              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec,utf8 0       0

# NFS shares
192.168.1.13://mnt/pools/A/A0/Server  /srv/storage  nfs   rw,hard,intr      0     0
192.168.1.13://mnt/pools/A/A0/apt-mirror  /srv/apt-mirror  nfs   rw,hard,intr      0     0

Agora instale o grub2 neste novo disco:
sudo mount --bind /dev /mnt/newdisk/dev
sudo mount -t proc proc /mnt/newdisk/proc
sudo mount -t sysfs sysfs /mnt/newdisk/sys
sudo chroot /mnt/newdisk
sudo update-grub
sudo grub-install --force /dev/sdc

Reinicie o computador pelo novo disco.

Verifique os arrays restantes:
cat /proc/mdstat

Depois de copiar o conteúdo para o disco removido do RAID desconfigure o RAID totalmente:
sudo umount -l /dev/md0
sudo mdadm --stop /dev/md0
sudo mdadm --remove /dev/md0
sudo umount -l /dev/md1
sudo mdadm --stop /dev/md1
sudo mdadm --remove /dev/md1

sudo umount -l /dev/md2
sudo mdadm --stop /dev/md2
sudo mdadm --remove /dev/md2
sudo mdadm --zero-superblock /dev/sdb
sudo mdadm --zero-superblock /dev/sda

Se quiser instalar o Ubuntu diretamente de outro ubuntu voce pode utilizar da tecnica descrita em: https://help.ubuntu.com/community/Installation/FromLinux

1 - crie uma particao com espaco suficiente = 1GB
2 - faca o download do iso do livecd
3 - copie o conteudo do livecd para esta nova particao com os comandos
 mkdir /tmp/install_cd
 mkdir /tmp/installer

 sudo mount ubuntu-11.10-desktop-amd64.iso -o loop /tmp/install_cd
 sudo mount /dev/sda2 /tmp/installer

 sudo rsync -a /tmp/install_cd/ /tmp/installer

 sudo umount /tmp/install_cd
 sudo umount /tmp/installer
4 - instale o grub neste novo disco - arquivo /etc/grub.d/40_custom
menuentry "installer" {
        insmod ext2
        set root=(hd0,2)
        linux /casper/vmlinuz boot=casper root=/dev/ram1 ramdisk_size=1048576 rw
        initrd /casper/initrd.lz
}
Note that Grub 2 counts drives from 0, but partitions from 1, so /dev/sda1 becomes (hd0,1).


O URL específico do gadget não foi encontrado



Comments