Migrazione P2V di Ubuntu 16.04

In questo articolo vedremo come convertire un sistema Linux Ubuntu 16.04 server installato direttamente sull’hardware in una virtual machine che andrà a girare su un host VMware ESXi.

Tale conversione, ossia la migrazione da un sistema fisico ad uno virtuale, prende il nome di P2V (Physical to Virtual).

Un sistema Ubuntu 16.04 può essere facilmente spostato su un virtualizzatore in relativamente poco tempo: la migrazione del sistema può essere fatta con il server Ubuntu acceso fino al completamento della conversione. Poi il vecchio server Ubuntu può essere spento e la nuova virtual machine accesa in pochi minuti.

Non ci sono particolari vincoli o restizioni nella migrazione P2V. E’ conveniente però fermare eventuali database sul server Ubuntu e servizi non essenziali.

Oltre ad un host ESXi, con un datastore VMware con sufficiente spazio per ospitare la virtual machine, ci serve un PC sul quale installare VMware VCenter Converter Standalone.

VMware VCenter Converter Standalone può essere scaricato gratuitamente da qui: https://my.vmware.com/group/vmware/details?downloadGroup=CONV62&productId=701&rPId=20180#, in questo articolo si fa riferimento alla versione 6.2.0.1 di VMware VCenter Converter Standalone.

Note: se il vostro sistema Ubuntu ha un kernel molto aggiornato, installate l’ultima versione disponibile altrimenti potreste incappare in incompatibiltà.

Questo software può essere installato sia su Linux sia su Windows. E’ importante, per semplificare le cose, che il PC sia sulla stessa LAN oppure che abbia completa visibilità sia dell’host ESXi sia del server Ubuntu.

Lato Ubuntu, prima di partire bisogna predisporre di un account Linux. E’ possibile utilizzare l’account di root ma deve essere abilitato a collegarsi tramite SSH oppure si può usare un utente sudo purchè possa eseguire tutti i comandi di sudo senza dover inserire una password.

Per abilitare quest’ultima cosa è sufficiente aggiungere la seguente riga “username ALL=(ALL) NOPASSWD: ALL” dove username è il nome dell’utente sudo nel file /etc/sudoers; il tutto usando l’editor visudo.

$ sudo visudo

Fortunatamente tale riga può essere rimossa al termine della migrazione p2v.

Ora per migrare P2V il sistema Ubuntu 16.04, basta avviare VMware VCenter Converter Standalone e cliccare su “Convert machine”

Apparirà la prima finestra della procedura guidata che ci invita a selezionare Remote Linux machine dal primo menù a tendina.

Poi di indicare l’indirizzo IP oppure l’hostname del server Ubuntu 18.04 da virtualizzare, nonchè nome utente e password. Queste possono essere le credenziali di root oppure dell’utente sudo predisposto prima.

Viene chiesto di verificare che l’impronta del server Ubuntu sia quella che ci si aspetti, confermando con YES, è possibile andare oltre.

Se l’utente inserito è corretto, viene chiesto di immettere le informazioni necessarie per collegarsi all’host ESXi, è sufficiente inserire l’IP, un utente amministrativo come root e la sua password.

Viene chiesto di dare un nome alla virtual machine di destinazione, di default viene preso l’hostname del server Ubuntu. E’ possibile cambiarlo. Nell’inventory sono presenti tutte le VM che sono già ospitate sull’host ESXi.

Viene data la possibilità di selezionare un datastore: scegliamo il datastore con spazio adeguato alle dimensioni della virtual machine che sarà creata durante il P2V del server Ubuntu.

In seguito vengono mostrati i dettagli di come verranno fatte le VM. In particolare si nota che lo spazio che sarà occupato dalla virtual machine è di circa 5 GB. Queste informazioni possono essere accomodate alle proprie necessità, basta cliccare sulla voce Edit.

Andando avanti, mantenendo inalterate le impostazioni precedenti, avremmo comunque un riepilogo dopo il quale partirà il job di P2V di Ubuntu.

Inizialmente la stima può essere anche molto maggiore del tempo effettivamente necessario; la prima parte prevedere la creazione della virtual machine nuova sull’host e poi parte la migrazione di Ubuntu.

Durante la migrazione possiamo vedere come vengono aggiornati dei log.

Nella fase di conversione della macchina fisica a virtuale, sul server Ubuntu di origine vengono lanciati dei comandi di copia e processi ssh: tar e sshd.

Al termine dell’operazione di P2V è possibile spegnere il server fisico e accendere la virtual machine. Ricordiamoci di rimuovere, se l’abbiamo aggiunta, la riga nel file sudoers.

Ecco il sistema, su virtual machine, funzionante!

Risoluzione errori

Unable to query the live Linux source machine. Make sure that you can run sudo without entering a password when logged in to the source machine over SSH as ‘vale’.

L’utente vale, benchè abbia diritti di sudo, richiede la password via SSH. Disabilitarla inserendo la riga “vale ALL=(ALL) NOPASSWD: ALL” nel file sudoers.

FAILED: An error occurred during the conversion: ‘GrubInstaller::InstallGrub: /usr/lib/vmware-converter/installGrub.sh failed with return code: 127, and message: FATAL: kernel too old Error running vmware-updateGrub.sh through chroot into /mnt/p2v-src-root Command:
chroot “/mnt/p2v-src-root” /vmware-updateGrub.sh “GRUB2” “(hd0)” “(hd0,1)” /vmware-device.map “grub2-install” ‘

Questo errore compare attorno al 97-98% della fase di conversione della virtual machine e ciò è dovuto a una combinazione di kernel/grub non correttamente riconosciuta da VMware Converter, in questo caso Ubuntu 18.04. Questo errore per esempio si verifica con la combinazione Grub 2.02-2ubuntu8.14 e Linux 4.15.0-74-generic. Al momento non è risolvibile e Ubuntu 18.04 non funziona con questa versione di Converter.

Kernel Panic – not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

Kernel panic della VM Ubuntu 16.04

Al primo avvio (e ai successivi) la VM virtualizzata Ubuntu 16.04 continua ad andare in kernel panic. Per risolvere il problema, collegare il DVD/iso alla VM e avviare in modalità ripristino, ossia scegliendo la voce “Ripristina un sistema danneggiato”.

Se Ubuntu 16.04 era stato installato con le impostazioni di default (LVM) selezionare il filesystem di root che corrisponde al logical volume che termina con la parola root.

Inserire i comandi che compaioni sotto:

update-initramfs -u
update-grub
exit

Dopo exit, scegliere di riavviare il sistema.

Rimuovere il DVD/iso e avviare la virtual machine. Ora dovrebbe essere possibile collegarsi ad Ubuntu.

Canonical Livepatch patch di sicurezza senza riavvio

Bentornati nel nuovo episodio della saga relativa al patching del kernel Linux senza la necessità di riavviare il sistema per applicare gli aggiornamenti. In questo episodio vedremo Canonical Livepatch ossia la soluzione ideata per Ubuntu che, a differenza delle altre, è gratuita fino a 3 sistemi Ubuntu.

Il fatto che essa sia gratuita permette, a chiunque possieda un computer con Ubuntu o un server con Ubuntu, di usare la tecnologia al prezzo di un’iscrizione sul sito di Canonical.

Come Kernelcare, Livepatch applica solo patch di sicurezza e non di funzionalità, queste ultime vanno installate tramite la solita procedura (es. apt upgrade) e riavvio del sistema.

Livepatch è installabile a partire da Ubuntu 14.04 fino all’ultima versione. In questo tutorial installeremo Livepatch su un server con Ubuntu 18.04 Bionic Beaver.

Per ottenere una chiave di attivazione di Livepatch basta collegarsi al sito https://ubuntu.com/livepatch, registrarsi e ottenere il proprio codice.

La prima cosa da fare sul sistema, invece, è aggiornare i metadati dei pacchetti e installare le patch del sistema.

sudo apt update && sudo apt upgrade

Poi è necessario installare snap (snapd):

sudo apt install snapd

Quindi è possibile procedere con la semplicissima installazione del pacchetto canonical-livepatch come mostrato dalla guida e poi l’abilitazione con la chiave.

sudo snap install canonical-livepatch
sudo canonical-livepatch enable afd6b**********************

Lanciato il comando di attivazione comparirà un token identificativo.

Prima di applicare le patch di sicurezza del kernel si può utilizzare il comando per capire lo stato del sistema:

sudo canonical-livepatch status

Che può restituire un output simile:

Nello screenshot precedente, si nota come il kernel instalato sia 4.15.0-72.81-generic mentre il patchState è nothing-to-apply, il che significa che il nostro kernel è già all’ultima versione con le ultime patch di sicurezza disponibili.

Ogni volta che ci colleghiamo al server, è possibile vedere nel banner iniziale alcune statistiche relative a Livepatch, che in questo caso ricordano che Livepatch è abilitato e le patch sono tutte applicate.

In questo altro sistema dopo aver installato Livepatch, abbiamo riscontrato che ci sono delle patch di sicurezza del kernel da applicare.

Solitamente per applicare le patch non bisogna fare nulla, perchè si arrangia il deamon canonical-livepatchd ad installare le patch in autonomia, in alternativa è sufficiente lanciare il seguente comando:

sudo canonical-livepatch refresh

Tuttavia nel caso dello screenshot è necessario procedere all’installazione di un nuovo kernel: non tramite livepatch ma tramite il solito dist-upgrade o apt upgrade (e riavvio). Questo perchè il patchState è kernel-upgrade-required, come si può notare nello screenshot sopra.

sudo apt update
sudo apt dist-upgrade
sudo reboot

Invece nel caso sotto proposto, Livepatch ha applicato automaticamente delle patch di sicurezza:

Microsoft SQL Server su Linux Ubuntu 16.04

Microsoft SQL server è disponibile da qualche anno anche per Linux: è possibile installarlo su Red Hat (e Centos), Suse Enterprise Linux, Ubuntu e anche su Docker 1.8 in su.

Nella seguente guida vediamo come installare il famoso database, Microsoft SQL server su Ubuntu 16.04.

I prerequisti per installare SQL server su Ubuntu sono molto esigui: bastano 2 GB di RAM e creare un file system di tipo EXT4 sul quale montare la cartella /var/opt/mssql che contiene il DB.

Continua a leggere

ZFS nativo su Ubuntu 16.04 LTS

Una delle funzionalità più interessanti introdotte con l’ultima versione di Ubuntu 16.04 LTS (Xenial Xerus) è il filesystem ZFS nativo. In Ubuntu 15.10 disponibile come technology preview, con l’arrivo della versione 16.04 LTS è possibile attivare ZFS tramite DKMS in modo stabile.

L’uso di DKMS permette di distribuire ZFS senza violare la licenza d’uso CDDL che non consente di distribuire binari di ZFS con una licenza libera compatibile con GPL.

Visto che non è possibile inglobare i binari perché non distribuire i sorgenti?
Nel mondo dell’open source e del free software c’è stato (e c’è ancora) un forte dibattito se ZFS possa o meno essere distribuito con Linux in forma di pacchetto contenente i file sorgenti perché diversi si chiedono se un modulo del kernel coperto dalla licenza GNU GPL e un modulo coperto dalla CDDL possano essere legalmente uniti assieme.

Continua a leggere

Installare Rancher su Ubuntu 16.04 Xenial Xerus

Dopo una serie di guide su Rancher in Debian, vediamo assieme come installare Rancher su Ubuntu 16.04 Xenial Xerus. Ubuntu Xenial Xerus non ha bisogno di presentazioni: si tratta della prossima LTS di Canonical. Rancher propone un’interfaccia web che consente la gestione di immagini e gruppi di immagini (detti stack e/o servizi) per rendere il deploy di applicazioni con Docker più semplice.

Continua a leggere

Installare Docker su Ubuntu 16.04 Xenial Xerus

In questo tutorial vedremo come installare la versione ufficiale di Docker su Ubuntu 16.04 Xenial Xerus in maniera semplice e veloce.

Incluso in Ubuntu 16.04 Xenial Xerus è già disponibile la versione 1.6.1 di Docker pacchettizzata per la distribuzione, tuttavia in questo articolo scopriremo come installare la versione disponibile sul sito di docker.com che è più aggiornata.

Continua a leggere

Installare Nginx con PHP 7, PHP-FPM e MySQL su Ubuntu 16.04

In questo tutorial vedremo come attivare, in modo rapido, un LEMP sulla nuova versione di Ubuntu 16.04 (Xenial Xerus). LEMP è una variante dello stack LAMP utilizzato per la distribuzione di pagine web. LAMP è costituito da Linux, Apache, MySQL e PHP. Negli ultimi anni si sta affermando un’interessante alternativa che prende nome di LEMP, dove Apache viene sostituito con il server web Nginx.
Installeremo il server web Nginx assieme al nuovo PHP 7 e configureremo PHP-FPM in modo da ottenere le migliori performance. Non può mancare anche l’installazione e configurazione del database MySQL. Continua a leggere

Novità in Ubuntu 16.04 (Xenial Xerus)

Sono passati già alcuni giorni dal Feature Freeze e dal Debian Import Freeze, che congelando difatto l’ingresso di nuovi pacchetti in quella che sarà la prossima versione di Ubuntu: Ubuntu 16.04 (Xenial Xerus).
Lato server, c’è molta attesa in questo periodo: i forti investimenti nelle startup o in progetti come Docker, Redis e una serie di congiunzioni come l’arrivo dell’atteso PHP 7, hanno spostato significativamente l’asticella in avanti.

Continua a leggere

Abilitare il logon automatico su Ubuntu 12.10 Quantal Quetzal

ubuntu12-10Vediamo in questo tutorial come abilitare o disabilitare la richiesta di password durante l’avvio di Ubuntu 12.10 Quantal Quetzal. Se si utilizza la distribuzione come HTPC potrebbe essere scomodo inserire la password ogni volta che si avvia il dispositivo, quindi possiamo trovare una soluzione affinché all’accensione del PC, ci si trovi direttamente sul desktop. Continua a leggere

Installazione di Nagios

Nagios è una suite di strumenti che sono veramente utili per tenere sotto controllo il funzionamento di parecchi servizi e demoni: è possibile monitorare server web, database, dischi sia su Linux sia su Windows.

Check_MK è un plug-in, relativamente nuovo, di Nagios per il recupero dei dati che permette di limitare l’uso del processore sulla macchina che ospita Nagios e fa un inventario automatico degli elementi da controllare sui vari host. Questo componente è interessante specialmente per chi ha un elevato numero di servizi da sorvegliare.
Continua a leggere