Je vais pas détailler le processus d'installation de debian ?! Voici les points de configuration.
Au bout de 20min, on a enfin une installation correcte, on peux se connecter en root ! C'est parti pour la configuration...
Le nas utilise un RAID Logiciel avec mdadm. mdadm est géré par le noyau et le package debian mdadm.
LVM dans tout ca ? J'utilise mdadm mais pas LVM, même si les deux sont souvent liées. Faire un cliché instantané d'un volume me parait presque être le seul avantage de LVM si on l'utilise combiné avec mdadm. Ajouter ou encore retirer à chaud des disques est également possible en RAID. Réduire et augmenter l'espace (lvreduce et lvextends) l'est également. Et enfin il faut toujours augmenter sur le système de fichier la taille du volume, en plus de l'augmentation du volume logique, ou de «l'array» dans mon cas. De plus en raid, on peux souvent se débrouiller pour augmenter l'array. Bref je préfère m'épargner un configuration supplémentaire. KISS. Bon c'est parti. Mon choix est un RAID-5 sur 3 disques dur. Les différents sites conseillent de faire une partition pour déposer le raid dessus.
Partitionnement : Le but est de créer une partition primaire de type "Linux raid autodetect" avec tout l'espace du disque dur.
#cfdisk /dev/sda
#cfdisk /dev/sdb
#cfdisk /dev/sdc
Au final vous obtenez ceci pour chacun des disques.
Disk Drive: /dev/sda Size: 1000204886016 bytes, 1000.2 GB Heads: 255 Sectors per Track: 63 Cylinders: 121601 Name Flags Part Type FS Type [Label] Size (MB) ------------------------------------------------------------------------------ sda1 Primary Linux raid autodetect 1000202,28
Création du volume RAID. Installation du paquet mdadm. En effet, il faut des programmes supplémentaires. Sous debian, ce n'est pas inclus. Déjà premier bug et première digression dans ce rapide HOW-TO. Lors de l'installation du paquet mdadm, il rajoute le paquet citadel. Ce bug est référencé chez ubuntu. Bien entendu ces soucis se règlent en quelques minutes de google, mais bon, je n'en rajoute pas. Personnellement j'ai résolu le problème en installant au préalable postfix. Cependant, récemment, une solution alternative semble exister.
#apt-get install postfix #apt-get install mdadm
L'autre solution est :
#apt-get --no-install-recommends mdadm
Je m'amuse d'abord a créer un RAID-0, histoire de voir 3To après dans l'explorateur Windows. Oui, je sais, on vois 2.72To mais c'est de l'abus de langage de windows. Ce devrait être 2.72TiB.
#mdadm --create /dev/md0 --level=0 --raid-devices=3 /dev/sd[abc]1
Pour le raid5, la commande est simplement :
mdadm --create /dev/md0 --level=0 --raid-devices=3 /dev/sd[abc]1
Attention cette fois ci, même si le volume est immédiatement créée, il va y avoir un temps de construction. Ce processus prends plusieurs heures. Si vous arretez la machines, il risque fort de repartir de zéro. Bref on vous conseille de ne pas redémarrer.
Formatage en ReiserFS J'ai choisi ReiserFS, car je l'utilise par habitude. En 2004, quand j'ai commencé l'aventure en utilisant 6 mois une debian sur ma machine principale, ReiserFS me semblait être le système de fichier journalisé le plus abouti. Actuellement, le projet semble être plutot dans un piteux état. Le développeur principal Hans Reiser est en prison pour le meutre de sa femme. Le société Namesys qui maintenait le code est fermé ainsi que son site Web. Cependant techniquement une partition ReiserFS est très utile dans un NAS.
#apt-get install acl attr #mkreiserfs /dev/md0 #mkdir /nas #echo -e '/dev/md0 /nas reiserfs defaults,acl,user_xattr 0 0\n' >> /etc/fstab #mount /nas
Avec cette commande vous voyez l'espace disponible après la perte due au système de fichier.
#df -h
Samba est vraiment un produit à part entière. Comme d'habitude je ne détaille que les points que j'ai du éclaircir pour mon usage personnel.
Création des utilisateurs et groupes Avant de vous lancer dans l'installation de samba, arrêtez vous et prenez un papier / crayon et réfléchissez. Vous devez trouver votre mode de fonctionnement niveau authentification.
Personnellement j'ai besoin d'un seul dossier partagé, utilisable avec un seul compte. J'ai simplement un dossier video que je veux partager avec un ami, qui se connectera en SSH. Il faudra donc deux comptes (beri & xterminator pour l'exemple), et deux groupes (commum et personnel).
Créons les utilisateurs.
#addgroup personnel #addgroup commun #adduser --ingroup personnel beri #adduser --ingroup commun xterminator
Installer le paquet samba. J'indique les dépendances que m'as installé automatique apt-get.
#apt-get install samba Les paquets supplémentaires suivants seront installés : libcups2 libgnutls26 libldap-2.4-2 libtalloc1 libwbclient0 samba-common ucf
Il s'agit maintenant de configurer samba, on édite pour cela le fichier /etc/samba/smb.conf. Je mets en exemple ce que j'utilise personnellement. Je désactive tout ce qui concerne les imprimantes. J'active le support des fichiers cachés et systèmes sous samba. C'est pour gérer ces fichiers cachés et systèmes que nous avons installé les attributs étendus (user_xattr, paquet attr). Les fichiers "cachés" seront en fait des fichiers normaux sous linux, mais possèderont dans leurs attributs étendus le fait que le fichier est caché.
[global] load printers = no printing = bsd printcap name = /dev/null show add printer wizard = no disable spoolss = yes dos filemode = yes store dos attributes = yes map readonly = no map archive = no map system = no map hidden = no
[beri] browseable = yes comment = BeriPersonnel path = /nas/beri valid users = beri read only = no dos filemode = yes store dos attributes = yes map readonly = no map archive = no map system = no map hidden = no
Utilisez getfattr et setfattr : attr et autres posent problème, car il viennent de efs2progs et n'ont pas été patchés pour gérer les EA de ReiserFS...
#getfattr -d /nas/beri/Classement/Desktop.ini getfattr: Removing leading '/' from absolute path names # file: nas/beri/Classement/Desktop.ini user.DOSATTRIB="0x26"
Vous pouvez enlever le message d'avertissement, en redirigeant la sortie des erreurs. Sachez également que getfattr permets de sauvegarder vos EA, dans un fichier pour les réappliquer plus tard. C'est utile si vous voulez sauvegarder vos attributs lorsque vous copier vos fichiers vers un système de fichier qui ne supporte pas les EA.
getfattr -R -d <dir> < backup.attr setfattr –restore=backup.attr
Configurer maintenant vos ordinateurs windows pour utiliser votre nas. Vous pouvez utiliser l'accès par chemin UNC.
\\ip\partage
Ou encore par lettre de lecteur. Vous pouvez utiliser Outils > Connecter un lecteur réseau, ou encore faire un batch ou un script avec un net use. A vous de vous documenter. Personnellement j'utilise un net use sur mon bureau qui contient utilisateur et mdp.
net use lettre lecteur \\ip\partage [mdp] [user] [persistent flag] net use f: \\itx\nas$\beri monmdp /user:ITX\beri /persistent:no
Mais vous pouvez utiliser du VBS, du KIX, et mettre vos script au logon etc... Enfin dans mon exemple j'ai mis le nom de mon nas (itx) au lieu de son ip, mais il vous faut des dns interne fonctionnels... Utilisez soit le fichier host, sois mettez un serveur dns ou configurer votre routeur... Personnellement ma freebox ne permets pas de personaliser les zones dns (GRR...), j'ai donc configurer mes fichiers hosts sur mes postes.
La sauvegarde, le plus automatisée possible est essentiel. En automatisant le plus possible, on évite le risque que la sauvegarde ne soit pas faite. Par contre le système doit alors signaler toute anomalie. Un volume RAID-5 est sujets à divers failles, un effacement accidentel est possible.
Le boitier dispose de 4 disques dur, 3 ont été dédiés au volume partagés (RAID-5), le dernier est un backup des données. Il y a 1To utilisable par la sauvegarde et l'espace utile du nas est de 2To, il faut donc pouvoir exclure des dossiers. Rsync est un outil libre disponible sur le site du projet samba. Rsync est compatible avec la copie des EA, l'exclusion des fichiers, et la sauvegarde incrémentale.
Mon plan de sauvegarde est le suivant :
On obtiens :
Voici quelques lignes à adapter pour obtenir une belle crontab. Je récupére la sortie d'erreur et le numéro de sortie de rsync pour la vérification des erreurs.
mount -t reiserfs -o acl,user_xattr /dev/sdb1 /mnt/backup && _ rsync -vv --progress -a -A -X -b --backup-dir=/mnt/backup/2009-01-21 --delete-after /nas/ /mnt/backup df -h ; umount /mnt/backup/
A vous de voir si vous gérer les mails dans le script (je trouve cela mieux), ou avec crontab. Un conseil n'oubliez pas fcron qui possède beaucoup plus d'options.
Au final il peut être interressant de créer un partage caché pour accéder aux sauvegardes depuis un client. Attention : la sauvegarde copie les droits d'origine, cependant méfiez vous si vous avez plusieurs utilisateurs à qui vous donner accès à la sauvegarde. Voici les options utiles pour un partage en lecture seule et caché par samba (smb.conf). Dans ce cas il faut laisser la sauvegarde montée en permanence. J'ai choisi de laisser le disque de sauvegarde démonté, le script le monte : cela me permets d'éjecter le disque dur si j'ai besoin.
read only = no browseable = no
Un autre petite commande que je voudrai aborder est vider le cache. Linux mets en cache RAM le système de fichier quand il y a de la place. Si ca vous amuse ou que vous y trouver un intéret vous pouvez le vider. Personnellement je le vide avant le backup, mais évidemment vous pourrez me rétorquer que ca ne serts à rien, mais le but de linux n'est pas d'être libre de ses choix ?
sync && echo 3 | tee /proc/sys/vm/drop_caches
Il est intéressant de connaitre la température interne du disque. Tous les disques ont maintenant une sonde de température et l'information est accessible via SMART. Il y a plusieurs paquets debian sur la température des disques, mais le plus efficace que je retiens est hddtemp.
hddtemp -w /dev/sd[a-d]