Często zachodzi potrzeba dodania do istniejącego systemu plików kolejnej partycji w momencie, kiedy na istniejących dyskach twardych nie ma już wolnego miejsca. Wtedy do serwera musimy dołożyć kolejny, fizyczny dysk twardy i podłączyć go do istniejącego systemu.
1. Weryfikacja podłączonych urządzeń dyskowych
Na początku zweryfikujemy jakie urządzenia dyskowe mamy podłączone do serwera i jakie partycje są na nich pozakładane. Do tego celu posłużą nam dwa polecenia.
Pierwsze wyświetli nam wszystkie urządzenia, które mogą być urządzeniami dyskowymi,
ls /dev/xvd*
lub ls /dev/sd*
a drugie, blkid
, wyświetli partycje, które są na nich założone.
W zależności od tego jakiego typu urządzenia dyskowe mamy podłączone – czy wirtualne (i tu też jest podziała na parawirtualizację i HVM) czy fizyczne oznaczenia będą się różniły. Jeżeli nie wiemy jakiego typu jest serwer to wykonajmy oba i przeanalizujmy wyniki. Więcej o nazewnictwie można przeczytać tu: Device Naming on Linux Instances.
W powyższym przykładzie widać, że mamy połączone jedno urządzenie (wirtualne HVM) xvda
i oraz, że założone są na nim dwie partycje xvda1
i xvda2
.
Wyniki obu poleceń warto zapamiętać / zanotować.
2. Podłączenie nowego dysku i utworzenie partycji
Teraz należy wyłączyć (lub jeżeli mammy dyski hot-swap nie będzie takiej potrzeby) serwer i podłączyć nowy dysk twardy.
Po uruchomieniu systemu ponownie sprawdzamy jakie urządzenia dyskowe są podłączone i co się nam zmieniło.
W naszym przykładzie widzimy, że pojawił się nowy dysk o identyfikatorze xvdb
ale bez żadnych, założonych na nim, partycji. Wyniki polecenia i identyfikatory nowo podłączonych dysków także warto zapamiętać lub zanotować.
Kolejnym krokiem będzie utworzenie na tym dysku partycji logicznej. W tym celu posłużymy się poleceniem fdisk
(w naszym przykładzie będzie to fdisk /dev/xvdb
). Kolejne czynności i związane z nimi opcje polecenia fdisk
są nastepujące:
p – wyświetla informacje o aktualnych partycjach na dysku
n – tworzy nowa partycję (możemy określić jej wielkość – domyślne wartości utworzą partycję o rozmiarze takim jaką pojemność ma dodany dysk)
w – zapisujemy zmiany
Kolejny raz sprawdzamy jakie urządzenie pojawiło się nam w katalogu urządzeń,
i widzimy ze pojawiła sie nowa partycja xvdb1
(czyli pierwsza (i jedyna) partycja na dysku xvdb
).
Każda partycja musi zostać sformatowana (oczywiście są wyjątki) czyli musi zostać na niej założony właściwy system plików. Wykonujemy to, w zależności od tego jaki system plików chcemy założyć, poleceniami np mkfs.xfs
lub mkfs.ext4
. W naszym przypadku uzyjemy polecenia mkfs.xfs -L /testprt /dev/xvdb1
. Opcja -L pozwla nadac naszej partycji etykietę (dowolną – tu akurat wziąłem nazwę katalogu (/testprt), do którego w dalszej części artykułu zamontujemy tę partycję).
Sprawdzamy czy partycja jest widoczna, czy ma właściwą etykietę i system plików. Robimy to poleceniem blkid
.
Jeżeli wszytko jest ok możemy przejść do ostatniego etapu czyli podmapowania partycji pod utworzony katalog w systemie.
Poleceniem mkdir /testprt
tworzymy katalog a poleceniem mount /dev/xvdb1 /testprt
montujemy w nim wskazaną partycję. Na koniec poleceniem df -h
sprawdzamy czy jest ona widoczna i prawidłowo zamontowana.
3. Automatyczne montowanie nowej partycji w systemie plików
Wszystko co zrobiliśmy do tej pory będzie widoczne w systemie aż do czasu, kiedy zdecydujemy się na restart serwera. Po nim partycja będzie skonfigurowana i widoczna ale nie będzie podmontowana pod wskazany katalog. Aby temu zapobiec musimy skonfigurować automatyczne montowanie partycji poprzez edycję pliku /etc/fstab
i dodane odpowiedniego wpisu jej dotyczącego. Więcej o pliku fstab można poczytac tu What Is Fstab?.
W naszym przypadku po odczytaniu UUID naszej partycji, za pomocą polecenia blkid
, dodałem wpis montujący ją w katalogu /testprt.