Costruzione e configurazione di un KVM Over IP per la gestione di server da remoto a livello hardware con PiKVM – Raspberry e ezCoo Multiport KVM Switch

by | Ott 28, 2024

Questo tutorial ti guiderà nella costruzione e nella configurazione di un dispositivo che ti permetterà di gestire server o workstation da remoto indipendentemente dallo stato del sistema operativo o dal fatto che ne sia installato uno.

Si tratta di un vero accesso a livello hardware che non dipende da porte, protocolli o servizi remoti!

In pratica un alternativa alle seguenti soluzioni:

iLO (Integrated Lights-Out ): è una tecnologia di gestione proprietaria integrata nei prodotti HPE che consente il controllo remoto dell’accesso ai server ProLiant, anche in mancanza di connessione alla rete principale dell’organizzazione (da qui il nome “Lights Out”).

iDRAC (Integrated Dell Remote Access Controller): progettato per la gestione sicura dei server in locale e da remoto, gli amministratori IT implementano, aggiornano e monitorano i server PowerEdge ovunque e in qualsiasi momento.

Lenovo XClarity Administrator: è possibile aprire una sessione di controllo remoto su un server ThinkSystem o ThinkAgile gestito come se ci si trovasse in una console locale. È possibile utilizzare la sessione di controllo remoto per eseguire operazioni di alimentazione e montare logicamente un’unità locale o di rete.

iRMC S5 (Remote Management Controller): integrato in ServerView, i clienti possono garantire un ambiente IT sicuro e protetto. La gestione remota fornisce il monitoraggio e la gestione dei server Fujitsu PRIMERGY e PRIMEQUEST indipendentemente dallo stato del sistema, anche in caso di funzionamento out-of-band

INFO SU PIKVM

PiKVM è un dispositivo KVM over IP basato su Raspberry Pi, open source, ricco di funzionalità, di livello produttivo.

PiKVM consente di accendere/spegnere o riavviare il computer, configurare UEFI/BIOS, reinstallare il sistema operativo utilizzando il CD-ROM virtuale o l’unità flash e molto altro ancora! Tutto funziona come se si stesse lavorando direttamente su un sistema remoto.

Facile da costruire: un sistema operativo pronto all’uso e un ambiente di compilazione intuitivo. L’hardware può essere realizzato in mezz’ora e senza saldatura.
Latenza: video molto bassa~100 millisecondi di latenza video. Questo è il ritardo più piccolo di tutte le soluzioni esistenti.
Interfaccia utente Web e VNC extra leggeri: Nessun strano client proprietario. Niente brutte applet. Basta usare il tuo browser preferito per connetterti al PiKVM. Nemmeno i plugin flash! Ah, e anche VNC è supportato.
Tastiera e mouse: L’utilizzo del mouse funziona direttamente nel browser. L’emulatore di tastiera supporta la visualizzazione dello stato dei LED della tastiera.
Unità di archiviazione di massa: Su Raspberry Pi 4 e Zero 2 W, PiKVM può emulare un CD-ROM virtuale o un’unità flash. È possibile caricare un’immagine live per avviare il server collegato.
Gestione dell’alimentazione ATX: Con un circuito molto semplice che può essere assemblato su una breadboard, il pulsante di accensione del server collegato può essere controllato utilizzando le intestazioni dei pulsanti ATX sulla scheda madre.
Sicurezza: PiKVM può essere aperto a Internet e nessuno avrà accesso senza l’autorizzazione. SSL viene utilizzato per proteggere il traffico dall’intercettazione da parte di terzi.
Monitoraggio locale: PiKVM monitora lo stato di salute della scheda Raspberry Pi e ti avviserà se fa troppo caldo o non riceve energia sufficiente.
Gestione GPIO: È possibile controllare i relè GPIO e USB tramite l’interfaccia web. L’interfaccia estensibile ti consente di ricavarne qualsiasi cosa.

Il sistema operativo PiKVM è basato su Arch Linux ARM e può essere personalizzato per qualsiasi esigenza. Migliaia di pacchetti binari precompilati sono al tuo servizio e può essere aggiornato con un solo comando!
Filesystem di sola lettura: Per impostazione predefinita, il sistema operativo viene eseguito in modalità di sola lettura, come dovrebbe fare un sistema embedded. In questo modo si evitano danni alla scheda di memoria a causa di un’improvvisa interruzione di correntetage.
Server VNC: È possibile accedere al server gestito e al relativo BIOS utilizzando un normale client VNC che supporta la compressione JPEG.
IPMI BMC/SoL e Redfish: Utilizzate ipmitool, ipmiutil o qualsiasi infrastruttura di rete esistente che supporti IPMI per gestire l’alimentazione del server e l’accesso alla porta seriale tramite LAN. Anche Redfish e redfishtool sono supportati.
Wake-on-LAN: PiKVM può essere configurato per alimentare un server gestito utilizzando WoL. Questa funzione sarà disponibile nel menu Web.
È possibile configurare più PiKVM per l’utilizzo di un servizio di autorizzazione comune. PAM e i suoi ricchi meccanismi di autorizzazione possono essere utilizzati anche per integrare PiKVM nel tuo Infrastruttura di autenticazione.
Script macro: Se è necessario eseguire azioni ripetitive sul server collegato (o su più server diversi), Una macro può essere registrata con le azioni della tastiera e del mouse e può essere riprodotta più volte.

Al seguente link trovate tutta la documentazione relativa al progetto PiKVM

https://docs.pikvm.org/

HARDWARE DA ACQUISTARE

Per la costruzione del nostro KVM over IP è necessario acquistare il seguente hardware:

1 x Raspberry Pi 4 Modello B (4GB o 2GB) – 67,53 Euro

1 x Alimentatore USB-C 5.1V 3A – Bianco – per Raspberry Pi 4 Modello B (1873421) – 8,51 Euro

1 x SanDisk Ultra Scheda di Memoria MicroSDHC da 16 GB, con A1 App Performance, Velocità fino a 98 MB/sec, Classe 10, U1, FFP – 25,50 Euro

1 x Geekworm KVM-A3 – Kit per Raspberry Pi 4 Open-Source KVM Over IPca – 81,89 Euro

1 x HDMI KVM Switch USB 3.0 4 porte con Hotkey 4K 60Hz 18Gbps Condividi 4 computer con una tastiera Mous HDR D-olby Vision HDCP2.2 Telecomando USB3.0 CableX4 – 159,99 Euro

4 x Ubluker 10K 8K 4K Cavo HDMI 48Gbps 1M, Certificato Velocità Ultra Elevata HDMI® Cavi 4K 240Hz 144Hz 120Hz 8K60Hz 0,01ms HDR10+ ARC eARC HDCP2.3 Netflix TV PC Monitor Proiettore PS5 – 11,99

1 x Cavo Micro USB in Nylon intrecciato 1M Carica rapida – 10,99 Euro

1 x Lettore di schede USB 3.0 2 in 1 SD Card Reader per SD/Micro SD/TF/SDHC/SDXC/MMC, compatibile con Windows/Mac/OS – 13,99 Euro

Totale Spesa: 67,53 + 8,51 + 25,50 + 81,89 + 159,99 + (11,99×4) + 10,99 = 416,36 Euro

ATTENZIONE: per comodità ho preso gli artiucoli su Amazon ma è possibile acquistare il tutto su siti differenti magari a prezzi inferiori

ASSEMBLAGGIO KVM OVER IP

Aprire la confezione Geekworm KVM-A3 – Kit per Raspberry Pi 4

Verificare che all’interno sia presente quato mostrato nell’immagine sovrastante

Nello specifico la scheda X630-A3 che va montata sulla Raspberry

Successivamente montare l’adattatore HDMI X630

Al termine dell’assemblaggio dovremmo avere una situazione come mostrato nell’immagine sovrastante

Ulitmo step è il montagio della scocca in metallo per proteggere il tutto.

Per aiutarvi nel montaggio passo passo aprire il seguente video

DOWNLOAD E INSTALLAZIONE DI RASPBERRY PI IMAGER

Raspberry Pi Imager

è il modo semplice e veloce per installare Raspberry Pi OS e altri sistemi operativi su una scheda microSD, pronta per l’uso con il tuo Raspberry Pi.

Richiamare da un qualsiasi browser il seguente link:

https://www.raspberrypi.com/software/

Scaricare il software Raspberry Pi Imager in base al sistema operativo utilizzato quindi installarlo.

ATTENZIONE: predisporre il lettore USB per SD/Micro

DOWNLOAD E INSTALLAZIONE DI PIKVM

Richiamare da un qualsiasi browser il seguente link:

https://pikvm.org/download/

Cliccare su Download

Cliccare su DIY PiKVM platforms quindi See here

Da questa pagine è possibile scaricare l’immagine. Nel mio caso (e nel vostro se avete scelto di acquistare l’hardware elencato precedentemente) scaricare l’immagine PiKVM V3 HAT BOX Image, OLED/FAN preactivated

Eseguire Raspberry Pi Imager quindi cliccare su SCEGLI DISPOSITIVO

Selezionare Raspberry Pi 4 come mostrato nell’immagine sovrastante

Cliccare SCEGLI S.O.

Andare al fondo del menù quindi selezionare l’opzione Use custom come mostrato nell’immagine sovrastante

Selezionare l’immagine scaricata in precedenza quindi cliccare Open

Cliccare su SCEGLI SCHEDA SD

Selezionare la scheda SD collegata al PC

Cliccare Avanti

Cliccare MODIFICA IMPOSTAZIONI

Da questa schermata è possibile preconfigurare:

Nome Host della Raspberry
User e password di accesso
Configurare il WIFI
Impostare il fuso orario e la lingua della tastiera

Cliccare quindi SERVIZI

Da questa schermata è possibile preconfigurare:

Utilizzo della password per l’autenticazione
Utilizzo della chiave pubblica per l’autenticazione

Cliccare quindi OPZIONI

In questa schermata lasciare tutto invariato quindi cliccare SALVA

Cliccare SI per proseguire

Cliccare SI per eliminare i dati dalla scheda SD

Attendere qualche istante per la preparazione alla scrittura della scheda SD

Attendere il termine della scrittura

Attendere il termine della verifica

Cliccare CONTINUA e rimuovere la scheda SD dal lettore

Inserire la scheda SD nella Raspberry quindi alimentarla

Se è tutto OK dovremmo visualizzare sul mini display le info relative all’indirizzo IP e al consumo istantaneo della CPU e della memoria

CONFIGURAZIONE DEL PIKVM

Connettere la Raspberry ad una rete con DHCP attivo in modo che acquisisca un Indirizzo IP.

Dal monitor OLED è possibile visualizzare l’indirizzo IP assegnato

Richiamare da un qualsiasi browser:

https://IP-RASPBERRY

Inserire le seguenti credenziali di default

USER: admin
PASSWORD: admin

Cliccare Login

Selezionare l’opzione Terminal

Se è tutto OK dovremmo visualizzare la console del nostro PiKVM

La prima cosa da fare è cambiare le password all’utente root e all’utente admin della Web GUI

Per cambiare le password collegarsi in SSH alla Raspberry

Abilitare la modifica del filesystem con il comando

Dovremmo visualizzare il seguente output:

Per modificare la password di root digitare il comando:

Di seguito l’output:

Inserire due volte la nuova password

Per modificare la password di admin della Web GUI digitare il comando:

Di seguito l’output quindi inserire due volte la password:

A questo punto è possibile mettere in Read Only il filesystem con il comando:

Dovremmo visualizzare il seguente output:

CONFIGURAZIONE DEL NETWORK DA DHCP A IP STATICO

Per la configurazione del network basta editare il file eth0.network

Abilitare la modifica del filesystem con il comando

Quindi editare il file eth0.network con il comando:

Dovremmo visualizzare la seguente configurazione:

Sostituire tutto con la seguente configurazione:

Salvare e chiudere il file di configurazione

Riavviare PiKVM con il comando:

AGGIORNAMENTO DI PIKVM OS

Per aggiornare il PiKVM accedere con l’utenza di root quindi eseguire il comando:

Se dopo l’esecuzione del comando pikvm-update visualizziamo il seguente errore:

È molto probabile che la versione del sistema operativo sia vecchia. E’ possibile aggiornare il sistema operativo con i seguenti comandi:

Dalla prossima volta sarà possibile aggiornare il sistema operativo con il comando pikvm-update.

COLLEGAMENTO CONFIGURAZIONE DELLO SWITCH KVM

Di seguito uno schema di collegamento dello switch KVM al Raspberry

Collegare tutto come da schema quindi alimentare sia il Raspebrry che lo Switch KVM

  • Collegare il cavo USB-C dalla porta OTG del Raspberry Pi alla porta USB 3 dell’interruttore ezCoo sulla parte anteriore o alla porta USB 1 sul retro dello switch. NOTA: Se questo cavo è collegato alla porta della tastiera (USB 2) dell’interruttore ezCoo, il mouse non sarà presente.
  • Collegare l’uscita HDMI dall’interruttore ezCoo al Raspberry Pi CSI-2 all’ingresso HDMI. Altri utenti hanno segnalato che i dongle USB dell’encoder HDMI funzionano correttamente.
  • Collega un cavo da USB-A a Micro USB dal Raspberry Pi alla porta di gestione sul lato dello switch ezCoo.
  • Collegare i cavi host, USB e HDMI dallo switch ezCoo alle macchine da gestire secondo le istruzioni dello switch.

A questo punto lo switch KVM dovrebbe essere presente come dispositivo sul PiKVM.

Richiamare da un qualsiasi browser:

https://IP-RASPBERRY

Inserire le credenziali di accesso qundi cliccare Login

Cliccare KVM

Se abbiamo collegato tutto correttamante dovremmo visualizzare la console del Server collegato come mostrato nell’ìimmagine sovrastante

Lo switch gestito ezCoo può essere controllato da PiKVM per consentirgli di connettersi a più host. Uno scenario tipico è un singolo dispositivo PiKVM in grado di controllare e passare da un host all’altro o da un server all’altro utilizzando lo switch ezCoo. Gli elementi dell’interfaccia utente possono essere aggiunti all’elenco a discesa GPIO per consentire il passaggio da un host all’altro dalla pagina Web PiKVM.

Per abilitare questa funzione collegarsi in SSH al Raspberry ed individuare i dispostivi USB collgati con il comando:

Se i collegamenti sono OK dovremmo visualizzare il seguente output:

Abilitare la modifica del filesystem con il comando

Quindi editare il file override.yaml con il comando:

Cancellare tutto il contenuto del file ed inserire il seguente listato:

Salvare e chiudere il file di configurazione

NOTA BENE: Modificare Input X con il nome che si intende visualizzare nella Web Gui di PiKVM

Tornare quindi alla modalità di sola lettura con il comando:

Quindi riavviare il servizio kvmd con il comando:

Ricollegarsi alla Web Gui richiamando il link:

https://IP-RASPBERRY

Se è andato tutto a buon fine dovremmo visualizzare un nuovo menù chiamato GPIO con i 4 Host collegati allo switch KVM

A questo punto per visualizzare la console di un determinato host basterà cliccare su click.

OPZIONI DI PIKVM

In questa sezione analizzerò tutte le opzioni presenti nell’interfaccia web dei PiKVM

MENU’ SHORTCUT

Attualmente le scorciatoie da tastiera sono disponibili solo per Windows e sono le seguenti:

Sopra un immagine che mostra tutte le scorciatoie da tastiera utilizzabili

MENU’ TEXT

In questa sezione è possibile incollare del testo al Target o utilizzando l’OCR, è possibile copiare dal target. L’OCR può commettere errori, rivedere il tutto prima di finalizzare

In questa sezione è possibile caricare o scaricare gli scripts.
Nella sezione in alto è possibile incollare il testo.

MENU’ MACRO

In questa sezione è possibile programmare delle macro

Come è possibile vedere dal menù Macro è possibile registrare le azioni e uplodare degli scripts

MENU’ DRIVE

In questo menù è possibile agganciare Immagini ISO emulando un CD-ROM o un unità Flash

Per caricare un immagine ISO cliccare su Select Image to upload

Cliccare su Scegli il file

Selezionare la ISO da caricare quindi cliccare Apri

Cliccare Upload

Attendere il termine del caricamento dell’immagine sulla Raspberry

ATTENZIONE: in questa fase non chiudere il browser. Se la velocità di upload è bassa provare a chiudere la finestra di stream del video.

Al termine dell’upload cliccare sulla freccia in basso come mostrato nell’immagine sovrastante

Selezionare l’immagine ISO da agganciare

Cliccare Connect drive to Server

Se il collegamento è andato a buon fine dovremmo vedere una schermata come quella sovrastante

In base al server/PC premere il tasto per le impostazioni di Boot. Nel mio caso essendo un PC Dell ho premuto il tasto F12 e come è possibile vedere dalla schermata sovrastante tra i Dervices di Boot è presente UEFI PiKVM Composite KVM Device CAFEBABE
Premere Invio per far partire il server/pc

Premere un qualsiasi tasto per avviare l’installazione di Windows Server

Al termine dell’installazione disconnettere l’immagine cliccando su Disconnect

Se non si ha molto spazio disponibile sulla SD della Raspberry cancellare l’immagine cliccando sulla X

Cliccare su OK

MENU’ ATX

Questa è l’interfaccia per il controllo dell’ATX, funzionerà SOLO se cablata correttamente

Da questo menù è possibile Spegnere e Accendere il Server/PC

MENU’ SYSTEM

Da questo menù è possibile modificare le impostazioni del sistema

E’ possibile modificare da questo menù le seguenti opzioni:

Qualità dell’immagine
Frame per Secondo
kbps dell’H.264
Tipologia di Video
Orientamento del Video
Fare degli screenshot del video
Fare il reset dello stream
Modificare le impostazioni relative al Mouse e Tastiera
Visualizzare la tastiera grafica

Scritto da Raffaele Chiatto

Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi.
Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare.
Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.

Articoli Recenti

Veeam Backup

Monitoring

Friends

  • My English Lab  English School
  • ChrSystem   Infrastrutture IT
  • ACT For Cange  Mental Coach
  • Since 01  Kreative Graphics

Database

Networking

Autori

  • Raffaele Chiatto  Amministratore
  • Marco Valle  Autore Collaboratore
Categorie:PiKVM | Raspberry

Related Post

0 Comments

Submit a Comment

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Virtualizzazione

Linux

Microsoft

Apple

Backup

Database

Security

Automazione