Aggiungere un disco ad una VM in OVM

Questa e' una guida, la piu' semplice possibile, per aggiungere un disco (e renderlo visibile come file system) ad una Virtual Machine Linux ospitata su Oracle VM (OVM).
Si tratta di un'operazione molto semplice e frequente per la gestione di VM Linux.

L'operazione che si vuole effettuare e' aggiungere un nuovo file system /u01 di 20GB ad una VM installata da template.

Dal punto di vista tecnico i passi sono due: aggiungere un disco, aggiungere un file system. Gli esempi riportati nel seguito sono stati effettuati su un Oracle Linux 7.x con OVM 3.x ma valgono con poche differenze sulle altre distribuzioni (eg. Red Hat, CentOS) e versioni.

Aggiunta di un disco ad una VM

La gestione delle VM si effettua dalla console di OVM.
L'utilizzo della console e' particolarmente semplice. Basta selezionare la VM desiderata e quindi premere il tasto corrispondente all'azione desiderata. OVM - Console gestione

Le caratteristiche della VM possono essere modificate premendo il bottone di Edit [NdA la matita] e impostando quanto desiderato. OVM - Edit VM

In particolare per aggiungere un disco va scelto il tab Disk ed aggiunto un disco virtuale della dimensione desiderata: OVM - Add Disk

Gia' fatto!
Ora sulla VM e' visibile un nuovo disco... continuate a leggere!

Aggiunta di un file system

Per effettuare questa operazione e' necessario collegarsi con un terminale alla VM ed eseguire alcuni comandi Unix.

Questa e' la situazione sulla VM prima di aggiungere il disco:

[root@db122 /]# fdisk -l 

Disk /dev/xvda: 16.1 GB, 16106127360 bytes, 31457280 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00087895

    Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *        2048     1030143      514048   83  Linux
/dev/xvda2         1030144     9418751     4194304   82  Linux swap / Solaris
/dev/xvda3         9418752    31457279    11019264   83  Linux

Questa la situazione dopo l'aggiunta del disco dalla console:

[root@db122 /]# fdisk -l 

Disk /dev/xvda: 16.1 GB, 16106127360 bytes, 31457280 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00087895

    Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *        2048     1030143      514048   83  Linux
/dev/xvda2         1030144     9418751     4194304   82  Linux swap / Solaris
/dev/xvda3         9418752    31457279    11019264   83  Linux

Disk /dev/xvdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

E' apparso un nuovo disco e non e' partizionato. Ovviamente e' molto importante utilizzare il disco corretto: i passi seguenti effettueranno il partizionamento e la formattazione del nuovo disco:

[root@db122 /]# fdisk /dev/xvdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xffc37d57.

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-41943039, default 2048):  2048 
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039):  41943039 
Partition 1 of type Linux and of size 20 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@db122 /]# fdisk -l 

Disk /dev/xvda: 16.1 GB, 16106127360 bytes, 31457280 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00087895

    Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *        2048     1030143      514048   83  Linux
/dev/xvda2         1030144     9418751     4194304   82  Linux swap / Solaris
/dev/xvda3         9418752    31457279    11019264   83  Linux

Disk /dev/xvdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xffc37d57

    Device Boot      Start         End      Blocks   Id  System
/dev/xvdb1            2048    41943039    20970496   83  Linux

Abbiamo partizionato il disco. Ora dobbiamo creare un file system e mettere una label [NdA la label e' opzionale ma comoda]:

[root@db122 /]# /sbin/mkfs -t ext3 /dev/xvdb1 

[root@db122 /]# /sbin/e2label /dev/xvdb1 /u01 

Il file system va aggiunto all'fstab (file /etc/fstab) per farlo montare al riavvio. Abbiamo partizionato il disco. Ora dobbiamo creare un file system e mettere una label [NdA la label e' opzionale ma comoda]:

LABEL=/u01              /u01                    ext3    defaults        1 2
Ultimo comando: mount /u01
Il file system e' montato e disponibile.


Documentazione ed altre informazioni

I documenti Introduzione ad OVM: Oracle VM e Architettura Oracle VM 3.2 contengono maggiori dettagli sugli aspetti architetturali e tecnici di OVM. Le versioni di OVM sono invece riportate su questa pagina.

E' disponibile un'ampia documentazione ufficiale sul sito Oracle


Titolo: Aggiungere un disco ad una VM in OVM
Livello: Avanzato (3/5)
Data: 14 Febbraio 2014
Versione: 1.0.0 - 14 Febbraio 2014
Autori: mail [AT] meo.bogliolo.name,