Raspberry π VI. - Externí disk a NAS

Malá spotřeba předurčuje Raspberry Pi i k dalším posláním . Pokud například chcete mít jeden velký úložný prostor pro celou domácnost , ať už pro zálohy či společnou hudbu nebo filmy , můžete využít tento počítač jako NAS , tedy jako “ datové úložiště na síti ”.

6.9.2012 00:00 | Petr Horáček | přečteno 36211×

Při doinstalování potřebných aplikací do Raspberry a připojení externího disku, tak vznikne datové úložiště dostupné odkudkoliv ze sítě z jakéhokoliv operačního systému. Náš malý počítač sice asi nebude zvládat přímé přehrávání HD filmů po síti, jako úložiště záloh, filmů, hudby či fotografií je ale dostačující. Navíc je i možné vytvořit soukromé prostory každému uživateli v síti.

Externí disk

Než se ale dostaneme k samotné Sambě, přesuneme si naše domovské složky na externí paměťové zařízení. Jednak by nám totiž nemusel prostor na SD kartě dostačovat a jednak by se karta neustálým přepisováním brzy zničila.

Ze všeho nejdřív tedy spustíme Raspberry a zapíšeme do terminálu toto:

tail -f /var/log/messages

Poté připojíme USB zařízení a následovně se vypíše kód, ve kterém najdeme jeho adresu, pro ukončení výpisu je pak třeba stisknout Ctrl+C.

Jak vidíte, v mém případě to bylo “sda1”. Dalším krokem bude naformátování zařízení, Vložíme tedy kód pro odpojení zařízení a naformátujeme jej na souborový systém ext4 (disk možná ani není “namountovaný” a po pokusu o odpojení se vypíše upozornění, to však ničemu nevadí).

sudo umount /dev/sda1 #či případně jiný název
sudo mkfs.ext4 -L data /dev/sda1 #opět případná změna adresy

Disk je tedy naformátovaný, teď budeme “šachovat” s domovskou složku abychom se dostali ke zdárnému konci, kdy budou adresáře přesunuty na externí disk. Nejprve tedy vytvoříme v kořenovém adresáři složku novyhome a připojíme do něj naše zařízení.

sudo mkdir /novyhome
sudo mount /dev/sda1 /novyhome ###případně nahradáme sda1 jinou adresou..

V dalším kroku překopírujeme všechna data včetně symlinků ze složky home do složky novyhome, tedy na disk, k tomu budeme potřebovat nástroj rsync, který je nejprve nutné nainstalovat.

sudo apt-get install rsync
sudo rsync -la /home/* /novyhome

Dále starou domovskou složku odstraníme, odpojíme paměťové zařízení a složku novyhome přejmenujeme na home.

sudo rm -r /home 
sudo umount /dev/sda1
sudo mv /novyhome /home

A nakonec připojíme zpět externí disk do složky home.

sudo mount /dev/sda1 /home

Vše je připraveno k použití, bohužel po restartu Raspberry se disk už nenačte, to můžeme ale lehce napravit. Nejprve však musíme zjistit UUID (Universaly Unique Identifier - unikátní identifikátor použitelný na libovolný objekt) našeho připojeného disku, zapište tedy příkaz sudo blkid a vyhledejte hodnotu UUID u připojeného disku. Nyní už otevřete soubor /etc/fstab pomocí programu nano.

sudo nano /etc/fstab

Do tohoto souboru přidejte následující řádek a poté editor zavřete Ctrl+X a potvrďte změny. UUID a adresu disku samozřejmě změňte na svá data.

UUID=099bddca-c63b-4ccd-9b80-3d9fc85adc69 /home ext4 defaults 0 0

Teď se již všechna uživatelská data budou ukládat na připojené úložné zařízení. Pro otestování funčnosti můžeme Raspberry restartovat.

sudo shutdown -r now

Samba

Ne, teď se nebudeme bavit o onom latinskoamerickém tanci. Samba server slouží k zasílání dat do Samba klientů. Mohli bychom sice použít i FTP, ale Samba je v tomto směru velice populární, je vestavěná do OS Windows i Mac OS a do Linuxu se případně dá velice jednoduše doinstalovat (na Ubuntu jsem však ani nic instalovat nepotřeboval). V praxi to vypadá, jako kdybyste pracovali s běžnou složkou, ta však není uložena na vašem počítači ale na serveru. Samba tedy poskytuje možnost propojení sítě Windows se sítí Linuxu.

Nainstalujeme tedy balíčky samba a samba-common-bin.

sudo apt-get install samba samba-common-bin

Pro lepší zabezpečení doporučuji nastavit přihlašování do Samby pomocí uživatelského jména a hesla. Editujte tedy její konfigurační soubor.

sudo nano /etc/samba/smb.conf

A řádek “# security = user” v sekci ##### Authentication ##### odkomentujte odstraněním dvojité mřížky. Pro aplikaci změn v nastavení Sambu restartujte.

sudo /etc/init.d/samba restart

Uživatelé

Pro vytvoření nového uživatele Samby je třeba použít již stávajícího uživatele Raspberry. Toho můžeme vytvořit příkazem useradd, heslo se mu pak nastaví přes passwd.

sudo useradd jmeno_uzivatele -m -G users
sudo passwd jmeno_uzivatele ###poté budeme vyzvání k zapsání hesla

V druhém kroku pak právě vytvořeného uživatele (nebo i uživatele pi), nastavíme jako uživatele Samby.

sudo smbpasswd -a jmeno_uzivatele

Nyní máme uživatele vytvořeného a můžeme se dát do zakládání sdílených složek.

Nastavení veřejného úložiště

Nejprve vytvoříme místo, kde mohou všichni společně a veřejně ukládat svá data. Založme tedy veřejnou složku a přidělme všem uživatelům přístupová práva.

sudo mkdir /home/sdilene
sudo mkdir /home/sdilene/verejne
sudo chown -R root:users /home/sdilene/verejne
sudo chmod -R ug=rwx,o=rx /home/sdilene/verejne

Dále otevřete konfigurační soubor Samby.

sudo nano /etc/samba/smb.conf

Na konec souboru vložte následující kód, poté editor zavřete Ctrl+X a potvrďte uložení změn.

[verejne]
 comment = Verejne
 path = /home/sdilene/verejne
 valid users = @users
 force group = users
 create mask = 0660
 directory mask = 0771
 read only = no

V hranatých závorkách je napsaný název úložiště, pod ním pak jeho konfigurace. Tímto způsobem můžeme vytvořit i další složky s různými právy, vlastníky, určením a podobně.

Nyní opět Sambu restartujte pro použití změn a je hotovo.

sudo /etc/init.d/samba restart

Nastavení soukromých úložišť

Krom veřejného úložiště můžeme spustit možnost soukromých složek, to znamená, že každý uživatel bude moci skrz Sambu přistupovat do své domovské složky na serveru.

Editace se opět provádí v konfiguračním souboru Samby.

sudo nano /etc/samba/smb.conf

V souboru vyhledejte (Ctrl+W) sekci [homes] a změňte v ní “read only = yes” na “read only = no”.

Soubor zavřete Ctrl+X a potvrďte změny. Opět přichází restart Samby pro načtení nového nastavení.

sudo /etc/init.d/samba restart

A to je vše.

Připojení na server

Jak již bylo řečeno, připojení je velice snadné a po krátkém nastavení se budou adresáře umístěné na serveru chovat jako místní.

Na Linuxu

V Linuxu stačí  ve správci souborů otevřít kartu Síť, v ní nalezneme připojení RASPBERRYPI pod Sítí Windows. Druhou možností je “přejít na umístění” (v Nautilusu Ctrl+L), tedy přímé připojení podle adresy. Ve správci souborů stačí zadat do adresového řádku smb://raspberrypi/ pro veřejné složky serveru, či smb://raspberrypi/uzivatel pro přístup k domovským složkám uživatele. Poté se stačí pouze přihlásit a “jsme tam”. Abych se nemusel později opět připojovat, vytvořím si ve správci souborů záložku (Záložky → Přidat záložku).

Z Ubuntu 11.04 se mi podařilo připojit bez problémů, pokud vám ale systém bude hlásit chybějící balíček, nainstalujte si balíček samba.

sudo apt-get install samba

Na Windows

V operačních systémech Windows spusťe správce souborů a zde “připojte síťovou jednotku”. Jako jednotku vyberte jakékoliv dostupné písmeno a do pole Složka vložte \\raspberrypi\, případně k adrese připojte ještě vaše uživatelské jméno, pro připojení do domovské složky. Nastavení “dokončete”, po autorizaci se ve vašem počítači objeví nová diskový jednotka s naším Raspberry serverem.

Závěr

Toto tedy bylo jedno z dalších možných využití Raspberry Pi. V příštím díle seriálu si náš malinový NAS ještě trochu rozšíříme, doinstalujeme si na něj totiž download manažera a díky tomu budeme moci stahovat ve dne i v noci bez spuštěného “velkého a hladového” počítače."

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=1950