Actualiser AGENT-migration-containers.md
This commit is contained in:
@@ -1,326 +1,326 @@
|
||||
# Procédure de Migration des Containers LXC : prox2 → prox (LVM → ZFS)
|
||||
|
||||
**Objectif** : Migrer les containers LXC de **prox2 (192.168.0.95)** vers **prox (192.168.0.94)** sur stockage LVM, puis déplacer leur stockage vers ZFS (`rpool/data`).
|
||||
|
||||
**Basé sur** : Migration réussie du container **103 (AdGuard)**.
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ **NOTE IMPORTANTE : Stockages déjà configurés sur prox**
|
||||
|
||||
✅ **Les stockages suivants existent déjà sur prox (192.168.0.94)** :
|
||||
- **`local-lvm`** (119G, lvmthin) sur `/dev/sdb` - VG `pve`, thin pool `data`
|
||||
- **`pve-zfs`** (447G, dir) pointant vers `/rpool/data` (dataset ZFS)
|
||||
|
||||
**→ Pour les prochaines migrations, SAUTEZ les étapes de création de ces stockages (Étape 1 et Étape 3).**
|
||||
|
||||
---
|
||||
|
||||
## 🔍 Vérification rapide des stockages existants
|
||||
|
||||
Avant de commencer, vérifiez sur **prox (192.168.0.94)** :
|
||||
```bash
|
||||
pvesm status | grep -E 'local-lvm|pve-zfs'
|
||||
zfs list | grep rpool/data
|
||||
```
|
||||
|
||||
**Si les stockages existent** → Passez directement à l'**Étape 2** (Migration).
|
||||
|
||||
---
|
||||
|
||||
## 📋 Prérequis
|
||||
|
||||
### 1. Cluster Proxmox fonctionnel
|
||||
- Les deux nœuds (**prox2** et **prox**) doivent être **en cluster** et **en quorum**.
|
||||
- Vérifier avec :
|
||||
```bash
|
||||
pvecm status
|
||||
```
|
||||
→ Doit afficher : `Quorate` avec les 2 nœuds + Qdevice (Pi3).
|
||||
|
||||
### 2. Stockage `local-lvm` disponible sur **prox**
|
||||
- Un disque supplémentaire (`/dev/sdb` dans notre cas) doit être **disponible** sur **prox**.
|
||||
- Vérifier avec :
|
||||
```bash
|
||||
lsblk
|
||||
```
|
||||
|
||||
### 3. Stockage ZFS existant sur **prox**
|
||||
- Le pool ZFS `rpool` doit exister avec un dataset `rpool/data`.
|
||||
- Vérifier avec :
|
||||
```bash
|
||||
zfs list
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Étape 1 : Préparer le stockage LVM sur **prox** *(À SAUTER si déjà configuré)*
|
||||
|
||||
**Objectif** : Créer un stockage `local-lvm` sur **prox** pour permettre la migration des containers depuis **prox2**.
|
||||
|
||||
⚠️ **À SAUTER** : Ce stockage existe déjà sur prox (119G sur `/dev/sdb`).
|
||||
|
||||
### Commandes à exécuter sur **prox (192.168.0.94)** *(uniquement si `local-lvm` n'existe pas) :
|
||||
|
||||
```bash
|
||||
# 1. Nettoyer le disque (si partitionné)
|
||||
wipefs -a /dev/sdb
|
||||
|
||||
# 2. Créer un volume physique LVM
|
||||
pvcreate /dev/sdb
|
||||
|
||||
# 3. Créer un volume group (nommé 'pve' pour cohérence avec prox2)
|
||||
vgcreate pve /dev/sdb
|
||||
|
||||
# 4. Créer un thin pool pour les containers
|
||||
lvcreate -L <TAILLE>G -n data pve --thinpool data
|
||||
# Exemple pour 119G :
|
||||
lvcreate -L 119G -n data pve --thinpool data
|
||||
|
||||
# 5. Ajouter le stockage dans Proxmox
|
||||
pvesm add lvmthin local-lvm --vgname pve --thinpool data
|
||||
|
||||
# 6. Vérifier le stockage
|
||||
pvesm status
|
||||
```
|
||||
|
||||
**Résultat attendu** :
|
||||
```
|
||||
Name Type Status Total Used Available
|
||||
local-lvm lvmthin active 119G 0B 119G
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Étape 2 : Migrer un container de **prox2** vers **prox** (sur LVM)
|
||||
|
||||
**Objectif** : Déplacer un container (ex: 103) de **prox2** vers **prox** en conservant le stockage `local-lvm`.
|
||||
|
||||
### Commandes à exécuter sur **prox2 (192.168.0.95)** :
|
||||
|
||||
```bash
|
||||
# 1. Arrêter le container (obligatoire pour la migration)
|
||||
pct stop <CTID>
|
||||
# Exemple :
|
||||
pct stop 103
|
||||
|
||||
# 2. Lancer la migration vers prox
|
||||
pct migrate <CTID> prox
|
||||
# Exemple :
|
||||
pct migrate 103 prox
|
||||
|
||||
# 3. Vérifier la migration sur prox
|
||||
ssh root@192.168.0.94 "pct list"
|
||||
```
|
||||
|
||||
**Résultat attendu** :
|
||||
- Le container apparaît sur **prox** avec le stockage `local-lvm`.
|
||||
- Statut : `stopped` (à redémarrer manuellement).
|
||||
|
||||
```bash
|
||||
# 4. Redémarrer le container sur prox
|
||||
pct start <CTID>
|
||||
# Exemple :
|
||||
pct start 103
|
||||
|
||||
# 5. Vérifier le statut
|
||||
pct status <CTID>
|
||||
```
|
||||
|
||||
⚠️ **Problèmes courants** :
|
||||
- **Erreur** : `storage 'local-lvm' does not exist` → Vérifier que `local-lvm` existe bien sur **prox** (Étape 1).
|
||||
- **Erreur** : `migration aborted` → Vérifier la connectivité réseau entre les nœuds.
|
||||
|
||||
---
|
||||
|
||||
## 💾 Étape 3 : Préparer le stockage ZFS pour les containers sur **prox** *(À SAUTER si déjà configuré)*
|
||||
|
||||
**Objectif** : Créer un stockage Proxmox pointant vers le dataset ZFS `rpool/data`.
|
||||
|
||||
⚠️ **À SAUTER** : Le stockage `pve-zfs` (pointant vers `/rpool/data`) existe déjà sur prox.
|
||||
|
||||
### Commandes à exécuter sur **prox (192.168.0.94)** *(uniquement si `pve-zfs` n'existe pas) :
|
||||
|
||||
```bash
|
||||
# 1. Vérifier que rpool/data existe et est monté
|
||||
zfs list
|
||||
# Doit afficher : rpool/data 96K 443G 96K /rpool/data
|
||||
|
||||
# 2. Créer un stockage Proxmox de type 'dir' pointant vers /rpool/data
|
||||
# (ZFS est monté automatiquement, pas besoin de 'zfs mount')
|
||||
pvesm add dir pve-zfs --path /rpool/data --content rootdir
|
||||
|
||||
# 3. Vérifier le stockage
|
||||
pvesm status
|
||||
```
|
||||
|
||||
**Résultat attendu** :
|
||||
```
|
||||
Name Type Status Total Used Available
|
||||
pve-zfs dir active 447G 0B 447G
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔀 Étape 4 : Déplacer le container de LVM vers ZFS sur **prox**
|
||||
|
||||
**Objectif** : Déplacer le stockage du container de `local-lvm` vers `pve-zfs` (ZFS).
|
||||
|
||||
### Commandes à exécuter sur **prox (192.168.0.94)** :
|
||||
|
||||
```bash
|
||||
# 1. Arrêter le container
|
||||
pct stop <CTID>
|
||||
# Exemple :
|
||||
pct stop 103
|
||||
|
||||
# 2. Déplacer le volume racine (rootfs) vers pve-zfs
|
||||
pct move-volume <CTID> rootfs pve-zfs
|
||||
# Exemple :
|
||||
pct move-volume 103 rootfs pve-zfs
|
||||
|
||||
# 3. Redémarrer le container
|
||||
pct start <CTID>
|
||||
# Exemple :
|
||||
pct start 103
|
||||
|
||||
# 4. Vérifier la configuration
|
||||
pct config <CTID>
|
||||
```
|
||||
|
||||
**Résultat attendu** :
|
||||
```
|
||||
rootfs: pve-zfs:103/vm-103-disk-0.raw,size=2G
|
||||
```
|
||||
|
||||
⚠️ **Problèmes courants** :
|
||||
- **Erreur** : `cannot move volumes of a running container` → Arrêter le container avant.
|
||||
- **Erreur** : `storage 'rpool/data' contains illegal characters` → Utiliser le stockage `pve-zfs` (créé à l'Étape 3).
|
||||
|
||||
---
|
||||
|
||||
## ✅ Étape 5 : Vérifications finales
|
||||
|
||||
### Sur **prox** :
|
||||
|
||||
```bash
|
||||
# 1. Vérifier que le container est en running
|
||||
pct status <CTID>
|
||||
|
||||
# 2. Vérifier le stockage utilisé
|
||||
pct config <CTID> | grep rootfs
|
||||
|
||||
# 3. Vérifier l'IP du container
|
||||
pct exec <CTID> -- hostname -I
|
||||
```
|
||||
|
||||
### Sur **prox2** :
|
||||
|
||||
```bash
|
||||
# 1. Vérifier que le container a disparu
|
||||
pct list
|
||||
|
||||
# 2. Nettoyer les anciens volumes (si nécessaire)
|
||||
# Les anciens volumes sur local-lvm sont marqués comme 'unused' et peuvent être supprimés
|
||||
pct config <CTID> # Vérifier les entrées 'unusedX'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📊 Exemple complet : Migration du container 103 (AdGuard)
|
||||
|
||||
⚠️ **Note** : Pour le container 103, les stockages **n'existaient pas** sur prox. Pour les prochains containers (101, 102, 104, 105, 106), **les stockages existent déjà** → Sautez la partie "Préparation".
|
||||
|
||||
### Sur **prox (192.168.0.94)** - Préparation *(uniquement pour le premier container)* :
|
||||
```bash
|
||||
# Créer le stockage LVM
|
||||
wipefs -a /dev/sdb
|
||||
pvcreate /dev/sdb
|
||||
vgcreate pve /dev/sdb
|
||||
lvcreate -L 119G -n data pve --thinpool data
|
||||
pvesm add lvmthin local-lvm --vgname pve --thinpool data
|
||||
|
||||
# Créer le stockage ZFS
|
||||
pvesm add dir pve-zfs --path /rpool/data --content rootdir
|
||||
```
|
||||
|
||||
### Sur **prox2 (192.168.0.95)** - Migration :
|
||||
```bash
|
||||
pct stop 103
|
||||
pct migrate 103 prox
|
||||
```
|
||||
|
||||
### Sur **prox (192.168.0.94)** - Déplacement vers ZFS :
|
||||
```bash
|
||||
pct stop 103
|
||||
pct move-volume 103 rootfs pve-zfs
|
||||
pct start 103
|
||||
```
|
||||
|
||||
### Vérification :
|
||||
```bash
|
||||
pct config 103 | grep rootfs
|
||||
# → rootfs: pve-zfs:103/vm-103-disk-0.raw,size=2G
|
||||
pct status 103
|
||||
# → status: running
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ⚡ Procédure simplifiée pour les PROCHAINS containers (101, 102, 104, 105, 106)
|
||||
|
||||
**Les stockages `local-lvm` et `pve-zfs` existent déjà sur prox → Sautez les Étapes 1 et 3.**
|
||||
|
||||
### Commandes à exécuter :
|
||||
|
||||
```bash
|
||||
# Sur prox2 (192.168.0.95) :
|
||||
pct stop <CTID>
|
||||
pct migrate <CTID> prox
|
||||
|
||||
# Sur prox (192.168.0.94) :
|
||||
pct stop <CTID>
|
||||
pct move-volume <CTID> rootfs pve-zfs
|
||||
pct start <CTID>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Résumé des commandes clés
|
||||
|
||||
| Action | Commande | Nœud |
|
||||
|--------|----------|------|
|
||||
| Créer LVM | `pvcreate /dev/sdb; vgcreate pve /dev/sdb; lvcreate -L 119G -n data pve --thinpool data` | prox |
|
||||
| Ajouter stockage LVM | `pvesm add lvmthin local-lvm --vgname pve --thinpool data` | prox |
|
||||
| Ajouter stockage ZFS | `pvesm add dir pve-zfs --path /rpool/data --content rootdir` | prox |
|
||||
| Arrêter container | `pct stop <CTID>` | prox2 ou prox |
|
||||
| Migrer container | `pct migrate <CTID> prox` | prox2 |
|
||||
| Déplacer vers ZFS | `pct move-volume <CTID> rootfs pve-zfs` | prox |
|
||||
| Redémarrer container | `pct start <CTID>` | prox |
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Notes importantes
|
||||
|
||||
1. **Compatibilité** : Cette procédure fonctionne pour les **containers LXC** uniquement. Pour les **VMs KVM**, utiliser `qm migrate`.
|
||||
|
||||
2. **Espace disque** : Vérifier que **prox** a assez d'espace sur `local-lvm` et `rpool/data` avant migration.
|
||||
|
||||
3. **Cluster** : La migration entre nœuds nécessite un **cluster Proxmox fonctionnel**.
|
||||
|
||||
4. **Stockage ZFS** : Le dataset `rpool/data` doit exister. Si ce n'est pas le cas, le créer avec :
|
||||
```bash
|
||||
zfs create rpool/data
|
||||
```
|
||||
|
||||
5. **Nettoyage** : Après migration, les anciens volumes sur **prox2** (marqués `unusedX`) peuvent être supprimés avec :
|
||||
```bash
|
||||
pct set <CTID> --delete unused0
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📚 Références
|
||||
- [Documentation Proxmox VE - LXC](https://pve.proxmox.com/wiki/Linear_Virtual_Environment_(LXC))
|
||||
- [Documentation Proxmox VE - Storage](https://pve.proxmox.com/wiki/Storage)
|
||||
- [Documentation Proxmox VE - Migration](https://pve.proxmox.com/wiki/Migration_of_virtual_guests)
|
||||
# Procédure de Migration des Containers LXC : prox2 → prox (LVM → ZFS)
|
||||
|
||||
**Objectif** : Migrer les containers LXC de **prox2 (192.168.0.95)** vers **prox (192.168.0.94)** sur stockage LVM, puis déplacer leur stockage vers ZFS (`rpool/data`).
|
||||
|
||||
**Basé sur** : Migration réussie du container **103 (AdGuard)**.
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ **NOTE IMPORTANTE : Stockages déjà configurés sur prox**
|
||||
|
||||
✅ **Les stockages suivants existent déjà sur prox (192.168.0.94)** :
|
||||
- **`local-lvm`** (119G, lvmthin) sur `/dev/sdb` - VG `pve`, thin pool `data`
|
||||
- **`pve-zfs`** (447G, dir) pointant vers `/rpool/data` (dataset ZFS)
|
||||
|
||||
**→ Pour les prochaines migrations, SAUTEZ les étapes de création de ces stockages (Étape 1 et Étape 3).**
|
||||
|
||||
---
|
||||
|
||||
## 🔍 Vérification rapide des stockages existants
|
||||
|
||||
Avant de commencer, vérifiez sur **prox (192.168.0.94)** :
|
||||
```bash
|
||||
pvesm status | grep -E 'local-lvm|pve-zfs'
|
||||
zfs list | grep rpool/data
|
||||
```
|
||||
|
||||
**Si les stockages existent** → Passez directement à l'**Étape 2** (Migration).
|
||||
|
||||
---
|
||||
|
||||
## 📋 Prérequis
|
||||
|
||||
### 1. Cluster Proxmox fonctionnel
|
||||
- Les deux nœuds (**prox2** et **prox**) doivent être **en cluster** et **en quorum**.
|
||||
- Vérifier avec :
|
||||
```bash
|
||||
pvecm status
|
||||
```
|
||||
→ Doit afficher : `Quorate` avec les 2 nœuds + Qdevice (Pi3).
|
||||
|
||||
### 2. Stockage `local-lvm` disponible sur **prox**
|
||||
- Un disque supplémentaire (`/dev/sdb` dans notre cas) doit être **disponible** sur **prox**.
|
||||
- Vérifier avec :
|
||||
```bash
|
||||
lsblk
|
||||
```
|
||||
|
||||
### 3. Stockage ZFS existant sur **prox**
|
||||
- Le pool ZFS `rpool` doit exister avec un dataset `rpool/data`.
|
||||
- Vérifier avec :
|
||||
```bash
|
||||
zfs list
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Étape 1 : Préparer le stockage LVM sur **prox** *(À SAUTER si déjà configuré)*
|
||||
|
||||
**Objectif** : Créer un stockage `local-lvm` sur **prox** pour permettre la migration des containers depuis **prox2**.
|
||||
|
||||
⚠️ **À SAUTER** : Ce stockage existe déjà sur prox (119G sur `/dev/sdb`).
|
||||
|
||||
### Commandes à exécuter sur **prox (192.168.0.94)** *(uniquement si `local-lvm` n'existe pas) :
|
||||
|
||||
```bash
|
||||
# 1. Nettoyer le disque (si partitionné)
|
||||
wipefs -a /dev/sdb
|
||||
|
||||
# 2. Créer un volume physique LVM
|
||||
pvcreate /dev/sdb
|
||||
|
||||
# 3. Créer un volume group (nommé 'pve' pour cohérence avec prox2)
|
||||
vgcreate pve /dev/sdb
|
||||
|
||||
# 4. Créer un thin pool pour les containers
|
||||
lvcreate -L <TAILLE>G -n data pve --thinpool data
|
||||
# Exemple pour 119G :
|
||||
lvcreate -L 119G -n data pve --thinpool data
|
||||
|
||||
# 5. Ajouter le stockage dans Proxmox
|
||||
pvesm add lvmthin local-lvm --vgname pve --thinpool data
|
||||
|
||||
# 6. Vérifier le stockage
|
||||
pvesm status
|
||||
```
|
||||
|
||||
**Résultat attendu** :
|
||||
```
|
||||
Name Type Status Total Used Available
|
||||
local-lvm lvmthin active 119G 0B 119G
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Étape 2 : Migrer un container de **prox2** vers **prox** (sur LVM)
|
||||
|
||||
**Objectif** : Déplacer un container (ex: 103) de **prox2** vers **prox** en conservant le stockage `local-lvm`.
|
||||
|
||||
### Commandes à exécuter sur **prox2 (192.168.0.95)** :
|
||||
|
||||
```bash
|
||||
# 1. Arrêter le container (obligatoire pour la migration)
|
||||
pct stop <CTID>
|
||||
# Exemple :
|
||||
pct stop 103
|
||||
|
||||
# 2. Lancer la migration vers prox
|
||||
pct migrate <CTID> prox
|
||||
# Exemple :
|
||||
pct migrate 103 prox
|
||||
|
||||
# 3. Vérifier la migration sur prox
|
||||
ssh root@192.168.0.94 "pct list"
|
||||
```
|
||||
|
||||
**Résultat attendu** :
|
||||
- Le container apparaît sur **prox** avec le stockage `local-lvm`.
|
||||
- Statut : `stopped` (à redémarrer manuellement).
|
||||
|
||||
```bash
|
||||
# 4. Redémarrer le container sur prox
|
||||
pct start <CTID>
|
||||
# Exemple :
|
||||
pct start 103
|
||||
|
||||
# 5. Vérifier le statut
|
||||
pct status <CTID>
|
||||
```
|
||||
|
||||
⚠️ **Problèmes courants** :
|
||||
- **Erreur** : `storage 'local-lvm' does not exist` → Vérifier que `local-lvm` existe bien sur **prox** (Étape 1).
|
||||
- **Erreur** : `migration aborted` → Vérifier la connectivité réseau entre les nœuds.
|
||||
|
||||
---
|
||||
|
||||
## 💾 Étape 3 : Préparer le stockage ZFS pour les containers sur **prox** *(À SAUTER si déjà configuré)*
|
||||
|
||||
**Objectif** : Créer un stockage Proxmox pointant vers le dataset ZFS `rpool/data`.
|
||||
|
||||
⚠️ **À SAUTER** : Le stockage `pve-zfs` (pointant vers `/rpool/data`) existe déjà sur prox.
|
||||
|
||||
### Commandes à exécuter sur **prox (192.168.0.94)** *(uniquement si `pve-zfs` n'existe pas) :
|
||||
|
||||
```bash
|
||||
# 1. Vérifier que rpool/data existe et est monté
|
||||
zfs list
|
||||
# Doit afficher : rpool/data 96K 443G 96K /rpool/data
|
||||
|
||||
# 2. Créer un stockage Proxmox de type 'dir' pointant vers /rpool/data
|
||||
# (ZFS est monté automatiquement, pas besoin de 'zfs mount')
|
||||
pvesm add dir pve-zfs --path /rpool/data --content rootdir
|
||||
|
||||
# 3. Vérifier le stockage
|
||||
pvesm status
|
||||
```
|
||||
|
||||
**Résultat attendu** :
|
||||
```
|
||||
Name Type Status Total Used Available
|
||||
pve-zfs dir active 447G 0B 447G
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔀 Étape 4 : Déplacer le container de LVM vers ZFS sur **prox**
|
||||
|
||||
**Objectif** : Déplacer le stockage du container de `local-lvm` vers `pve-zfs` (ZFS).
|
||||
|
||||
### Commandes à exécuter sur **prox (192.168.0.94)** :
|
||||
|
||||
```bash
|
||||
# 1. Arrêter le container
|
||||
pct stop <CTID>
|
||||
# Exemple :
|
||||
pct stop 103
|
||||
|
||||
# 2. Déplacer le volume racine (rootfs) vers pve-zfs
|
||||
pct move-volume <CTID> rootfs pve-zfs
|
||||
# Exemple :
|
||||
pct move-volume 103 rootfs pve-zfs
|
||||
|
||||
# 3. Redémarrer le container
|
||||
pct start <CTID>
|
||||
# Exemple :
|
||||
pct start 103
|
||||
|
||||
# 4. Vérifier la configuration
|
||||
pct config <CTID>
|
||||
```
|
||||
|
||||
**Résultat attendu** :
|
||||
```
|
||||
rootfs: pve-zfs:103/vm-103-disk-0.raw,size=2G
|
||||
```
|
||||
|
||||
⚠️ **Problèmes courants** :
|
||||
- **Erreur** : `cannot move volumes of a running container` → Arrêter le container avant.
|
||||
- **Erreur** : `storage 'rpool/data' contains illegal characters` → Utiliser le stockage `pve-zfs` (créé à l'Étape 3).
|
||||
|
||||
---
|
||||
|
||||
## ✅ Étape 5 : Vérifications finales
|
||||
|
||||
### Sur **prox** :
|
||||
|
||||
```bash
|
||||
# 1. Vérifier que le container est en running
|
||||
pct status <CTID>
|
||||
|
||||
# 2. Vérifier le stockage utilisé
|
||||
pct config <CTID> | grep rootfs
|
||||
|
||||
# 3. Vérifier l'IP du container
|
||||
pct exec <CTID> -- hostname -I
|
||||
```
|
||||
|
||||
### Sur **prox2** :
|
||||
|
||||
```bash
|
||||
# 1. Vérifier que le container a disparu
|
||||
pct list
|
||||
|
||||
# 2. Nettoyer les anciens volumes (si nécessaire)
|
||||
# Les anciens volumes sur local-lvm sont marqués comme 'unused' et peuvent être supprimés
|
||||
pct config <CTID> # Vérifier les entrées 'unusedX'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📊 Exemple complet : Migration du container 103 (AdGuard)
|
||||
|
||||
⚠️ **Note** : Pour le container 103, les stockages **n'existaient pas** sur prox. Pour les prochains containers (101, 102, 104, 105, 106), **les stockages existent déjà** → Sautez la partie "Préparation".
|
||||
|
||||
### Sur **prox (192.168.0.94)** - Préparation *(uniquement pour le premier container)* :
|
||||
```bash
|
||||
# Créer le stockage LVM
|
||||
wipefs -a /dev/sdb
|
||||
pvcreate /dev/sdb
|
||||
vgcreate pve /dev/sdb
|
||||
lvcreate -L 119G -n data pve --thinpool data
|
||||
pvesm add lvmthin local-lvm --vgname pve --thinpool data
|
||||
|
||||
# Créer le stockage ZFS
|
||||
pvesm add dir pve-zfs --path /rpool/data --content rootdir
|
||||
```
|
||||
|
||||
### Sur **prox2 (192.168.0.95)** - Migration :
|
||||
```bash
|
||||
pct stop 103
|
||||
pct migrate 103 prox
|
||||
```
|
||||
|
||||
### Sur **prox (192.168.0.94)** - Déplacement vers ZFS :
|
||||
```bash
|
||||
pct stop 103
|
||||
pct move-volume 103 rootfs pve-zfs
|
||||
pct start 103
|
||||
```
|
||||
|
||||
### Vérification :
|
||||
```bash
|
||||
pct config 103 | grep rootfs
|
||||
# → rootfs: pve-zfs:103/vm-103-disk-0.raw,size=2G
|
||||
pct status 103
|
||||
# → status: running
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ⚡ Procédure simplifiée pour les PROCHAINS containers (101, 102, 104, 105, 106)
|
||||
|
||||
**Les stockages `local-lvm` et `pve-zfs` existent déjà sur prox → Sautez les Étapes 1 et 3.**
|
||||
|
||||
### Commandes à exécuter :
|
||||
|
||||
```bash
|
||||
# Sur prox2 (192.168.0.95) :
|
||||
pct stop <CTID>
|
||||
pct migrate <CTID> prox
|
||||
|
||||
# Sur prox (192.168.0.94) :
|
||||
pct stop <CTID>
|
||||
pct move-volume <CTID> rootfs pve-zfs
|
||||
pct start <CTID>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Résumé des commandes clés
|
||||
|
||||
| Action | Commande | Nœud |
|
||||
|--------|----------|------|
|
||||
| Créer LVM | `pvcreate /dev/sdb; vgcreate pve /dev/sdb; lvcreate -L 119G -n data pve --thinpool data` | prox |
|
||||
| Ajouter stockage LVM | `pvesm add lvmthin local-lvm --vgname pve --thinpool data` | prox |
|
||||
| Ajouter stockage ZFS | `pvesm add dir pve-zfs --path /rpool/data --content rootdir` | prox |
|
||||
| Arrêter container | `pct stop <CTID>` | prox2 ou prox |
|
||||
| Migrer container | `pct migrate <CTID> prox` | prox2 |
|
||||
| Déplacer vers ZFS | `pct move-volume <CTID> rootfs pve-zfs` | prox |
|
||||
| Redémarrer container | `pct start <CTID>` | prox |
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Notes importantes
|
||||
|
||||
1. **Compatibilité** : Cette procédure fonctionne pour les **containers LXC** uniquement. Pour les **VMs KVM**, utiliser `qm migrate`.
|
||||
|
||||
2. **Espace disque** : Vérifier que **prox** a assez d'espace sur `local-lvm` et `rpool/data` avant migration.
|
||||
|
||||
3. **Cluster** : La migration entre nœuds nécessite un **cluster Proxmox fonctionnel**.
|
||||
|
||||
4. **Stockage ZFS** : Le dataset `rpool/data` doit exister. Si ce n'est pas le cas, le créer avec :
|
||||
```bash
|
||||
zfs create rpool/data
|
||||
```
|
||||
|
||||
5. **Nettoyage** : Après migration, les anciens volumes sur **prox2** (marqués `unusedX`) peuvent être supprimés avec :
|
||||
```bash
|
||||
pct set <CTID> --delete unused0
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📚 Références
|
||||
- [Documentation Proxmox VE - LXC](https://pve.proxmox.com/wiki/Linear_Virtual_Environment_(LXC))
|
||||
- [Documentation Proxmox VE - Storage](https://pve.proxmox.com/wiki/Storage)
|
||||
- [Documentation Proxmox VE - Migration](https://pve.proxmox.com/wiki/Migration_of_virtual_guests)
|
||||
Reference in New Issue
Block a user