Aujourd’hui, on va parler Linux, vieilles machines et sauvegardes Time Machine. Que faire d’un vieux Mac en PowerPC qui traîne, abandonné, dans un coin ? Si on s’en servait comme « serveur » ? Je vais vous publier quelques papiers sur le sujet, en prenant des cas concrets. On va commencer par faire un serveur Time Machine.
Faire un serveur Time Machine, ce n’est pas trivial. Apple a modifié pas mal de choses avec Lion et Mountain Lion et une technique qui fonctionnait très bien avec les OS précédents est devenue obsolète. Concrètement, une bonne partie des tutoriaux qui utilisent Netatalk 2.x ne fonctionnent tout simplement pas avec Lion.
Je peux vous dire que c’est le cas : avant que ça fonctionne, j’ai testé plusieurs « pas à pas » et Mountain Lion n’a jamais vraiment apprécié.
Dans mon cas, j’ai utilisé une (très) vieille machine : un vénérable Power Mac G3 Blanc et Bleu de 1998. C’est un modèle à 300 MHz, avec seulement 128 Mo de RAM et un disque dur de 80 Go de 2,5 pouces sur l’interface ATA du lecteur optique. Ce n’est pas une machine très adaptée : elle n’accepte pas les disques durs de plus 120 Go et l’interface Ultra DMA a un bug, ce qui oblige à utiliser une interface à 16 Mo/s. Enfin, l’interface Ethernet de la machine est limitée à 100 mégabits/s.
Avec un Power Mac G4 plus récent, un Mac mini (bon choix) ou même un Xserve, il y a moyen de faire des choses intéressantes. Ce que j’ai ici, c’est surtout de la démonstration. Dans l’absolu, une machine avec des connecteurs SATA (ou une carte dédiée) et une interface à 1 gigabit/s est recommandée.
Pour le test, j’ai utilisé une distribution Linux, même si c’est a priori possible de faire la même chose avec Darwin pour les amateurs, on essayera peut-être un jour.
Première chose, installer Linux. Sur une plateforme PowerPC, on va installer une Debian PowerPC. Il suffit d’aller télécharger l’ISO « netinstall » pour PowerPC sur le site officiel.
Une fois l’ISO gravée, il faut booter dessus. Dans un monde idéal, il suffit de presser C au démarrage et ça démarre sur le CD. On va dire que ça marche, sinon il y a toujours la case Open Firmware.
Premier écran, on choisit Francais.
Puis France.
Puis Français (en fonction de votre clavier, ceci-dit).
Il faut ensuite donner un nom à la machine (dans mon cas PowerMacBlancBleu).
Pour le domaine, vous pouvez laisser le tout vide.
On entre ensuite un mot de passe root, important.
Le système va demander un nom d’utilisateur, important. j’ai choisi Tmuser. On entre aussi son mot de passe.
Passons à l’installation. Ne nous prenons pas la tête, on va utiliser le disque entier : Assisté – utiliser un disque entier.
On sélectionne le disque dur à utiliser (si on en a plusieurs) et on choisit Tout dans une seule partition, vu l’usage ce n’est pas un problème. Plus qu’à confirmer que c’est bon — attention, ça efface tout — et on passe à la suite.
On choisit maintenant le serveur le plus proche (la France a priori). Ensuite le serveur, puis éventuellement un proxy.
Maintenant, on va installer le strict minimum : Utilitaires standard du système et Serveur SSH.
Une fois que c’est fait, le système est installé, on a fini la première partie. Linux devrait démarrer sans soucis.
A partir de maintenant, on peut se passer de clavier, souris, etc. On va passer en SSH depuis un autre appareil, c’est plus simple.
Les outils pour la sauvegarde
On va donc se connecter en SSH sur la machine. C’est assez simple depuis le Terminal de Mac OS X. Si vous n’avez pas l’IP, des outils comme Fing sont efficaces sur iOS.
ssh root@IP_de_la_machine
On se connecte en root pour la configuration, c’est mal, mais c’est plus simple.
Première chose, installer les bibliothèques nécessaires pour le tout. On a besoin des outils de compilation, d’un client « Bonjour » open source, de ce qu’il faut pour chiffrer les mots de passe.
apt-get install build-essential
apt-get install libdb4.8-dev db4.8-util
apt-get install avahi-daemon libavahi-client-dev
apt-get install libgcrypt11 libgcrypt11-dev
Maintenant, on va créer un dossier à partager, qui contiendra la sauvegarde. On va lui donner les droits.
cd /home/tmuser
mkdir time
chown -R tmuser time
Pour la compatibilité, la dernière version stable de Netatalk 3.x est importante. Debian ne propose que la 2.1 sur Squeeze (suffisante pour Snow Leopard) et la 2.2 sur Sid (instable). On va donc télécharger directement les sources de la version 3.0.1 (la dernière actuellement disponible).
wget http://sourceforge.net/projects/netatalk/files/netatalk/3.0.1/netatalk-3.0.1.tar.gz
tar xvzf netatalk-3.0.1.tar.gz
cd netatalk-3.0.1
On va compiler le programme, ce qui peut prendre du temps selon la puissance de votre machine. Sur un pauvre G3 à 300 MHz, ça prend quelques minutes.
./configure --with-init-style=debian --with-zeroconf
make
make install
Normalement, c’est maintenant fonctionnel. Il reste à configurer le logiciel. Pour un usage « grand public », on va passer outre certaines sécurités, pour le côté pratique de la chose.
nano /usr/local/etc/afp.conf
On va maintenant copier les lignes suivantes dans le fichier de configuration.
Les paramètres uam list
indique qu’on ne peut se connecter qu’avec un utilisateur défini (pas d’invités).
On permet ici de garder le mot de passe en mémoire, pour une (re)connexion plus rapide.
Le paramètre mimic model
va afficher l’image d’un Power Mac dans le Finder, on peut aussi écrire Xserve, TimeCapsule, etc. Dommage qu’Apple ne propose pas le Power Mac G3…
Avec valid user
, on indique l’utilisateur qui a le droit de se connecter.
On va placer le nom du lecteur partagé entre les crochets.
Ensuite le chemin du répertoire à partager.
Enfin, on active le support de Time Machine.
;
; Netatalk 3.x configuration file
; http://netatalk.sourceforge.net/3.0/htmldocs/afp.conf.5.html
;
[Global]
; Global server settings
vol preset = default_for_all_vol
log file = /var/log/netatalk.log
uam list = uams_dhx.so,uams_dhx2_passwd.so
save password = yes
mimic model = PowerMac
[default_for_all_vol]
cnid scheme = dbd
valid users = tmuser
[Mon Time Machine]
path = /home/tmuser/time
time machine = yes
On sauve (ctrl + o) puis on quitte (ctrl + x) et on relance le service.
service netatalk restart
Maintenant, on se rend dans le Finder sur le Mac et on vérifie que ça marche.
Une fois que c’est bon, on peut redémarrer le serveur et se (re)connecter en SSH pour simplement relancer le service. Deux commandes sont nécessaires pour que Netatalk se lance bien au démarrage.
/etc/init.d/netatalk start
update-rc.d netatalk defaults
Normalement, ça doit fonctionner. Si vous avez des soucis, posez vos questions dans les commentaires. Je ne suis pas un grand expert en Linux et certaines choses ne sont peut être pas faites dans les règles, mais ça fonctionne.
Merci pour ton article, il est intéressant et bien écrit, mais qu’en est-il de la consommation d’un tel monstre ?
Car l’utiliser comme serveur de sauvegarde implique de le laisser allumé h24 je suppose. Tu as des mesures de consommation de la bête, à tout hasard ? :)
Je ne l’utilise pas vraiment, vu que le disque dur ne fait que 80 Go.
Le Power Mac en question doit consommer entre 100 et 200 W en gros, l’alimentation n’est pas très puissante et le CPU de l’époque consommait très peu, il était refroidi passivement.
Avec un Mac mini G4 ou un Intel Core Solo, on doit être à moins de 50 W en charge. Mon Mac mini 2010 consomme à peine 15 W en idle avec un SSD et pas tellement plus en charge.
En fonctionnement, un gros disque dur fait environ 10 W, sinon.