Préliminaires
Spécifications de la nouvelle VM:
- Xen
- 1 GB de RAM
- 10 GB d'espace disque
- Architecture: amd64
Installation
Grésille nous a fourni un accès à un xen-shell
configuré avec le
debian-installer
. Une fois l'installation effectuée, on les a prévenus
afin de pouvoir démarrer sur le disque dur plutôt que sur l'installeur.
Partitionnement initial :
/boot
: 256 Mo- LVM (
bulbe
) :/
: 5 Go- swap : 1 Go
/srv
: 3 Go- espace libre : 1 Go
Configuration réseau
On corrige /etc/network/interfaces
pour y mettre la configuration
conseillée :
auto eth0
iface eth0 inet static
address 91.216.110.49
netmask 255.255.255.255
pre-up ip -4 addr flush dev $IFACE
up ip route add 91.216.110.1/32 dev $IFACE || true
down ip route del 91.216.110.1/32 dev $IFACE || true
up ip route add default via 91.216.110.1 || true
down ip route del default via 91.216.110.1 || true
iface eth0 inet6 static
address 2001:912:400:106::49
netmask 64
gateway 2001:912:400:106::1
pre-up ip -6 addr flush dev $IFACE
#up ip -6 addr add 2001:912:410:37:x:x:x:x
#down ip -6 addr add 2001:912:410:37:x:x:x:x
Réinstallation des paquets
On remet la liste des paquets telle qu'installée précédemment :
$ ssh 91.224.149.171 dpkg --get-selections > /tmp/selections
$ ssh 91.224.149.171 apt-mark showauto > /tmp/auto
$ ssh 91.224.149.171 apt-mark showmanual > /tmp/manual
$ scp /tmp/selections /tmp/auto /tmp/manual 91.216.110.49:/tmp
new-bulbe$ sudo apt-get instal dselect
new-bulbe$ sudo dselect update
new-bulbe$ sudo dpkg --set-selections < /tmp/selections
new-bulbe$ sudo debconf-set-selections < /tmp/debconf
new-bulbe$ sudo apt-get dselect-upgrade
new-bulbe$ sudo apt-mark auto $(cat /tmp/auto)
new-bulbe$ sudo apt-mark manual $(cat /tmp/manual)
new-bulbe$ rm /tmp/selections /tmp/debconf /tmp/auto/manual
Migration de la configuration
$ ssh 91.224.149.171
old-bulbe$ sudo tar -C /etc -cf /tmp/git.tar .git
$ scp 91.224.149.171:/tmp/git.tar /tmp/
$ scp /tmp/git.tar 91.216.110.49:/tmp/
new-bulbe$ sudo tar -C /etc -xf /tmp/git.tar
Ensuite, on peut aller jouer avec Git dans /etc
afin de restaurer la
configuration précédente.
Copie des données
new-bulbe$ sudo -E rsync --rsync-path="sudo rsync" -aAXHv --delete lunar@91.224.149.171:/usr/local/bin/ /usr/local/bin/
new-bulbe$ sudo -E rsync --rsync-path="sudo rsync" -aAXHv --delete lunar@91.224.149.171:/usr/local/share/ /usr/local/share/
new-bulbe$ sudo -E rsync --rsync-path="sudo rsync" -aAXHv --delete lunar@91.224.149.171:/srv/ /srv/
new-bulbe$ sudo -E rsync --rsync-path="sudo rsync" -aAXHv --delete lunar@91.224.149.171:/home/ /home/
new-bulbe$ sudo -E rsync --rsync-path="sudo rsync" -aAXHv --delete lunar@91.224.149.171:/root/ /root/
new-bulbe$ sudo -E rsync --rsync-path="sudo rsync" -aAXHv --delete lunar@91.224.149.171:/var/backups/ /var/backups/
new-bulbe$ sudo -E rsync --rsync-path="sudo rsync" -aAXHv --delete lunar@91.224.149.171:/var/cache/awstats/ /var/cache/awstats/
new-bulbe$ sudo -E rsync --rsync-path="sudo rsync" -aAXHv --delete lunar@91.224.149.171:/var/cache/etckeeper/ /var/cache/etckeeper/
new-bulbe$ sudo -E rsync --rsync-path="sudo rsync" -aAXHv --delete lunar@91.224.149.171:/var/cache/git/ /var/cache/git/
new-bulbe$ sudo -E rsync --rsync-path="sudo rsync" -aAXHv --delete lunar@91.224.149.171:/var/cache/request-tracker4/ /var/cache/request-tracker4/
new-bulbe$ sudo -E rsync --rsync-path="sudo rsync" -aAXHv --delete lunar@91.224.149.171:/var/lib/etckeeper/ /var/lib/etckeeper/
new-bulbe$ sudo -E rsync --rsync-path="sudo rsync" -aAXHv --delete lunar@91.224.149.171:/var/lib/gems/ /var/lib/gems/
new-bulbe$ sudo -E rsync --rsync-path="sudo rsync" -aAXHv --delete lunar@91.224.149.171:/var/lib/mailman/ /var/lib/mailman/
new-bulbe$ sudo -E rsync --rsync-path="sudo rsync" -aAXHv --delete lunar@91.224.149.171:/var/lib/spamassassin/ /var/lib/spamassassin/
new-bulbe$ sudo -E rsync --rsync-path="sudo rsync" -aAXHv --delete lunar@91.224.149.171:/var/log/ /var/log/
new-bulbe$ sudo rm -r /var/lib/postgresql ; sudo ln -s /srv/postgresql /var/lib/postgresql
new-bulbe$ sudo rm -r /var/lib/schleuder ; sudo ln -s /srv/schleuder /var/lib/schleuder
new-bulbe$ sudo rm -r /var/lib/request-tracker4 ; sudo ln -s /srv/request-tracker4 /var/lib/request-tracker4
new-bulbe$ sudo rm -r /var/lib/awstats ; sudo ln -s /srv/awstats/data /var/lib/awstats
Divers
Ne pas oublier de réappliquer le patch sur Mailman.
Bascule
- On éteint tous les services sur l'ancienne machine, sauf SSH et BIND.
- On modifie la configuration du DNS et on recharge BIND.
- On resynchronise une dernière fois les données (la nouvelle zone DNS aussi).
- On allume les services sur la nouvelle machine.
- On modifie l'adresse IP des zones DNS chez le registrar.