Vamos ver o quão flexível é o raid criado pelo mdadm. Iremos retirar os 3 discos que fazem parte do nosso array no ubuntu e conectá-los ao CentOS.
Obs.: Deduzimos aqui que o mdadm já esteja instalado no CentOS.
Como está Atualmente nosso Ubuntu
Ubuntu: Temos os seguintes dispositivos
elder@ubuntu:~/meuRaid1$ lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT sda └─sda1 ext4 hdPrincipal 060e460d-9ae2-41ac-bb4f-473c8438c0ba / sdb └─sdb1 linux_raid_member ubuntu:0 3445794a-0113-23c0-d60d-fe5354bce7b4 └─md0 ext4 7bfdc3fb-9599-4f2a-a74a-c9814e3c2e1a /home/elder/meuRaid1 sdc └─sdc1 linux_raid_member ubuntu:0 3445794a-0113-23c0-d60d-fe5354bce7b4 └─md0 ext4 7bfdc3fb-9599-4f2a-a74a-c9814e3c2e1a /home/elder/meuRaid1 sdd └─sdd1 linux_raid_member ubuntu:0 3445794a-0113-23c0-d60d-fe5354bce7b4 └─md0 ext4 7bfdc3fb-9599-4f2a-a74a-c9814e3c2e1a /home/elder/meuRaid1 sr0
Acima vemos que temos 3 partições: sdb1, sdc1 e sdd1. Todas fazem parte do array. Teremos que desligar nosso computador ubuntu e retirar os discos e inseri-los dentro do outro computador com o CentOS.
Ubuntu: Temos raid1 que será movido para o CentOS.
veja como detalhes atuais do nosso raid
elder@ubuntu:~$ sudo mdadm --detail /dev/md0 [sudo] senha para elder: /dev/md0: Version : 1.2 Creation Time : Wed Aug 12 15:53:15 2020 Raid Level : raid1 Array Size : 49152 (48.00 MiB 50.33 MB) Used Dev Size : 49152 (48.00 MiB 50.33 MB) Raid Devices : 2 Total Devices : 3 Persistence : Superblock is persistent Update Time : Fri Aug 21 11:40:34 2020 State : clean Active Devices : 2 Working Devices : 3 Failed Devices : 0 Spare Devices : 1 Consistency Policy : resync Name : ubuntu:0 (local to host ubuntu) UUID : 3445794a:011323c0:d60dfe53:54bce7b4 Events : 26 Number Major Minor RaidDevice State 0 8 17 0 active sync /dev/sdb1 1 8 33 1 active sync /dev/sdc1 2 8 49 - spare /dev/sdd1
Possuimos 3 dispositivos. O sdb1 e sdc1 estão espelhados. O sdd1 é um dispositivo reserva(spare).
Ubuntu: Criamos alguns arquivos dentro raid
elder@ubuntu:~/meuRaid1$ ls arquivos0.txt arquivos2.txt arquivos4.txt lost+found arquivos1.txt arquivos3.txt arquivos5.txt texto01.txt
Como está Atualmente nosso CentOS 8
O CentOs, versão 8, foi previamente instalado.
CentOS: Não contém array criado, conforme conteúdo do /proc/mdstat abaixo:
[elder@empresa200 ~]$ cat /proc/mdstat Personalities : unused devices: <none>
Temos os seguintes discos
[elder@empresa200 ~]$ lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 ext4 c2b298dd-2cd7-4e45-8e42-872322cb077f /boot └─sda2 LVM2_member OhwQVZ-6h9i-nqAZ-Vfsg-3glR-sihd-8WIAR7 ├─cl-root xfs f1996747-6d88-47c7-9aa1-f63fb4d7ddcf / └─cl-swap swap a5be8d7e-769f-41dc-9139-3840256b8844 [SWAP]
Movendo os 3 Discos do Ubuntu para o CentOS
- Desconectei os cabos dos 3 discos do Ubuntu e Conectei no CentOS. Bom, logicamente que é apenas uma simulação, um faz de contas, já que estou usando virtualbox.
- O CentOS.O que antes estava assim
[elder@empresa200 ~]$ lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT sda +-sda1 ext4 c2b298dd-2cd7-4e45-8e42-872322cb077f /boot +-sda2 LVM2_member OhwQVZ-6h9i-nqAZ-Vfsg-3glR-sihd-8WIAR7 +-cl-root xfs f1996747-6d88-47c7-9aa1-f63fb4d7ddcf / +-cl-swap swap a5be8d7e-769f-41dc-9139-3840256b8844 [SWAP]
Agora está assim. Veja abaixo em laranja que os 3 discos foram reconhecidos pelo kernel. Outro detalhe é que o array que no ubuntu estava como md0 está agora como md126. Mas isso não interfere no funcionamento
[elder@empresa200 ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 8G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 7G 0 part ├─cl-root 253:0 0 6,2G 0 lvm / └─cl-swap 253:1 0 820M 0 lvm [SWAP] sdb 8:16 0 50M 0 disk └─sdb1 8:17 0 49M 0 part └─md126 9:126 0 48M 0 raid1 sdc 8:32 0 50M 0 disk └─sdc1 8:33 0 49M 0 part └─md126 9:126 0 48M 0 raid1 sdd 8:48 0 50M 0 disk └─sdd1 8:49 0 49M 0 part └─md126 9:126 0 48M 0 raid1
- Vemos usar “sudo mdadm detail scan” para pesquisarmos se há algum array. Veja que marquei de laranja a parte que diz que está inativo o array.
[elder@empresa200 ~]$ sudo mdadm --detail --scan ARRAY /dev/md/ubuntu:0 metadata=1.2 spares=1 name=ubuntu:0 UUID=514b4e53:b2e0af33:586582ff:a3c81adc
Olhando o arquivo /proc/mdstat
[elder@empresa200 ~]$ cat /proc/mdstat Personalities : [raid1] md126 : active raid1 sdd1[2](S) sdc1[1] sdb1[0] 49152 blocks super 1.2 [2/2] [UU] unused devices: <none>
Veja acima que o sdd1 está com o (S) que indica que ele é um spare(disco reserva)
- Vamos criar a pasta /work/raid
[elder@empresa200 ~]$ sudo mkdir -p /work/raid
- Apague o arquivo /etc/mdadm/mdadm.conf
[elder@empresa200 ~]$ sudo rm /etc/mdadm/mdadm.conf
- Insira os detalhes do nosso novo raid dentro de “/etc/mdadm/mdadm.conf” usando “sudo mdadm detail scan | sudo tee -a /etc/mdadm/mdadm.conf”
[elder@empresa200 ~]$ sudo mdadm --detail --scan --verbose | sudo tee -a /etc/mdadm/mdadm.conf ARRAY /dev/md/ubuntu:0 metadata=1.2 spares=1 name=ubuntu:0 UUID=514b4e53:b2e0af33:586582ff:a3c81adc
- Agora iremos montar o raid
[elder@empresa200 ~]$ sudo mount /dev/md126 /work/raid/
- Veja que os arquivos, criados no Ubuntu, estão dentro do array
[elder@empresa200 ~]$ ls /work/raid/ arquivos1.txt arquivos2.txt arquivos3.txt arquivos4.txt arquivos5.txt lost+found
Inserindo o Dispositivo do Array dentro do /etc/fstab para que seja Montado Automaticamente durante o boot
- Veja qual o uuid de /dev/md126. Execute “blkid -o list”
[elder@empresa200 ~]$ blkid -o list device fs_type label mount point UUID ------------------------------------------------------------------------------------------------------- /dev/mapper/cl-root xfs / f1996747-6d88-47c7-9aa1-f63fb4d7ddcf /dev/sda2 LVM2_member (não montado) OhwQVZ-6h9i-nqAZ-Vfsg-3glR-sihd-8WIAR7 /dev/sda1 ext4 /boot c2b298dd-2cd7-4e45-8e42-872322cb077f /dev/sdb1 linux_raid_member ubuntu:0 (não montado) 514b4e53-b2e0-af33-5865-82ffa3c81adc /dev/sdc1 linux_raid_member ubuntu:0 (não montado) 514b4e53-b2e0-af33-5865-82ffa3c81adc /dev/sdd1 linux_raid_member ubuntu:0 (não montado) 514b4e53-b2e0-af33-5865-82ffa3c81adc /dev/mapper/cl-swap swap [SWAP] a5be8d7e-769f-41dc-9139-3840256b8844 /dev/md0 ext4 (não montado) ae6fbd34-57b6-4f38-a374-6f947597fa7d /dev/sr0 (não montado)
- Com o seu editor de texto preferido insira a seguinte linha dentro de /etc/fstab. Usarei o editor vim
[elder@empresa200 ~]$ sudo vim /etc/fstab
meu arquivo /etc/fstab ficou assim. Acrescentei a linha em laranja.
# /etc/fstab # Created by anaconda on Mon Aug 17 09:49:39 2020 # # Accessible filesystems, by reference, are maintained under '/dev/disk/'. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. # # After editing this file, run 'systemctl daemon-reload' to update systemd # units generated from this file. # /dev/mapper/cl-root / xfs defaults 0 0 UUID=c2b298dd-2cd7-4e45-8e42-872322cb077f /boot ext4 defaults 1 2 /dev/mapper/cl-swap swap swap defaults 0 0 UUID=ae6fbd34-57b6-4f38-a374-6f947597fa7d /work/raid ext4 defaults 0 0 0
Cuidado ao editar /etc/fstab! qualquer palavra errada fará com que o sistema não inicialize.
Conclusão
É bem fácil mudar os discos de um array de entre computadores. Logicamente que esse artigo pode fazer parecer confuso mas isso é apenas porque tentamos detalhar os passos a passos.
Só tenha cuidado ao editar o /etc/fstab e também ao copiar o uuid do dispositivo array. Os campos do uuid têm que estar separados por tracos(-) e não dois pontos( : )