Joseph au Cambodge

Les merveilleuses aventures de votre serviteur au pays des Khmers

31 October 2006

Espace de stockage distribué

Bonjour à tous,

Je vous soumets ma problématique actuelle, tous les commentaires sont les bienvenus.

On a deux serveurs qui hébergent une base de données MySQL ainsi que des vidéos sur le système de fichiers. Une application PHP permet de consulter la base et de visionner les vidéos.

Je n'ai pas de souci sur la base de données MySQL, elle est minuscule. Les deux serveurs sont actuellement synchronisés tous les soirs (l'un est utilisé pour la modification, l'autre pour la consultation seule) et ils constituent donc un petit cluster ad hoc (le serveur principal a justement flanché hier matin en refusant de booter, donc on utilise l'autre en attendant qu'il soit réparé...)

Tant que l'espace disque est suffisant pour toutes les vidéos sur chaque serveur, je peux faire la même chose pour les vidéos (rsync toutes les nuits) et j'ai un système RAID1 virtuel qui me convient bien.

Par contre, ce système n'est pas extensible indéfiniment : les serveurs ont 6 emplacements pour des disques SATA, dont le plus gros disponible est 500 Go, soit maximum 3 To (et si des disques d'1 Go viennent sur le marché, il faudra que je change les 6 pour en profiter !)

Du coup, j'aimerais monter sur mes serveurs de l'espace disque hébergé sur d'autres machines. Il me serait ainsi facile d'ajouter 1 To à tout moment (par exemple avec un PC comportant 2 disques durs de 500 Go et une carte réseau Gigabit).

On sait faire du stockage en réseau (NFS, CIFS par exemple). Le problème est : comment faire pour ajouter du stockage réseau à mon espace disque local en le faisant apparaître comme un seul système de fichiers ?

Je vois 4 approches possibles :

1. Première approche : l'espace de stockage réseau apparaît comme des partitions locales

Si je peux faire apparaître des partitions montées en réseau comme des partitions normales, locales (type /dev/qqchose) alors je peux les agréger avec LVM2 et je dispose ainsi de mon espace de stockage extensible à souhait.

Problème : disponibilité de solutions éprouvées, stables. Je ne suis pas sûr de NBD ou Enhanced NBD, les développements semblent arrêtés. AoE dont tu parles semble une très bonne piste que je n'avais pas vue.

2. Seconde approche : système de fichiers distribué

Si un système de fichiers conçu pour être distribué sur plusieurs emplacements est disponible clés en mains... je prends !

Pistes explorées : Global File System, Andrew FileSystem (OpenAFS), Lustre, Intermezzo, Coda
À mettre dans la même catégorie : Linux-HA, DRBD ?

3. Troisième approche : custom

On peut imaginer de customiser notre base de données pour stocker les vidéos sur des tas de partitions (/export1, /export2, /export3, etc.) et chacune peut être soit une partition locale, soit un export NFS, soit une partition distante avec NBD, etc.

On peut même imaginer que chaque zone de stockage soit directement un serveur HTTP qui envoie lui-même la vidéo au client !

Problèmes : on m'a toujours appris de travailler avec des briques réutilisables (ex: filtres Unix) donc cette approche n'est pas satisfaisante intellectuellement.

4. Quatrième approche : agrégation de partitions déjà montées (type NFS)

Si l'on pouvait avoir l'équivalent de LVM sur des partitions montées de type NFS, cela serait une solution. On pourrait voir comme un système de fichier unique constitué d'un ensemble de partitions NFS.

La notion existe, il s'agit d' "overlay mounts" / "overlay file systems" ou de "union mounts" / "union file systems" mais le fonctionnement n'est pas aussi clair que LVM et il ne semble pas y avoir d'implémentations stables.

==> Qu'en pensez-vous ? J'attends impatiemment vos commentaires...

PS : Mon modèle est le Google File System où chaque chunk de données est stocké sur 3 ou 4 machines distinctes et chaque fois qu'un chunk risque de se retrouver sur moins de 3 machines suite à une panne, le gestionnaire des chunks va copier le chunk sur une nouvelle machine...

Je n'ai ni le temps ni les compétences pour développer l'équivalent, mais à la mesure du projet sur lequel je travaille, je voudrais que l'on ait des fonctionnalités similaires.

21 October 2006

C.R.A.Z.Y. (the film)

C.R.A.Z.Y. is a 2005 movie from Jean-Marc Vallee which, in the words of a reviewer on IMDb.com, "is a story about a young homosexual (although it isn't clearly stated in the film, and it probably would be closer to the truth to say he's bisexual), born in the 60's. We see him evolving through the next three decades, with all the difficulties one might see in having troubles with sexual orientation in theses years (among which the perception of other people of his age, questions about himself because of the taboo nature of the topic, problems having it accepted by parents and so on)."

Young Zachary is especially torn between his will to retain his father's love and his natural inclination.

I saw the movie on Friday night and went back to see it again on Saturday night because I liked it so much. The performance of the actors is outstanding. The scenario is excellent and perfectly in sync with the music. The atmosphere of the 60s and 70s is, to the best of my knowledge, very well reproduced (I first thought the movie had been made in the 1980s!)

Apart from the father-and-son relationship, the movie also inspired me on a totally different subject. Seeing Raymond, one of Zac's four brothers, drift towards drug addiction, I thought it is amazing and, in a way, beautiful that mankind can liberate itself from it's instinct for survival and create war, global warming and industrial hazards which might cause it's destruction in exchange for present CRAZYness!

PS: Thank to the English subtitles, I now know that a good translation of "acte manqué" is "subconsciously deliberate mistake".

17 October 2006

Back in Phnom Penh

Magnificient view of flooded Mekong valley.
Healthy 29.6 Celsius degrees with 75 % humidity in my office.
I'm glad to be back here in Phnom Penh !

13 October 2006

Projet intéressant de sauvegarde du patrimoine photographique

Le projet de Conservatoire Photographique est très intéressant, j'ai rencontré son auteur, Philippe Lavialle.
N'hésitez pas à le contacter et à naviguer sur son site, plein de ressources !

Retour ou nouveau départ ?

Lundi je repars vers le Cambodge qui me manquait beaucoup. Un mois n'a pas suffi à me ré-habituer à la vie parisienne...
Est-ce un retour ou un nouveau départ ?

06 October 2006

How my computer and I parted company

A few days ago I wrote about how pleased I was to reunite with... my computer!

I used to spend so much time on that computer, installing and uninstalling operating systems and software, going from FreeBSD to Windows XP and Mandrake Linux, using the computer to watch TV and surf the Internet, work and program, play backgammon, watch DVDs...

I am now very happy to announce that my computer and I parted company! I gave it to my cousin, kept the hard drives which contain all my archives but otherwise decided it would have a better use at her place than waiting for me unused.

And when I come back from Cambodia, I'll try to live a different life, spend less time on the computer to live the "real" life which obviously is in the streets and the roads and the countryside and the mountains, not in the computer!

Wishful thinking?

01 October 2006

Le Jour Terrible

Suivant la tradition, à l'approche du jour de Kippour, je demande pardon à tous ceux que j'ai offensés involontairement.
A ceux qui vont affronter ce jour terrible, je souhaite Ketivah ve-Hatima tova, d'être inscrits dans le livre de la Vie.