- Wprowadzenie
- 1.1. Krótka uwaga na temat terminów
- Instalacja
- Konfiguracja
- 3.1. Główny plik mapy
- 3.1.1. Mapy bezpośrednie i pośrednie
- 3.2. Pliki map
- PRZYKŁAD: Auto-mounting an NFS share
- 4.1. Edycja pliku /etc/auto.master
- 4.2. Utwórz /etc/auto.nfs
- 4.2.1. NFSv4
- 4.3. Odmontowanie statycznych montaży i edycja /etc/fstab
- 4.4. Przeładuj /etc/init.d/autofs
- 4.5. Upewnij się, że działa
- Zaawansowane informacje
- 5.1. Uwaga o /net i /smb
- 5.2. Znaki wieloznaczne
- Montowanie innych typów systemów plików
- 6.1. CIFS
- 6.2. Systemy plików oparte na FUSE
- 6.2.1. System plików SSHFS
- Usuwanie problemów z automatycznym montowaniem
- Zobacz także
Wprowadzenie
autofs jest programem do automatycznego montowania katalogów na zasadzie as-needed. Automatycznie montowane katalogi są montowane tylko wtedy, gdy jest do nich dostęp, i są odmontowywane po okresie bezczynności. Z tego powodu, automatyczne montowanie udziałów NFS/Samba oszczędza pasmo i oferuje lepszą ogólną wydajność w porównaniu do statycznego montowania poprzez fstab.
1.1. Krótka uwaga na temat terminów
Aby uniknąć nieporozumień, używana będzie następująca terminologia:
-
automount to program używany do skonfigurowania punktu montowania dla autofs. Gdy autofs jest uruchamiany, dla każdej mapy jest tworzony demon automount.
- Auto-mount lub auto-mounting odnosi się do procesu automatycznego montowania systemów plików.
-
autofs jest programem, który kontroluje działanie demonów automatycznego montowania.
Instalacja
Zainstaluj pakiet autofs klikając tutaj lub wpisując poniższe polecenie w oknie terminala:
-
$ sudo apt-get install autofs
Konfiguracja
autofs może być skonfigurowany poprzez edycję plików konfiguracyjnych. Istnieją inne sposoby konfiguracji autofs w sieci (zobacz AutofsLDAP), ale pliki konfiguracyjne zapewniają najprostszą konfigurację.
3.1. Główny plik mapy
Domyślnie głównym plikiem konfiguracyjnym dla autofs jest /etc/auto.master. Jeśli nie masz dobrego powodu, aby to zmienić, pozostaw to jako domyślne.
Tutaj jest przykładowy plik dostarczony przez Ubuntu:
## $Id: auto.master,v 1.4 2005/01/04 14:36:54 raven Exp $## Sample auto.master file# This is an automounter map and it has the following format# key location# For details of the format look at autofs(5).#/misc /etc/auto.misc --timeout=60#/smb /etc/auto.smb#/misc /etc/auto.misc#/net /etc/auto.net
-
Domyślnie wszystkie linie są komentowane za pomocą znaku #.
Każda z linii w auto.master opisuje wierzchowca i położenie jego mapy. Linie te mają następujący format:
-
mount-point :] map
3.1.1. Mapy bezpośrednie i pośrednie
Mapy automountu mogą być bezpośrednie lub pośrednie. Mapy pośrednie, takie jak te w pliku auto.master pokazanym powyżej, tworzą punkty montowania jako podkatalogi wewnątrz głównego punktu montowania. Na przykład, rozważ następujący wpis w mapie głównej:
-
/smb /etc/auto.smb
Ten wpis w auto.master nakazuje autofsowi zajrzeć do /etc/auto.smb i utworzyć punkty montowania w katalogu /smb.
Mapy bezpośrednie tworzą punkt montowania na ścieżce określonej w odpowiednim pliku mapy. Wpisem punktu montowania w auto.master jest zawsze /-. Na przykład, poniższy wiersz instruuje autofs, aby utworzył punkt montowania w miejscu określonym w auto.data:
-
/- /etc/auto.data
- Jeśli plik mapy nie został określony przy użyciu pełnej ścieżki lokalnej lub sieciowej, do zlokalizowania mapy zostanie użyta konfiguracja Name Service Switch, np:
/- auto.data
3.2. Pliki map
Jak wskazano powyżej, każdy uchwyt autofs ma swój własny plik map. Te pliki są zwykle nazywane przy użyciu konwencji auto.<X>, gdzie <X> może być czymkolwiek, tak długo jak pasuje do wpisu w auto.master i jest ważne dla nazwy pliku.
Pliki map mają następujący format:
-
key location
PRZYKŁAD: Auto-mounting an NFS share
W tym howto, skonfigurujemy autofs do automatycznego montowania udziału NFS, używając zestawu plików konfiguracyjnych. To howto zakłada, że jesteś już zaznajomiony z eksportem NFS, oraz że masz już poprawnie działający udział NFS w swojej sieci. Przejdź do strony Konfiguracja NFS by dowiedzieć się jak skonfigurować taki serwer.
4.1. Edycja pliku /etc/auto.master
Następny krok tworzy punkt montowania w /nfs i konfiguruje go zgodnie z ustawieniami określonymi w pliku /etc/auto.nfs (który utworzymy w następnym kroku).
- Wpisz w terminalu następującą treść:
$ sudo nano /etc/auto.master
-
Dodaj następującą linię na końcu pliku /etc/auto.master:
/nfs /etc/auto.nfs
4.2. Utwórz /etc/auto.nfs
Teraz utworzymy plik, który będzie zawierał naszą mapę automatu:
-
$ sudo nano /etc/auto.nfs
Plik ten powinien zawierać osobną linię dla każdego udziału NFS. Format linii to {punkt_montażu} {lokalizacja}. Jeśli wcześniej skonfigurowałeś statyczne punkty montowania w /etc/fstab, pomocne może być odwołanie się do nich. Pamiętaj, że podane tutaj punkty montowania będą względne w stosunku do punktu montowania podanego w /etc/auto.master.
Poniższa linia jest dla udziałów używających starszych wersji NFS (przed wersją 4):
-
server server:/
Tworzy to nowy punkt montowania w /nfs/server/ i montuje katalog główny NFS wyeksportowany przez maszynę, której host-name to server.
4.2.1. NFSv4
Jeśli twoje udziały NFS używają NFSv4, musisz powiedzieć o tym autofsowi. W takim przypadku, powyższa linia wyglądałaby następująco:
-
server -fstype=nfs4 server:/
Klient potrzebuje tych samych zmian w /etc/default/nfs-common, aby połączyć się z serwerem NFSv4.
-
W /etc/default/nfs-common ustawiamy:
NEED_IDMAPD=yesNEED_GSSD=no # no is default
4.3. Odmontowanie statycznych montaży i edycja /etc/fstab
Jeśli wcześniej skonfigurowałeś udziały NFS jako statyczne montaże, teraz nadszedł czas, aby je odmontować.
-
$ sudo umount /server
Następnie usuń (lub wykomentuj) ich odpowiednie wpisy w /etc/fstab.
-
#server:/ /server/ nfs defaults 0 0
4.4. Przeładuj /etc/init.d/autofs
Po wprowadzeniu zmian wykonaj następujące polecenie, aby przeładować autofs:
-
$ sudo service autofs reload
Jeśli pracujesz na starszej wersji ubuntu, a to nie działa spróbuj:
-
$ sudo /etc/init.d/autofs reload
Jeśli pracujesz w Natty, i to nie działa spróbuj:
-
$ sudo /etc/init.d/autofs restart
4.5. Upewnij się, że działa
Aby uzyskać dostęp do udziału i sprawdzić, czy działa on prawidłowo, wpisz w powłoce następujące dane:
-
$ ls /nfs/server
Jeśli widzisz swój udział NFS na liście, gratulacje! Masz działające montowanie NFS przez autofs! Jeśli chcesz dowiedzieć się więcej zaawansowanych informacji, czytaj dalej.
Zaawansowane informacje
Podążając za przykładową strukturą katalogów powyżej, jeśli miałbyś wpisać ls /nfs w powłoce, mógłbyś być zaskoczony, że nie widzisz nic na liście. Pamiętaj jednak, że musisz mieć dostęp do katalogu, zanim zostanie on automatycznie zamontowany. Aby uzyskać dostęp do udziału, wpisz ls /nfs/server. Po uzyskaniu dostępu do katalogu, twój udział będzie wyświetlany na liście tylko do momentu, gdy upłynie czas jego działania. Dobrze jest o tym pamiętać, ponieważ może to zaoszczędzić czas na diagnozowanie problemu z autofs, którego tak naprawdę nie ma.
5.1. Uwaga o /net i /smb
Te dwie domyślne konfiguracje mogą być użyteczne dla twojej konfiguracji. Jeśli masz dużo udziałów NFS lub Samba, możesz chcieć odkomentować te linie. /net umożliwia automatyczny montaż systemów plików w innych miejscach w sieci, które są eksportowane przez NFS. Na przykład, jeśli masz serwer o nazwie fileserver z katalogiem eksportu NFS o nazwie /export, możesz go zamontować wpisując w wierszu poleceń cd /net/fileserver/export. W środowisku z serwerami plików NFS, taka konfiguracja może być użyteczna. /smb działa w ten sam sposób, ale jest przeznaczony dla systemów plików Samba. Jeśli jednak przed dostępem do udziału Samby trzeba się uwierzytelnić, automount nie będzie działał.
5.2. Znaki wieloznaczne
Powiedzmy, że masz katalog z kilkoma podkatalogami, które chcesz, aby były montowane automatycznie pojedynczo. Przykładem tego jest katalog /home, w którym to przypadku /etc/auto.master może zawierać następującą linię:
-
/home /etc/auto.home
Jeśli użytkownik1 jest zalogowany, będziesz chciał automatycznie zamontować jego katalog domowy. Jednakże, jeśli utworzysz punkt montowania dla całego katalogu /home, zamontujesz również katalogi domowe każdego innego użytkownika w tym samym czasie, marnując w ten sposób przepustowość. Jednym z rozwiązań tego problemu jest utworzenie osobnych wpisów dla każdego katalogu, jak poniżej:
-
# /etc/auto.homeuser1 server:/home/user1user2 server:/home/user2user3 server:/home/user3
To działa, ale jest uciążliwe. Zamiast tego można użyć znaków wieloznacznych, jak poniżej:
-
* server:/home/&
Gwiazdka (*) jest używana w miejsce punktu montowania, a ampersand (&) w miejsce katalogu, który ma być zamontowany. Więcej szczegółów na temat używania symboli wieloznacznych znajduje się w sekcji Używanie znaków wieloznacznych jako skrótów w mapach AutoFS.
Możesz także użyć zmiennych (zobacz stronę man autofs(5)) do zastąpienia użytkowników i innych parametrów, by móc tworzyć pliki generyczne dla wielu użytkowników. Przykład poniżej to smb map, które mapuje na podstawie użytkownika, który pyta o udział używając zmiennej $USER.
* -fstype=cifs,rw,credentials=/home/$USER/.smbcredentials,iocharset=utf8,uid=$USER,gid=users,file_mode=0700,dir_mode=0700 ://server/$USERshare1 -fstype=cifs,rw,credentials=/home/$USER/.smbcredentials,iocharset=utf8,uid=$USER,gid=users ://server/share1share2 -fstype=cifs,rw,credentials=/home/$USER/.smbcredentials,iocharset=utf8,uid=$USER,gid=users ://server/share2
Montowanie innych typów systemów plików
6.1. CIFS
W przypadku określania udziału CIFS w pliku mapy należy określić -fstype=cifs i poprzedzić lokalizację udziału dwukropkiem (:).
Przykład:
mntpoint -fstype=cifs ://example.com/shrname
Przykład: Mount read-write, określając użytkownika i grupę do posiadania plików:
mntpoint -fstype=cifs,rw,uid=myuserid,gid=mygrpid ://example.com/shrname
Przykład: Mount read-write, określając nazwę użytkownika i hasło, aby użyć do łączenia się z udziałem:
mntpoint -fstype=cifs,rw,username=myuser,password=mypass ://example.com/shrname
6.2. Systemy plików oparte na FUSE
Systemy plików oparte na FUSE montuje się, podając opcję -fstype=fuse. Lokalizacja systemu plików określa binarkę przestrzeni użytkownika użytą do zamontowania systemu plików, po której następuje hash (#), a następnie lokalizacja.
Podczas określania lokalizacji systemu plików FUSE w pliku mapy, niektóre znaki, zwłaszcza hash (#) i dwukropek (:), muszą być zastąpione odwrotnym ukośnikiem (\). Cała lokalizacja musi być poprzedzona dwukropkiem (:).
Ponieważ automount wykonuje montowanie jako root, zwykle konieczne jest określenie allow_other w opcjach montowania, aby umożliwić dostęp do udziału użytkownikowi niebędącemu rootem.
6.2.1. System plików SSHFS
SSHFS jest systemem plików opartym na FUSE. W autofs mount, dwukropek (:) po nazwie serwera musi być usunięty przez odwrotny ukośnik (\).
Powinieneś już skonfigurować uwierzytelnianie bez hasła za pomocą szyfrowania kluczem publicznym. Upewnij się, że rozumiesz implikacje bezpieczeństwa, zanim przejdziesz dalej.
Pamiętaj, że automount zamontuje twój system plików SSHFS jako root, więc musisz:
-
Kopiować swój klucz prywatny do katalogu /root/.ssh. Upewnij się, że rozumiesz implikacje związane z bezpieczeństwem, zanim przejdziesz dalej.
-
Dodaj niezbędne klucze hostów do katalogu /root/.ssh/known_hosts.
- Sprecyzuj nazwę użytkownika używaną do połączenia
Aby przetestować montowanie systemu plików SSHFS jako root, wykonaj następujące czynności:
sudo sshfs [email protected]:/ mountpoint
Jeśli montowanie powiedzie się bez monitowania o hasło, jesteś gotowy do montowania systemu plików przez autofs
Przykład:
mntpoint -fstype=fuse,allow_other :sshfs\#[email protected]\:/path/to/mount
Przykład: Mount read-write, określając użytkownika i grupę do posiadania plików:
mntpoint -fstype=fuse,rw,uid=1000,gid=1000,allow_other :sshfs\#[email protected]\:/path/to/mount
Zauważ, że dla montaży FUSE, uid i gid muszą być numerycznymi identyfikatorami.
Usuwanie problemów z automatycznym montowaniem
Jeśli masz problemy z automatycznym montowaniem systemów plików, może być użyteczne uruchomienie automount na pierwszym planie.
-
Zatrzymaj demona autofs
sudo service autofs stop
-
Uruchom automount na pierwszym planie z informacją verbose
sudo automount -f -v
- Z innego terminala spróbuj zamontować systemy plików, zmieniając katalogi w punkcie montowania.
- Sprawdź wyjście z pierwszego terminala w poszukiwaniu wskazówek, dlaczego montowanie nie powiodło się lub nie było próbowane.
Zobacz także
-
Mount – Informacje o procesie montowania i jego konfiguracji w Ubuntu.
-
Strona man mount – hostowana na oficjalnej stronie Ubuntu.