Leopardí problém s NFS - pokus o řešení

Před krátkou dobou jsem doma přezbrojil z linuxivých počítačů na Macbooky. Bylo s tím pár problémů, z nichž poslední--zápis na NFS disk--docela dlouho odolával. Popíšu zde možné řešení.

Abych popsal situaci. Doma jsem k internetu připojený routerem Asus WL500g s Olegovým neoficiálním firmware. Pro ty, kteří tento router neznají, dodávám, že běží na Linuxu. V routeru je připojený disk, který je sdílen přes NFS počítačům ve vnitřní síti. Donedávna fungovaly doma 2 počítače s Debianem Etch. Síťový disk normálně fungoval, dalo se číst i psát, pokud na to měl člověk práva. Po připojení Macbooku nastaly problémy.

Problém 1 -- Disk nešel z Macbooku připojit
Po chvíli hledání jsem zjistil, že problém je tento: V linuxu je standardně nastaveno, že klient se připojuje z privilegovaného portu (<1024) ve víře, že je to tak bezpečnější. Apple poukazuje na to, že to není tak slavné a standardně se připojuje s neprivilegovaných portů. Viz na Macovi mount_nfs a hledej resvport a na Linuxu man exports a hledej secure nebo insecure
Řešení může vypadat takto:

  1. Nastavit na serveru (routeru), ať nevyžaduje privilegované porty. V /etc/exports se nastaví volba insecure.
  2. Na klientech vynutit požívání privilegovaného portu. Je to volba resvport příkazu mount_nfs. Toto řešení je poměrně hloupé, protože se musí dělat v terminálu, v GUI nejdou nastavovat parametry pro mount
  3. Později jsem se dozvěděl, ze Mac zdědil z BSD soubor /etc/nfs.conf, kam se dají nacpat volby pro mount_nfs. Tím se vyřeší bod 2 a bude to fungovat i v GUI.

Problém 2 -- na disk nešlo psát, i když člověk měl práva
Při pokusu kopírovat něco na síťový disk vyhodil Finder nějakou trapnou hlášku a error code tuším -36. V terminálu zase vypadlo něco ve smyslu No locks available. Abych problém nemusel popisovat podrobně uvedu odkazy na zdroje, které mi pomohly a kde je problém dobře popsán (zejména v tom prvním):

  1. http://discussions.apple.com/thread.jspa?messageID=6825706
  2. http://forums.macosxhints.com/showthread.php?t=81104

Oba odkazy pro jistotu dávám do přílohy, jenom si soubory přejmenujte na .html.

Problém je nejspíš v tom, že na serveru má běžet služba lockd, která buď vůbec něběží, nebo neodpovídá.
Řešení jsou zhruba tato:

  1. Přesvědčit na serveru službu lockd, aby fungovala. Vzhledem k tomu, že se mi nechtělo v routeru moc vrtat, rozhodl jsem se problém obejít, viz další bod.
  2. Přesvědčit klienta, aby po serveru žádné zámky (locks) nechtěl. Obecně to může způsobit problémy, ale v mém případě z disku většinou čtu a zapisuji jenom občas a vždy ze stejného počítače, takže v tom nevidím problém.
    V manuálu k mount_nfs se člověk dozví, že může použít locallocks nebo nolocks. Aby to fungovalo i v GUI, nacpu se tyto volby do /etc/nfs.conf, takže soubor pak může vypadat takto:

    nfs.client.mount.options = locallocks

Toto řešení včera večer fungovalo. Nebylo ještě tak moc pozdě, takže doufám, že to nebyl výplod fantazie.

Diskuse
Pokud máte nějaké lepší návody, pište je do diskuse. Obzvláště vděčný budu za poznatky k routeru Asus WL500g (třeba jak tam opravit lockd, aby fungoval).

PřílohaVelikost
nfs_and_extended_attr.txt90.83 KB
leopard_nfs_issue.txt73.8 KB
Zatím nehlasováno

Komentáře

Poslat nový komentář

Smajlíci
:);):(:D}:):P:O:?8):jawdrop::sick:
Obsah tohoto pole je soukromý a nebude veřejně zobrazen.
  • Webové a e-mailové adresy jsou automaticky převedeny na odkazy.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <center> <embed> <embed> <img> <table> <td> <tr> <th> <font> <hr>
  • Řádky a odstavce se zalomí automaticky.
  • Textové smajlíky budou nahrazeny grafickými variantami.

Více informací o možnostech formátování

CAPTCHA
Tento dotaz je zde pro otestování zda jste skutečný návštěvník a pro zabránění automatizovaným robotům ve vkládání spamu do komentářů a stránek.
11 + 1 =
Vyřešte tento jednoduchý matematický problém a zadejte výsledek. Např. pro 1+3, napište 4.