Aller au contenu

La recherche est disponible uniquement en mode production. Essayez de construire puis de prévisualiser votre site pour tester la recherche localement.

Migration LXC to VM

Voici les informations à renseigner lors de la création de la nouvelle VM (First Installation) :

  • OS : Ubuntu Server 24.04
  • Proxy : renseignez le proxy de votre entreprise si vous en avez un
  • New username : administrateur (sera supprimé à la fin)
  • Mot de passe : mettre un mot de passe temporaire
  • Installer OpenSSH Server
  • Dans les features serveur : ne rien cocher

Une fois la VM démarrée, connectez-vous avec le compte administrateur puis passez en root :

  1. Connectez-vous avec le compte administrateur

  2. Faites un sudo su pour obtenir un shell root

  3. Changez le mot de passe du compte root :

    Fenêtre de terminal
    passwd
  4. Déconnectez-vous de tous les comptes puis reconnectez-vous avec root

  5. Supprimez le compte administrateur une fois la connexion root établie :

    Fenêtre de terminal
    deluser administrateur

Ajoutez le proxy d’entreprise dans le .bashrc, on en aura besoin pour l’installation des packages :

Fenêtre de terminal
PROXY_URL="http://<IP>:<PORT>/"
export http_proxy="$PROXY_URL"
export https_proxy="$PROXY_URL"

Faites une mise à jour du système :

Fenêtre de terminal
apt update
apt upgrade -y

Installez les paquets suivants :

Fenêtre de terminal
apt install ncdu gparted fping nmap fd-find

Installez le nouveau bashrc ci-dessous dans /etc/bash.bashrc. Avant cela, faites une sauvegarde du fichier :

Fenêtre de terminal
cp /etc/bash.bashrc /etc/bash.bashrc_$(date --iso-8601=seconds)

Remplacez le contenu de /etc/bash.bashrc par celui du fichier bash.bashrc fourni.

Sur la nouvelle machine, installez le dépôt (mirror) GitLab :

Fenêtre de terminal
curl --location "https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh" | bash

Faites une sauvegarde à cette étape, avant de continuer la migration.

Allez sur le GitLab à migrer et regardez la version affichée sur la page https://<FQDN>/help

Ensuite, installez la bonne version sur la nouvelle machine :

Fenêtre de terminal
apt-get install gitlab-ee=<VERSION>-ee.0

Exemple : gitlab-ee=18.11.7-ee.0

Sur l’ancien GitLab (la LXC), arrêtez les services puis créez la sauvegarde :

Fenêtre de terminal
gitlab-ctl stop puma
gitlab-ctl stop sidekiq
gitlab-backup create STRATEGY=copy

Transférez les données vers la nouvelle machine :

Fenêtre de terminal
scp /etc/gitlab/gitlab-secrets.json root@NEW_IP:/etc/gitlab/gitlab-secrets.json
scp /etc/gitlab/gitlab.rb root@NEW_IP:/etc/gitlab/gitlab.rb
scp /etc/gitlab/ssl/ root@NEW_IP:/etc/gitlab/ssl/
scp /etc/ssh/ssh_host_* root@NEW_IP:/etc/ssh/ssh_host_*
scp /var/opt/gitlab/backups/* root@NEW_IP:/var/opt/gitlab/backups/

Par précaution, bloquez la mise à jour de GitLab et appliquez les bons droits avant le reconfigure :

Fenêtre de terminal
apt-mark hold gitlab-ee
chown root:root /etc/gitlab/gitlab*.{rb,json}
chmod 600 /etc/gitlab/gitlab-secrets.json
gitlab-ctl reconfigure
gitlab-ctl status

Ajoutez les bons droits aux fichiers de sauvegarde :

Fenêtre de terminal
chown git:git /var/opt/gitlab/backups/*.tar
chmod 600 /var/opt/gitlab/backups/*.tar

Stoppez les services avant de restaurer les sauvegardes :

Fenêtre de terminal
gitlab-ctl stop puma
gitlab-ctl stop sidekiq
gitlab-ctl status

Puis restaurez la sauvegarde :

Fenêtre de terminal
gitlab-backup restore

Enfin, terminez par :

Fenêtre de terminal
gitlab-ctl reconfigure
gitlab-ctl restart
gitlab-rake gitlab:check SANITIZE=true
gitlab-rake gitlab:doctor:secrets
gitlab-rake cache:clear