Montaż CIFS przez fstab nie jest montowany przy starcie systemu


20

Mam udział CIFS na moim serwerze NAS, który chcę zamontować podczas rozruchu - jest używany przez mój serwer MythTV jako główny magazyn multimediów. Dodałem wpis, fstababy go zamontować, ale tak nie jest. Wygląda na to, że po przejrzeniu dzienników systemowych fstabodczytywane są moje interfejsy sieciowe. Czy mogę zmienić fstabwpis, który by to zmienił?

fstabWejście do montażu udziału wynosi:

\\192.168.0.26\mythtv\media  /media/mybooklive  cifs  username=user,password=pass,umask=002,uid=136,gid=144,iocharset=utf8   0       0

Montuje się dobrze po rozruchu, kiedy wydaję sudo mount -ai nie ma z nim innych problemów.

Dzięki!


2
Jeśli na serwerze działa Ubuntu, prawdopodobnie potrzebujesz \ / a następnie \ - "//192.168.0.26/mythtv/media" Patrz wiki.ubuntu.com/MountWindowsSharesPermanently
Panther

@ bodhi.zazen Być może miał / kiedy tam wszedłem, ale teraz czyta za pomocą \
douggro

Sprawdź składnię (/ vs \) w fstab
Panther

@ bodhi.zazen Jestem prawie pewien, że artykuł na wiki jest tym, co śledziłem podczas jego konfigurowania. Sprawdzę składnię później, kiedy będę mieć czas, aby usiąść na moim serwerze.
douggro

1
@ bodhi.zazen Konwertuj swój komentarz na odpowiedź - zmieniając \ na / rozwiązany.
douggro

Odpowiedzi:



24

Czy próbowałeś dodać opcję _netdevdo swojego fstabwpisu? Dodawalibyście to do innych opcji w swoim łańcuchu

//192.168.0.26/mythtv/media  /media/mybooklive  cifs  username=user,password=pass,_netdev,umask=002,uid=136,gid=144,iocharset=utf8   0       0

_netdev ma opóźnić podłączenie do momentu połączenia się sieci.


Czy możesz dodać kontekst do miejsca, w którym byłby on umieszczony w fstablinii? Dzięki temu i okresowi, w którym mogę zrestartować serwer, gdy nie jest on używany, dam mu szansę. Dzięki za odpowiedź.
douggro

1
To działało dla mnie w Ubuntu 12.04, ale nie w Ubuntu 16.04. Czy zmieniło się to w najnowszej wersji?
Katu,

2
Uwaga: Myślę, że _netdev faktycznie działa w 16.04, jednak poświadczenia = / home / user / .smbcreds już nie działają. Przynajmniej dla mnie, gdy używam user =, pass =, _netdev to działa, kiedy używam poświadczeń =, _ netdev nie działa. Oba działają po uruchomieniu z sudo mount-a z wiersza poleceń.
jb510

1
Myślę, że może to mieć więcej wspólnego ze zmianami uprawnień dokonanymi w folderze multimediów. W pewnym momencie Ubuntu zaczął montować rzeczy do / media / nazwa użytkownika / nazwa folderu zamiast / media / nazwa folderu. Jeśli nie montujesz w lokalizacji „nazwa użytkownika”, musisz mieć uprawnienia dostępu na poziomie sudo. Jeśli zmienisz ścieżkę, aby użyć ścieżki / media / username, myślę, że powinna ona nadal działać.
djmadscribbler

1
_netdev - Obowiązuje tylko z fstype nfs
Michaił Chupryński

15

jeśli _netdev nie działa, wypróbuj opcję:

x-systemd.automount

zamiast. Działa poprzez zamontowanie napędu przy pierwszym dostępie.

Aby przetestować automount, odmontuj swój udział, jeśli jest on aktualnie zamontowany:

$ sudo umount /media/mybooklive

Następnie uruchom ponownie remote-fsjednostkę systemową:

$ sudo systemctl daemon-reload
$ sudo systemctl restart remote-fs.target

2
dziękuję, to zadziałało dla mnie w 18.04 LTS
Chief

1
_netdev nie działał 18.04, to działało idealnie :)
Brian mówi Przywróć Monikę

6

Korzystam z kompilacji Raspbian-Stretch z dnia 2017-09-07 i miałem ten sam problem. Udało mi się to jednak obejść, przechodząc do konfiguracji raspi i w menu Opcje rozruchu włączyłem opcję „Poczekaj na sieć po uruchomieniu”.


1
To jest naprawdę BARDZO pomocne, miałem problemy z tym, że nawet jeśli boot powiedział wszystko OK, to po prostu go nie zamontował lub nie wyświetlał folderów
Alfred Espinosa

3

-Używanie ukośników (/) NIE naprawiło tego dla mnie.
-Dodatkowo dodanie opcji _netdevdo mojego /etc/fstabwpisu NIE naprawiło tego dla mnie.

To, co zrobiłem, aby rozwiązać ten problem (na moim Pi3), to zmiana trybu /etc/rc.localuśpienia na 20 sekund (przez wywołanie sleep 20), a następnie wywołanie mount -a. W ten sposób, mimo że sieć NIE jest jeszcze podłączona, gdy system po raz pierwszy odczytuje plik fstab, więc wtedy montowanie kończy się niepowodzeniem, zmuszam system do czekania tutaj 20 sekund (dając czas sieci na połączenie), a następnie zmuszam go do mount -aponownego wywołania aby zamontować wszystkie dyski w fstabpliku.

Oto jak /etc/rc.localteraz wygląda mój plik:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
#GS notes: a *minimum* of sleep 10 is required for the mount below to work on the Pi 3; it failed with sleep 5, but worked with sleep 10, sleep 15, and sleep 30
sleep 20
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
  mount -a #GS: mount all drives in /etc/fstab
fi

exit 0

Gotowy! Teraz działa dla mnie idealnie!

Bibliografia:


Czy łączysz się przez Wi-Fi?
cbcoutinho

Tak, używam WiFi zamiast Ethernetu.
Gabriel Staples

To rzeczywiście bardzo dziwne, ale prawdopodobnie nie związane z moim problemem. Mam trzy dyski sieciowe, które próbuję podłączyć za pomocą kabla Ethernet - bez Wi-Fi. Jedna z nazw dysków ma w sobie znak specjalny, co powoduje, że nie można jej podłączyć po ponownym uruchomieniu. Wykonanie sudo mount -arozwiązuje problem, ale jestem ciekawy, dlaczego nie działa podczas uruchamiania. Spróbuję twojego rozwiązania i zobaczę, czy to pomoże.
cbcoutinho
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.