Raspberry Pi – první zkušenosti – webserver a výkon – díl 3

V sérii článků bych se pokusil popsat instalaci webového serveru, jeho přenos na externí médium a především důvod přenosu. Obsahem článků bude i návod na změnu taktu CPU, GPU a RAM. Dále se budu snažit popsat, jak bylo prováděno měření výkonu připojených uložišť. Na závěr článku opět přidám pár zajímavých linků, které jsem používal pro čerpání rad.

 

V minulém díle jsme se podívali na rychlost systému a file systému. Na základě zjištěných informací jsem se tedy rozhodl přetaktovat CPU a RAM podle minulého dílu. Dnešní díl bude zaměřen na přesun stránek a databází na připojený SSD disk přes USB.
Za prvé je dobré zajistit, aby se vám disk připojil kam je potřeba a i v případě, že je k systému připojen další přenosný disk. V takovém případě se může stát, že po restartu systému se vám přehodí označení disků. Což je u USB celkem běžně možné. Používat tedy pro připojení údajů /dev/sda1 , /dev/sdb1 není vhodné. Řešení je ale jednoduché. Systém může disky připojovat například podle názvu oddílu. Pro tento účel poslouží adresáře v /dev/disk   kde najdete disky seřazené podle by-id , by-label , by-uuid , by-patch v techto adresářích. Adresář pak obsahuje linky na jednotlivé oddíly, po vylistování příkazem ” ls -la ” by mělo být vidět něco takového :

lrwxrwxrwx 1 root root  10 Jan  1  1970 data -> ../../sda1

lrwxrwxrwx 1 root root  10 Jan  1  1970 free -> ../../sda3
lrwxrwxrwx 1 root root  15 Jun 18 07:18 Raspbian -> ../../mmcblk0p3
lrwxrwxrwx 1 root root  10 Jan  1  1970 swap -> ../../sda2

Výpis pak ukazuje, že jsem disk ” sda ” rozdělil na tři oddíly s názvem ” data ” (uložiště zvolené pro data webu), ” free ” (uložiště pro další soubory) a ” swap ” (odkládací prostor systému). Tyto jmenovky vytvoříte při formátování parametrem ” -L  jmeno_oddílu “. Disk samozřejmě nemusíte rozdělovat a můžete nechat pouze jeden oddíl, já to dělal jen z důvodu, že mi přišlo zbytečné zabrat pro web celou velikost disku 32GB. Mé rozdělení je 10GB pro web, 512MB pro swap a zbytek pro ostatní data (počítám, že tam budu provozovat nějakého torrent klienta a http downloader. Práci s programem ” fdisk ” na vytvoření oddílů disku najdete pěkně popsáno i s ukázkou krouků na webu The Vlasta’s Home Page – česky. Budete potřebovat znát označení disku které systém přidělil, to vypíšete příkazem ” ls -la /dev/disk/by-id “. Výsledek bude vypadat nějak takto :

 memstick-SD_0x0520097f -> ../../mmcblk0
 memstick-SD_0x0520097f-part1 -> ../../mmcblk0p1
 memstick-SD_0x0520097f-part2 -> ../../mmcblk0p2
 memstick-SD_0x0520097f-part3 -> ../../mmcblk0p3
 memstick-SD_0x0520097f-part4 -> ../../mmcblk0p4
 usb-ADATA_SSDS596Turbo32G_WWWWWWW-WWWW-7778567-0:0 -> ../../sda

Zkusím teď letmo popsat vytvoření a formát systému.

Vytvoření oddílu a formát
Vytvoření oddílů programem fdisk
fdisk /dev/sda – sda zadejte podle vašeho disku
d – smaže původní oddíl, opakujte v případě více oddílů
n – vytvoří nový oddíl, budete vyzvání k zadání začátku oddílu, nic neměnit jen potvrdit,
       pak následuje dotaz na konec zde zase ponechte nebo zadejte velikost oddílu.
Krok pro vytvoření oddílu opakujte v případě že chcete více oddílů. Doporučuji vytvořit dva, jeden velká pro data a jeden o velikosti cca 512MB pro swap. V případě swap oddílu, jej musíte označit jako swap.
t – změna označení oddílu, bude následovat dotaz na číslo oddílu a pak na číslo tytu,
      pro swap zadejte číslo ” 82
w – uloží provedené změny
POZOR VŠECHNY ZMĚNY PROVEDOU SMAZÁNÍ DAT DISKU

Formát oddílů:
mkfs.ext4 -L název_oddílu /dev/sda1  – sda1 nahradíte podle vašeho disku, 
                                                                                         název oddílu zadejte třeba ” data “,
                                                                                         pod tímto názvem budete disk připojovat  
mkswap -L swap /dev/sda2  – formát a označení swapovacího oddílu v případě že je vytvořen

Nyní máme jednotlivé oddíly pojmenované a naformátované. Díky pojmenování zabezpečíme připojení oddílů do správného adresáře. Musíme tedy vytvořit adresář, kam se disk bude připojovat, ja zvolil cestu /srv/ssd. Adresář ” ssd ” vytvoříte následovně:

Příprava adresáře
cd /srv  – přechod do adresáře srv
mkdir ssd  – vytvoření adresáře
chmod 755 ssd – nastavení oprávnění

 Místo pro připojení disku je hotovo a tak se postaráme o připojení disku automaticky při spouštění systému. K tomuto účelu je určen soubor ” fstab” v adresáři ” /etc “.

Úprava souboru fstab
nano /etc/fstab  – otevření souboru v editoru
/dev/disk/by-label/data /srv/ssd  ext4 defaults 0 0  – vložte řádek pro připojení datového oddílu
Pokud budete připojovat i swap oddíl, najdete řádek obsahující slovo ” swap ” a nahradíte tento řádek následujícím:
/dev/disk/by-label/swap  none  swap  sw  0  0
uložte

 Přípravu disku, adresáře a připojení disku máte za sebou. Nyní po restartu systému by měl být disk připojen. Ověření provedete pomocí příkazu ” df -h “, ve výpisu by měl být vidět řádek, jde bude uveden adresář ” /srv/ssd ” a k němu připojený oddíl.
Např. takhle: /dev/sda1 9.2G  4.2G  4.6G  49% /srv/ssd

Můžeme tedy přistoupit k samotnému přenosu souborů stránek a především souborů potřebných pro běh mysql databáze z nového umístění. Tyto soubory je třeba přenášet včetně zachování vlastníka a oprávnění. Já to provádím tak, že soubory zabalím pomocí programu ” tar “, přenesu a rozbalím na novém umístění. Budou tedy následovat příkazy, které raději provádějte po jednom řádku a sledujte zda vám někde nebude vrácena chybová hláška. Některé operace mohou chvilku trvat, tak nepanikařte, nic nemačkejte a vyčkejte na dokončení operace.

Příkazy pro tvorbu a přesun adresářů
service mysql stop  – zastavení služby mysql
service lighttpd stop  – zastavení služby lighttpd

cd /var/lib
tar cvf /srv/ssd/back mysql  – zabaleni adresáře

cd /srv/ssd
tar xvf back  – rozbalení v novém umístění

mkdir tmp
chmod 777 tmp  – vytvoření adresáře a úprava práv

cd /var/cache
tar cvf /srv/ssd/back_ligh lighttpd  – zabalení adresáře

cd /srv/ssd
tar xvf back_ligh   – rozbalení v novém umístění

cd lighttpd
mkdir log
chown www-data:www-data log
cd log
touch error.log
chown www-data:www-data error.log  – vytvoření logovacího souboru a úprava práv

cd /srv/ssd
mkdir www
chown www-data:www-data www  – vytvoření adresáře pro webové stránky a úprava práv

Pokud vše proběhlo bez chybové hlášky, je systém připraven a bude následovat úprava konfiguračních souborů pro mysql a lighttpd. Můžete přesunout i existující stránky, jen nezapomeňte přesun prováděl pod uživatelem www-data.
Zpět k poslednímu kroku, tedy úpravě konfiguračních souborů. Můžete je opět editovat programem “nano”. Bude následovat soupis změn v souborech. Vyhledejte názvy hodnot a změňte jejich obsah, podle následujících tabulek.
 

/etc/mysql/my.cnf
datadir         = /srv/ssd/mysql
tmpdir          = /srv/ssd/tmp
/etc/lighttpd/lighttpd.conf
server.document-root        = “/srv/ssd/www”
server.upload-dirs          = ( “/srv/ssd/lighttpd/uploads” )
server.errorlog             = “/srv/ssd/lighttpd/log/error.log”

compress.cache-dir          = “/srv/ssd/lighttpd/compress/”

Tak by všechny úpravy měly být hotové a stačí vyzkoušet zda nám služby naběhnou.

Start služeb
service mysql start  – mělo by se po naběhnutí služby ukázat OK
service lighttpd start  – opět správnou funkci indikuje OK 

Systém se zdá byt trochu rychlejším, ale každopádně by tento způsob měl byt spolehlivější než časté zápisy na SD kartu. Přeci jen se u SSD disku počítá s větší zátěží. Dalšího urychlení se u wordpressu a dalších redakčních systémů dá dosáhnou nainstalováním pluginu pro cachování stránek.

 

______________________________________________________________________________________

______________________________________________________________________________________