S‘il est possible de partager le contenu de la carte SD du Raspberry Pi, nous vous conseillons tout de même d’utiliser une clef USB ou un disque dur dédié à cet usage, en fonction de vos besoins. Pour créer un espace accessible depuis tous vos appareils, une simple clef USB suffira, pour effectuer des sauvegardes Time Machine, un disque dur est évidemment requis, pour des questions de capacité.

Raspberry Pi
Raspberry Pi

Le Raspberry Pi, spécialement dans ses premières versions, souffre d’un souci : des ports USB incapables de fournir les 500 mA de la norme. Concrètement, les disques durs 2,5″ alimentés par le bus USB ne fonctionnent pas directement sur le Raspberry Pi, il est nécessaire d’utiliser une source d’alimentation externe comme un chargeur de smartphone ou un hub USB alimenté. Le meilleur choix reste bien évidemment un modèle 3,5″, qui dispose de sa propre alimentation. Ne vous encombrez pas d’un modèle USB 3.0 : le Raspberry Pi se limite à l’USB 2.0.



La gestion du stockage

Avant d’installer les logiciels nécessaires, nous allons d’abord nous occuper du stockage. Il existe trois solutions : utiliser un disque dur formaté dans un système de fichiers adapté à Linux (ext4), utiliser le système de fichier HFS+ d’Apple ou utiliser un disque dur formaté en NTFS (via NTFS3G, comme sur Mac). Nous n’allons aborder que la seconde solution.

Branchez le disque dur au Raspberry Pi et connectez-vous, via une commande dans le Terminal. Pour simplifier les choses, nous supposons que vous avez formaté le disque dur en HFS+ depuis un Mac.

ssh [email protected]

Maintenant, nous allons installer les outils permettant de lire et écrire sur une partition en HFS+ depuis Linux.

sudo apt-get install hfsplus hfsutils hfsprogs

Une fois l’installation effectuée, nous allons monter la partition et modifier le système pour qu’elle soit chargée à chaque démarrage. Attention, le système cherchera le disque dur à chaque démarrage, ce qui peut poser des soucis s’il est débranché, en arrêtant le processus de démarrage. Dans ce cas, le plus simple est d’éteindre le Raspberry Pi et de le rallumer en branchant le disque dur.

sudo blkid

Cette commande va lister les périphériques et vous devriez obtenir un résultat de ce type. Il faut copier la valeur UUID, que nous allons utiliser pour identifier le disque dur.

/dev/sda1: UUID="2b629aaa-74c8-348b-b78a-6c11e2b9ca90" LABEL="Time Machine" TYPE="hfsplus"

Maintenant, créez un point de montage dans le dossier media, que nous allons appeler ici timemachine.

sudo mkdir /media/timemachine

Dans ce dossier, nous allons monter automatiquement notre disque dur, en allant modifier le fichier/etc/fstab. Attention, alors que la commande blkid donne l’UUID entre guillemets, il ne faut pas en mettre dans le fichier fstab. Il faut donc ajouter la seconde ligne de code à la fin du fichier fstab pour monter automatiquement le disque dur.

sudo nano /etc/fstab
UUID=votre_UUID /media/timemachine hfsplus rw,force,exec,auto,users 0 3

Maintenant, nous allons redémarrer le Raspberry Pi, nous reconnecter et vérifier que le disque dur est bien monté. Si tout se passe bien, les données déjà présentes sur le disque dur devraient apparaître.

sudo reboot
ssh [email protected]
cd /media/timemachine
ls

L’installation de Netatalk

Apple, pour le partage de fichiers, utilise son propre protocole, l’AFP. Une implémentation libre de ce dernier existe, elle est d’ailleurs utilisée dans beaucoup de NAS : il s’agit de Netatalk. Pour une prise en charge fonctionnelle de Time Machine sous Lion et Mountain Lion, il est nécessaire d’installer une version récente du logiciel, nous allons donc télécharger et compiler la dernière version de Netatalk (la 3.0.2 à l’heure où nous écrivons ces lignes). Le processus peut être long, le Raspberry Pi, rappelons-le, n’est pas un foudre de guerre.

cd ~/
wget http://sourceforge.net/projects/netatalk/files/netatalk/3.0.2/netatalk-3.0.2.tar.gz
tar xvzf netatalk-3.0.2.tar.gz
cd netatalk-3.0.2
./configure --with-init-style=debian --with-zeroconf
make
sudo make install

Une fois Netatalk compilé et installé, nous allons lancer le logiciel automatiquement au démarrage, avec la commande suivante.

sudo update-rc.d netatalk defaults

Partager un dossier via AFP

Nous allons maintenant partager un dossier du disque dur via AFP sur le réseau. Nous allons donc créer un utilisateur dédié (pour plus de sécurité) et un dossier, auquel nous allons lier le compte. C’est ce compte utilisateur qu’il faudra utiliser (avec son mot de passe associé) pour accéder au partage à travers le Finder.

cd /media/timemachine
mkdir AFP
sudo adduser afp
sudo chown afp /media/timemachine/AFP

La seconde étape consiste à configurer Netatalk pour que le dossier soit partagé.

sudo nano /usr/local/etc/afp.conf

Nous allons modifier le fichier pour qu’il ressemble à celui qui suit. La variable mimic model indique que le Raspberry Pi se fera ici passer pour un boîtier Time Capsule.

[Global]
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 = TimeCapsule

[default_for_all_vol]
cnid scheme = dbd

À la fin de notre fichier, nous allons ensuite ajouter notre partage. Vous devez entrer le nom du partage entre crochets et ajouter le chemin. Vous pouvez insérer plusieurs utilisateurs en modifiant la variablevalid users et en en ajoutant d’autres : il suffit de les séparer par une espace. Puis il faut sauver (^O) et quitter (^X).

[Mon Premier partage AFP]
path = /media/timemachine/AFP
valid users = afp

Maintenant, vous pouvez redémarrer Netatalk et attendre que le partage apparaisse dans le Finder.

/etc/init.d/netatalk restart

macgpic_1362738981_scaled_optim
Effectuer des sauvegardes Time Machine

Pour effectuer des sauvegardes Time Machine en réseau, le fonctionnement est totalement identique. Il faut créer un utilisateur (pour plus de sûreté), choisir ce que l’on veut partager et l’activer dans Netatalk.

cd /media/timemachine
mkdir timemachine
sudo adduser timemachine
sudo chown afp /media/timemachine/timemachine
sudo nano /usr/local/etc/afp.conf

La seule différence vient d’une variable à ajouter : time machine = yes.

[Mon Time Machine]
path = /media/USBstorage/timemachine
valid users = timemachine
time machine = yes

Comme auparavant, il faut redémarrer Netatalk pour que le partage apparaisse.

/etc/init.d/netatalk restart

Une fois que c’est fait, OS X devrait vous proposer votre Raspberry Pi dans la liste des disques durs disponibles pour une sauvegarde Time Machine.

macgpic_1362738992_scaled_optim
Un point sur les performances

Avant de terminer, un point sur les performances. Le Raspberry Pi n’est pas un appareil très rapide, et son sous-système USB est lent : l’Ethernet et les prises USB 2.0 se partagent le même bus en interne et les performances sont donc limitées. Dans le meilleur des cas, vous atteindrez donc les limites de l’Ethernet à 100 mégabits/s de l’appareil (12,5 Mo/s) mais vous serez parfois en dessous, notamment dès qu’il faudra traiter des petits fichiers. Pour information, les performances sont généralement supérieures quand le disque dur est formaté en ext4 et nettement inférieures quand le disque dur est formaté en NTFS. Dans notre cas, le côté pratique du HFS+ est toutefois plus avantageux que le faible gain dû au passage en ext4.

Le Raspberry Pi n’est donc pas totalement viable pour effectuer des sauvegardes Time Machine, spécialement si vous avez beaucoup de données à sauver. Mais pour sauvegarder une machine comme un MacBook Air doté d’un SSD de 64 Go, les performances sont suffisantes. Il faut simplement bien prendre en compte que la sauvegarde initiale sera bien plus lente qu’avec un véritable boîtier Time Capsule ou avec un disque dur en local.

Dans un prochain article, nous verrons comment utiliser le Raspberry Pi pour partager une imprimante via AirPrint, pour l’utiliser avec un iPad, un iPhone ou même un Mac OS X récent.



[wysija_form id= »2″]
MàJ :2016-06-01 14:44:20