Problém s připojením NAS


#1

Ahoj, poradíte mi prosím někdo, v čem může být problém s připojením NASu.

Co jsem prostudoval:
https://doc.turris.cz/doc/cs/howto/nas

V čem je problém:

Turris jsem začal používat cca před rokem. Na začátku jsem NAS úspěšně připojil a vše fungovalo přes SAMBU. Před půlrokem jsem měl s Turrisem problém, nedalo se k němu vůbec připojit, restart button nepomáhal, poslal jsem ho na reklamaci a vrátil se zpět s továrním nastavením. Pak jsem ho asi půl roku nepoužíval, až teď jsem se k tomu znova dostal si ho zase nastavit. Mezitím asi proběhly nějaké aktualizace, protože něco se změnilo. Wifi jsem nastavil, vše OK. Ale nastavení NASu ne a ne rozběhnout. Už se tím trápím mnohem déle než před rokem, kdy jsem vše zprovoznil.

Postupoval jsem podle návodu, ale Turris se chová nestandardně. Skript “nas”, který jsem si vytvořil podle návodu a umístil do etc/init.d se pak v LUCI záložce “Po spuštění” objevil s prioritou spuštění 2, i když bylo nastaveno 99. V LUCI záložce se objevil (a to zakázaný!) až poté, co jsem ho v konzoli zadal povolit (dříve se načetl automaticky). Povolení v LUCI pak proběhlo OK. Pak jsem klikl na “Spustit” a v důsledku toho se změnil zpět na “Zakázaný”. Vypadá to, jako že s něčím koliduje a po pokusu o spuštění ho Turris automaticky vyřadí. Samozřejmě že mountování do /mnt adresáře, jak je ve skriptu nastaveno nefunguje, kontroloval jsem to. Samba podle všeho funguje, ale nemá co přenášet. Prostudoval jsem samozřejmě i diskuzi na podobné téma (link výše) a vyzkoušel jsem všechno možné: zakázat mountd - nepomohlo, různé kombinace restartů / mountů / unmountů - nepomohlo. NAS se mi přesně, jak se to píše v té diskuzi výše, mountuje vždy do tmp/run/mountd/sda1. Ze zoufalství jsem zkoušel namapovat sambu přímo do tmp/run/mountd/sda1 - taky nepomohlo.

Už fakt nevím kudy kam. NAS je pro mě zásadní věc, pokud se mi to nepodaří rozběhnout, nebudu moct Turris používat, což by mě mrzelo. Stejné platí i pokud je to tak nestabilní, že se to po nějakých aktualizacích může rozhodit… ;-(

Předem díky za pomoc!

Jirka


#2

Můžete sem hodit výpis příkazů?
cat /etc/config/fstab
a
blkid

Takhle se strašně špatně radí.
Ve Forisu máte zatrženo v seznamu balíčků NAS ?


#3

Díky za rychlou odpověď!

/$ cat /etc/config/fstab

config global
	option anon_swap '0'
	option anon_mount '0'
	option auto_swap '1'
	option auto_mount '1'
	option delay_root '5'
	option check_fs '0'

config mount
	option device '/dev/sda1'
	option target '/mnt'
	option enabled '1'
	option fstype 'ntfs'

/$ blkid

/dev/mmcblk0: PTUUID="85f03acc" PTTYPE="dos"
/dev/mmcblk0p1: UUID="9bf18c83-db76-4b15-a2b6-3660cc642d54" UUID_SUB="be5a5d9a-3800-4060-ac41-7966e7ac1ef2" TYPE="btrfs" PARTUUID="85f03acc-01"
/dev/sda1: LABEL="Elements" UUID="D06E72DE6E72BD32" TYPE="ntfs" PARTLABEL="Elements" PARTUUID="4b725a48-f750-4ede-9cdf-3e175d0f9c03"

Ano, mám ve Forisu zapnutý NAS mezi balíčky.


#4

V souboru fstab u volby
option target '/mnt'
udělej změnu třeba na
/mnt/nas

Na routeru ve složce /mnt vytvoř složku nas. Po restartu by se to mohlo rozjet.


#5

Můžete sem hodit ještě výpis příkazů?
mount
a
df

Tím se zjistí, jestli je disk připojen (namountován) a jakou má kapacitu (status).

Roman


#6

Nerozjelo… ;-(

Soubor fstab jsem na Turrisu našel 3x, v “etc/”, v “etc/config/” a v “etc/init.d”. Jediný, který obsahoval relevantní nastavení byl ten v “etc/config”, takže tam jsem to upravil. Na routeru jsem v adresáři /mnt vytvořil složku nas. Restartoval jsem.

Posílám znovu ty samé výpisy a navíc ještě příkazy mount a df.

/$ cat /etc/config/fstab

config global
option anon_swap ‘0’
option anon_mount ‘0’
option auto_swap ‘1’
option auto_mount ‘1’
option delay_root ‘5’
option check_fs ‘0’

config mount
option device ‘/dev/sda1’
option target ‘/mnt/nas’
option enabled ‘1’
option fstype ‘ntfs’

/$ blkid
/dev/mmcblk0: PTUUID=“85f03acc” PTTYPE=“dos”
/dev/mmcblk0p1: UUID=“9bf18c83-db76-4b15-a2b6-3660cc642d54” UUID_SUB=“be5a5d9a-3800-4060-ac41-7966e7ac1ef2” TYPE=“btrfs” PARTUUID=“85f03acc-01”
/dev/sda1: LABEL=“Elements” UUID=“D06E72DE6E72BD32” TYPE=“ntfs” PARTLABEL=“Elements” PARTUUID=“4b725a48-f750-4ede-9cdf-3e175d0f9c03”
/$ mount
/dev/mmcblk0p1 on / type btrfs (rw,noatime,ssd,space_cache,commit=5,subvolid=262,subvol=/@)
proc on /proc type proc (rw,noatime)
sysfs on /sys type sysfs (rw,noatime)
none on /sys/fs/cgroup type cgroup (rw,relatime,cpuset,cpu,cpuacct,blkio,memory,devices,freezer,net_cls,pids)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime)
tmpfs on /dev type tmpfs (rw,relatime,size=512k,mode=755)
devpts on /dev/pts type devpts (rw,relatime,mode=600,ptmxmode=000)
debugfs on /sys/kernel/debug type debugfs (rw,noatime)
mountd(pid2433) on /tmp/run/mountd type autofs (rw,relatime,fd=5,pgrp=2432,timeout=60,minproto=5,maxproto=5,indirect)
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
/dev/sda1 on /tmp/run/mountd/sda1 type fuseblk (rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096)
/$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mmcblk0p1 7633920 224904 7412092 3% /
tmpfs 1035036 1600 1033436 0% /tmp
tmpfs 512 0 512 0% /dev
/dev/sda1 1953479676 144156772 1809322904 7% /tmp/run/mountd/sda1


#7

Dle všeho se disk připojuje do /tmp/run/mountd/sda1
Zkuste v konzoli /ec/init.d/mountd disable A po té resetujte router.
Po té by měl jít připojit normálně. NTFS je na linuxu cesta do pekel :slight_smile:


#8

Už jsem na to přišel! Když jsem zadával příkazy, které jste radili kvůli diagnostice, tak jsem to dělal přímo v konzoli, čímž jsem zjistil další cenné informace o tom, jak se dařilo nebo nedařilo příkazy a skripty spouštět. Zejména spouštění skriptu “nas” selhalo se zajímavou hláškou:

error_message

Všiml jsem si na třetí řádce té hlášky, že druhá uvozovka chybí a je až na čtvrté řádce. Zdálo se mi, že to možná je nějaký problém ve speciálních znacích jako CR/LF, apod. Jinak jsem si nemohl vysvětlit, že nemůže najít soubor “rc.common”, i když jsem viděl, že v adresáři “etc” je. To, že se skript díky speciálním znakům interpretuje špatně, by vysvětlovalo i špatné zařazení priority spouštění (2 namísto 99) a to, že ho Turris po pokusu o spuštění vždy zase zakáže (evidentně zakazuje havarující skripty). Protože jsem si všiml, že skript “mountd” je obsahově velmi podobný skriptu “nas”, tak jsem v Turrisu zduplikoval skript “mountd”, duplikát jsem přejmenoval na “nas” a v něm jsem provedl jen minimum úprav, abych ho dostal do cílové podoby. Pak už se spouštěním nebyl vůbec problém, priorita spouštění byla správně nastavena na 99 a externí disk se úspěšně namapoval!

Myslím, že tento problém by se mohl stát i dalším uživatelům. U mě pravděpobodně vznikl díky Notepadu Windows 10 (před rokem jsem ještě používal Windows 8, kde mohl Notepad fungovat jinak - proto ta změna mezi stavem nyní a před rokem). Původně jsem skript “nas” jsem vytvořil tak, že jsem založil textový soubor, vykopíroval jsem pomocí CTRL+C / CTRL+V znění skriptu z webového návodu k Turrisu, umazal příponu “.txt” a zkopíroval na Turris do adresáře “etc/init.d”. No tak tento postup vytvoří nefunkční skript. Možná by pomohlo umístit někam k webovým návodům Turris ke stažení přímo ten soubor s “nas” skriptem a nespoléhat na jeho vytvoření.

Ahoj, Jirka