Używam małego serwera dla naszego płaskiego udziału. Jest to głównie serwer plików z kilkoma dodatkowymi usługami. Klientami są maszyny z systemem Linux (głównie Ubuntu, ale niektóre także Distros) i niektóre komputery Mac (-Book) pomiędzy nimi (ale nie są ważne w przypadku pytania). Na serwerze działa Ubuntu 11.10 (Oneiric Ocelot) „Server Edition”, system, z którego wykonuję konfigurację i testy, uruchamia 11.10 „Desktop Edition”. Przez pewien czas działaliśmy z Sambą (z którą jesteśmy bardziej zaznajomieni), ale następnie przeprowadziliśmy migrację do NFS (ponieważ nie mamy żadnych użytkowników systemu Windows w sieci LAN i chcemy to wypróbować) i do tej pory wszystko działa dobrze .
Teraz chcę skonfigurować automatyczne montowanie przy użyciu autofs, aby wszystko było płynniejsze (do tej pory wszyscy montują udziały ręcznie, gdy jest to potrzebne). Wygląda na to, że auto-montaż również działa. Problem polega na tym, że nasz „serwer” nie działa 24 godziny na dobę, aby oszczędzać energię (jeśli ktoś potrzebuje czegoś z serwera, włącza go i wyłącza, a więc działa tylko kilka godzin dziennie). Ale ponieważ konfiguracja autofs powoduje, że klienci często się kończą, gdy serwer nie działa.
Mogę dobrze uruchomić wszystkich klientów, nawet gdy serwer nie działa.
Ale gdy chcę wyświetlić katalog (w terminalu lub nautilusie), który zawiera dowiązania symboliczne do udziału pod,
/nfs
gdy serwer nie jest uruchomiony, zawiesza się przez co najmniej dwie minuty (ponieważ autofs nie może połączyć się z serwerem, ale zachowuje próbuję, zakładam).- Czy istnieje sposób, aby tego uniknąć? Czy montowanie będzie opóźnione do momentu zmiany katalogu lub dostępu do zawartości tego katalogu? Nie, gdy „patrzysz” na link do udziału pod
/nfs
? Myślę, że nie, ale może nie można próbować uzyskać do niego dostępu tak długo? I po prostu daj mi pusty katalog lub „nie mogę znaleźć / połączyć się z tym katalogiem” lub coś w tym rodzaju.
- Czy istnieje sposób, aby tego uniknąć? Czy montowanie będzie opóźnione do momentu zmiany katalogu lub dostępu do zawartości tego katalogu? Nie, gdy „patrzysz” na link do udziału pod
Gdy serwer działa, wszystko działa poprawnie.
Ale kiedy serwer zostanie zamknięty, zanim odmontowany zostanie udział, narzędzia (jak
df
lubll
) zawiesią się (zakładając, że myślą, że udział jest nadal włączony, ale serwer nie będzie już odpowiadał).- Czy istnieje sposób na odmontowanie udziałów automatycznie, gdy połączenie zostanie utracone?
Ponadto klienci nie zamykają się ani nie uruchamiają ponownie, gdy serwer jest wyłączony i nadal mają zainstalowane udziały. Zawieszają się (jak się wydaje nieskończenie) w „ zabijaniu pozostałych procesów ” i nic się nie dzieje.
Myślę, że wszystko sprowadza się do dokładnych wartości limitu czasu podczas montowania i odmontowywania. A może, aby usunąć wszystkie udziały, gdy połączenie z serwerem zostanie utracone.
Więc moje pytanie brzmi: jak sobie z tym poradzić? I jako bonus: czy istnieje dobry sposób na połączenie w środku /nfs
bez potrzeby montowania prawdziwych udziałów (opcja autofs lub może użycie pseudo FS, /nfs
którego zastępuje się, gdy nastąpi montowanie, czy coś takiego)?
Moja konfiguracja
Ustawienie NFS jest dość proste, ale jak dotąd służyło nam dobrze (przy użyciu NFSv4 ):
/ etc / default / nfs-common
NEED_STATD=
STATDOPTS=
NEED_IDMAPD=YES
NEED_GSSD=
/etc/idmapd.conf
[General]
Verbosity = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = localdomain
[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup
/ etc / export
/srv/ 192.168.0.0/24(rw,no_root_squash,no_subtree_check,crossmnt,fsid=0)
Pod /srv
katalogiem głównym eksportu mamy dwa katalogi z bind
:
/ etc / fstab (serwer)
...
/shared/shared/ /srv/shared/ none bind 0 0
/home/Upload/ /srv/upload/ none bind 0 0
Pierwszy jest w większości tylko do odczytu (ale wymuszam to poprzez atrybuty pliku i własność zamiast ustawień NFS), a drugi to rw dla wszystkich. Uwaga: Nie mają żadnych dodatkowych wpisów w / etc / export , jednak ich osobne montowanie działa.
Po stronie klienta są instalowane /etc/fstab
i montowane ręcznie w razie potrzeby ( morton
jest to nazwa serwera i rozwiązuje się dobrze).
/ etc / fstab (klient)
morton:/shared /nfs/shared nfs4 noauto,users,noatime,soft,intr,rsize=8192,wsize=8192 0 0
morton:/upload /nfs/upload nfs4 noauto,users,noatime,soft,intr,rsize=8192,wsize=8192 0 0
Dla konfiguracji autofs usunąłem wpisy z /etc/fstab
klientów i ustawiłem resztę w następujący sposób:
/etc/auto.master
/nfs /etc/auto.nfs
Najpierw powiązałem dostarczony plik wykonywalny /etc/auto.net
(możesz go tutaj obejrzeć ), ale nie będzie on automatycznie montował dla mnie niczego. Potem piszę na /etc/auto.nfs
podstawie kilku poradników, które znalazłem online:
/etc/auto.nfs
shared -fstype=nfs4 morton:/shared
upload -fstype=nfs4 morton:/upload
I to trochę działa ... Lub działałoby, gdyby serwer działał 24/7. Tak więc zawieszamy się, gdy klient uruchamia się bez serwera lub gdy serwer się wyłącza, gdy udziały są nadal połączone.
hard
abg
dźwięki przeciwdziałać intuicyjny do mnie na początku. Chcę, aby wierzchowiec nie ponowił próby i natychmiast wrócił, jeśli zostanie zwolniony?intr
wydaje się w porządku, ale wydaje się również, że już nie działa: „ Opcja montowania intr / nointr jest przestarzała po jądrze 2.6.25. Tylko SIGKILL może przerwać oczekującą operację NFS na tych jądrach, a jeśli jest określona, ta opcja montowania jest ignorowana, aby zapewnić kompatybilność wsteczną ze starszymi jądrami. ”?hard,bg
do/etc/auto.master
wydaje się nic nie zmieniać. Atime ls -l ~
(mój katalog użytkownika zawiera dowiązanie symboliczne/nfs/upload
) nadal trwa dłużej niż dwie minuty, gdy serwer nie działa.sudo reload autofs && sudo restart autofs
Grałem trochę więcej z niektórymi opcjami ze strony podręcznika. Wszystko
bg,hard
,bg,soft
,fg,hard
ifg,soft
dać mi powrócić razy ponad dwa pokoii.Ustawienie
retrans=1,retry=0
(w połączeniu z dowolnym z powyższych) daje mi jednak czas około trzech sekund. Całkiem przyzwoity. Chociaż nie jestem pewien, co oznacza każda kombinacja. Będzie kopać dalej.Natknąłem się również na opcje autofs
MOUNT_WAIT
iUMOUNT_WAIT
. Nie udało mi się uzyskać z nimi różnych rezultatów, ale będę próbował. Wydaje się, że Lika to dobry sposób na użycie „bezpieczniejszego” (czyli więcej powtórzeń itp.) Opcji NFS, ale szybki czas powrotu dla autofs, czy nie?źródło
rsize=32768,wsize=32768,noatime
jak wspomniano tutaj: techrepublic.com/blog/opensource/…Aby skonfigurować system plików NFS do automatycznego montowania przy każdym uruchomieniu systemu Red Hat Linux, musisz dodać wpis dla tego systemu plików NFS do pliku / etc / fstab. Plik / etc / fstab zawiera informacje o różnych rodzajach zamontowanych (i dostępnych do zamontowania) systemów plików w systemie Red Hat Linux. EX:: nfs Odpowiada nazwie hosta, adresowi IP lub w pełni kwalifikowanej nazwie domeny serwera eksportującego system plików. Jest to ścieżka do wyeksportowanego katalogu. Określa, gdzie w lokalnym systemie plików należy zamontować wyeksportowany katalog. Ten punkt montowania musi istnieć przed odczytaniem / etc / fstab, inaczej montowanie zakończy się niepowodzeniem. Obszar określa opcje montowania dla systemu plików. Na przykład jeśli obszar opcji zawiera rw, suid, eksportowany system plików zostanie podłączony do odczytu i zapisu, a użytkownik i identyfikator grupy ustawione przez serwer zostaną użyte. Pamiętaj, że nawiasów nie należy tutaj używać
źródło