Outils personnels

Duplication manuelle d'un serveur BlueOnyx : Différence entre versions

De wikiGite

(Synchronisation MySQL)
(Modification de la configuration, si nécessaire)
 
(2 révisions intermédiaires par le même utilisateur non affichées)
Ligne 33 : Ligne 33 :
 
= Modification de la configuration, si nécessaire =
 
= Modification de la configuration, si nécessaire =
 
Changer IP du serveur dans la base BlueOnyx (qui a été écrasée lors de la copie de codb) :
 
Changer IP du serveur dans la base BlueOnyx (qui a été écrasée lors de la copie de codb) :
  echo SET $(echo FIND Network | /usr/sausalito/bin/cceclient | grep OBJECT | awk '{print $3}') ipaddr = \"10.0.0.54\" | /usr/sausalito/bin/cceclient
+
  echo SET 2 ipaddr = \"192.168.1.10\" | /usr/sausalito/bin/cceclient
 
'''Attention''' : perte de connexion probable à ce moment si on est en SSH !
 
'''Attention''' : perte de connexion probable à ce moment si on est en SSH !
  
 
Puis changer les IP des vhosts :
 
Puis changer les IP des vhosts :
  for site in $(clistvsite | awk '{ print $1 }'); do cmodvsite --ipaddr=10.0.0.54 --fqdn=$site; done
+
  for site in $(clistvsite | awk '{ print $1 }'); do cmodvsite --ipaddr=192.168.1.10 --fqdn=$site; done
 +
Si les virtualhosts contiennent des sous-domaines, on doit modifier manuellement, la BlueOnyx ne le fait pas :
 
  cd /etc/httpd/conf.d/subdomains
 
  cd /etc/httpd/conf.d/subdomains
  for i in *; do sed -i 's/10.0.0.12/10.0.0.54/g' $i; done
+
  for i in *; do sed -i 's/192.168.1.4/192.168.1.10/g' $i; done
  
 
= Redémarrage des services =
 
= Redémarrage des services =

Version actuelle datée du 4 janvier 2012 à 11:41

Note 1 : cmuImport ne SAIT PAS recréer les vhosts et les utilisateurs avec les mêmes IDs. Donc si les chemins vers les sites (DocumentRoot) sont codés en dur dans les pages PHP, on peut être amené à réaliser une duplication manuelle pour conserver les IDs des vhosts et des utilisateurs.

NOTE 2 pour Rsync : lancé en root avec "-a" il garde les permissions et les propriétaires, mais pas s'il est lancé avec un autre utilisateur !

synchronisation de la base CODB BlueOnyx

Actions à réaliser SUR LE SERVEUR DE DESTINATION

rsync -avHz --delete root@host1:/usr/sausalito/ /usr/sausalito

Synchronisation du reste de la configuration

rsync -avHz --delete root@host1:/etc/httpd/ /etc/httpd
rsync -avHz --delete root@host1:/etc/mail/ /etc/mail
rsync -avHz root@host1:/etc/passwd /etc
rsync -avHz root@host1:/etc/group /etc
rsync -avHz root@host1:/etc/shadow /etc
rsync -avHz root@host1:/etc/my.cnf /etc
rsync -avHz root@host1:/etc/php.ini /etc
rsync -avHz root@host1:/etc/php.d/ /etc/php.d
# Recréer la base BlueOnyx pour que les quotas se mettent à jour ensuite en chargeant /home
/etc/init.d/cced.init restart # recrée la config., entre autres /etc/hosts, 
/etc/init.d/admserv restart

Synchronisation des données

Ici, on exclut mysql car les bases ne seraient pas cohérentes si elles sont ouvertes pendant la copie (à la source comme à la destination). On préférera donc les recréer par export/import.
Le répertoire "backup" est un exemple de ce qu'on peut également vouloir exclure au moment du transfert. Noter que les exclusions se font en chemins relatifs par rapport à ce qui est synchronisé. Ici on exclut donc /home/mysql et /home/backup.

rsync -avHz --delete --exclude=/mysql --exclude=/backup root@host1:/home/ /home

Synchronisation MySQL

Faire un dump des bases à la source

mysqldump --all-databases -p > all_db.sql

Transférer le fichier sql, et le recharger à la destination (avec "all-databases", le fichier contient les recréations de bases si nécessaire, et les drop/create tables au cas ou celles-ci existent déjà dans la base de destination) :

mysql -p < all_db.sql

Modification de la configuration, si nécessaire

Changer IP du serveur dans la base BlueOnyx (qui a été écrasée lors de la copie de codb) :

echo SET 2 ipaddr = \"192.168.1.10\" | /usr/sausalito/bin/cceclient

Attention : perte de connexion probable à ce moment si on est en SSH !

Puis changer les IP des vhosts :

for site in $(clistvsite | awk '{ print $1 }'); do cmodvsite --ipaddr=192.168.1.10 --fqdn=$site; done

Si les virtualhosts contiennent des sous-domaines, on doit modifier manuellement, la BlueOnyx ne le fait pas :

cd /etc/httpd/conf.d/subdomains
for i in *; do sed -i 's/192.168.1.4/192.168.1.10/g' $i; done

Redémarrage des services

/etc/init.d/admserv restart
/etc/init.d/httpd restart
/etc/init.d/mysqld restart
/etc/init.d/sendmail restart
/etc/init.d/dovecot restart