Migrácia Proxmox VM na nový VM

Tu je kompletný návod na migráciu VM pod Proxmox na nové VM aj s jeho nastavením. Nové VM je optimalizované pre použitie Nextcloud AIO .

Návod rieši tieto kroky:

  1. Záloha existujúcich dát z pôvodného serveru.
    1.1 Rocket.Chat docker
    1.2 Domovská zložka home/tony - len vybrané zložky
    1.3 Zložka v ktorom sú uložené všetky volumes dockerov, ktoré bežia na serveri, vrátane pôvodného Nextcloud AIO.

  2. Vytvorenie VM v Proxmoxe (NVMe disk + Ballooning)

  3. Inštalácia Ubuntu Serveru na XFS súborovom systéme

  4. Reverzná synchronizácia (lokálne umiestnenie → server)
    4.1 Reverzná synchronizácia rocket.chat
    4.2 Reverzná synchronizácia home-tony
    4.3 Reverzná synchronizácia docker-folders


Migrácia Proxmox VM na nový VM

Poznámka: Lokálny disk, na ktorý sa synchronizuje, nesmie byť NTFS, ale musí mať Linuxový súborový systém. V tomto návode je použitý disk formátovaný na XFS. NTFS by neumožnil správne zachovanie oprávnení, vlastníkov a rozšírených atribútov, ktoré sú nevyhnutné pre bezproblémovú synchronizáciu a následnú migráciu na nový VM.

1. Synchronizácia (server → lokálne umiestnenie)

1.1 Synchronizácia rocket.chat

  • Zdrojová cesta (server): /opt

  • Lokálna cesta: /mnt/xfs4tera/tony/backup/rocket-chat

  • Príkaz:

    sudo mkdir -p /mnt/xfs4tera/tony/backup/rocket-chat
    sudo rsync -ahPz -o -g -A -X --numeric-ids --bwlimit=97280 root@192.168.1.139:/opt/ /mnt/xfs4tera/tony/backup/rocket-chat/
    

1.2 Synchronizácia domovského adresára (home-tony)

  • Zdrojová cesta (server): /home/tony/

  • Lokálna cesta: /mnt/xfs4tera/tony/backup/home-tony

  • Include súbor (zoznam priečinkov, ktoré sa majú synchronizovať, vylúčenie ostatných):

    Správny obsah include-list-2.txt:

    jellyfin/***
    linux_desktop_kurz/***
    Media-files/***
    navidrome/***
    plex/***
    plex_transcoding/***
    portainer/***
    portainer_agent/***
    rocketchat/***
    slavia-aio/***
    snap/***
    tautulli/***
    temp-upload/***
    watchtower/***
    apache-logs/***
    

    Príkazy na vytvorenie include-list-2.txt:

    nano include-list-2.txt
    

    Potom vlož vyššie uvedený obsah a ulož súbor.

  • Príkaz:

    sudo mkdir -p /mnt/xfs4tera/tony/backup/home-tony
    sudo rsync -ahPz -o -g -A -X --numeric-ids --bwlimit=97280 --include-from='include-list-2.txt' --exclude="*" root@192.168.1.139:/home/tony/ /mnt/xfs4tera/tony/backup/home-tony/
    

1.3 Synchronizácia docker-folders

  • Zdrojová cesta (server): /var/lib/docker/volumes

  • Lokálna cesta: /mnt/xfs4tera/tony/backup/docker-folders

  • Príkaz:

    sudo mkdir -p /mnt/xfs4tera/tony/backup/docker-folders
    sudo rsync -ahPz -o -g -A -X --numeric-ids --bwlimit=97280 --exclude='backingFsBlockDev' --exclude='metadata.db' root@192.168.1.139:/var/lib/docker/volumes/ /mnt/xfs4tera/tony/backup/docker-folders/
    

2. Vytvorenie VM v Proxmoxe (NVMe disk + Ballooning)

Krok 1: Vytvorenie VM

  1. Name: Ubuntu24-Server
  2. CPU: 12 vCPU (cores), CPU typ: host
  3. RAM: 16 GB RAM (nastavenie: 16384 MB v Proxmoxe)
  4. Disk: 2 TB (nastavenie: 2048 GiB v Proxmoxe)
    • Disk type: VirtIO SCSI single
    • Cache: Writeback
    • Discard: Enabled
    • IO Thread: Enabled
  5. Network adapter: VirtIO, pripojený cez Bridge Mode (napr. vmbr0).
  6. BIOS: Nechaj default (nie UEFI).

Krok 2: Povolenie Ballooningu

  1. Otvor Hardware VM v Proxmoxe.
  2. Klikni na Memory a povoľ Ballooning.
  3. Nastav Ballooning na minimálnu hodnotu 8192 MB.

3. Inštalácia Ubuntu Serveru na XFS

Krok 1: Inštalácia základného systému

  1. Vytvor inštalačné médium a spusti inštaláciu Ubuntu Server 24.04.
  2. Výber súborového systému: Vyber XFS pre 2 TB disk.
  3. Nastavenie SWAP: Nastav 8 GB SWAP počas inštalácie.
  4. Nainštaluj základné balíky vrátane OpenSSH Server, aby si mohol pristupovať k systému cez SSH.

Krok 2: Inštalácia základných nástrojov

Po inštalácii prihlás sa do systému a nainštaluj tieto základné balíčky:

sudo apt update && sudo apt upgrade -y
sudo apt install qemu-guest-agent chrony btop tzdata ufw -y

4. Reverzná synchronizácia (lokálne umiestnenie → server)

4.1 Reverzná synchronizácia rocket.chat

  • Lokálna cesta: /mnt/xfs4tera/tony/backup/rocket-chat/

  • Cieľová cesta (server): /opt/

  • Príkaz:

    sudo rsync -ahPz -o -g -A -X --numeric-ids --exclude='containerd' /mnt/xfs4tera/tony/backup/rocket-chat/ root@192.168.1.139:/opt/
    

4.2 Reverzná synchronizácia home-tony

  • Lokálna cesta: /mnt/xfs4tera/tony/backup/home-tony/

  • Cieľová cesta (server): /home/tony/

  • Príkaz (s dočasným vylúčením priečinka Media-files):

    1. Zakomentuj zložku Media-files v include-list-2.txt:

      # Media-files/***
      
    2. Použi príkaz:

      sudo rsync -ahPz -o -g -A -X --numeric-ids --bwlimit=97280 --include-from='include-list-2.txt' --exclude="*" /mnt/xfs4tera/tony/backup/home-tony/ root@192.168.1.139:/home/tony/
      

4.3 Reverzná synchronizácia docker-folders

  • Lokálna cesta: /mnt/xfs4tera/tony/backup/docker-folders/

  • Cieľová cesta (server): /var/lib/docker/volumes/

  • Príkaz:

    sudo rsync -ahPz -o -g -A -X --numeric-ids --exclude='backingFsBlockDev' --exclude='metadata.db' /mnt/xfs4tera/tony/backup/docker-folders/ root@192.168.1.139:/var/lib/docker/volumes/
    

1 lajk