DSC_0462.jpg DSC_0298.jpg DSC_0001.jpg

 i need more coffee

Atteint depuis mon plus jeune âge d'hippopotomonstrosesquippedaliophobie (cultivez vous ça ne fera pas de mal) j'ai décidé de faire un blog sur ma maladie (be feeeaar..).
Blague à part c'est un blog totalement axé génie logiciel que vous trouverez ici. Du PHP, du J2EE, et évidement toutes les technologies qui leur sont liées.

Have fun !

Faire un backup de ses serveurs sur son NAS Synology (Partie 1)

2 avril 2013Posté par : Kevin Danezis dans Synology

Premier article de la série Synology que j'espère riche et intéressante ! Un article sur la manière dont j'ai bataillé pour récupérer tous les jours les sauvegardes de 3 de mes serveurs sur mon Synology DS212J

En tout premier point : le context.

Faire le backup d'un serveur

J'ai 3 serveurs sous Debian qui tournent sur internet, bien loin de mon réseau local ou je possède un Synology DS212J depuis quelques mois.

Je possédais jusqu'à il y a peu de temps un 4ème serveur de backup qui avait simplement un compte FTP permettant de déposer des fichiers depuis l'exterieur.

Sur mes trois serveurs j'avais suivit le tutorial de la ferme du web pour installer backup-manager et j'avais choisit d'utiliser le FTP pour déposer les fichiers sur la 4ème machines, m'assurant une sécurité très raisonnable.

Seulement cette configuration a ses limites : La quatrième machine ne m'appartient pas (c'est un mutualisé), me coute de l'argent, est limitée à 6Go ce qui est peu lorsque l'on sait que je sauvegarde la totalité de mes données (sans incrémentiel) ce qui représente +/-150Mo de data par serveurs soit près d'un demi giga de données par jour.

Il m'arrivait donc régulièrement d'oublier de récupérer sur mon PC personnel les sauvegardes ce qui entrainaient des risques de pertes de données sur quelques jours. Après discussion avec quelques amis sur la faisabilité de mon projet,  il a été décidé d'utiiser mon NAS comme pilote pour se connecter toutes les nuits sur les serveurs et d'en télécharger les archives.

Utiliser son NAS Synology comme cible d'un backup

Le macro-fonctionnement est donc :

  • A 6h du matin, une sauvegarde se fait simultanément sur les serveurs
  • A 7h, le NAS lance via une tache cron un script qui se connecte à l'un des serveurs, télécharge les archives, les mets dans un dossier horodaté, vide le répertoire d'archives côté serveur et ferme la connexion
  • A sept heure dix et vingt, deux autres scripts font la même chose pour les autres serveurs.

Configuration des Debians

Je vous passerais la configuration des comptes FTP côté Debian, c'est pas le sujet... Notons juste que j'ai modifié dans les fichiers de configuration backup-manager

root [~] > nano /etc/backup-manager.conf

et changé la ligne

export BM_UPLOAD_METHOD ="ftp"

en

export BM_UPLOAD_METHOD ="none"

puisque le soft ne va plus exporter les archives, on vient de l'exterieur les chercher.

Configuration du NAS pour permettre la bidouille

Les Synology fonctionnent sur un OS proche d'un Debian, mais il y a de sérieuses modifications qui rendent toutes interventions un peu délicates. Par exemple l'utilisation d'une simple commande unix telle que

crontab -e

est impossible... ne me demandez pas pourquoi ... Je vais vous montrer comment arriver à ses fins malgré tout.

La première chose à réaliser sur le NAS est d'activer le SSH pour vous permettre de vous connecter en Root sur le serveur. Pour activer SSH il suffit de se rendre sur l'interface de son Syno et aller dans Panneau de config > Terminal > Activer SSH (ou Telnet).

2013-04-02_155217.png

Installer Ipkg Bootstrap

Edition du 17 Avril 2013 : j'ai posté un nouvel article qui vient remplacer cette portion de mon article en simplifiant grandement la mise en place de l'Ipkg Bootstrap : lien

Ensuite aller sur cette page http://forum.synology.com/wiki/index.php/What_kind_of_CPU_does_my_NAS_have. Trouver le modèle de processeur correspondant à son modèle de syno et notez le. Moi par exemple pour le 212j j'ai un mv6281 (Marvell Kirkwood)

Ensuite allez sur cette page http://forum.synology.com/wiki/index.php/Overview_on_modifying_the_Synology_Server%2C_bootstrap%2C_ipkg_etc#Bootstrap et installez le fameux bootstrap qu'ils donnent en utilisant le fichier .xsh choisit selon le modèle de processeur sélectionné à l'étape précédente. C'est long, je ne vais pas vous faire un bête copier coller de leur tuto, mais même moi j'ai réussit à le faire du premier coup sans message d'erreur. Si cela peut vous rassurer : ils auraient pu en faire un tuto de 4 lignes, là ils détaillent à mort, ne soyez donc pas rebuté par la quantité de texte

Installer les packages

A ce niveau vous avez installé ipkg qui n'est ni plus ni moins qu'un apt-get debian sauce Synology , et a en lire les forums, C'est plus histoire de se toucher la nouille en disant "ouais c'est un gestionnaire de paquet made in Syno" qu'autre chose ce truc ... enfin il marche et c'est déjà bien... sauf que vous n'installerez pas tout ce que vous désirez  avec, le repository n'étant pas autant remplit que sous Debian, par exemple pas de emacs pour remplacer vi ! heureusement il reste nano...

Nous pouvons donc commencer les installations de packages :

ipkg install nano

ipkg install screen

ipkg install lftp

Le premier installera un éditeur, le second, permettra de lancer le .sh tranquillement, je ne vous apprends rien, et lftp est le client FTP que l'on utilisera pour aller récupérer les données sur nos serveurs.

Fin de la première partie de la série, vous avez déjà un Syno prêt à l'emploi pour aller requêter vos serveurs :) Le prochain article sera concentré sur la création d'un script .sh capable d'aller récupérer nos données et executable à la main.

comments powered by Disqus