Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

Accès permanent à un stockage Hubic sur un serveur linux

Par Pierre DIANCOURT Publié le 30/10/2015 à 20:50:07 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

 

La lecture de cet article vous permettra de profiter de l'espace de stockage d'un compte Hubic sur Debian 7 (tutoriel facilement adaptable à toute autre distribution linux).

 

L'accès aux fichiers s'effectuera comme s'il s'agissait d'un disque dur local ou une clef usb montée. On va pour cela devoir utiliser un programme opensource appelé hubicfuse basé, comme son nom le laisse comprendre, sur le logiciel fuse.

 

Limites de la solution proposée

 

Comme l'annonce le README du projet, certaines limitations s'appliquent à l'utilisation du système de fichier obtenu par l'installation et la configuration de hubicfuse. Celles-ci risquent peu d'évoluer car induites par l'infrastructure du service Hubic et les technologies employées en son sein. Ainsi, en ce 30/10/2015, il faut savoir les choses suivantes :

 

Le renommage de dossiers n'est pas fonctionnel.

 

Lorsque l'on lit et écrit des fichiers, un fichier local temporaire sert de tampon.

 

Une structure des dossiers est gardée en mémoire, ce qui peut être problématique dans le cas d'un système de fichier très étendu. De plus, les fichiers ajoutés par d'autres applications (par exemple l'application de synchronisation windows proposée par Hubic) n'apparaîtront sur le linux tant que le cache ne sera pas expiré.

 

La racine de l'espace de stockage Hubic ne peut contenir que des dossiers, car ceux-ci sont mappés à des conteneurs dans l'infrastructure du fournisseur de service.

 

Moins intéressant, les dossiers sont créés comme fichiers vides avec le type de contenu "application/directory".

 

L'infrastructure de Hubic limite le nombre de dossiers et fichiers par dossiers à 10000.

 

Dernier point et non des moindres, il ne faut pas s'attendre à obtenir des performances similaires à l'utilisation d'un disque local, n'oublions pas que les données passeront par le réseau et traverseront des kilomètres dans des cables ethernet !

 

Mise en place de la solution

Paramétrage du compte Hubic

 

Créez un compte gratuit sur Hubic (vous pourrez toujours payer pour plus de stockage par la suite si vous êtes satisfaits).

Naviguez vers "MON COMPTE" comme sur la capture d'écran ci-dessous.

 

Sélectionnez maintenant l'onglet "Développeurs" pour ensuite cliquer "Ajouter une application".

Une popup apparaît. Renseignez le champ "Nom" comme bon vous semble, il n'aura aucun impact sur le bon suivit de ce tutoriel.

Veillez par contre à bien entrer "http://localhost/" dans le champ "Domaine de redirection". Validez.

 

L'application est désormais créée et nous souhaitons connaître les informations de connexion la concernant. Cliquez donc sur le bouton "Détails".

Apparaîssent des informations très importantes pour la suite qu'il vous faut garder à l'oeil ou noter. Ce sont le "Client ID" et le "Client Secret".

 

Installation de hubicfuse

 

On installe les dépendances

sudo apt-get install gcc make curl libfuse-dev pkg-config libcurl4-openssl-dev libxml2-dev libssl-dev libjson-c-dev libmagic-dev

On se déplace à un endroit propice à l'installation de programmes issus de source autre qu'un dépot de paquets

cd /opt/

On récupère les sources du projet hubicfuse

sudo git clone https://github.com/TurboGit/hubicfuse.git

On compile et installe le programme

cd hubicfuse/
sudo ./configure
sudo make
sudo make install

 

Configuration

 

On lance la configuration

sudo ./hubic_token

Remplir les champs demandés avec les données obtenues en cliquant sur Détails sur notre "application" dans l'espace personnel de notre compte Hubic créé plus tôt

Copier les trois dernière lignes :

client_id=api_hubic_[Hash]
client_secret=[OtherHash]
refresh_token=[ThirdHash]

sudo nano .hubicfuse

Coller les trois lignes

Sauvegarder CTRL+X puis O ou Y suivant la langue de votre installation

On empêche tout utilisateur autre que root de pénetrer dans le dossier et interagir avec les fichiers de hubicfuse

sudo chmod -R g-rwx,o-rwx ./

On créer le dossier qui va servir de point de montage

sudo mkdir /mnt/hubic/

On créer un lien symbolique vers le fichier contenant les identifiants car hubicfuse va chercher tout seul dans /root/.hubicfuse et ce n'est pas configurable

sudo ln -s /opt/hubicfuse/.hubicfuse /root/.hubicfuse

On monte définitivement en inscrivant l'instruction dans /etc/fstab

sudo nano /etc/fstab

Ligne à ajouter a la fin du fichier :

hubicfuse /mnt/hubic fuse user,auto 0 0

On quitte et sauvegarde

On monte le disque

sudo mount /mnt/hubic/

Si besoin on démonte le disque ainsi :

sudo umount /mnt/hubic/

 

Tests de performances

 

sudo dd if=/dev/zero of=/mnt/hubic/default/testfile bs=512k count=100
sudo dd if=/mnt/hubic/default/testfile of=/dev/null bs=512k count=100

 

J'obtiens pour ma part une moyenne de 412 kB/s pour la première commande et 174 MB/s pour la seconde. Vous ne devez pas vous attendre à obtenir des résultats similaires, beaucoup de facteurs rentrant en compte. Néanmoins le ratio entre la vitesse de download et d'upload à de grandes chances d'être similaire.

 

Utilisations possibles

 

Le système de stockage obtenu ne peut de par les performances qu'il offre permettre une utilisation intensive. L'installation d'une base de donnée sur celui-ci est donc inenvisageable. De même que la plupart des utilisations classiques d'un disque local.

 

Il est néanmoins parfaitement possible que le réseau reliant votre serveur et les serveurs de stockage Hubic soient suffisamment performant pour vous permettre d'utiliser cet espace disque pour, par exemple, stocker vos images disques de distributions linux récupérées en P2P. Ce cas de figure est particulièrement viable si le serveur que vous administrez se trouve sur le réseau OVH (offres classiques ou leurs offres lowcost avec Kimsufi) car Hubic est un service d'OVH et donc hébergé dans leurs datacenters.

 

L'utilisation de cet espace disque à des fins de sauvegarde semble en tous cas l'option par défaut la plus indiquée.

 

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels