Linux

Stavím servery které beží na ubuntu

Dlouho jsem hledal distribuci která by mi vyhovovala a nakonec zvítězila distribuce Ubuntu pracuji s ní už od verze 10 vydanou v roce 2010. Systém je velmi stabilní, umožňuje automatické aktualizace a stahování softwaru skrze příkaz. Nic se nemusí složitě nastavovat

Role ve kterých server používám

  • Samba - sdílení souborů v síti
  • Wins - Udržuje seznam počítačů v síti, když chcete zobrazit počítače ve skupině okamžitě se díky tomuto serveru načtou
  • ISC-DCHP-Server - automaticky nastavuje počítače pro připojení k síti, využívám jej pro přidělovaní statických adres přes MAC
  • Pure-FTP - FTP server který používám k distribuci souborů s CNC terminálů
  • Bind9 - DNS server pro překlad adres
  • OpenVPN - pro šifrované připojení z internetu do firmy

Projekt - Datové uložiště

Stal jsem před rozhodnutím pořídit dvě datové uložiště do firmy. Jedno jako hlavní pro firemní dokumentaci a zálohy a druhé jako vzdálená záloha v případě požáru

Zvažoval jsem profesionální řešení od Qnap a Synology, ale i když tyto systémy jsou velmi dobře odladěné. Největší výhoda je právě operační systém, který toho umožňuje opravdu mnoho. Nakonec mě dva parametry přesvědčili, abych si postavil uložiště vlastní. Byla to rychlost a rozšířitelnost.

Při testovaní rychlosti jsem z Qnapu i Synology dostal maximálně 70 mb/s na gigabitové síti a to bylo opravdu málo. Přitom procesory na uložišti byli vytíženy naplno.

Rozšířitelnost. V mém cenovém limitu jsem dosáhl pouze na uložiště pro dva disky a to pro rozšíření do budoucna bylo málo.

Plusy uložiště

  • automatický přechod na novou verzi operačního systému
  • napojení do ekosystému výrobce a zpřístupnění uložiště do internetu zkrze aplikace pro android i Iphone
  • Emailové reporty o stavu
  • Spousta aplikací


Jak je celý systém zapojený

Obě uložiště mají v základu dva disky zapojené v RAID 1

Uložiště A - je využíváno uživateli pro firemní data

CNC stroje si ukládají informace o údržbě a jsou prováděny automatické zálohy vytvořených programů přes FTP server


Vyvstal požadavek, možnost prohlížet výkresovou dokumentaci z Konstrukce. Tak aby byla veřejně přístupná v případě potřeby na terminálech které jsou v halách

toto řeším přes rsync script, který z konstrukčního počítače synchronizuje pouze

Hodnocení projektu

Teď s odstupem času šesti let mohu zhodnotit svoje rozhodnutí jako správné. Za celou dobu jsem neměl žádné vážné problémy. Všechny požadavky na rozšíření byly realizovatelné.

Největší chyby

Největší chyba byla použít jako systémový disk, flash disk nebo paměťovou kartu

flaska i paměťovka vydrželi rok provozu a pak odešli, nebo se objevili vadné sektory. V dnešní době cena SSD disků klesla na tolik že je jasná varianta použít ho.

Scripty a automatické úlohy

První část scriptu - mount připojím sdílenou jednotku k uložišti

Počítač "Konstrukce" má sdílený disk D. Raději v příkazech uvádím IP adresy protože odkaz na jméno nemusí vždy fungovat

//172.16.16.50/D

Tuto jednotku připojuji "mountím" na uložiště do složky

/mnt/KonstrukceVykresyRsync

serverová distribuce Ubuntu v základu obsahuje cifs komunikační protokol, není potřeba nic doinstalovávat

mount -t cifs //172.16.16.50/D -o username="user",password="password" /mnt/KonstrukceVykresyRsync;

Druhá část - rsync provedu synchronizaci dat

r - recursive, příkaz se provede na všechny vnořené adresáře

v - verbose, během provádění úlohy je na obrazovku zobrazen výpis výstupu programu

t - zachová datum poslední úpravy souboru, datum vytvoření zachovat nelze při přenosu na jiný systém, ale je možné přenést datum kdy byl soubor naposledy upraven

W - zrychluje přenos po síti u velkých souborů, např videa, nebo záložní archívy

--include - zahrnout do kopírování

--include="*.pdf" - zahrň všechny soubory s koncovkou pdf

--exclude - vyloučit z kopírování

--exclude="*.*" - vyjmi všechno z kopírování až na to co je označeno --include

--delete-excluded příkaz smaže všechno v cílové oblasti co není shodné s kopírovanými zdrojovými soubory

Zadání je s velkými a malými písmeny, protože linux je na tohle citlivý a kopíroval by pouze *.pdf a ty co jsou velkými písmeny by nevzal, proto *.PDF

Jednotka D na konstrukci je opravdu ve skutečnosti vysdílený celý disk, proto z kopírování vyjímám --exclude="System Volume Information" tento adresář vzniká při formátování disku ve Windows a nejde zkopírovat, script by vyhazoval chybu

Průběh scriptu

  1. Zjistí se aktuálnost souborů mezi zdrojem a cílem, soubory které jsou již obsaženy na cílovém disku se ze zdrojového již nekopírují
  2. Kopírují se jen soubory vyhovující parametru --include
  3. Pokud jsou na cílovém disku jakékoliv soubory které se neshodují se zdrojovými, jsou smazány


rsync -rvtW --include="*.pdf" --include="*.PDF" --include="*.jpg" --include="*.JPG" --include="*.DWG" --include="*.dwg" --include="*.DFT" --include="*.dft" --exclude="System Volume Information" --exclude="*.*" --delete-excluded /mnt/KonstrukceVykresyRsync/ /media/Data/KonstrukceVykresy

Jak na RAID 1 - vše s čím se správce setká

Raid 1 - měníme disk za chodu