La sauvegarde d’OS X Server dans Mountain Lion

La sauvegarde de données est toujours un sujet pour le moins sensible. Personne ne le fait parce qu’il souhaite le faire. On le fait sous la contrainte, parce que des choses imprévues et regrettables arrivent, et nous avons besoin de faire renaître de ces cendres ce serveur et qu’il nous rende encore quelques services. Avec Mac OS X Server, ce n’était pas toujours facile. A cause de sa nature intrinsèque, mélange de composants Open Source et de technologies Apple, une sauvegarde de OS X Server revenait souvent à avoir au moins deux solutions simultanées de sauvegardes.

Pour aider à réaliser cela, 318 a proposé le package sabackup. Son projet était d’utiliser les commandes internes à Mac OS X afin de réaliser les sauvegardes essentielles et d’exporter les configurations de services d’une façon que vous puissiez les importer dans serveradmin après avoir procéder aux réparations et avoir votre serveur qui fonctionne à nouveau. Ce package m’a sauvé maintes fois, mais il m’a aussi permis de trouver quels changements avaient été réalisés (généralement après avoir réalisé que ce changement avait cassé quelque chose).

Avec Lion et Mountain Lion, Apple a décidé de résoudre le problème de proprement sauvegarder les services et les données, et Time Machine inclut un mécanisme pour sauvegarder OS X Server. À l’intérieur du bundle Server.app, dans le dossier ServerRoot, vous trouverez maintenant le dossier server_backup avec les commandes spécifiques. Il y a là un ensemble de scripts de sauvegarde (/Applications/Server.app/Contents/ServerRoot/usr/libexec/server_backup) qui permettent de sauvegarder et de restaurer les services. Il y a aussi une collection de scripts de style System V dans le dossier /Applications/Server.app/Contents/ServerRoot/etc/server_backup qui contient les paramètres que ServerBackup utilisera pour sauvegarder les services. Comme avec toutes choses chez Apple, il y a aussi les plists XML. Certains services utilisent leur propres scripts : Open Directory, PostgreSQL, Partage de fichiers (appelé « sharePoints » dans ce contexte, Web, et Message. Le script OD produit une archive dans  /var/backups, le script PostgreSQL produit une exportation de toute votre base de données, et le serveur Message vous donnera une sauvegarde de la base de données Jabber. La sauvegarde de la configuration Web, mais et c’est important de le noter, il ne sauvegarde pas les données. Enfin, il y a le script de ServerSettings qui produit une exportation serveradmin de toutes les configurations pour tous les services. Chaque chose étant enregistrée dans /var/log/server_backup.

C’est à peu près ce que sabackup réalisait, Apple a amélioré le processus, l’a rendu plus modulaire, plus robuste et 100% Apple-façon-de-penser. Avec ceci dans l’esprit, nous avons décidé d’arrêter le développement de sabackup. En se reposant sur les outils Apple, cela permet que tout nouveaux services soient automatiquement inclus à l’avenir. ServerBackup sera mis à jour avec Server.app.

ServerBackup a aussi ses bizarreries. Il est profondément lié à TimeMachine, ce qui veut dire que TimeMachine doit être activé. Ça ne signifie pas que TimeMachine doive vous servir pour autre chose. Si vous excluez tous les dossier visible du Finder, vous aurez toujours un dossier .ServerBackup à la racine de votre volume de sauvegarde, avec toutes les sauvegardes du serveur. Vous aurez aussi /private incluant var (où sont les sauvegardes et les logs), et etc, où beaucoup de fichiers de configuration demeurent. Vous pouvez dédier un petit disque à TimeMachine, laissez TimeMachine s’occuper de la sauvegarde des configurations et des données des services de Server.app, et prenez soin que ce disque fasse partie de votre solution de sauvegarde numéro un. Solution, que vous avez bien sûr ?

Cet article a paru sur Tech Journal de 318, le 19 novembre 2012.1.

Leave a Reply

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.

tr_TRTürkçe