in

NAS 59Hardware V2.0

Fractal_NODE_304-500x334

Les équipements numériques tels que les Smartphones, tablettes, PC et autres appareils photos ne cessent de s'inviter au sein de nos foyers à un point où il devient indispensable de centraliser et de sauvegarder ces données.

Multiplier les appareils peut rapidement aboutir à une situation dans laquelle on ne s'y retrouve plus. C'est pourquoi les NAS entrent en jeu en promettant une gestion des contenus simple, efficace et sécurisée.

Les modèles proposés par les marques renommées ne cessent de séduire le grand public comme les professionnels. Mais pour de nombreuses raisons, convertir un PC classique en NAS peut s'avérer comme une sérieuse alternative.

Le standard mini-ITX se généralise et permet la confection de mini PC puissants mais surtout peu encombrants. Certains boitiers sont parfait pour accueillir de nombreux disques durs et donc d'offrir des espaces de stockage évolués.

Lors de notre premier NAS 59Hardware “Home Made”, nous avions souhaité axer nos priorités sur un système simple d'emploi et essentiellement porté sur le stockage.

Ayant rencontré un vif succès, nous ne pouvions aborder cette nouvelle année sans une seconde révision de notre NAS 100% personnalisé largement amélioré sur les fonctionnalités supportées.

Le challenge est de taille car il s'agit cette fois de faire appel à un système d'exploitation basé sur Linux en démontrant qu'il est parfaitement accessible à tous y compris aux débutants.

De plus il est aussi capable de générer des galleries photos, d'endosser le rôle de serveur multimédia et même de solution de vidéo surveillance.

Ce dossier permettra de choisir le matériel adapté, de l'assembler et d'installer les composants logiciels afin d'obtenir un NAS “Home Made” sur mesure.

Réaliser son propre NAS sur mesure n'a jamais été aussi simple et économique. La baisse des tarifs des disques durs est une occasion immanquable pour qu'enfin nos précieuses données soient centralisées et sécurisées.

IMGP8389

Dans un premier temps, nous porterons notre attention sur le choix du matériel et l'assemblage de la machine: Carte mère, processeur, mémoire, boitier et bien entendu disques durs.

La deuxième étape consistera à installer et configurer le système d'exploitation, l'espace de stockage et les différents outils nécessaires à chaque fonctionnalité: Plateforme multimédia, Création de galléries photos et système de vidéo surveillance.

Le choix des différents composants matériels dépendra des évolutions futures souhaitées. N'importe quelle machine même ancienne fera l'affaire. Le seul impératif étant de disposer d'un minimum de deux disques durs.

Ce choix offre un niveau de sécurité essentiel pour la préservation de nos données grâce à la technologie RAID. Intégrant de nombreux modes, deux d'entre eux se démarquent en s'adaptant parfaitement aux besoins des particuliers.

Le mode RAID 1 ou “miroir” réplique automatiquement et en temps réel les fichiers hébergés. Il permet de se prémunir des pannes matérielles et si un des deux disques durs était défaillant, les données sont conservées et elles continuent d'être accessible. Il s'agit d'un état “dégradé”.

Il convient de remplacer l'unité en panne et le système se chargera de reconstruire le volume. Seul inconvénient de cette configuration: l'emploi de deux disques d'1To offre concrètement un espace de stockage d'une capacité finale d'1To et non 2To.

Comme nous optons pour un RAID “logiciel” géré par le système d'exploitation, il n'est pas utile de recourir à une carte mère spécifique.

Utilisé par l'intégralité des constructeurs de NAS, le RAID logiciel a fait ses preuves tant en termes de fiabilité qu'en performances.

Le RAID 5 est également très intéressant car il offre un niveau de sécurité semblable tout en gagnant en souplesse. Disponible dès trois disques durs, seul l'espace d'une unité est sacrifié.

Exemple: 3x 1To donnent 2To d'espace disponible et 6x 1To donnent 5To.

Concernant la partie logicielle, après avoir dédié notre premier NAS 59Hardware Home Made v1.0 au système d'exploitation Microsoft Windows, nous nous portons désormais sur Linux.

Il garde de très sérieux atouts portés sur la sécurité et la fiabilité mais surtout sa gratuité. Si la découverte d'un nouveau système d'exploitation n'est pas au centre de vos préoccupations, il reste possible de profiter des mêmes fonctionnalités sous Windows.

Enfin nous mesurerons le niveau de performances de notre nouveau NAS afin de le comparer avec les solutions dédiées dans le commerce tant sur les débits que la consommation électrique ou les nuisances sonores.

Le premier avantage de confectionner soi même son système de stockage réseau est son coût. Même une ancienne machine trop lente pour une utilisation courante pourra être reconvertie en NAS.

Dans le but d'aboutir à un équipement le plus évolutif possible, nous adoptons le standard mini-ITX dont les faibles dimensions apportent un avantage considérable en termes d'encombrement.

Etant voué à fonctionner continuellement, les attentions du NAS se porteront en premier lieu à la consommation énergétique et au refroidissement. Ce dernier critère étant un facteur déterminant sur la fiabilité des disques durs.

Le NAS 59Hardware v2.0 sera basé sur une carte mère ASRock Z87E-ITX accompagné d'un processeur surdimensionné mais le seul que nous ayons de compatible: le Intel i5 4670K même si un simple Pentium suffira amplement et la présence d'un IGP sera idéale évitant de faire appel à une carte graphique supplémentaire.

La capacité en mémoire vive a peu d'importance car les systèmes d'exploitation Linux sont peu exigeants. Avec 2GB, les besoins seront largement couverts.

IMGP7788

Le point critique concerne les disques durs. Western Digital propose une gamme RED spécifiquement dédié à cet usage et sont garantis 3 ans.

De son côté Seagate aussi a sa gamme spéciale NAS et profite d'une durée de garantie identique.

D'autres modèles peuvent atteindre 5ans de garantie sans pour autant être beaucoup plus chers. Signalons tout de même l'excellent support après vente de Western Digital acceptant d'envoyer un disque neuf avant de recevoir le défaillant.

Enfin le boitier est le dernier point clé. Un choix inadapté obligerait un changement lors d'un éventuel upgrade. De nombreuses références acceptent facilement six emplacements 3.5 pouces. Un nombre idéal car la majorité des cartes mères supportent autant d'unités de stockage.

Il est également possible de faire appel à une carte de contrôleur de stockage capable de gérer huit, seize ou vingt-quatre disques mais les tarifs augmenteront en conséquence.

Notre choix s'est porté sur le Fractal Design Node 304 car il bénéficie d'un bon rapport qualité prix et son montage est aisé.

Il est possible de s'approcher des solutions professionnelles en faisant appel à des tiroirs extractibles à chaud. Sans être indispensables, il facilitent les interventions sans risque de débranchement accidentel de câble internes.

Un mot concernant l'alimentation. Un modèle platinium n'a pas vraiment d'intérêt dans notre cas pratique. D'ailleurs les fabricants de NAS optent au mieux pour un bloc certifié bronze.

Mais dans tous les cas, il est impératif de sélectionner un modèle réputé pour sa fiabilité car il s'agit d'un composant essentiel à la fiabilité et à la durée de vie des composants.

Attention à disposer d'un nombre suffisant de connecteurs SATA et un modèle modulaire évitera l'encombrement de cordons inutiles.

Le montage du NAS 59Hardware Home made est très proche d'un PC conventionnel mais on préférera probablement une machine silencieuse. En fonction du processeur retenu et de l'espace disponible dans le boitier, un refroidissement passif sans ventilateur est envisageable.

IMGP7790

Concernant les disques durs, un large ventilateur à faible vitesse donc quasiment inaudible se chargera de faire tomber les températures d'au moins dix degrés.

Démarrons par l'installation des disques durs dans leurs emplacements dédiés. Si le boitier est livré avec des supports sans vis, l'opération est encore plus rapide.

Ensuite vient le tour de l'alimentation qui ne posera aucune difficulté.

La carte mère équipée du processeur et de la mémoire pourra à son tour venir se loger dans le boitier.

Reste à raccorder les quelques câbles de boitier, d'alimentation et de données. Toujours dans l'optique d'aboutir à une machine optimisée, préférez dans le cas d'une configuration mini-ITX des cordons SATA courts. Tout comme l'alimentation modulaire, l'entassement de cordons nuit au refroidissement général du NAS.

On peut donc procéder à l'installation du système d'exploitation.

Notre choix porté sur un Linux peut suggérer bien des à priori. Longtemps réputés pour être complexes et difficiles à maîtriser, les distributions Linux ont largement évolué pour se simplifier.

Snap2

De plus nous éviterons de faire appel à des applications graphiques susceptibles de générer de petits risques d'incompatibilités. Nous avons largement étudié nos procédures d'installation afin qu'elles soient les plus simples possible.

Snap7

CentOS 6.4 est le Linux que nous avons choisi car il profite de nombreux avantages. Basé sur le célèbre RedHat largement employé en entreprise, cette version plus moderne est l'une des plus accessibles aux débutants tout en offrant les possibilités des distributions les plus avancées.

L'installation est on ne peut plus simple car identique à l'installation d'un Windows. Elle est possible depuis un CD-ROM gravé ou une clé USB.

Le meilleur outil pour réaliser sa clé USB de démarrage est Unetbootin. Il se charge de récupérer la dernière version du système et le tout est automatisé.

Snap8

Notre NAS ne nécessitant pas d'interface graphique, l'arrivée à la console texte peut être éventuellement déroutante. Mais à l'aide des commandes citées tout au long de cet article, l'ensemble des fonctionnalités seront rapidement installées et accessibles.

De plus une fois l'espace de stockage configuré en RAID, nous installerons une application graphique de configuration optionnelle afin de retrouver un environnement plus accessible aux néophytes.

Dans un premier temps, installons un éditeur texte qui nous permettra d'éditer les fichiers de configuration:

 

Yum install nano

 

Validez l'installation et lancez le programme simplement en tapant “nano”.

               

Configuration du RAID

En premier lieu, installons Parted, un outil dédié au management des disques:

 

yum install parted

parted /dev/sdX

 

Les disques durs sont reconnus par le système en tant que lecteurs sdX (X représente chaque disque dur) dans le dossier /dev/

Voici les commandes à taper pour chaque disque. Bien sûr il faut adapter la taille en fonction des unités de stockage employés:

 

mklabel gpt

unit TB

mkpart primary 0.00TB 3.00TB

print

 

Ici nous configurons un volume en RAID 5 basé sur cinq disques durs:

mdadm –create /dev/md0 –level=raid5 –raid-devices=5 /dev/sdX# /dev/sdX# /dev/sdX# /dev/sdX# /dev/sd#

 

Nous vérifions la bonne prise en compte de notre espace disque par le système:

watch cat /proc/mdstat

 

Nous configurons la remontée d'alertes en cas de défaillance:

echo “DEVICE partitions” > /etc/mdadm.conf

echo “MAILADDR [email protected]” >> /etc/mdadm.conf

mdadm –detail –scan >> /etc/mdadm.conf

 

Nous formatons notre espace de stockage:

pvcreate /dev/md0

vgcreate vg_NAME /dev/md0

lvcreate –name lv_NAME -l 100%FREE vg_NAME

 

Nous rendons disponible notre espace de stockage dans un dossier “Public”:

mount /dev/vg_NAME/lv_NAME /public

 

Nous configurons le système pour que l'espace disque soit disponible lors du redémarrage de notre NAS.

nano /etc/fstab


Ajoutez la ligne suivante:

/dev/vg_NAME/lv_NAME    /public                 ext4    auto            0 0

 

Partage sur le réseau

Pour que notre volume de stockage soit partagé sur le réseau, il est nécessaire d'installer le service SMB:

yum install samba -y

 

Nous éditons le fichier de configuration pour activer les partages:

nano /etc/samba/smb.conf

 

[public]

   comment = Dossier public

   path = /home/samba/public

   browseable = yes

   public = yes

   writable = yes

[global]

   workgroup = Workgroup

   netbios name = NAS59H

   hosts allow = 192.168.52. 127.

   security = share

 

Source de ce didacticiel ici.

Nos applications étant exclusivement basées sur une interface web, il est nécessaire d'installer un serveur HTTP accompagné du moteur de base de données mySQL et du langage PHP:

 yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel

 

Lançons la configuration:

chkconfig httpd on

 

Démarrons le service:

service httpd start

 

Automatisons le démarrage automatiquement à chaque mise sous tension du NAS:

chkconfig –levels 235 httpd on

 

Installation PHP:

yum install php -y

 

Installons MySQL:

yum install mysql-server -y

 

Précisons le mot de passe “Root”:

/usr/bin/mysqladmin -u root password ‘pwd'

/usr/bin/mysqladmin -u root -h localhost.localdomain password ‘pwd'

 

Configurons le firewall du NAS pour autoriser les accès:

nano -w /etc/sysconfig/iptables

 

Ajoutons la ligne suivante:

-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT

 

Redémarrons le firewall:

service iptables restart

               

Webmin

webmin

Webmin donne accès à la configuration de notre NAS via une interface graphique toujours disponible depuis un navigateur internet:

yum install webmin* -y

XBMC

xbmc

Cette fois nous faisons appel au système “RPM” pour que XBMC soit disponible:

  yum update -y

  rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/i386/epel-release-6-5.noarch.rpm

  rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/i386/epel-release-6-5.noarch.rpm

 rpm -Uvh http://download1.rpmfusion.org/free/el/updates/6/i386/rpmfusion-free-release-6-1.noarch.rpm

 rpm -Uvh http://download1.rpmfusion.org/nonfree/el/updates/6/i386/rpmfusion-nonfree-release-6-1.noarch.rpm

 yum install xbmc.i686 -y


Coppermine

coppermine_01

Pour gérer ses nombreuses photos, Coppermine est l'un des meilleurs outils disponible:

Tout d'abord, nous créons la base la base de donnée nécessaire à cette application grâce à la commande mysql:

mysql -u root -p

CREATE DATABASE cpg_db;

CREATE USER ‘cpg_user'@'localhost' IDENTIFIED BY ‘password';

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON cpg_db.* TO ‘cpg_user'@'localhost';

FLUSH PRIVILEGES;

EXIT;

 

Nous installons les librairies nécessaires:

yum install libtool-ltdl

Puis enfin nous lançons le script d'instllation:

/gallery/install.php

 

Source de ce tutoriel ici.

               

Zoneminder

zoneminder

Zoneminder est une application capable d'utiliser le NAS comme solution de vidéo surveillance à l'aide d'une caméra IP.

Son installation est la plus complexe de ce dossier car Zoneminder doit être compilé à partir de son code source.

yum -y update

 

Au préalable, il est indispensable de contourner un bug présent dans CentOS:

nano /etc/sysconfig/selinux


Ajoutez la ligne suivante:

SELINUX=disabled

 

Redémarrons:

reboot

 

Nous installons les packages nécessaires:

rpm –import http://apt.sw.be/RPM-GPG-KEY.dag.txt

rpm -ihv http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

yum install gcc gcc-c++ wget mysql-devel mysql-server php php-mysql php-pear php-pear-DB php-mbstring bison bison-devel httpd make ncurses ncurses-devel libtermcap-devel sendmail sendmail-cf caching-nameserver sox newt-devel libxml2-devel libtiff-devel php-gd audiofile-devel gtk2-devel libv4l-devel ffmpeg ffmpeg-devel zlib zlib-devel openssl openssl-devel gnutls-devel php-process perl-Time-HiRes perl-CPAN pcre-devel libjpeg-devel perl-Date-Manip perl-libwww-perl perl-Module-Load perl-Net-SFTP-Foreign perl-Archive-Tar perl-Archive-Zip perl-Expect perl-MIME-Lite perl-Device-SerialPort

perl -MCPAN -e ‘install Sys::Mmap'

perl -MCPAN -e ‘install MIME::Entity'

perl -MCPAN -e ‘install X10::ActiveHome'

 

Nous nous plaçons dans le réptertoire des sources:

cd /usr/local/src

 

Nous les téléchargeons:

wget http://www2.zoneminder.com/downloads/ZoneMinder-1.25.0.tar.gz

 

Nous les décompressons:

tar xzvf ZoneMinder-1.25.0.tar.gz

 

Nous exécutons la configuration de la compilation:

cd ZoneMinder-1.25.0

CXXFLAGS=-D__STDC_CONSTANT_MACROS ./configure –with-webdir=/var/www/html/zm  –with-cgidir=/var/www/cgi-bin –with-webuser=apache –with-webgroup=apache ZM_DB_HOST=localhost ZM_DB_NAME=zm ZM_DB_USER=zmuser ZM_DB_PASS=zmpass ZM_SSL_LIB=openssl –with-extralibs=”-L/usr/lib64 -L/usr/lib64/mysql -L/usr/local/lib” –with-libarch=lib64 –with-ffmpeg

 

On lance la compilation:

make

make install

 

Nous démarrons MySQL si ce n'est déjà fait:

service mysqld start

 

Nous créons la base de donnée et son utilisateur:

/usr/bin/mysqladmin -u root password ‘NEWPASSWORD'

mysql -u root -p

create database zm;

CREATE USER ‘YOURZMUSER'@'localhost' IDENTIFIED BY ‘YOURZMPASSWORD';

grant CREATE, INSERT, SELECT, DELETE, UPDATE on zm.* to [email protected];

FLUSH PRIVILEGES;

exit

 

Nous importons la base de Zoneminder:

mysql -u root -p zm < /usr/local/src/ZoneMinder-1.25.0/db/zm_create.sql

 

On automatise le démarrage:

cp /usr/local/src/ZoneMinder-1.25.0/scripts/zm /etc/init.d/

chmod +x /etc/init.d/zm

chkconfig zm on

chkconfig mysqld on

chkconfig httpd on


Nous installons les derniers packages requis:

cd /var/www/html/zm

wget http://www.zoneminder.com/sites/zoneminder.com/downloads/cambozola.jar

chown apache:apache /var/www/html/zm/cambozola.jar

cd /etc/php.ini

short_open_tag = On

 

Nous démarrons le serveur web et l'application

service httpd start

service zm start

 

Nous autorisons l'accès au firewall du NAS:

nano /etc/sysconfig/iptables

-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT

service iptables restart

service httpd restart

 

Source de ce tutoriel ici.

Deux solutions sont possibles afin d'accéder à notre NAS depuis Internet: VPN et WebDAV.

VPN

yum install -y git

cd /opt && git clone git://github.com/drewsymo/VPN.git

cd VPN && bash vpn-setup-vanilla.sh

               

WebDAV

ajaxplorer

yum install httpd php php-xml php-gd

yum install php-mcrypt

sudo unzip -d /usr/local/share/  ~/Download/ajaxplorer-core-2.7.2.zip

sudo ln -s /usr/local/share/AjaXplorer-core-2.7.2 /usr/local/share/ajaxplorer

sudo chcon -R user_u:object_r:httpd_sys_content_t /usr/local/share/ajaxplorer

sudo chcon -R user_u:object_r:httpd_sys_content_t /usr/local/share/ajaxplorer/

sudo chown apache.apache /usr/local/share/ajaxplorer/server/{.,logs,users,conf}

/etc/httpd/conf.d/ajaxplorer.conf

Alias /ajaxplorer /usr/local/share/ajaxplorer

<Directory /usr/local/share/ajaxplorer>

  php_value error_reporting 2

</Directory>

Comme nous l’avons vu, confectionner son propre NAS sur mesure est accessible aux passionnés mais aussi aux débutants qui auront le temps et la patience pour s’investir dans un système d’exploitation différent de Windows.

IMGP8387

L’intérêt de cette deuxième version du NAS 59Hardware est d’offrir une flexibilité et une sécurité maximale à nos données. En effet les systèmes Linux offrent toutes les applications possibles et imaginables. De plus elles sont toutes gratuites.

Mais si les lignes de commandes peuvent paraître d’un autre âge, il reste tout à fait possible d’obtenir un résultat semblable sous le système de Microsoft.

Les quelques fonctionnalités que nous avons mis en oeuvre servent d’exemple et libre à chacun d’installer les outils dont il aura besoin. Notre volonté étant de démontrer que nombreux logiciels s’installent en une seule ligne de commande mais qu’il est également possible de les compiler à partir du code source.

L’assemblage matériel est désormais acquis par tous ceux ayant monté un PC standard auparavant. Seuls les disques durs doivent être correctement ventilés afin de limiter tout risque de disfonctionnement.

Comme toutes les configurations matérielles du marché sont suffisamment puissantes pour confectionner un NAS, le choix des composants reste franchement secondaire. La configuration du RAID en mode logiciel permet de conserver les données lors d’un futur upgrade. Null besoin de s’inquiéter de la compatibilité des chipsets gérant les unités de stockage.

Au final, notre NAS 59Hardware home made V2.0 aura nécessité quelques compétences et quelques notions techniques. Les NAS proposés par les fabricants spécialisés sont bien plus accessibles et surtout exigent bien moins de temps pour obtenir une machine fonctionnelle même s’ils ne profitent pas de la richesse d’un système Linux « brut ».

Dernière notion à prendre en compte : le coût. Recycler une ancienne machine sera dans bien des cas exigera un budget plus accessible. La majorité des plateformes acceptant à ce jour facilement jusqu’à six disques durs. Or les NAS dédiés ayant ces capacités sont bien plus coûteux.

Commentaires
Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Loading…

0