Wat is beter: een NAS of een backup?

nerd alert

Een nas bewaart je bestanden. Het is een apart kastje met harddisks en de verbinding loopt via je netwerk, niet via USB. Je bestanden zijn ook te benaderen via internet, als je wilt.

Je kunt een nas kopen in de winkel, maar je kunt er ook zelf een maken van een oude PC en de gratis software Freenas.

Waarom een nas

Een nas is opslagruimte die niet in één bepaalde computer zit, maar in een apart kastje in je thuisnetwerk. Vroeger zouden je dit een „fileserver” genoemd hebben. Tegenwoordig hebben veel mensen thuis naast hun desktop-PC ook een tablet, een mini-PC of een smart-TV waar ze films op bekijken en/of een laptop waarop ze officewerk doen. Als je bestanden bewaart op een nas, kan je ze vanaf al die apparaten benaderen, zelfs als je niet thuis bent (via internet).

Als grote bestanden verhuizen naar een nas, kan je de harddisk in je PC vervangen door een weliswaar kleinere, maar veel snellere SSD.

Je hoeft nooit meer met een transport-stick bestanden naar een ander apparaat over te zetten. Eindelijk heb je de kans om al je bestanden in logische mappen te ordenen. Voor het maken van backups en het uitbreiden van diskruimte is er voortaan één centrale plek: de nas.

In de basis is een nas een gewone Linux computer, dus er zijn nog heel veel andere de toepassingen die je kunt installeren. Veel mensen gebruiken hun nas om bijvoorbeeld ’s nachts als de PC uit staat bestanden te laten downloaden, of om beelden van IP-camera’s te bewaren.

Smart-TV herkent Diskstation
Smart-TV herkent DiskStation automatisch

Bestanden bewaren

Het doel waarvoor ik mijn nas hoofdzakelijk gekocht heb, is: mijn bestanden goed bewaren. En dan bedoel ik niet alleen beveiliging tegen een harddisk die het begeeft, een computervirus of blikseminslag (oorzaken die normaal gesproken maar zelden voorkomen), maar ook wil ik geen bestanden en mappen kwijtraken door bijvoorbeeld een onhandige muisbeweging.

Dankzij de nas heb ik nu meer dan één vangnet ingeschakeld:

  • raid zorgt ervoor dat ik de backup nog niet nodig heb, als er één harddisk ineens kapot gaat;
  • read-only mounten van mappen, zodat ik niet ongemerkt iets kan wijzigen;
  • #recycle directory bewaart alle bestanden die ik heb „verwijderd”;
  • dagelijkse backup naar de nas zelf bewaart oude versies van bestanden;
  • backup naar externe harddisks om de laatste versie off-line te bewaren;
  • via e-mail houdt de nas mij op de hoogte van de smart” status van de harddisks.

En dan gebruik ik nog niet eens alles, zoals:

  • backup naar een tweede, off-site nas via internet;
  • backup in een „write-only” clouddienst
    (ik bedoel daarmee de diensten waarvoor je alleen hoeft te betalen als je ooit een backup wilt teruglezen, maar nog niet voor het maken van je backups).

Harddisks, raid en geluid

Natuurlijk kan je een nieuwe nas volstoppen met oude harddisks, maar die hebben waarschijnlijk per stuk niet zoveel opslagruimte, dus dan moet je een apparaat kopen met meer ruimte voor disks (en dat is duur). Behalve dat gebruiken je oude schijven meer stroom, maken ze meer geluid en zijn ze waarschijnlijk langzamer dan nieuwe. Een beter idee is daarom misschien om nieuwe harddisks te kopen die speciaal ontworpen zijn voor 24/7 gebruik in een nas, deze zijn bijvoorbeeld veel beter gebalanceerd dan een normale harddisk.

Wat geluid betreft: bij mij maakt het seeken van de HD’s het meeste geluid, daarna het stromen van de lucht (door de ventilator), als laatste pas het draaien van de spindels.

Voor extra zekerheid tegen een kapotte harddisk, kan je een extra disk kopen en raid activeren:

  • raid-1 voor 2 harddisks:
    alle gegevens worden identiek op de 2 harddisks weggeschreven;
  • raid-5 voor 3 harddisks:
    de nas vult de derde harddisk op zo’n manier, dat bij uitvallen van één harddisk altijd de inhoud opnieuw berekend kan worden, uit de data op de twee andere.

Het klinkt misschien of raid-5 efficiënter is–en vroeger was dat ook zo want je offert minder diskruimte op voor de veiligheid. Maar dit kost rekenwerk (lees: hogere prijs en lagere snelheid) en met de huidige lage prijzen van harddisks is dat voor thuisgebruik niet interessant meer.
Zo, ik heb je enkele avonden studie bespaard, als je twijfelde over raid.

Bedenk verder: hoe meer harddisks je tegelijkertijd gebruikt, hoe groter de kans is dat je een keer met een kapotte harddisk te maken zult krijgen. Deze kans stijgt in de praktijk veel sneller, dan je op basis van kansberekening zou verwachten.

Backups maken

Een nas is onlosmakelijk verbonden met het begrip backup: een nas is geen alternatief voor een backup en ook raid is geen alternatief voor een backup.

Met een nas is al je belangrijke data op één plek geconcentreerd, backups worden dus juist belangrijker. Een nas maakt het ook veel gemakkelijker om backups te maken: je apparaten kan je automatisch laten backuppen naar de nas (bijvoorbeeld de directory .profile), verder kan je gemakkelijk centraal een backup maken vanaf de nas naar bijvoorbeeld een externe hardisk.

Een belangrijke tip is: vergeet niet om het terugzetten van een backup te testen. Het zou zeker niet de eerste keer zijn dat het maken van backups altijd „probleemloos” draait, maar pas op het moment dat je een backup moet terugzetten blijkt dat die nooit compleet geweest is.

Freenas

Freenas is eigenlijk gewoon een Linux distributie die zich meteen vanaf installatie als een nas systeem gedraagt, compleet met webinterface. Voordeel is dat je oude hardware kunt gebruiken om een NAS te bouwen en je bent verder heel flexibel bent in de software die je gebruikt en: je leert er ook nog wat van. Nadeel is dat die oude hardware veel meer stroom gebruikt en veel meer geluid maakt dan een dedicated nas, en je hebt er wéér een systeem bij waarvan je de software regelmatig up-to-date moet houden.

Een nas is relatief duur (voor hetzelfde geld zou je een kleine laptop kunnen kopen), dus daarom denken veel mensen dat het ook wel met oude hardware kan. Maar de harddisks die er in komen zijn in het algemeen duurder dan de rest van de nas, dus uiteindelijk valt de hoge prijs nog wel mee. Daarom heb ik er uiteindelijk voor gekozen om een kant-en-klaar nas systeem te kopen. Mijn nas maakt zo weinig geluid, dan ik hem niet in de meterkast hoefde te verstoppen: hij staat gewoon in de huiskamer. Met oude hardware zal je dat niet lukken.

Netwerksnelheid

Alle gegevens gaan via je netwerk, dus het is belangrijk welke snelheid de aansluiting van de nas heeft. Er bestaan nassen die je via WiFi kunt gebruiken (eventueel via een dongel), maar als dat een 54Mbps wlan is, dan gaat het traag, vergelijk maar:

  • bij wlan 802.11g (verbonden op 54Mbps): maximaal ongeveer 20Mbps effectief oftewel maar 2½MB per seconde;
  • bij 100Mbps bekabeld: ongeveer 90-95Mbps (oude Fritz!box) oftewel iets meer dan 10 Megabyte per seconde, dat klinkt misschien snel, maar het is nog niet eens de helft van de topsnelheid van een moderne harddisk;
  • Gigabit ethernet: dit is 10 keer zo snel en voorlopig nog snel genoeg.

Het op een nieuwe nas laden van de bulk van je bestanden doe je het best via Gigabit, of door een USB aansluiting op de nas te gebruiken. Andere aansluitingen zijn praktisch gezien gewoon te langzaam. Tip: als je een Gigabit router gaat kopen, neem er dan niet eentje van een goedkoop merk, want die halen vaak niet de volle snelheid.

Een WiFi stick in je NAS kan natuurlijk heel handig zijn als je de NAS een dubbelrol wilt geven als „wireless AccessPoint”, want dat is een van de varianten die je kunt instellen.

Extra tips

  • Als je een nas gaat inrichten, is het verstandig om veel tijd besteden aan de juiste beveiliging. Kies een goed wachtwoord!
  • Windows bestandendelen via internet niet rechtstreeks doen, alleen via de webinterface of beveiligd achter een VPN;
  • Tip voor het overzetten van bestanden van (oude) PC’s naar een NAS: gebruik ZIP of ARJ op de oude PC om complete folders te comprimeren. Dit bestand kopieer je naar de NAS. De NAS kan de bestanden zelf decomprimeren. Op die manier blijven de datums van de bestanden bewaard en met wat geluk gaat de datatransfer sneller.

Aankoppelen vanuit Ubuntu/Linux

In een file-explorer onder Windows, Apple of Linux open je gewoon smb://diskstation of \\diskstation, in Android gebruik je Es File Explorer, je Smart-TV vindt media vanzelf. Maar hoe koppel je op de traditionele manier een share vanaf de Linux command-line op een zelfgekozen plaats?

Het verwarrende is dat dit type verbinding Samba heet, maar als je het gelijknamige pakket installeert dan werkt het niet goed. In plaats daarvan moet je het pakket cifs installeren. Logisch toch? Als je het weet. Uiteindelijk gaat dat op de volgende manier.

Eenmalig:

sudo mount -t cifs -o username=«user»,password=«pass» //«ip»/«share» «mountdir»

Voor structureel gebruik heb ik deze regels toegevoegd aan /etc/fstab :

//«ip»/home /diskstation/home cifs noauto,uid=1000,gid=1000,credentials=/home/«user»/.smbcredentials-«computernaam» 0 0
//«ip»/data /diskstation/data cifs noauto,credentials=/home/«user»/.smbcredentials 0 0
//«ip»/install /diskstation/install cifs noauto,ro,credentials=/home/«user»/.smbcredentials 0 0
//«ip»/media /diskstation/media cifs noauto,ro,credentials=/home/«user»/.smbcredentials 0 0

De mappen worden bij mij niet automatisch gekoppeld, dat doe ik handmatig met

sudo mount //diskstation/«share»

als het nodig is. Automatisch aankoppelen kan natuurlijk wel, haal dan de optie „noauto” weg.

Je kunt een read-only map tijdelijk read-write (re-)mounten met:

mount -o remount,rw //diskstation/«share»

Oorspronkelijk heb ik alle shares van mijn nas gemount onder de directory /diskstation en in Unix mag je meerdere slashes schrijven, als dat handig is. Later heb ik de koppelpunten verplaatst naar de map /mnt .

Om de NAS wakker te kunnen maken als hij slaapt, heb ik het MAC adres toegevoegd aan het bestand /etc/ethers . Wakker maken gaat dan met het commando etherwake.

Ontdubbelen

Vanwege alle backups die ik de afgelopen tientallen jaren handmatig en onregelmatig gemaakt heb, heb ik van veel bestanden meerdere kopieën en versies op diverse disks. Het zomaar ongezien ontdubbelen heeft wel nadelen, zo is dit bijvoorbeeld niet praktisch voor DVD’s: sommige DVD’s bevatten voor een deel identieke bestanden, terwijl het als geheel weldegelijk verschillende DVD’s zijn.

Om te ontdubbelen maakt een Synology NAS zelf ook al een lijst van bestanden die waarschijnlijk dubbel zijn. Maar in plaats daarvan, gebruik ik meestal de tool fdupes, om bestanden te ontdubbelen dan en slechts dan als ze ook echt 100% identiek zijn, Op die manier kan je automatisch al je oude reservekopieën, op zomaar een extra computer, harddisk of USB-stick vinden, als de bestanden ook echt (nog steeds!) hetzelfde zijn.

Het zou mooi zijn als fdupes dubbele bestanden zelf zou verwijderen, maar het moeilijk te voorspellen in welke directory fdupes dan de bestanden laat staan. Het onderstaande script is daarvoor een poging tot oplossing: het gebruikt fdupes om de dubbelen te zoeken en verwijdert vervolgens alleen de dubbelen die staan in de huidige directorytree. Parameters: andere directories met bestanden. Dit script heeft nog een aantal bugs, dus loop eerst even na of je daar last van hebt.

# Zoekt dubbele bestanden in de huidige directory en maakt een script om ze te verwijderen
# bugs:
# script werkt niet als het te verwijderen bestandsnaam [], quotes of backticks bevat
# als een bestand dubbel in de "." directorytree staat, maar niet in de andere, verwijdert hij ze allemaal
# voor ReadOnly files (ooit gekopieerd van CD-ROM) moet je voor elk bestand een bevestiging geven
echo
echo Zoek dubbele bestanden in de huidige directory en $@
fdupes -Sr . "$@" | awk '/^[.]/ {print "rm \""$0"\""} !/^[.]/ {print "# " $0}'>dellist.sh
# sudo chmod +x ./dellist.sh # Kan niet of hoeft niet op externe disks
echo find . -type d -empty -delete>>dellist.sh
echo rm dellist.sh>>dellist.sh
#
echo
echo Resultaat:
more dellist.sh
echo
echo Om de bestanden te verwijderen:
echo bash dellist.sh
echo of
echo . dellist.sh

NB: de quootjes om de $@ zijn belangrijk, vanwege directorynamen met spaties.

Andere tools om te ontdubbelen op bestandsniveau zijn: FSlint en rdfind, deze zijn sneller dan fdupes.

Synchroniseren van twee disks met rsync

Met het commando rsync kan je de inhoud van twee disks aan elkaar gelijk maken. Dit gebruik ik om de SSD van een computer te synchroniseren naar mijn NAS en om vanuit een computer de NAS te synchroniseren naar een backupdrive.

echo Synchroniseren van "data" van NAS naar externe harddisk
echo
rsync -avzh --progress --delete --modify-window=1 --exclude-from=rsyncexclude.txt //diskstation/data/ /media/«user»/«externe-harddisk»/data/

rsync
--modify-window=1
--exclude-from=«bestand»

De optie --modify-window=1 is belangrijk als je schrijft naar een FAT drive. In het bestand rsyncexclude.txt heb ik de directory #recycle staan en de bestanden die te groot zijn om te bewaren op een FAT drive.

De andere kant op kan ook: de Synology NAS heeft de ingebouwde app „Hyper backup” en deze kan je gebruiken om hem een backup laten maken op een Ubuntu server, via rsync. Als je dit probeert te configureren, dan krijg je van Synology een melding dat de server niet bereikbaar is, ook al werkt rsync wel gewoon vanaf een andere Linux computer. De reden is dat de rsync van Synology niet verbinding zoekt via SSH (op poort 22), maar via rsyncd, een server op poort 873 die je in Ubuntu apart aan moet zetten. Op de pagina setup rsyncd on the target server vond ik een handleiding waarmee het lukte om dit in te stellen.

3 gedachtes over “Wat is beter: een NAS of een backup?

  1. Linus heeft tips voor mensen die per sé gewone PC hardware als NAS willen gebruiken:

    En tot slot nog een tip van mij: PC’s met een RAID(-5) controller blijken in de praktijk een ontzettend veel grotere kans op het optreden van een diskcrash te hebben. Gebruik je 3 schijven of meer, dan moet je er rekening mee houden dat je daadwerkelijk te maken zult gaan krijgen met uitval van een schijf. Lees vooral mijn blog „RAID en wat je er aan hebt”.

  2. Als je een share toevoegt aan /etc/fstab dan blijft je computer tijdens het opstarten wachten tot deze beschikbaar is. Een alternatief hiervoor is een gewoon mount statement toevoegen aan het script /etc/rc.local . Als de share of drive (tijdelijk of permanent) niet beschikbaar is, zal het opstartproces gewoon doorgaan.

Vertel jouw mening

Deze site gebruikt Akismet om spam te bestrijden. Ontdek hoe de data van je reactie verwerkt wordt.