Catégories Mac OS X, Ubuntu

Configurer une sauvegarde réseau Time Machine vers un serveur Linux Ubuntu


Mise à jour pour MacOS X Lion : il est nécessaire de télécharger la dernière version du service Netatalk qui prend en charge le protocole AFP à partir du lien suivant. Sans cela, Time Machine ne fonctionnera plus sous MacOS X Lion.

Suite l’acquisition d’un serveur chez Protuts.net, voici un tutoriel pour apprendre à utiliser Time Machine pour effectuer vos sauvegardes vers un serveur local n’utilisant pas MacOS X. Grâce à Linux Ubuntu, ce tour de force est facilement réalisable !

Avant-propos

Prérequis

Avant toute chose, sachez que ce didacticiel ne s’adresse pas à tous nos lecteurs. Non pas qu’il soit d’une difficulté supérieure aux autres mais bien parce que vous devez être dans une situation similaire à la nôtre.

Vous aurez donc besoin des éléments suivants pour suivre ce tutoriel :

  • Disposer de 1 ou plusieurs ordinateurs en réseau (PC / Mac) ;
  • 1 serveur classique tournant sous Linux Ubuntu 10.10 ;
  • Les systèmes d’exploitation installés sur chacune des machines ;
  • Toutes vos machines doivent appartenir au même domaine réseau ;
  • Les machines sont reliées entre elles par du câble Ethernet – le WIFI étant inadapté pour ce genre de situation ;

Problématique

A partir de là, voici le problème à résoudre : comment faire en sorte que chacune des machines du réseau puissent bénéficier des capacités de stockage – et donc de sauvegarde, du serveur (2 To) tout en sachant que certains utilisent des systèmes Windows (XP et 7) et d’autres des systèmes MacOS ?

Plusieurs systèmes d’exploitation, cela signifie également plusieurs types de partitions : NTFS pour Windows et HFS+ pour MacOS. Le serveur doit donc être capable gérer les 2 types de partitions pour effectuer les sauvegardes correctement.

Et c’est là tout l’avantage d’utiliser Ubuntu ! Il gère très bien ces 2 types de partitions… mais nous irons plus loin en créant des partitions de type Ext4 (format Linux) pour effectuer nos sauvegardes TimeMachine sous MacOS X.

D’ailleurs, étant donné que Linux Ubuntu et MacOS X sont à base d’UNIX, nous verrons que ces deux-là sont parfaitement interopérables – comprenez qu’ils savent collaborer.

Pour Windows, nous devrons obligatoirement créer des partitions NTFS sur le serveur… mais nous y reviendrons dans un prochain tutoriel.

Au final, les systèmes MacOS X effectueront leurs sauvegardes sur des partitions Ext4 et les PC sur des partitions NTFS.

Sources de départ

Pour mener à bien cette mission, nous nous sommes basés sur 2 tutoriels anglais… nous avons combiné les 2 techniques tout en les adaptant pour Ubuntu 10.10.

  1. Making Time Machine Works With Ubuntu 10.10 Using AFP ;
  2. HowTo: Make Ubuntu A Perfect Mac File Server And Time Machine Volume [Update6] ;

Les plus avertis, remarquerons que beaucoup d’étapes ont été supprimées depuis les précédentes distributions de Ubuntu.

Configuration du serveur Linux Ubuntu

Comme je l’ai précisé en introduction, je pars du principe que vous avez déjà installé Ubuntu 10.10 sur votre machine serveur. Pour info, un serveur n’a rien de différent d’un poste client traditionnel dans notre cas.

Étape n°1 –  Installation de netatalk

Commencez donc par ouvrir une session puis lancez un Terminal.

Capture d'écran - Terminal sous Linux Ubuntu
Capture d'écran - Terminal sous Linux Ubuntu

Bien souvent votre mot de passe de session vous sera demandé. Entrez-le tout en sachant que celui-ci ne s’affiche pas à l’écran.

Collez donc cette première commande :

sudo apt-get install aptitude

Patientez quelques instants puis entrez cette seconde commande :

sudo aptitude install netatalk

Vous venez d’installer netatalk pour communiquer entre vos ordis.

Étape n°2 – Spécification des autorisations de sauvegarde

Éditons à présent le fichier AppleVolumes.default pour configurer les sauvegardes. Pour ce faire inscrivez cette commande pour automatiser le processus :

sudo gedit /etc/netatalk/AppleVolumes.default

Nous allons indiquer ici qui à le droit de sauvegarder sur telle ou telle partition. Il ne faudrait pas créer des conflits de sauvegarde entre vos machines.

Il nous faut donc spécifier une adresse IP dont la machine associée disposera des droits d’écriture sur une partition dédiée.

Capture d'écran - Configuration de AppleVolumes.default
Capture d'écran - Configuration de AppleVolumes.default

Rendez-vous en fin de fichier, juste après la ligne :

~/ "Home Directory"

Puis insérez une ligne pour chacune de vos machines réseau sous cette forme :

/media/TimeMachineAD allow:@anoste options:usedots,upriv,tm allowed_hosts:192.168.1.11

Le début indique la partition du serveur qui abritera la sauvegarde – en l’occurrence, /media/TimeMachineAD alors que la fin de ligne indique l’adresse IP de la machine client – ici, 192.168.1.11.

Vous devez également spécifier le domaine autorisé. Dans mon cas, il s’agit de @anoste. Il s’agit du fameux Workgroup sous Windows.

Enregistrer le fichier puis fermez le. Notez bien cette commande d’édition du fichier, car vous devrez rajouter une ligne pour chacune de vos machines souhaitant effectuer des sauvegardes automatiques en réseau.

Redémarrons à présent le service AFP – AppleTalk Filing Protocol via la commande :

sudo /etc/init.d/netatalk restart

Étape n°3 – Paramétrage de Avahi Daemon

Pour continuer le tutoriel, vous devez disposer de Avahi Daemon et de Libnss-mdns sur votre Ubuntu.

Normalement, elles sont installées par défaut mais vérifions tout de même via la commande :

sudo aptitude install avahi-daemon libnss-mdns

Ceci fait, il nous faut modifier le fichier nsswitch.conf via la commande suivante :

sudo gedit /etc/nsswitch.conf
Capture d'écran - Paramètrage de nsswitch.conf
Capture d'écran - Paramètrage de nsswitch.conf

Localisez ensuite la ligne :

hosts : files mdns4_minimal [NOTFOUND=return] dns mdns4

Puis rajoutez le mot mdns juste en fin de ligne comme ceci :

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

Sauvegardez puis fermez ce fichier de configuration.

Étape n°4 – Configuration de AFP

Faisons maintenant en sorte que TimeMachine soit capable d’identifier la partition de sauvegarde que nous lui avons attribuée.

Ouvrez donc le dossier /etc/avahi/services/ et créez un nouveau fichier afpd.service à l’aide d’un éditeur de texte.

Capture d'écran - Configuration du service AFP
Capture d'écran - Configuration du service AFP

Collez ensuite le code suivant :

<?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=iMac</txt-record>
</service>
</service-group>

A l’antépénultième ligne, modifiez le modèle du type de Mac en indiquant l’un des noms suivants : MacBookPro, Macmini, iMac, MacPro, Xserve, MacBook ou MacBook Air.

Étape n°5 – Redémarrage des services

Retournez dans un Terminal puis inscrivez la commande suivante :

/etc/init.d/avahi-daemon restart

Ensuite, redémarrez votre Ubuntu et votre machine à sauvegarder – un Mac donc.

Nous en avons à présent fini pour la configuration du serveur Ubuntu.

Configuration du client MacOS X

Passez maintenant sur votre Mac à sauvegarder. Exécutez Time Machine puis faites Choisir un disque.

Vous devriez voir apparaître la partition réseau présente sur votre serveur Ubuntu.

Capture d'écran - Choix de la partition de sauvegarde réseau via Time Machine
Capture d'écran - Choix de la partition de sauvegarde réseau via Time Machine

Sélectionnez donc cette dernière puis lancez la sauvegarde.

Évidemment, la première sauvegarde nécessitera plusieurs heures car les transferts s’effectueront sur le réseau par Ethernet (câble). Par la suite, seules des sauvegardes incrémentielles seront opérées ce qui prendra beaucoup moins de temps – de l’ordre de quelques minutes sachant qu’un câble Ethernet standard de catégorie 5e transmet à 10-12 Mo par secondes.

Si par cas, la partition réseau ne s’affiche, utilisez la fonction Se connecter au serveur… présente dans le menu Aller du Finder.

Entrez ensuite la commande suivante en remplaçant cet exemple par l’adresse IP de votre serveur :

afp://192.168.1.10

Vous disposez à présent d’un système de sauvegarde en réseau fonctionnant avec Time Machine de MacOS X et Linux Ubuntu. Prochainement, la même chose pour des PC Windows avec un serveur Ubuntu !

Mots-clés

28 commentaires

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. Apprenez comment les données de vos commentaires sont utilisées.

  • Coincidence? Protuts lirait-il mes pensées ? Pas plus tard qu’hier, je googlait sans résultat à la recherche de ce tuto là très exactement.

    Parfait ! Par contre, je ne vous remercie pas…c’est pas encore aujourd’hui que je bosserais mes cours !

  • Dans l’étape 2 vous dites :

    « Vous devez également spécifier le domaine autorisé. Dans mon cas, il s’agit de @anoste. Il s’agit du fameux Workgroup sous Windows. »

    Comment trouver le workgroup du mac et/ou d’Ubuntu? Et faut-il laisser le @ avant ?

    • Oui il faut laisser le @. Pour connaitre ton groupe de travail, voici une méthode (pas forcément la plus simple) :
      tu cliques sur la  puis sur A propos de ce mac, Plus d’infos et enfin sur Réseau puis sur Configuration. Dans la partie droite, cherches la ligne Workgroup.

  • Bonjour,

    J’ai essayé d’appliquer ton tuto, mais je ne comprend pas cette histoire de workgroup vue que mon mac n’est sur aucun groupe de travail.

    Je vois bien mon serveur sur le mac aussi, mais par contre, je ne peux pas me connecter : il ne reconnait pas mon mot de passe. une idée ?

    • Aurélien Denis Auteur de l’article

      Dans les propriétés Réseau sous MacOS X, dans Avancé puis sous l’onglet WINS, tu trouveras l’intitulé du groupe de travail.

      Pour le mot de passe, il s’agit du compte utilisateur présent sur le serveur et non pas celui de ton Mac.

      • Merci pour ta réponse, mais j’avoue qu’en fait cela ne m’avance pas trop :
        – Concernant le groupe de travail, j’ai bien trouvé. Mais je ne suis dans aucun groupe. Ce qui n’est pas étonnant étant donné que je n’ai pas d’ordi windows sur mon réseau. Dois je créer un groupe de travail ? Et je ne comprend pas pourquoi j’en ai besoin étant donné que c’est un protocole windows. Et que je veux créer un lien entre un mac et linu
        – concernant le mot de passe et les identifiants… merci pour ton conseil, mais j’avais bien compris. C’est bien en rentrant mes identifiants linux que cela ne marche pas. Y a t’il un moyen pour regénérer mot de passe et identifiant root ?

        • Aurélien Denis Auteur de l’article

          Le groupe de travail n’a rien à voir avec Windows. Il suffit d’indiquer une valeur sur MacOS X.

          Je n’ai fais que reproduire la méthode employée chez moi dans ce tutoriel. Normalement, elle devrait fonctionner chez toi aussi.

        • Thomas

          Concernant le tuto il est bien fait. Le lien ici est juste pour la sauvegarde Time Machine. Pour le partage de fichiers tu peux activer samba.
          Pour limiter la taille du dossier cible de sauvegarde il faut créer un sparsebundle sur l’utilitaire de disque du Mac

  • mathieu

    J’ai refais tout le tutoriel. Pour le groupe de travail, j’ai mis « workgroup »
    Et cela marche. Au final, dans mon finder je vois touts les repertoires de /home.

    CEpendant, j’ai rajoute un disque dure plus gros et j aimerais mettre ma sauvegarde dessus. Mais impossible de le voir dans mon finder, meme si le disque et « monter » dans l’exploreur de fichier de linux.

    J ai repris la configuration de netalk comme ca mais cela ne marche pas :
    ~/ « Home Directory »
    /dev/sda/stockage_serveur/TimeMachineAD TimemachineAD allow:@workgroup options:usedots,upriv,tm allowed_hosts:192.168.0.6

    (sda etant mon nouveau disque)

    Je vois toujours que les repertoires du mon /home de mon user.
    Dois je changer ~/ « Home Directory » pour le rediriger vers sda ?

    • Thomas

      Si tu veux faire une sauvegarde Time Machine sur ce disque il ne faut pas s’occuper de savoir si il est dans le finder, mais surtout si tu le vois dans Time Machine directement.

    • Soriyath Straessle

      Je pense qu’il faut mettre le répertoire monté et pas /dev/sda…
      tu devrais retrouver quelque chose comme /media/nouveaudisque/TimeMachine … …

  • mathieu

    Je ne vois pas les répertoire de mon nouveau disque dans finder et dans time machine non plus. A moins que je le monte dans le finder via smb. Mais dans ce cas là, quand je lance la sauvegarde il me met une erreur :
     » Impossible de créer le dossier /opt/lampp/htdocs/www/wp-content/uploads/2011/03. Son dossier parent est-il accessible en écriture par le serveur  »
    La sauvegarde marche « tres bien » sur le premier disque, mais je n’ai pas assez de place.

    Merci à nouveau pour tes conseils. J »en suis au point ou je pense que je vais devoir réinstaller mon serveur linux sur le disque de plus grosse capacité.

    • Aurélien Denis Auteur de l’article

      Je ne comprends pas vraiment ton problème. Il y a plusieurs choses que tu indiques en même temps et ce n’est pas très clair pour t’aider. :?:

      Je ne pense pas que tu ait besoin de réinstaller ton Linux. Il suffit de créer des partitions vides pour héberger tes données.

  • Mael

    Bonjour Aurélien,

    J’ai suivi le tutos de bout en bout néanmoins, TimeMachine ne parvient pas à trouver le seveur Ubuntu alors que cela passe sans problème dans le finder.

    J’ai rajouté le workgroup dans la config de mon mac mais malgré tout cela ne change rien.
    Que puis je faire?

  • Freddo57580

    Bonjour Aurélien,

    J’envisage d’acheter un imac et de conserver mon ancien PC pour passer à Ubuntu.
    J’aimerais bien créer ma propre timecapsule grâce à ton tuto mais j’ai une question de novice…
    Cela concerne la partition du serveur qui abritera la sauvegarde(/media/TimeMachineAD pour toi dans ton tuto):
    -c’est une partition que tu as crée lors de l’installation d’UBUNTU? (donc une en primaire ext4 pour le système , une en primaire pour le swap , une en primaire pour les documents en ext4 (/home) et une dernière pour time machine en ext4? ou est-ce tout simplement un dossier de /home?

    Dernière question : si sur le réseau on a un mac, le pc avec ubuntu et un pc portable avec windows :
    -comment faire pour que depuis windows et depuis le mac on puisse profiter des dossiers présent sur la pc avec ubuntu (qui devient serveur en quelque sorte) ? un faut faire une autre partition? en NFS? Dans ce cas, est-on limité par la taille des fichiers?

    Merci

    • Aurélien Denis Auteur de l’article

      Tu n’es pas obligé de créer la partition dédiée à TimeMachine lors de l’installation de Ubuntu.

      J’ai séparé le système sur une autre partition par défaut (la home donc). Pas de SWAP pour moi.

      J’ai le même type de réseau que toi : sur ton Mac tu peux faire les sauvegardes sur ton serveur Ubuntu. Sur ton PC, seulement consulter des partitions de type NTFS partagées via Samba sous Ubuntu.

      Tu ne peux pas accéder à une partition de sauvegarde depuis Windows car ce n’est pas un format reconnu par Windows.

      Pas de problèmes de tailles de fichiers. Tout dépend de l’espace disque dont tu disposes.

      • Freddo57580

        Merci! c’est sympa d’avoir répondu aussi vite!
        c’est clair, ce ne sera pas simple mais mon but est vraiment de découvrir les possibilités de LINUX!
        J’ai du boulot!

      • Freddo57580

        Ah oui au fait, j’avais oublié!
        Le tuto concerne ubuntu 10.10, mais est-ce que sur le dernier ubuntu 11.10 cela fonctionnera? Il faudra que j’adapte?

    • dellp

      j ai trouver le fichier (sans google ) il étais pas dure a trouver mais c est ma première fois sur ubuntu mais je n’arrive pas à crée « afpd.service » ni meme a le deposer dans le dossier

      • Jureju

        Bonjour deelp
        Pour créer le fichier:

        dans le terminal tu tapes:

        cd /etc/avahi/
        chmod 777 /services/

        Et la tu devrais pouvoir créer ton fichier

  • Alex

    Salut, précision pour ceux qui utilisent les dernières versions de tout (dans mon cas, ubuntu 12.04)

    Dans /etc/netatalk/afpd.conf, il faut utiliser ces options:
    – -tcp -noddp -uamlist uams_dhx.so,uams_dhx2_passwd.so

    Et utiliser dbd comme cnidscheme dans /etc/netatalk/AppleVolumes.default

    Pour ma part je ne pouvais plus me connecter du tout après une mise à jour (catastrophique, j’ai perdu toute une partition XFS sur raid de 6To à cause d’une race condition au boot) de 11.04 à 12.04.

    Apparemment les problèmes de connection apparaissent à partir de 11.10.

    Avec ces nouveaux réglages, mes backups reprennent, je suis plus tranquille!