Przewiń do głównej treści

#019 - Przenoszenie dysków między VM TrueNAS w Proxmox

·712 słów·4 min· loading · loading ·

Wyzwanie
#

Chciałem przeprowadzić świeżą instalację TrueNAS SCALE i przenieść dyski z wcześniejszej instalacji TrueNAS CORE. Ponieważ stara instalacja TrueNAS CORE (działająca na VM 100) zarządzała dyskami samodzielnie — zamiast Proxmoxa — musiałem najpierw odłączyć te dyski od VM 100, a następnie podłączyć je do nowej VM (ID 103), która będzie działać na TrueNAS SCALE. Poniżej przedstawiam kroki, które podjąłem, aby to osiągnąć.

WAŻNE: Najważniejszym punktem jest wykonanie kopii zapasowej kluczy szyfrujących z poprzedniej instalacji TrueNAS CORE przed odłączeniem dysków, aby móc pomyślnie zaimportować pulę na nowym środowisku TrueNAS SCALE.


Przegląd Rozwiązania
#

Typy dysków w Proxmox
#

  • Dyski zarządzane przez Proxmox: Pojawiają się w konfiguracji VM jako local-zfs:vm-<ID>-disk-<X> lub local-lvm:vm-<ID>-disk-<X>. Można je przenosić za pomocą wbudowanego polecenia Proxmox qm move-disk.
  • Dyski w trybie Pass-Through/Surowe: Pojawiają się jako /dev/disk/by-id/ata-... lub /dev/sdX. Nie są zarządzane przez magazyn Proxmox. Trzeba je ręcznie odłączyć od starej VM i podłączyć do nowej VM.

Kroki Przenoszenia dysków
#

  1. Wyłącz źródłową VM (VM 100).
  2. Odłącz dyski zarządzane przez Proxmox za pomocą qm move-disk lub dyski w trybie pass-through, usuwając je z konfiguracji VM (qm set 100 -delete scsiX).
  3. Podłącz te dyski do docelowej VM (VM 103) za pomocą qm set 103 -scsiX ....
  4. Potwierdź konfigurację VM (polecenie qm config 103), aby upewnić się, że dyski są rozpoznane.
  5. Uruchom nową VM (VM 103) i przejdź do konfiguracji na poziomie systemu operacyjnego (np. import puli ZFS w TrueNAS).

Pełne Polecenia dla dysków w Trybie Pass-Through
#

Przykład: Masz dyski w trybie pass-through na VM 100, które pojawiają się jako /dev/disk/by-id/ata-DISKID1, /dev/disk/by-id/ata-DISKID2, itd.:

# (Opcjonalnie) Sprawdź, które dyski są obecnie przypisane do VM 100
qm config 100

# 1) Wyłącz VM 100
qm stop 100

# 2) Odłącz każdy dysk w trybie pass-through od VM 100
qm set 100 -delete scsi1
qm set 100 -delete scsi2
qm set 100 -delete scsi3
qm set 100 -delete scsi4
qm set 100 -delete scsi5
qm set 100 -delete scsi6
qm set 100 -delete scsi7

# 3) Podłącz te same dyski do VM 103
qm set 103 -scsi1 /dev/disk/by-id/ata-DISKID1
qm set 103 -scsi2 /dev/disk/by-id/ata-DISKID2
qm set 103 -scsi3 /dev/disk/by-id/ata-DISKID3
qm set 103 -scsi4 /dev/disk/by-id/ata-DISKID4
qm set 103 -scsi5 /dev/disk/by-id/ata-DISKID5
qm set 103 -scsi6 /dev/disk/by-id/ata-DISKID6
qm set 103 -scsi7 /dev/disk/by-id/ata-DISKID7

# 4) Potwierdź nową konfigurację
qm config 103

# 5) Uruchom VM 103
qm start 103

Jeśli zamiast tego przenosisz dysk zarządzany przez Proxmox (np. local-zfs:vm-100-disk-0), użyj:

# 1) Wyłącz VM 100
qm stop 100

# 2) Przenieś dysk za pomocą wbudowanego polecenia Proxmox
qm move-disk 100 scsi0 local-zfs --target-vmid 103

# 3) Sprawdź konfigurację
qm config 103

# 4) Uruchom VM 103
qm start 103

Importowanie Puli ZFS w TrueNAS
#

Po podłączeniu dysków do VM TrueNAS (VM 103), TrueNAS rozpozna je jako fizyczne dyski. Aby zaimportować istniejącą pulę ZFS (nawet zaszyfrowaną) znajdującą się na tych dyskach, postępuj według jednej z poniższych metod.

1) Przez Interfejs Webowy
#

  1. Zaloguj się do TrueNAS (interfejs webowy).
  2. Przejdź do Storage → Pools.
  3. Kliknij Add (lub Add Pool), a następnie wybierz Import an existing pool.
  4. TrueNAS wyświetli wykryte pule na nowo podłączonych dyskach.
  5. Wybierz pulę, którą chcesz zaimportować, a następnie kliknij Import.
  6. Jeśli pula jest zaszyfrowana, zostaniesz poproszony o klucz lub hasło. Wprowadź wymagane informacje, aby odblokować pulę.
  7. Po zaimportowaniu (i odblokowaniu, jeśli to konieczne) upewnij się, że pula jest widoczna w Storage → Pools.

2) Przez Konsolę
#

  1. Otwórz konsolę TrueNAS (menu po lewej lub SSH).
  2. Wykonaj polecenie:
    zpool import
    
    Wyświetli ono pule dostępne do zaimportowania.
  3. Zaimportuj pulę:
    zpool import <poolname>
    
    • Jeśli pula nie została poprawnie wyeksportowana, możesz wymusić jej import:
      zpool import -f <poolname>
      
  4. Jeśli pula jest zaszyfrowana, odblokuj ją za pomocą:
    zfs load-key <poolname>
    
    Może być wymagane podanie pliku klucza lub hasła, w zależności od konfiguracji szyfrowania.
  5. Potwierdź status importu:
    zpool status
    
    Powinieneś zobaczyć nowo zaimportowaną pulę i jej dyski.

Uwaga: Zawsze przechowuj kopię zapasową klucza szyfrującego lub hasła w bezpiecznym miejscu. Utrata klucza uniemożliwi dostęp do danych na zaszyfrowanej puli.


Podsumowanie
#

Poprawne odłączanie i podłączanie dysków w Proxmox pozwala na przenoszenie fizycznych lub zarządzanych przez Proxmox dysków z jednej VM (ID 100) do innej (ID 103). Jeśli przekazujesz te dyski do TrueNAS, wystarczy postępować zgodnie z krokami importu puli, aby uzyskać do nich dostęp w TrueNAS. Ten prosty proces ułatwia migrację pamięci masowej lub reorganizację dysków między VM, zachowując wszystkie dane i konfiguracje ZFS.