# Wyświetlenie dysków
lsblk
# Wyświetlenie konfiguracji partycji na dyskach
fdisk -l
# Przygotowanie nowego dysku do pracy (z wykorzystaniem narzędzia fdisk)
fdisk /dev/sdx
– Utworzenie nowej partycji
n – new partition
p – primary
1 – partition number
default – first sector
default – last sector (tutaj możemy zdefiniować czy chcemy cały dysk)
+1G (utworzy partycję o rozmiarze 1GB)
w – write on disk
# Zamontowanie utworzonej partycji
– Poinformowanie systemu o nowej partycji w systemie
partprobe
– Sformatowanie partycji
mkfs -t ext4 /dev/sdxy
– Zamontowanie partycji (tymczasowo)
mount /dev/sdxy /dir
– Zamontowanie partycji (permanent)
nano /etc/fstab
/dev/sdxy /dir ext4 defaults 0 0
(dysk – punkt montowanie – filesystem – ustawienia – 0 oznacza, że system nie będzie robił dumpa, gdy padnie drugie 0 oznacza, że system nie będzie próbował naprawiać partycji)
Aby wprowadzone zmiany w tym pliku weszły w życie bez konieczności reboota należy wykonać:
mount -a
!! Warto wykonać montowanie przed rebootem. Jeżeli w fstab zrobiliśmy błąd po reboocie system nie wstanie. !!
# Odmontowanie partycji
umount /dev/sdxy
# Usunięcie partycji z dysku
fdisk /dev/sdx
d – partition delete
następnie podajemy numer partycji, jeżeli jest tylko jedna to usunie bez pytania jedyną
LVM
LVM – Local Volume Manager
fizyczny volumen (pv – physical volumen) – z niego utworzona -> grupa skupiająca kilka volumenów (vg – volumens group) – może może na niej być założony -> wolumen logiczny (lv – logical volumen).
Wolumen logiczny się montuje: /dev/vg_name/lv_name
wolumen logiczny
v leży na: v
grupa volumenów
v leży na: v
fizyczny wolumen
# Zwiększenie rozmiaru dysku
– Utworzenie wolumeny, który będzie wykorzystany w LVM
pvcreate /dev/partycja_utworzona
– Wyświetlenie grup dysków
vgdisplay
vgs
(operujemy na VG Name)
– Dodanie wolumenu do grupy (najpierw pvcreate)
vgextend nazwa_grupy /dev/partycja_utworzona
– Wyświetlenie informacji o wolumenach logicznych dostępnych w systemie oraz o snaphostach
lvdisplay
lvs
(operujemy na LV Path)
– Rozszerzenie danego wolumenu
lvextend -l +100%FREE LV_Path
l -> logiczny wolumen
+100%FREE -> cała wolna przestrzeń, która znajduje się w grupie
# Zwiększenie systemu plików o dodane wolumeny
resize2fs /dev/vg_name/lv_name
xfs_growfs /dev/mapper/ (wolumen dla filesystemu, można podejrzeć w /etc/fstab)
# Wykonanie snapshota (migawki)
lvcreate -s -n nazwa_snapshota -L wielkosc_snaphosta vg_name/lv_name
Wielkość snaphosta to jest pojemność „kontenera” na dane różnicowe. W tym momencie jest tworzony zrzut i wszystko co będzie modyfikowane od tego momentu będzie wrzucane do tego kontenera. Jeżeli przekroczymy ten rozmiar rozwali nam się backup – nie będzie można go odtworzyć. „nie można odczytać superbloku”
# Przywracanie plików ze snapshota
Dane fizycznie nie są kasowane, są oznaczone tylko jako skasowane.
mount /dev/vg_name/backup_name /mnt
# Kasowanie backupów
lvremove /dev/vg_name/backup_name
RAID
# Utworzenie RAIDa
mdadm –create /dev/md0 –level=1 –raid-devices=2 /dev/sdxy /dev/sdxz
Jeżeli robię partycje, ale nie mam jeszcze drugiego dysku:
mdadm –create /dev/md0 –level=1 –raid-devices=2 /dev/sdxy missing
# Sprawdzenie jakie RAIDy istnieją w systemie
cat /proc/mdstat
[UU] – dwa dyski, oba zupdatowane
_ – oznacza uszkodzony dysk, brak dysku
(F) – dysk oznaczony jako fail
# Sprawdzenie statusu macierzy
mdadm –detail /dev/md0
mdadm –detail –scan
Tworzenie FS i montowanie tak samo jak w przypadku pojedynczego dysku, tylko pracujemy na /dev/md0.
System plików na takich partycjach ustawiamy na Linux RAID autodetect.
# Zapisanie macierzy (aby była dostępna po restarcie)
mdadm –detail –scan > /etc/mdadm.conf
# Podejrzenie informacji o dysku wchodzącym w skład RAIDa
mdadm -E /dev/sdx
# Zwiększenie rozmiaru partycji
mdadm –grow –size=max /dev/md0
Zwiększenie FS tak jak w przypadku LVM.
# Zmniejszenie rozmiaru partycji
mdadm –grow –size=524228 /dev/md0
size podajemy jaka wielkość ma zostać, wyrażona w kB
# Wymiana uszkodzonego dysku
— Zweryfikowanie który dysk padł
journalctl -k -f
szukamy info o „Disk failure”, raid, md itp.
— Oznaczenie statusu uszkodzonego dysku jako failed
mdadm –manage /dev/md0 –fail /dev/sdd
— Sprawdzenie czy dobrze oznaczyło
mdadm –detail /dev/md0
— Usunięcie uszkodzonego dysku z macierzy
mdadm –manage /dev/md0 –remove /dev/sdxy
— Dodanie nowego dysku do macierzy
mdadm –manage /dev/md0 –add /dev/sdf
mdadm /dev/m0 -a /dev/sdx
Po dodaniu RAID automatycznie zacznie kopiowanie danych. Po zakończeniu oznaczy dyski jako „active sync”
# Naprawa uszkodzonego dysku
— Sprawdzenie uszkodzonego dysku
echo check > /sys/block/md0/md/sync_action
Należy w pliku poszukać informacji o błędnej synchronizacji dysku.
/sys/block/md0/md/mismatch_cnt –> jeżeli mismatch_cnt nie jest 0 tzn że RAID potrzebuje naprawy
— Naprawa dysków w macierzy
echo repair > /sys/block/md0/md/sync_action
# Skasowanie RAID
mdadm -S /dev/md0s [zatrzymuje]
# Odtworzenie RAID po awarii (np. serwera)
Odbuduj już istniejącą macierz raidową złączoną z partycji, które sam znajdziesz:
mdadm -A –scan –uuid=uuid_macierzy_ktora_zwrocilo_E
# Zmiana dysków w RAIDzie na większe
Mieliśmy RAIDa, ale dokupione są nowe, większe dyski więc robimy podmiankę.
1. Sprawdzamy czy macierz jest zsynchronizowana
cat /proc/mdstat
musi być zsynchronizowana [UU], w przeciwnym razie NIE WOLNO RUSZAĆ MACIERZY
2. Wybieramy jeden dysk i go fałlujemy
mdadm /dev/md0 –fail /dev/sdx
3. Wypinamy go
mdadm /dev/m0 –remove /dev/sdx
4. Sprawdzamy czy go wywaliło
cat /proc/mdstat
5. Dodanie dysku do macierzy
mdadm /dev/md0 -a /dev/sdy
6. Sprawdzamy czy dodało i czy zsynchronizowało
cat /proc/mdstat
7. Wypinamy drugi dysk
mdadm /dev/md0 –fail /dev/sdy
mdadm /dev/md0 –remove /dev/sdy
8. Wpinamy drugi
mdadm /dev/md0 -a /dev/sdz
9. Zmiana rozmiaru na nową pojemność (rośnij tyle ile możesz)
mdadm –grow /dev/md0 –size=max
10. Przeskalowanie filesystemu
resize2fs /dev/md0