Miesięczne archiwum: Maj 2017

Wymiana dysku RAID 1

Założenia

Załóżmy że dysk w macierzy RAID już mamy wymieniony na nowy, chociaż przed wymianą wypadałoby odpiąć stary – ale o tym innym razem.

Dysk nowy / pusty -> /dev/sdb,

Dysk istniejący -> /dev/sda

Kopiowanie partycji

Na początku trzeba skopiować partycje. Jeśli nie wiemy jaką tablicę partycji posiadamy możemy użyć sfdisk -l. Jeśli rzuci błędem:

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util sfdisk doesn't support GPT. Use GNU Parted.

to znaczy że używamy GPT.

Tablica GPT

Dla tablicy GPT (czyli wszystko powyżej 2TB) należy użyć:

sgdisk -R=/dev/sdb /dev/sda

Spowoduje to skopiowanie partycji, następnie:

sgdisk -G /dev/sdb

aby zmienić identyfikatory GUID partycji, ponieważ powinny być jednoznaczne, a poprzednie polecenie skopiowało nam kompletną tablicę z wszystkimi identyfikatorami.

Tablica MBR

Dla MBR potrzebny jest następujący zestaw:

sfdisk -d /dev/sda | sfdisk /dev/sdb

oraz opcjonalnie:

sfdisk -R /dev/sdb

jeśli system nie wczytał automatycznie tablicy partycji na nowym dysku.

GRUB

Następnie wypada zainstalować gruba na nowym dysku:

grub-install /dev/sdb

Podpinanie partycji do macierzy

Najpierw sprawdzimy listę partycji, wywołując:

cat /proc/mdstat

Powinniśmy zobaczyć coś podobnego:

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md1 : active raid1 sda2[2] 
 523968 blocks super 1.2 [2/1] [U_]
 
md0 : active raid1 sda1[2] 
 16768896 blocks super 1.2 [2/1] [U_]

....

Następnie dla każdej z partycji wykonujemy:

mdadm /dev/md1 -a /dev/sdb2

podmieniając nr partycji / urządzeń wyczytane z wyników cat /proc/mdstat.

Po wykonaniu powyższego cat /proc/mdstat powinien dać podobny wynik:

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md1 : active raid1 sda2[2] sdb2[1]
 523968 blocks super 1.2 [2/2] [UU]
 
md0 : active raid1 sda1[2] sdb1[1]
 16768896 blocks super 1.2 [2/2] [UU]
 
md3 : active raid1 sda4[2] sdb4[1]
 2879277312 blocks super 1.2 [2/1] [_U]
 [>....................] recovery = 4.2% (121450880/2879277312) finish=413.1min speed=111251K/sec
 
md2 : active raid1 sda3[2] sdb3[1]
 33537920 blocks super 1.2 [2/1] [_U]
 resync=DELAYED
 
unused devices: <none>

Oznacza to że poszczególne partycje są synchronizowane. Polecenie pokazuje też szacowany czas potrzebny na synchronizację poszczególnych partycji. Jest on oczywiście ściśle uzależniony od wielkości partycji i aktualnego obciążenia systemu.

 

Migracja / synchronizacja plików

Migrację / synchronizację plików pomiędzy serwerami można wykonać za pomocą rsync. Wywołanie:

rsync -a --info=progress2 -e ssh <użytkownik>@<zdalny serwer>:<zdalny katalog> <lokalny katalog>

spowoduje skopiowanie wszystkich plików z zdalnego katalogu na zdalnym serwerze do lokalnego katalogu. Dodanie opcji –delete spowoduje usunięcie plików które nie istnieją na zdalnym serwerze.

Migracja poczty e-mail

Aby zmigrować wiadomości e-mail potrzebujemy imapsync oraz dostęp do obu skrzynek za pomocą protokołu IMAP

Przykładowa komenda:

imapsync --host1 <host źródłowy> --user1 <email źródłowy> --passfile1 <nazwa pliku z hasłem> --host2 <host docelowy> --user2 <email docelowy --passfile2 <nazwa pliku z hasłem do skrzynki docelowej>

Hasła przechowywane są w plikach aby uniknąć wpisywania ich bezpośrednio do wywołania (pojawiałby się później w historii)

Immutable

Nie możesz zmodyfikować plików / katalogów mimo odpowiednich uprawnień? Prawdopodobnie dany obiekt ma ustawioną flagę immutable. Możesz ją usunąć za pomocą:

chattr -i <katalog/plik>

oraz dodać za pomocą:

chattr +i <katalogplik>

Flagę immutable może ustawiać tylko root lub proces z odpowiednimi uprawnieniami.