Ricerca nel sito web

Come importare l'immagine Qcow2 di FreeBSD 14 su Proxmox


L'installazione del sistema operativo su Proxmox VE può essere eseguita in vari metodi. La più comune è l'installazione da un'immagine ISO, ma esiste un'altra opzione che consiste nell'utilizzare un'immagine Qcow2 già pronta. QCOW2 (QEMU Copy-On-Write 2) è un formato immagine popolare utilizzato nello spazio delle macchine virtuali noto per fornire un'eccellente velocità di compressione e clonazione. Questo formato di immagine è amato da molti per la sua effettiva riduzione dell'utilizzo dello spazio e il breve tempo richiesto per la replica dei dati, quindi le prestazioni generali della VM migliorate.

Se utilizzi Proxmox Virtual Environment, importare l'immagine del sistema operativo Qcow2 è una procedura piuttosto semplice e diretta. Questo metodo viene comunemente utilizzato durante la migrazione di un'istanza VM da altri ambienti virtualizzati come KVM o OpenStack. In questo breve tutorial, siamo onorati di presentarti i passaggi necessari per scaricare, importare l'immagine qcow2 ed eseguire un'istanza del sistema operativo FreeBSD 14 su Proxmox VE.

Download dell'immagine Qcow2 di FreeBSD 14

FreeBSD è il sistema operativo open source BSD più popolare che può essere installato su hardware amd64, i386, aarch64 e riscv64. FreeBSD supporta una varietà di periferiche e configurazioni ed è adatto per ospitare servizi di produzione, sviluppo software o per la fornitura di servizi Internet.

Visita la pagina dei download di FreeBSD 14 e ottieni l'ultima versione dell'immagine VM.

La versione di FreeBSD 14 viene fornita con tutto il necessario per eseguire un sistema, questo include il codice sorgente per il kernel e altre utilità incluse nella distribuzione di base. FreeBSD 14.0 ha ottenuto molto supporto hardware migliorato e ora ha un limite di 1024 core CPU rispetto al limite di 256. Altri aggiornamenti sono il file system OpenZFS e la toolchain LLVM Clang aggiornata, tra le altre aggiunte. Tutti i nuovi miglioramenti hanno lo scopo di garantire migliore stabilità, prestazioni e sicurezza

Nel mio sistema locale il file si trova nella cartella Download.

$ ls FreeBSD-14.0-RELEASE-amd64.qcow2.xz
FreeBSD-14.0-RELEASE-amd64.qcow2.xz

Copiamo il file sul server Proxmox VE.

scp FreeBSD-14.0-RELEASE-amd64.qcow2.xz pve03:

Accedi al tuo server Proxmox.

ssh pve03

Crea una macchina virtuale FreeBSD

Estrai il file scaricato poiché ha il formato di compressione .xz .

unxz -v FreeBSD-14.0-RELEASE-amd64.qcow2.xz 

Se non ti sono presenti, controlla Come estrarre i file .xz su un sistema Linux.

$ ls FreeBSD-14.0-RELEASE-amd64.qcow2
FreeBSD-14.0-RELEASE-amd64.qcow2

Dopo aver estratto il file, ridimensiona l'immagine di base alla dimensione del disco desiderata. Stiamo impostando la dimensione e il nome dell'immagine nelle variabili fornite di seguito.

SIZE=40G
IMAGE=FreeBSD-14.0-RELEASE-amd64.qcow2
qemu-img resize $IMAGE $SIZE

Elenca i bridge di rete nel tuo sistema.

$ brctl show
bridge name	bridge id		STP enabled	interfaces
vmbr0		8000.6c4b9008749b	no		enp0s31f6
							tap100i0
							tap102i0
							tap103i0
							veth114i0
vmbr30		8000.6c4b9008749b	no		enp0s31f6.30

Controlla i pool di archiviazione nel tuo server Proxmox VE.

# pvesm status
Name              Type     Status           Total            Used       Available        %
extra_data     lvmthin     active       122404864         7026039       115378824    5.74%
local              dir     active       100597760        38148936        62448824   37.92%
local-lvm      lvmthin     active       832888832        28901242       803987589    3.47%

Alcuni altri parametri sono richiesti durante la creazione della macchina virtuale come il nome del bridge di rete, la dimensione RAM predefinita, i core della CPU e il dominio di archiviazione. Possiamo impostare i valori come variabili per facilità d'uso o aggiornamento.

#Default network bridge name
BRIDGE=vmbr0 

#Default VM Ram size
RAM=4096 

#Default CPU cores
CORES=1 

#Storage pool name to use, check with pvesm status
STORAGE=local-lvm

Ottieni il prossimo ID VM da utilizzare.

VMID=$(pvesh get /cluster/nextid)

Crea un modello di istanza di macchina virtuale. Importeremo l'immagine Qcow2 in questa.

qm create $VMID --memory $RAM --cores $CORES  --net0 virtio,bridge=$BRIDGE --scsihw virtio-scsi-pci

Dopo aver creato una macchina virtuale, dobbiamo importare l'immagine di base nel disco di archiviazione della VM effettivo.

# qm importdisk $VMID $IMAGE $STORAGE
importing disk 'FreeBSD-14.0-RELEASE-amd64.qcow2' to VM 105 ...
  Logical volume "vm-105-disk-0" created.
transferred 0.0 B of 40.0 GiB (0.00%)
transferred 417.8 MiB of 40.0 GiB (1.02%)
transferred 835.6 MiB of 40.0 GiB (2.04%)
transferred 1.2 GiB of 40.0 GiB (3.05%)
transferred 1.6 GiB of 40.0 GiB (4.07%)
transferred 2.0 GiB of 40.0 GiB (5.08%)
....
transferred 39.6 GiB of 40.0 GiB (98.88%)
transferred 40.0 GiB of 40.0 GiB (99.89%)
transferred 40.0 GiB of 40.0 GiB (100.00%)
transferred 40.0 GiB of 40.0 GiB (100.00%)
Successfully imported disk as 'unused0:local-lvm:vm-105-disk-0'

Collega il disco alla macchina virtuale una volta completata l'importazione.

# qm set $VMID --scsihw virtio-scsi-pci --virtio0 $STORAGE:vm-$VMID-disk-0
update VM 105: -scsihw virtio-scsi-pci -virtio0 local-lvm:vm-105-disk-0

Modificare l'ordine di avvio per iniziare con il dispositivo a blocchi SCSI o VirtIO.

# qm set $VMID --boot c --bootdisk virtio0
update VM 105: -boot c -bootdisk virtio0

Imposta un nome per l'istanza VM.

VMNAME=FreeBSD-14
qm set $VMID --name $VMNAME

Imposta la VM per l'avvio all'avvio del sistema

qm set $VMID --onboot 1

Avvia l'istanza VM dal terminale o dall'interfaccia web.

qm start $VMID

Dalla console web di Proxmox VE è possibile vedere il processo di avvio dell'istanza.

Se riscontri un errore mostrato nello screenshot quando provi ad avviare la VM

Quindi modifica le impostazioni hardware della VM e imposta Visualizzazione su "Default ".

Abilita il servizio SSHD

Per l'accesso remoto alla macchina virtuale FreeBSD appena configurata, dobbiamo abilitare il servizio server OpenSSH. Il pacchetto dovrebbe essere già installato nel sistema operativo, dobbiamo solo abilitarlo.

Aggiungi la riga sshd_enable=YES per abilitare l'avvio automatico del servizio SSH nella VM.

echo sshd_enable=YES|tee -a /etc/rc.conf

Il servizio non è avviato per impostazione predefinita, assicuriamoci che sia in esecuzione.

service sshd start

Poiché non abbiamo eseguito l'installazione da ISO, dovremo cambiare la password dell'utente root con una password conosciuta. Questo può essere fatto con l'aiuto del comando passwd passando il nome utente come opzione.

passwd root

Installa il pacchetto vim per aiutarti a modificare

pkg install vim

Modifica il file e abilita l'autenticazione della password SSH e l'accesso utente root tramite ssh. Questa può essere una misura temporanea per consentirti di copiare la tua chiave pubblica SSH e poi disabilitarla.

# vim /etc/ssh/sshd_config
PasswordAuthentication yes
PermitRootLogin yes

Ecco uno screenshot dalla modifica del mio file.

Riavvia il servizio sshd dopo aver salvato le modifiche nel file.

service sshd restart

Dal tuo sistema di workstation locale copia la tua chiave pubblica ssh.

ssh-copy-id root@FreeBSDIP

Testa l'accesso SSH con l'autenticazione tramite chiave e non tramite password.

Last login: Sat Apr 13 07:14:55 2024 from 192.168.1.151
FreeBSD 14.0-RELEASE (GENERIC) #0 releng/14.0-n265380-f9716eee8ab4: Fri Nov 10 05:57:23 UTC 2023

Welcome to FreeBSD!

Release Notes, Errata: https://www.FreeBSD.org/releases/
Security Advisories:   https://www.FreeBSD.org/security/
FreeBSD Handbook:      https://www.FreeBSD.org/handbook/
FreeBSD FAQ:           https://www.FreeBSD.org/faq/
Questions List:        https://www.FreeBSD.org/lists/questions/
FreeBSD Forums:        https://forums.FreeBSD.org/

Documents installed with the system are in the /usr/local/share/doc/freebsd/
directory, or can be installed later with:  pkg install en-freebsd-doc
For other languages, replace "en" with a language code like de or fr.

Show the version of FreeBSD installed:  freebsd-version ; uname -a
Please include that output and any error messages when posting questions.
Introduction to manual pages:  man man
FreeBSD directory layout:      man hier

To change this login announcement, see motd(5).
root@freebsd:~ #

Successivamente, sarai libero di disattivare l'autenticazione della password e riavviare il servizio sshd.

PasswordAuthentication no

Aggiunta di un utente sul sistema FreeBSD

Il nostro sistema ha solo l'utente root ma possiamo aggiungere utenti extra nel nostro FreeBSD. L'esempio seguente aggiunge un utente chiamato freebsd e imposta una password per l'utente. Stiamo anche aggiungendo l'utente al gruppo Wheel System per consentire i privilegi sudo.

pw useradd freebsd -m
passwd freebsd
pw groupmod wheel -m freebsd

Installa il pacchetto sudo per consentire agli utenti di eseguire l'escalation dei privilegi.

pkg install -y sudo

Una volta installato il pacchetto, tutti i privilegi di root sono assegnati a un utente.

# export EDITOR=vim
# visudo
# add to last line
freebsd    ALL=(ALL:ALL) ALL

Copia la chiave pubblica ssh per l'autenticazione senza password

 ssh-copy-id freebsd@FreeBSDIP

Testare l'accesso SSH come utente creato

$ ssh freebsd@FreeBSDIP
freebsd@freebsd14:~ $ sudo su -
Password: <INPUT-USER-PASSWORD>
root@freebsd:~ #

Possiamo confermare che l'utente è in grado di accedere e assumere i privilegi di utente root utilizzando sudo. In questo articolo siamo riusciti a importare un'immagine Qcow2 di FreeBSD 14 nel nostro server Proxmox VE. Abbiamo proceduto con i normali passaggi aggiuntivi per abilitare SSH e aggiungere un utente standard al sistema. Un processo simile può essere utilizzato per qualsiasi altro sistema operativo distribuito nel formato immagine Qcow2. Grazie per aver visitato il nostro sito Web e goditi la tua settimana/fine settimana.

Articoli correlati: