Come configurare NVLink su un VPS con configurazione multi-GPU

popolare
MIGLIORA LA CONFIGURAZIONE DEL TUO SERVER! APPLICA AVA E LANCIA CON UN 15% DI SCONTO
USARE IL CODICE PROMO:

Configurazione di NVLink su un VPS con configurazione multi-GPU

NVLink, l’interconnessione ad alta banda delle GPU di NVIDIA, rivoluziona i carichi di lavoro multi-GPU consentendo una rapida condivisione della memoria e il trasferimento dei dati, superando di gran lunga i limiti del PCIe. Per i data scientist, gli ingegneri di ML e gli utenti HPC, NVLink può accelerare attività come l’addestramento di modelli di deep learning o le simulazioni su larga scala. Ad esempio, è possibile utilizzare NVLink con due GPU A100 per addestrare più rapidamente un modello linguistico di grandi dimensioni mettendo in comune la memoria della GPU. Tuttavia, la configurazione di NVLink in un ambiente virtualizzato è complessa e richiede hardware e impostazioni specifiche. Questa guida spiega NVLink, i suoi limiti in un VPS e come configurarlo per ottenere prestazioni ottimali.

Limitazioni e avvertenze

  • Non tutti i fornitori di VPS supportano le configurazioni NVLink.

  • Solo le VPS basate su bare-metal o le macchine virtuali con GPU dedicate con passthrough diretto consentono il funzionamento di NVLink.

  • Non è possibile supportare NVLink in ambienti containerizzati come Docker, a meno che non venga eseguito direttamente sull’host.

NVLink permette a due o più GPU NVIDIA compatibili di:

  • Condividere la memoria tra le GPU per i dataset di grandi dimensioni

  • Scambiare dati con una banda passante totale fino a 600 GB/s

  • Eseguire allenamenti multi-GPU più rapidi senza coinvolgere la CPU

Supportato da GPU come:

  • NVIDIA A100, V100, RTX 3090, 4090, A6000, ecc.

  • Di solito richiede un ponte NVLink fisico

Prima di tentare di configurare NVLink su un VPS, è necessario verificare quanto segue:

Hardware dell’host

  • Il server fisico deve avere:

    • Almeno due GPU compatibili con NVLink

    • Bridge NVLink installato

    • BIOS e firmware che supportino NVLink

  • Le configurazioni compatibili più comuni includono due A100 o RTX 3090 con bridge NVLink.

Configurazione del VPS

  • Il VPS deve essere fornito con un hypervisor abilitato al GPU Passthrough, come ad esempio:

    • KVM/QEMU con VFIO (PCI passthrough)

    • VMware ESXi con DirectPath I/O

    • Proxmox VE con GPU passthrough

⚠️ Nota: NVLink non funziona tra i dispositivi virtualizzati a meno che entrambe le GPU non vengano passate come dispositivi PCIe completi alla stessa VM.

Passo 1: Assicurare il passaggio delle GPU

L’host deve passare entrambe le GPU fisiche direttamente al VPS.

Per KVM/QEMU con VFIO:

# Esempio di assegnazione di due GPU tramite vfio-pci
echo "vendor_id device_id" > /sys/bus/pci/devices/0000:65:00.0/driver/unbind
echo "vendor_id device_id" > /sys/bus/pci/devices/0000:66:00.0/driver/unbind
echo "vendor_id device_id" > /sys/bus/pci/drivers/vfio-pci/new_id

Aggiornare libvirt o qemu XML per far passare entrambe le GPU.

Passo 2: installare i driver NVIDIA

All’interno del VPS (sistema operativo guest), installare il driver NVIDIA più recente:

sudo apt update
sudo apt install -y nvidia-driver-535

Riavviare dopo l’installazione.

Una volta all’interno del sistema operativo guest:

nvidia-smi topo -m

Si dovrebbe vedere:

GPU0GPU1Affinità della CPU
GPU0XNV10-15
GPU1NV1X0-15

Dove NV1 significa che NVLink è attivo tra GPU0 e GPU1.

Passo 4: Abilitare l’accesso Peer-to-Peer (facoltativo ma consigliato)

nvidia-smi p2p

Assicurarsi che Peer-to-Peer e Accesso siano entrambi contrassegnati come abilitati.

Considerazioni sulla sicurezza

  • Accesso isolato: Assicuratevi che il vostro VPS non sia oversubscribed o co-hosted con altri quando usate il passthrough completo della GPU.

  • Nessuna perdita di memoria condivisa: NVLink crea uno spazio di memoria condivisa che limita l’accesso agli ambienti affidabili.

  • Controllare l’accesso ai dispositivi /dev/nvidia*.

SintomoPossibile causaCorrezione
NVLink non viene visualizzato in nvidia-smiLe GPU non sono collegate correttamente al bridgeSpegnere l’host e reinstallare il bridge NVLink fisico
Solo una GPU visibileConfigurazione errata del passthroughControllare le impostazioni XML della macchina virtuale/device passthrough
Peer-to-peer disabilitatoErrore nel driver o nelle impostazioni del BIOSAggiornare il driver, controllare il BIOS per il supporto NVLink
Bassa larghezza di bandaCorsie NVLink sottoutilizzateUsare nvidia-smi nvlink –status per verificare le corsie

NVLink è una svolta per i carichi di lavoro ad alta intensità di GPU e offre immensi vantaggi in termini di prestazioni quando viene configurato correttamente, anche negli ambienti virtuali. Con il passthrough diretto della GPU e un’attenta configurazione, è possibile sfruttare la potenza delle interconnessioni multi-GPU su un VPS, trasformandolo in un nodo di elaborazione ad alte prestazioni per le applicazioni più esigenti.

Utilizzo del Protocollo Desktop Remoto (RDP) per accedere al server Windows

Il protocollo RDP (Remote Desktop Protocol) è uno strumento potente e ampiamente utilizzato che consente agli utenti di accedere e gestire i server Windows in remoto tramite una connessione di rete sicura. Che si tratti di amministrare un’infrastruttura basata su cloud, di gestire un server dedicato o semplicemente di accedere in remoto a un ambiente Windows, RDP offre un metodo nativo ed efficiente per interagire in modo grafico con il server.

che cos’è il Remote Desktop Protocol?

RDP è un protocollo proprietario sviluppato da Microsoft che facilita la connessione remota a un altro computer. Consente di presentare un’interfaccia utente grafica (GUI) al sistema client mentre sul server avvengono calcoli e processi. Questo lo rende uno strumento ideale per gli amministratori di sistema e i professionisti IT che gestiscono sistemi basati su Windows.

📋 Prerequisiti per l’utilizzo di RDP

Prima di stabilire una connessione RDP al server Windows, accertarsi che siano soddisfatte le seguenti condizioni:

  • ✅ Il server Windows deve essere abilitato a Desktop remoto

  • ✅ Il computer locale (client) deve avere installato il Remote Desktop Client (integrato in Windows)

  • ✅ Il server deve disporre di un IP pubblico statico o di un nome di dominio che si risolva in un IP

  • il firewall e/o il gruppo di sicurezza devono consentire la porta TCP 3389

  • ✅ Si dispone di un account utente con privilegi di amministratore sul server

Come abilitare RDP su Windows Server

Per consentire l’accesso RDP al server:

  1. Accedere al server tramite console o pannello di accesso iniziale.

  2. Aprire Server Manager → fare clic su Server locale.

  3. Individuare Desktop remoto nel pannello di destra e fare clic su “Disabilitato”.

  4. Nella finestra Proprietà del sistema, selezionare:

    • “Consenti connessioni remote a questo computer”

    • Deselezionare “Consenti connessioni solo da computer che eseguono Desktop remoto con autenticazione a livello di rete” per una maggiore compatibilità (opzionale).

  5. Fare clic su Applica, quindi su OK.

⚠️ Non dimenticate di aggiungere una regola del firewall per consentire il traffico TCP in entrata sulla porta 3389.

Come collegarsi tramite Desktop remoto (client Windows)

  1. Premere Win R, digitare mstsc e premere Invio. Si apre lo strumento di connessione desktop remoto.

  2. Nel campo “Computer”, inserire l’indirizzo IP o il dominio del server.

  3. Fare clic su Mostra opzioni per:

    • Immettere il nome utente

    • Salvare le credenziali, se necessario

    • Configurare le impostazioni dello schermo, dei dispositivi locali e degli appunti

  4. Fare clic su Connetti

  5. Quando viene richiesto, inserire la password e accettare facoltativamente l’avviso sul certificato.

Suggerimenti avanzati e buone pratiche

🔐 1. Utilizzare un’autenticazione forte

Se possibile, evitate di utilizzare l’account amministratore predefinito. Creare account utente nominativi con password forti e limitare l’accesso RDP tramite firewall o VPN.

🛡 2. Proteggere RDP con NLA e 2FA

  • Abilitare l’autenticazione a livello di rete (NLA) per richiedere all’utente di autenticarsi prima di creare una sessione.

  • Per una maggiore sicurezza, configurare l’autenticazione a due fattori (2FA) utilizzando strumenti di terze parti come Duo Security o RD Gateway con Azure MFA.

🌐 3. Limitare l’accesso IP

Utilizzate Windows Firewall o le impostazioni del gruppo di sicurezza del vostro cloud provider per inserire in una whitelist gli IP specifici che possono connettersi tramite RDP. Questo aiuta a prevenire gli attacchi brute-force.

🧰 4. Abilitare la registrazione e la verifica di RDP

Per monitorare le attività sospette:

  • Abilitare l’auditing dei logon tramite Criteri di gruppo.

  • Controllare i registri in Visualizzatore eventi → Registri di Windows → Sicurezza.

📦 5. Utilizzare l’ombra della sessione RDP

Per gli ambienti aziendali, l’ombra della sessione consente a un amministratore di visualizzare o controllare la sessione RDP di un altro utente senza disconnetterlo.

Risoluzione dei problemi comuni di RDP

ProblemaCausaSoluzione
Impossibile connettersiLa porta 3389 è bloccataControllare il firewall e aprire la porta
Schermo neroProblema del driver della GPU o della sessioneAggiornare i driver o riavviare la sessione
“Errore di reteIP o DNS non configurati correttamenteVerificare l’IP o il dominio del server
Disconnessioni RDPTimeout di inattività o limiti di risorseRegolare il timeout della sessione nei Criteri di gruppo

RDP rimane uno strumento fondamentale per la gestione remota dei server Windows da parte dei sysadmin. Se configurato correttamente e protetto con le migliori pratiche, offre un’esperienza di accesso remoto affidabile e ad alte prestazioni. Sia che si gestiscano server di produzione o ambienti di sviluppo, capire come usare e proteggere RDP è fondamentale per mantenere il controllo e la sicurezza della propria infrastruttura.