Accueil > Matériel, Réseau > Une Time Capsule vraiment pas chère

Une Time Capsule vraiment pas chère

22/10/2015 Categories: Matériel, Réseau Tags: , ,
Print Friendly, PDF & Email

UN PC, UBUNTU, UN GROS DISQUE ET C’EST PARTI !

Si, comme moi, vous trouvez qu’avec un Mac, la solution de sauvegarde la plus simple et la plus efficace est Time Machine, vous devez certainement également penser que la Time Capsule est le meilleur périphérique pour la mettre en oeuvre.

Car si un simple disque dur externe (USB ou autre) peut très bien faire l’affaire, c’est certainement quand vous aurez oublié plusieurs fois de le brancher sur votre Macbook que vous effacerez un fichier par mégarde et qu’il sera impossible de le récupérer puisque jamais sauvegardé.

Mais voilà, si la Time Capsule de Apple offre le confort d’être disponible en permanence et donc, de ne jamais manquer une seule sauvegarde sans même devoir y penser, elle n’en reste pas moins un périphérique onéreux. La version 2 TO offre certes un bon rapport qualité/prix mais pas une capacité folichonne. Surtout, quand on s’adonne au montage vidéo ou quand on manipule de nombreuses photos en format RAW par exemple. Et si votre souhait est de pouvoir remonter très loin dans le temps, ajouter 200 € pour la version 3 TO, ça fait un peu mal.

Voici comment j’ai construit ma Time Capsule 3 TO personnelle à un coût bien moindre : 154 € dans mon cas (le prix du disque dur). A lire dans la suite si vous êtes en homepage…

Ce qu’il vous faut :

  • Un vieux PC (si vous en avez un qui ne sert plus par exemple)
  • Un disque 3 TO ou plus 😀
  • Une distribution Ubuntu récente (12.04 par exemple)
  • Une connexion réseau.

Le choix de la distribution de Ubuntu

L’utilisation des versions 11.10 et 12.04 ne pose pas de problème. Je vous conseillerai d’éviter une distribution plus ancienne si votre Mac est sous Lion ou plus récent car Apple a modifié le protocole AFP et une version plus ancienne de votre Ubuntu (ou des librairies qui gèrent AFP) pourrait poser problème.

J’ai choisi la 12.04 et je tourne sous Lion. Tout marche à la perfection. Je n’ai pas encore testé Moutain Lion. Si certains d’entre vous se lancent dans l’aventure avec Mountain Lion, leurs retours d’expériences sont les bienvenus dans les commentaires.

A vous de voir si vous préférez la version desktop ou server de Ubuntu. Cette dernière sera plus rapide au démarrage et plus légère en espace disque. Cependant, si comme moi, vous souhaitez pouvoir prendre la main en VNC (prise de contrôle avec une session graphique) même ponctuellement, la version desktop est indispensable.

Idéalement, je conseille d’avoir un disque dur séparé (dont la taille n’a pas d’importance) pour l’installation de Ubuntu et de destiner le disque de 3 TO aux sauvegardes Time Machine uniquement (ou tout autre stockage de données). Cela vous permettra de pouvoir extraire le disque de 3 TO et de le brancher en USB par exemple le jour où vous souhaitez faire une restauration totale de Mac OS X. Si restaurer quelques fichiers en Wifi ou en Ethernet ne pose pas trop de problème, une restauration totale sera plus rapide en local que via le réseau. (Attention toutefois, si vous formattez votre disque en ext4, il faudra utiliser des utilitaires comme MacFuse etfuse-ext2 pour le lire lorsqu’il est branché en USB sur un Mac).

Enfin, si vous devez réinstaller Ubuntu ou changer de machine vous n’impactez pas votre historique de sauvegarde en utilisant un disque séparé.

Lors de l’installation de Ubuntu, créez l’utilisateur de votre choix. Pour ma part, il s’appelle alex et donc, dans les lignes ci-dessous, pensez à remplacer alex par votre utilisateur.

Installer le disque

Attention, suivant l’âge de la carte mère de votre PC et donc de son Bios, vous pourriez rencontrer des problèmes. L’ordinateur pourrait voir le disque de 3 TO comme un disque de 2 TO ou pire, comme un disque de 800 GO. Veillez à vérifier les références de votre carte mère et celle du disque dur sur Google avant de passer commande. Pas trop de panique, mon Bios voyait mon disque de 3 TO comme un un disque de 800 GO mais Ubuntu ne s’est pas laissé tourmenté, il détecte bien tout l’espace promis sur l’emballage.

Il n’y a pas d’obligation mais, pour ma part, j’ai d’abord installé Ubuntu sans le disque de 3 TO pour éviter toute erreur de manipulation. Une fois Ubuntu installé, j’ai éteint la machine et j’ai ajouté le disque de 3 TO.

Lire aussi:  How to Downgrade iOS 11 to iOS 10.3.3 on iPhone and iPad

Une fois votre disque connecté, formattez-le via l’utilitaire disque de Ubuntu. Ne créez pas plus d’une partition, Time Machine ne sait en gérer qu’une seule. Allouez donc les 3 TO en une fois.

Il faut aussi que le disque soit monté automatiquement au démarrage de la machine sinon, il ne sera pas disponible pour les sauvegardes.

Pour cela, commencez par créer le point de montage :

sudo mkdir /media/TC

Retrouvez le UUID de votre disque :

sudo  ls  -l  /dev/disk/by-uuid

Utilisez l’utilitaire de disque pour connaître le nom de Device de votre disque et trouver son UUID dans le résultat de la commande ci-dessus.

Editez ensuite le fichier suivant :

sudo  gedit  /etc/fstab

Et ajoutez-y une ligne comme celle-ci :

#Entry for /dev/sdb1 :
UUID=f44bf373-4ef5-4c20-8583-78362dd4d7c5 /media/TC ext4 defaults,nosuid,nodev,uhelper=udisks 0 0

Remplacez par votre UUID

Redémarrez Ubuntu pour vérifier que le disque est bien disponible à chaque lancement. Pour les paranos, vérifiez qu’il est fonctionnel en écrivant dessus 🙂

cd /media/TC
touch f1
ls -ltr

et vous devriez voir votre fichier f1 😉

Installer Netatalk

L’installation se fait avec

sudo apt-get install netatalk

Il faut ensuite configurer netatalk avec la commande

sudo nano /etc/default/netatalk

Vous éditerez ainsi son fichier de configuration. Recherchez-y les valeurs suivantes (pas toutes au même endroit dans le fichier) et éditez-les comme suit :

ATALKD_RUN=no
PAPD_RUN=no
CNID_METAD_RUN=yes
AFPD_RUN=yes
TIMELORD_RUN=no
A2BOOT_RUN=no

Netatalk fonctionnera, c’est à dire que le protocole AFP (celui que Mac OS X utilise pour lire les dossiers sur le réseau) sera fonctionnel mais, tant que vous ne partagerez aucun dossier de votre serveur Ubuntu, cela ne servira pas à grand chose. Pour cela, il faut éditer le fichier AppleVolumes.default

sudo nano /etc/netatalk/AppleVolumes.default

Ajoutez-y autant de dossiers que vous souhaitez mais, dans le cadre de notre Time Capsule, voici ce que vous devez rajouter.

Trouvez la ligne

# By default all users have access to their home directories.
~/                      "Home Directory"

et ajoutez la votre juste en-dessous :

/media/TC/ "Time Capsule" allow:@alex options:usedots,upriv,tm

l’option tm en fin de ligne est très très très (très) importante. Je l’avais oubliée lors de mon installation et si le disque est bien visible par le Mac ET par Time Machine, aucune sauvegarde ne sait démarrer. Comme le disque est bien détecté par Time Machine, on perds très vite des kilos de cheveux quand Time Machine annonce laconiquement que la sauvegarde n’a pas pu se faire ! Vous aurez été prévenus 🙂

Terminez en redémarrant Netatalk avec la commande :

sudo /etc/init.d/netatalk restart

Dorénavant, votre disque de 3 TO est visible par votre Mac via le réseau. Pour le confirmer, ouvrez une fenêtre du Finder, tapez Command K et introduisez la valeur suivante afp://192.168.x.xxx (remplacez par l’adresse IP de votre serveur Ubuntu). Une fenêtre s’ouvrira et vous aurez même la possibilité de copier des fichiers sur votre serveur via un simple glisser-déposer.

Mais ce n’est pas encore suffisant pour une utilisation de ce partage réseau avec Time Machine. Et même pas confortable pour vous puisque taper l’adresse IP chaque fois que l’on souhaite accéder au serveur n’est pas pratique. Pour qu’il apparaisse automatiquement dans le volet latéral du Finder, il faut encore installer Bonjour (ou plutôt, son équivalent sous Linux)

Installer Avahi (Bonjour)

Utilisez la commande suivante :

sudo apt-get install avahi-daemon libnss-mdns

Il faut une fois de plus configurer le service

Editez le fichier suivant :

sudo nano /etc/nsswitch.conf

Editez la ligne suivante en lui ajoutant mdns comme ceci :

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns

Il faut à présent que AFP soit inclus à Bonjour, créez le fichier suivant :

sudo nano /etc/avahi/services/afpd.service

Et mettez-y les lignes suivantes :

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=Xserve</txt-record>
</service>
</service-group>

Il ne reste plus qu’à redémarrer Bonjour (euh Avahi pardon 🙂

sudo /etc/init.d/avahi-daemon restart

A présent, votre serveur est visible dans le Finder et un simple clic permet d’y lire et copier des fichiers.

Lire aussi:  Diminuer une attaque DoS avec Netfilter sur Linux

Configuration de Time Machine

Il reste encore une petite étape pour que Time Machine puisse utiliser le disque réseau de 3 TO. Il faut d’abord le « monter » dans Mac OS X. Cette opération ne doit se faire qu’une fois. Dans le futur, Time Machine montera automatiquement le disque pour autant, bien sûr, qu’il soit disponible.

Pour monter le disque, cliquez simplement dessus dans le Finder.

Les mauvaises langues diront que c’est l’esprit d’ouverture de Apple qui veut ça mais, par défaut, il est impossible d’utiliser un disque réseau dans Time Machine sauf si c’est une Time Capsule officielle. Mais, on peut aisément contourner cette limitation.

Ouvrez une fenêtre Terminal (dans votre dossier Applications, éventuellement dans Launchpad mais le mieux est encore de taper terminal dans Spotlight)

Tapez la commande suivante :

defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

Vous n’aurez à réaliser l’opération qu’une seule fois.

Maintenant, tout est prêt pour lancer la Time Machine. Allez dans les préférences de Time Machine (dans les Préférences Système) et faites Choisir un disque et sélectionnez votre disque réseau de 3 TO.

Préférences Time Machine

La première sauvegarde va démarrer dans 120 secondes et prévoyez du temps ensuite car c’est une opération très longue. Le Mac va en effet être totalement sauvegardé. Les fois suivantes, seul le delta entre le temps présent et la dernière sauvegarde sera enregistré. Ce sera plus rapide mais, de manière générale, la durée d’une sauvegarde dépendra toujours de la vitesse de votre réseau local.

Si votre serveur est éteint, pas de soucis, Time Machine s’en accommodera et reprendra la main la prochaine fois.

Au quotidien

L’avantage d’une vraie Time Capsule est qu’elle est allumée 24h/24. N’en ayant pas, je ne sais pas trop si elle se met dans un mode de consommation minimal lorsqu’elle n’est pas utilisée. Ce ne sera pas le cas de votre serveur Ubuntu qui risque, si vous le laissez allumé en permanence, de consommer pas mal de courant électrique et de faire plus ou moins de bruit selon la pièce où vous l’aurez placé. Si vous ne souhaitez pas le laisser allumé en permanence, voici mon expérience sur le sujet.

J’ai bien essayé diverses solutions pour que le serveur s’allume automatiquement lorsqu’un Mac démarre ou sort de veille. Et, inversement, éteindre automatiquement le serveur lorsque plus aucun Mac n’y est connecté.

J’ai connu des fortunes diverses car, par exemple, le serveur mettait un rien trop de temps à être visible sur le réseau et la première sauvegarde Time Machine était alors retardée d’une heure. Pas très pratique ni efficace. Si vous travaillez systématiquement moins d’une heure, aucune sauvegarde ne se fait.

Pour éteindre le serveur automatiquement, via un cron, je vérifiais le nombre de clients réseaux et, si après un certain temps il n’y en avait plus, le serveur s’éteignait. Ca marchait bien. Pour démarrer le serveur via Wake-On-Lan, on peut utiliser un utilitaire sur le Mac et lui demander de le faire au démarrage ou au réveil viaSleepwatcher (le tout dans un script Automator). Mais, Sleepwatcher n’est pas très stable et ne faisait pas toujours correctement son travail. Surtout avec un Macbook qu’on éteint jamais et qui passe continuellement de veille au réveil.

Bref, j’ai plutôt opté pour un petit programme pour iOS qui s’appelle Mocha Wol (disponible gratuitement pour iPhone et iPad) et qui permet de faire un wake-on-lan. Bien entendu, votre serveur doit supporter cette fonctionnalité et votre iDevice doit être connecté au même réseau que votre serveur (oui, on peut aussi faire une redirection (ip forwarding) dans le routeur pour pouvoir faire du Wol depuis internet mais je vous laisse googler sur le sujet)

Recevoir un mail quand le serveur est UP

Rien de plus simple, installez mailutils

sudo apt-get install mailutils

et créez le script suivant (appelez-le /home/alex/Mail/sendMail.sh par exemple)

#! /bin/sh -e
### BEGIN INIT INFO
# Provides: sendMailAtStart
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Send an email on boot
# Description: xxxxxxxxxx
### END INIT INFO
case "$1" in
start)
mail -s "alex-time-capsule is started" email@serveur.com < /home/alex/Mail/mail.txt
;;
esac
exit 0

Dans le fichier /home/alex/Mail/mail.txt, que vous devez créer, mettez le corps du message que vous souhaitez recevoir.

Lire aussi:  Debian Linux apt-get package management cheat sheet

Configurez-le pour qu’il tourne au démarrage. Veillez à le faire tourner en toute fin de démarrage (autant que le réseau soit déjà démarré non ?) via la commande

cd /etc/rc0.d/
sudo ln -s /home/alex/Mail/sendMail.sh K99sendMail

Quand vous aurez reçu le mail (en push sur votre iPhone par exemple), vous pourrez ouvrir votre Mac et la sauvegarde Time Machine démarrera dans les secondes qui suivent.

Bien sûr, Mocha Wol est capable de pinger votre serveur et vous informer lorsqu’il est Up. A vous de voir la méthode que vous préférez.

Prise de contrôle à distance

Si vous souhaitez prendre la main à distance sur votre serveur, plusieurs options s’offrent à vous :

En ligne de commandeopen-ssh de Mac vers Ubuntu

Installez open-ssh sur le serveur :

sudo apt-get install openssh-server

Cela permettra, depuis une fenêtre Terminal sur le Mac de vous connecter au serveur comme si vous étiez directement dessus :

ssh alex@192.168.x.xxx

Le mot de passe de l’utilisateur sur Ubuntu sera demandé.

Pratique pour mettre Ubuntu à jour de temps en temps via sudo apt-get update par exemple.

En mode graphique

Si vous avez installé la version desktop de Ubuntu, vous pourrez voir ce qui se passe à l’écran de votre serveur et prendre les commandes à distance. Vous pourrez ainsi laisser votre Ubuntu démarrer sans écran, ni clavier, ni souris.

Installez vnc4server :

sudo apt-get install vnc4server

Lancez ensuite la commande suivante :

vncserver :0 -geometry 1024x600

(modifiez la résolution d’écran en fonction de vos préférences)

Depuis le Mac, une seconde ligne représentant votre Ubuntu sera affichée dans le Finder et le bouton Partage d’écran sera disponible dans les deux cas mais jamais utilisable. Vous devrez, depuis la fenêtre du Finder, faire Command K et y taper vnc://192.168.x.xxx (adaptez avec votre IP)

Partage d'écran entre Ubuntu et Mac

Bien entendu, à vous de voir si vous souhaitez automatiser le lancement de vnc4server au démarrage ou y ajouter un mot de passe. Tout est selon votre politique de sécurité informatique à la maison 😉

Conclusion

Voilà une formule bien moins onéreuse pour obtenir rapidement une Time Capsule. Mais, il faut tout de même avoir le goût de mettre les mains dans Linux et une petite expérience préalable ne sera pas du luxe.

Si cette solution offre l’avantage de coûter moins cher, n’oubliez pas que vous n’aurez pas accès au support de Apple en cas de soucis avec une sauvegarde. C’est un détail important à retenir car c’est toujours en situation de stress (quand on vient d’effacer les photos des dernières vacances en famille) que quelque chose risque de ne pas fonctionner (par précipitation de l’utilisateur bien souvent 🙂

Enfin, au gré des nouvelles versions de Ubuntu et de Mac OS, il pourrait arriver que Time Machine ne puisse plus utiliser une ancienne sauvegarde ou continuer à en faire de nouvelles. Dans ce cas, il faudra googler, revenir en arrière et dans tous les cas, bien peser le pour et le contre avant de passer à une nouvelle version de l’un ou de l’autre de ces deux systèmes d’exploitations.

N’hésitez pas à donner votre avis sur ce billet via les commentaires, la solution ci-dessus peut certainement être améliorée.

Privilégiez les commentaires au mail pour rentrer en contact avec moi concernant cet article, vous ferez profiter les autres visiteurs de vos commentaires et ils pourront même répondre plus vite et/ou mieux que moi à certaines questions.

Je ne peux pas terminer cet article sans mentionner que ce billet à été une très grande source d’inspiration pour la réalisation de ma Time Capsule.

Enfin, comme il est d’usage, je ne suis pas responsable si l’utilisation de ce tutoriel vous fait perdre des données importantes. Utilisez ces informations à votre propre risque. Une configuration n’est pas une autre. Demain, ces informations peuvent être obsolètes. Testez d’abord sur du matériel de test et avec des données non critiques. Et pour rappel, une sauvegarde valable c’est quand on dispose de données sur minimum DEUX supports techniquement différents et simultanément (deux périphériques ont moins de risques de tomber en panne en même temps). 😉

Si vous pensez que ce billet peut intéresser l’un de vos amis, n’hésitez pas à utiliser les boutons de partage ci-dessous.

Bon amusement !

Source: alextods

Categories: Matériel, Réseau Tags: , ,
Les commentaires sont fermés.