Aby zmodyfikować /etc/fstab może znacznie zwiększyć wygodę korzystania z serwera. Dysk danych, dedykowana partycja, udział sieciowy lub wolumin dodany do VPS-a można zamontować automatycznie podczas uruchamiania, bez konieczności ręcznego wykonywania poleceń po każdym ponownym uruchomieniu.
Ale to również rodzaj pliku, którego nigdy nie edytuję pobieżnie. Błędny wiersz w pliku fstab może znacznie spowolnić uruchamianie systemu, uruchomić tryb ratunkowy lub spowodować otwarcie konsoli, której nie zamierzałeś otwierać. Nic nie jest nie do pokonania, ale trzeba wykonać sprawdzenia w odpowiedniej kolejności.
W tym artykule pokażemy, jak dodać automatyczne montowanie w systemie Linux za pomocą UUIDzapisz plik, użyj nieudany jeśli to istotne, przetestuj za pomocą góra -a przed ponownym uruchomieniem.

Przed modyfikacją pliku fstab zidentyfikuj właściwy dysk
Pierwszym błędem jest napisanie wiersza fstab z nazwy takiej jak /dev/sdb1Może to zadziałać, ale nazwa może się zmieniać w zależności od kolejności wykrywania dysków. W przypadku konfiguracji stałej wolę używać UUID.
Zacznij od wyświetlenia dysków i systemów plików:
lsblk -f
Identyfikatory UUID można również pobrać za pomocą:
sudo blkid
Zidentyfikuj trzy informacje: UUID, typ systemu plików i żądany punkt montowania. Na przykład dysk w wew4 w którym chcesz jeździć /mnt/dane.
Jeśli potrzebujesz jedynie sporadycznie zamontować dysk USB, zapoznaj się z artykułem Polecenia montowania dysku USB w systemie Linux będzie bardziej odpowiedni. Mówimy tu o automatycznym montażu przy uruchomieniu.
Przed dodaniem wiersza wykonaj kopię zapasową pliku /etc/fstab
Przed otwarciem edytora zrób kopię bieżącego pliku. To szybkie i pozwala uniknąć konieczności wprowadzania zmian w ostatniej chwili, jeśli jakaś opcja jest niepoprawnie zapisana.
sudo cp /etc/fstab /etc/fstab.bak-$(data +%F-%H%M)
Następnie, jeśli to konieczne, utwórz punkt montowania:
sudo mkdir -p /mnt/data
Otwórz plik za pomocą swojego zwykłego edytora:
sudo nano /etc/fstab
Polecam dodać nową linię na dole pliku, z komentarzem tuż nad nią. Nie trzeba pisać powieści, ale za sześć miesięcy będziesz zadowolony, że rozumiesz, po co istnieje taka konfiguracja.
Dodaj automatyczne montowanie z UUID
Linia fstab jest zgodna z następującą logiką:
<źródło>
Dla objętości wew4 Lokalnie możesz zacząć od takiej linijki:
# Dysk z danymi
UUID=11111111-2222-3333-4444-555555555555 /mnt/data ext4 domyślne,nofail,x-systemd.device-timeout=10 0 2
Oczywiście zastąp UUID tym uzyskanym za pomocą lsblk -f Lub blkidNie kopiuj tego przykładu w obecnej postaci.
Ostatnie dwa pola są często źle rozumiane. zero wyłącza stary mechanizm wysypisko, bardzo rzadko używany dzisiaj. dwa Oznacza, że system plików można sprawdzić po partycji głównej. W przypadku partycji głównej systemu zazwyczaj znajduje się jedenW przypadku niektórych konfiguracji sieciowych lub specjalnych woluminów często będziemy umieszczać zero.
Strona podręcznika fstab(5) Szczegółowo opisuje strukturę pliku. Jest prosty, ale przydatny, gdy masz wątpliwości co do pola.
Opcje zapobiegające blokowaniu uruchamiania
Opcja wartości domyślne To wystarczy w wielu prostych przypadkach. Obejmuje klasyczne opcje, takie jak odczyt/zapis, zezwolenie na wykonanie, interpretacja urządzenia i automatyczne montowanie.
Często dodaję nieudany w przypadku dysku z danymi niekrytycznymi, dysku USB podłączonego tylko sporadycznie lub woluminu, którego może brakować podczas uruchamiania. nieudanyMaszyna nie powinna pozostawać zablokowana tylko dlatego, że ten dodatkowy zespół nie jest dostępny.
W dystrybucjach z systemd poniższa opcja ogranicza również czas oczekiwania:
x-systemd.device-timeout=10
To wygodne w przypadku dysku zewnętrznego lub woluminu, który może reagować wolno. W przypadku naprawdę niezbędnej pamięci masowej byłbym bardziej rygorystyczny: nie. nieudany Automatyczna konfiguracja, przejrzyste monitorowanie i ponowne uruchamianie testów w zaplanowanym oknie.
W przypadku konfiguracji sieciowych, zwłaszcza NFS lub SMB, nie kopiuj bezmyślnie wiersza znalezionego gdzie indziej. Opcje różnią się w zależności od protokołu, metody uwierzytelniania, sieci oraz momentu, w którym połączenie stanie się dostępne podczas rozruchu.
Przetestuj fstab bez ponownego uruchamiania
Po zapisaniu pliku nie uruchamiaj ponownie od razu. Najpierw przetestuj składnię i konfigurację za pomocą:
sudo mount -a
Jeśli polecenie nic nie zwróci, nie jest to gwarancją, ale to dobry znak. Jeśli pojawi się błąd, popraw wiersz teraz, gdy system jest jeszcze uruchomiony.
Następnie sprawdź, czy mocowanie jest aktywne:
findmnt /mnt/data
df -h /mnt/dane
zamontować | grep '/mnt/data'
Jeśli systemd poinformuje Cię, że nadal posiada stary widok jednostek montowania, załaduj ponownie jego konfigurację:
sudo systemctl daemon-reload
Następnie możesz uruchomić ponownie sudo mount -a. Strona uchwyt(8) pozostaje punktem odniesienia dla klasycznych opcji montażu, a dokumentacja mocowanie systemowe wyjaśnia opcje specyficzne dla systemd.
Jeżeli edycja nie powiedzie się, przed poprawieniem błędu należy go przeczytać.
Błąd fstab często jest bardzo wymowny: błędny UUID, niepoprawny typ systemu plików, brakujący punkt montowania, nieznana opcja, niewystarczające uprawnienia lub brakujący pakiet dla protokołu sieciowego.
Aby sprawdzić dokładny typ:
lsblk -f
sudo blkid
Aby przejrzeć ostatnie błędy po stronie systemu:
journalctl -p ostrzeżenie..alert -b --no-pager
systemctl --failed
Jeśli proces rozruchu został przerwany, skorzystaj z konsoli odzyskiwania dostawcy hostingu, trybu odzyskiwania lub dysku USB Live. Zamontuj partycję główną i otwórz /etc/fstabSkomentuj dodany wiersz za pomocą #lub przywrócić kopię zapasową utworzoną na początku.
sudo cp /etc/fstab.bak-RRRR-MM-DD-GGMM /etc/fstab
Na serwerze zdalnym nie wykonuj początkowego, testowego restartu bezpośrednio przed wyjściem. Utrzymuj dostęp do konsoli lub przynajmniej sprawdź, czy Twój dostawca hostingu oferuje łatwo dostępny tryb awaryjny.
Moja kontrola przed zatwierdzeniem automatycznego montażu
W przypadku prostego dysku z danymi moja sekwencja wygląda następująco:
- zidentyfikować dysk za pomocą
lsblk -fi potwierdź UUID za pomocąblkid; - chronić
/etc/fstabprzed jakąkolwiek modyfikacją; - utwórz punkt montowania z czytelną nazwą;
- dodaj linię opartą na UUID, a nie na
/dev/sdX; - rzucić
sudo mount -ai popraw wszystkie błędy przed ponownym uruchomieniem; - sprawdź z
znaleźć,df -hi kłody; - Można ponownie uruchomić dopiero po wyczyszczeniu zespołu.
Fstab nie jest skomplikowany, ale nie zawsze wybacza przybliżenia. Krótki wiersz, niezawodny UUID, nieudany gdy głośność jest drugorzędna, to prawdziwy test z góra -a :to jest właśnie to, co pozwala uniknąć przykrych niespodzianek przy kolejnym uruchomieniu.