Edizione 1
ftpdNeretto monospazio
To see the contents of the filemy_next_bestselling_novelin your current working directory, enter thecat my_next_bestselling_novelcommand at the shell prompt and press Enter to execute the command.
Press Enter to execute the command.Press Ctrl+Alt+F1 to switch to the first virtual terminal. Press Ctrl+Alt+F7 to return to your X-Windows session.
Mono-spaced Bold. For example:
File-related classes includefilesystemfor file systems,filefor files, anddirfor directories. Each class has its own associated set of permissions.
Choose from the main menu bar to launch Mouse Preferences. In the Buttons tab, click the Left-handed mouse check box and click to switch the primary mouse button from the left to the right (making the mouse suitable for use in the left hand).To insert a special character into a gedit file, choose from the main menu bar. Next, choose from the Character Map menu bar, type the name of the character in the Search field and click . The character you sought will be highlighted in the Character Table. Double-click this highlighted character to place it in the Text to copy field and then click the button. Now switch back to your document and choose from the gedit menu bar.
Mono-spaced Bold Italic or Proportional Bold Italic
To connect to a remote machine using ssh, typesshat a shell prompt. If the remote machine isusername@domain.nameexample.comand your username on that machine is john, typessh john@example.com.Themount -o remountcommand remounts the named file system. For example, to remount thefile-system/homefile system, the command ismount -o remount /home.To see the version of a currently installed package, use therpm -qcommand. It will return a result as follows:package.package-version-release
When the Apache HTTP Server accepts requests, it dispatches child processes or threads to handle them. This group of child processes or threads is known as a server-pool. Under Apache HTTP Server 2.0, the responsibility for creating and maintaining these server-pools has been abstracted to a group of modules called Multi-Processing Modules (MPMs). Unlike other modules, only one module from the MPM group can be loaded by the Apache HTTP Server.
Tondo monospazio e così presentato:
books Desktop documentation drafts mss photos stuff svn books_tests Desktop1 downloads images notes scripts svgs
Mono-spaced Roman ma vengono presentati ed evidenziati nel modo seguente:
package org.jboss.book.jca.ex1;
import javax.naming.InitialContext;
public class ExClient
{
public static void main(String args[])
throws Exception
{
InitialContext iniCtx = new InitialContext();
Object ref = iniCtx.lookup("EchoBean");
EchoHome home = (EchoHome) ref;
Echo echo = home.create();
System.out.println("Created Echo");
System.out.println("Echo.echo('Hello') = " + echo.echo("Hello"));
}
}
Indice

virt-manager, libvirt e virt-viewer per l'installazione.

Personalizzare i pacchetti (se necessario)

%packages del file kickstart aggiungere il seguente gruppo di pacchetti:
%packages @kvm
yumkvm. Il pacchetto kvm contiene il modulo del kernel KVM il quale fornisce l'hypervisor KVM sul kernel di Linux predefinito.
kvm eseguire:
# yum install kvm
python-virtinstvirt-install per la creazione delle macchine virtuali.
libvirtlibvirt è una libreria API per l'interazione con gli hypervisor. libvirt utilizza il framework di virtualizzazione xm ed il tool della linea di comando virsh per gestire e controllare le macchine virtuali.
libvirt-pythonlibvirt.
virt-managervirt-manager conosciuto anche come Virtual Machine Manager, fornisce uno strumento grafico per l'amministrazione delle macchine virtuali. Come API di gestione viene usata la libreria libvirt.
# yum install virt-manager libvirt libvirt-python python-virtinst
virt-install. Entrambi i metodi sono presenti all'interno di questo capitolo.
virt-installper la creazione di guest virtualizzati dalla linea di comando. virt-install può essere usato in modo interattivo o in uno script in modo da automatizzare la creazione di macchine virtuali. Utilizzando virt-install con file kickstart, sarà possibile eseguire una installazione delle macchine virtuali senza alcun intervento dell'utente.
virt-install fornisce un numero di opzioni passabili sulla linea di comando. Per visualizzare un elenco completo di opzioni:
$ virt-install --help
virt-install documenta ogni opzione del comando e le variabili importanti.
qemu-img è un comando che può essere usato prima di virt-install per configurare le opzioni di storage.
--vnc la quale è in grado di aprire una finestra grafica per l'installazione del guest.
rhel3support, da un CD-ROM con networking virtuale e con una immagine del dispositivo a blocchi basato sul file di 5GB. In questo esempio viene usato un hypervisor KVM.
# virt-install --accelerate --hvm --connect qemu:///system \
--network network:default \
--name rhel3support --ram=756\
--file=/var/lib/libvirt/images/rhel3support.img \
--file-size=6 --vnc --cdrom=/dev/sr0
# virt-install --name Fedora11 --ram 512 --file=/var/lib/libvirt/images/Fedora11.img \
--file-size=3 --vnc --cdrom=/var/lib/libvirt/images/Fedora11.iso
virt-manager conosciuto come Virtual Machine Manager, è uno strumento grafico per la creazione e la gestione dei guest virtualizzati.
# virt-manager &
virt-manager apre una nuova interfaccia utente grafica. Diverse funzioni non sono disponibili agli utenti senza privilegi root o senza aver configurato sudo, incluso il pulsante , senza di essi non sarà possibile creare un nuovo guest virtuale.



kernel-xen non è il kernel attualmente in esecuzione.

HTTP, FTP o NFS. L'URL del dispositivo d'installazione deve contenere un albero d'installazione di Fedora. Il suddetto albero viene ospitato usando NFS, FTP o HTTP. I file ed i servizi di rete possono essere ospitati usando i servizi di rete sull'host o un altro mirror.
.iso), montare l'immagine CD-ROM e posizionare i file montati con uno dei protocolli indicati.


/var/lib/xen/images/. Altre posizioni della cartella per le immagini basate sul file sono proibite da SELinux. Se si esegue SELinux in modalità enforcing consultare la Sezione 7.1, «SELinux e virtualizzazione» per maggiori informazioni sull'installazione dei guest.

/var/lib/xen/images/, per le immagini della macchina virtuale. Se si utilizza una posizione diversa (come ad esempio /xen/images/) assicurarsi di aggiungerla alla propria politica di SELinux e di rietichettarla prima di continuare con l'installazione (più avanti nella documentazione si trovano le informazioni su come modificare la politica di SELinux)


virt-manager. Capitolo 3, Procedure per l'installazione del sistema operativo guest contiene le fasi da seguire per l'installazione di una varietà di sistemi operativi comuni.
Creazione di un nuovo bridge
/etc/sysconfig/network-scripts/. In questo esempio viene creato un file chiamato ifcfg-installation il quale crea un bridge installation
# cd /etc/sysconfig/network-scripts/ # vim ifcfg-installation DEVICE=installation TYPE=Bridge BOOTPROTO=dhcp ONBOOT=yes
TYPE=Bridge, is case-sensitive. It must have uppercase 'B' and lower case 'ridge'.
Avvio del nuovo bridge. # ifup installation
brctl show per visualizzare le informazioni sui bridge di rete presenti sul sistema.
# brctl show bridge name bridge id STP enabled interfaces installation 8000.000000000000 no virbr0 8000.000000000000 yes
virbr0 è il bridge predefinito usato da libvirt per il Network Address Translation (NAT) sul dispositivo ethernet predefinito.
Aggiungere una interfaccia al nuovo bridge
BRIDGE al file di configurazione con il nome del bridge creato nelle fasi precedenti.
# Intel Corporation Gigabit Network Connection DEVICE=eth1 BRIDGE=installation BOOTPROTO=dhcp HWADDR=00:13:20:F7:6E:8E ONBOOT=yes
# service network restart
brctl show:
# brctl show bridge name bridge id STP enabled interfaces installation 8000.001320f76e8e no eth1 virbr0 8000.000000000000 yes
Configurazione della sicurezza
iptables to allow all traffic to be forwarded across the bridge.
# iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT # service iptables save # service iptables restart
iptables rules. In /etc/sysctl.conf append the following lines:
net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0
sysctl
# sysctl -p /etc/sysctl.conf
Riavviare libvirt prima dell'installazione
libvirt daemon.
# service libvirtd reload
virt-install aggiungere il parametro d'installazione --network=bridge:BRIDGENAME dove installazione è il nome del proprio bridge. Per le installazioni PXE usare il parametro --pxe.
# virt-install --accelerate --hvm --connect qemu:///system \
--network=bridge:installation --pxe\
--name EL10 --ram=756 \
--vcpus=4
--os-type=linux --os-variant=rhel5
--file=/var/lib/libvirt/images/EL10.img \
Selezione di PXE

Selezione del bridge

Inizio dell'installazione

kernel-xen.
virt-manager, consultare le procedure presenti in Sezione 2.2, «Creazione di un guest con virt-manager».
virt-install basato sulla linea di comando. L'opzione --vnc mostra l'installazione grafica. Il nome del guest all'interno dell'esempio è rhel5PV, l'immagine del disco è rhel5PV.dsk ed il mirror locale dell'albero d'installazione di Red Hat Enterprise Linux 5 è ftp://10.1.1.1/trees/CentOS5-B2-Server-i386/. Sostituire quei valori con valori accurati per il sistema e la rete.
# virt-install -nrhel5PV-r 500 \ -f /var/lib/libvirt/images/rhel5PV.dsk-s 3 --vnc -p \ -lftp://10.1.1.1/trees/CentOS5-B2-Server-i386/



DHCP (come di seguito indicato) o inidirizzo IP statico:







Installation Number:

rhn_register. Il comando rhn_register richiede un accesso root.
# rhn_register












virt-install in Sezione 3.1, «Installazione di Red Hat Enterprise Linux 5 come guest para-virtualizzato». Se si utilizza l'esempio predefinito il nome è rhel5PV.
virsh reboot rhel5PV
virt-manager, selezionare il nome del guest e fare clic su , successivamente selezionare .








kdump.











Open virt-manager
virt-manager. Launch the application from the menu and submenu. Alternatively, run the virt-manager command as root.
Select the hypervisor
qemu.
Start the new virtual machine wizard

Name the virtual machine

Choose a virtualization method

Select the installation method

Locate installation media

/var/lib/libvirt/images/. Qualsiasi altra posizione potrebbe richiedere una configurazione aggiuntiva di SELinux, consultare la Sezione 7.1, «SELinux e virtualizzazione» per informazioni.
Storage setup
/var/lib/libvirt/images/. Assegnare storage e spazio sufficiente per il guest virtualizzato ed applicazioni necessarie.

Network setup

Memory and CPU allocation

Verify and start guest installation

Installazione di Linux
Starting virt-manager
Come nominare il proprio sistema virtuale

Selezione di un metodo di virtualizzazione

Selezione di un metodo d'installazione

/var/lib/libvirt/images/. Qualsiasi altra posizione potrebbe richiedere una configurazione aggiuntiva di SELinux, consultare la Sezione 7.1, «SELinux e virtualizzazione» per informazioni.
/var/lib/libvirt/images/. Altre posizioni della directory per le immagini basate sul file sono proibite da SELinux. Se si esegue SELinux in modalità enforcing consultare la Sezione 7.1, «SELinux e virtualizzazione» per maggiori informazioni sull'installazione dei guest.

/var/lib/xen/images/, per le immagini della macchina virtuale. Se si utilizza una posizione diversa (come ad esempio /images/) assicurarsi di aggiungerla alla propria politica di SELinux e di rietichettarla prima di continuare con l'installazione (più avanti nella documentazione è possibile trovare le informazioni su come modificare la politica di SELinux)
Network setup



HAL, una volta ottenuta la casella di dialogo selezionare la scheda corrispondente alla Piattaforma i486 generica (è possibile scorrere l'elenco usando i tasti freccetta Su e Giù).








# virsh start WindowsGuest
WindowsGuest è il nome della macchina virtuale.

virsh reboot WindowsGuestName. Il suddetto comando dovrebbe ripristinare tale processo. Durante il riavvio della macchina virtuale è possibile visualizzare il messaggio Setup is being restarted:




virt-install. virt-install può essere usato al posto di virt-manager. Questo processo è simile all'installazione di Windows XP riportata nella Sezione 3.3, «Installazione di Windows XP come guest completamente virtualizzato».
virt-install per l'installazione di Windows Server 2003 come console per il guest Windows è possibile visualizzare la finestra di virt-viewer. Un esempio di come utilizzare virt-install per l'installazione di un guest Windows Server 2003:
virt-install.
# virt-install -hvm -s 5 -f /var/lib/libvirt/images/windows2003spi1.dsk \ -n windows2003sp1 -cdrom=/ISOs/WIN/en_windows_server_2003_sp1.iso \ -vnc -r 1024
Standard PC. Questa è la sola fase non standard necessaria:




Open virt-manager
virt-manager. Launch the application from the menu and submenu. Alternatively, run the virt-manager command as root.
Select the hypervisor
qemu.
Start the new virtual machine wizard

Name the virtual machine

Choose a virtualization method

Select the installation method

Locate installation media


/var/lib/libvirt/images/. Qualsiasi altra posizione potrebbe aver bisogno di una configurazione aggiuntiva di SELinux, consultare la Sezione 7.1, «SELinux e virtualizzazione» per informazioni.
Storage setup
/var/lib/libvirt/images/. Assegnare uno storage sufficiente per il proprio guest virtualizzato. Assegnare spazio sufficiente per il guest virtualizzato e qualsiasi applicazione necessaria.

Network setup

Memory and CPU allocation

Verify and start guest installation

Installazione di Windows

dd. Sostituire /dev/fd0 con il nome di un dispositivo floppy e nominare il dischetto in modo appropriato.
# dd if=/dev/fd0 of=~/legacydrivers.img
virt-manager il quale esegue una installazione Linux completamente virtualizzata con l'immagina posizionata in /var/lib/libvirt/images/rhel5FV.img. In questa circostanza si utilizza l'hypervisor Xen.
virsh su di un guest in esecuzione.
# virsh dumpxml rhel5FV > rhel5FV.xml
# dd if=/dev/zero of=/var/lib/libvirt/images/rhel5FV-floppy.img bs=512 count=2880
<disk type='file' device='floppy'>
<source file='/var/lib/libvirt/images/rhel5FV-floppy.img'/>
<target dev='fda'/>
</disk>
# virsh stop rhel5FV
# virsh create rhel5FV.xml
dd. L'utilizzo di sparse file non è consigliato a causa di alcune problematiche relative all'integrità dei dati ed alle prestazioni che ne possono derivare. Essi possono essere creati più velocemente ed usati per l'effettuazione di test ma non in ambienti di produzione.
# dd if=/dev/zero of=/var/lib/libvirt/images/FileName.img bs=1M seek=4096 count=0
# dd if=/dev/zero of=/var/lib/libvirt/images/FileName.img bs=1M count=4096
Guest1 ed il file viene salvato nella cartella home degli utenti.
# virsh dumpxmlGuest1> ~/Guest1.xml
Guest1.xml) e andare alla ricerca delle voci che iniziano con "disk=". La voce in questione potrebbe somigliare alla seguente:
>disk type='file' device='disk'<
>driver name='tap' type='aio'/<
>source file='/var/lib/libvirt/images/Guest1.img'/<
>target dev='xvda'/<
>/disk<
disk=. Assicurarsi di aver specificato un nome del dispositivo per il dispositivo a blocchi virtuale non ancora usato nel file di configurazione. Di seguito viene riportato un esempio di voce che aggiunge un file chiamato FileName.img come contenitore di storage basato sul file:
>disk type='file' device='disk'<
>driver name='tap' type='aio'/<
>source file='/var/lib/libvirt/images/Guest1.img'/<
>target dev='xvda'/<
>/disk<
>disk type='file' device='disk'<
>driver name='tap' type='aio'/<
>source file='/var/lib/libvirt/images/FileName.img'/<
>target dev='hda'/<
>/disk<
# virsh create Guest1.xml
FileName.img come dispositivo /dev/hdb. Questo dispositivo necessita di una formattazione da parte del guest. Sul guest, partizionare il dispositivo in una partizione primaria per l'intero dispositivo e successivamente formattare il dispositivo stesso.
n per una nuova partizione.
# fdisk /dev/hdb Command (m for help):
p per una partizione primaria.
Command action e extended p primary partition (1-4)
1.
Partition number (1-4): 1
Enter.
First cylinder (1-400, default 1):
Enter.
Last cylinder or +size or +sizeM or +sizeK (2-400, default 400):
t.
Command (m for help): t
1.
Partition number (1-4): 1
83 per una partizione Linux.
Hex code (type L to list codes): 83
Command (m for help):wCommand (m for help):q
ext3.
# mke2fs -j /dev/hdb
# mount /dev/hdb1 /myfiles
multipath e la persistenza sull'host se necessario.
virsh attach. Sostituire: myguest con il nome del vostro guest, /dev/hdb1 con il dispositivo da aggiungere, e hdc con la posizione per il dispositivo sul guest. hdc deve essere un nome del dispositivo non acora utilizzato. Usare l'annotazione hd* per i guest di Windows, in questo modo il guest riconoscerà in modo corretto il dispositivo.
--type hdd al comando per i dispositivi DVD o CD-ROM.
--type floppy al comando per i dispositivi floppy.
# virsh attach-diskmyguest/dev/hdb1hdc--driver tap --mode readonly
/dev/hdb su Linux o D: drive, o simile, su Windows. A tal proposito potrebbe essere necessario formattare questo dispositivo.
multipath devono utilizzare Configurazione di un percorso singolo. Mentre quelli che eseguono multipath possono usare Configurazione di percorsi multipli.
udev. Usare questa procedura solo per gli host che non usano multipath.
/etc/scsi_id.config.
options=-b sia commentata.
# options=-b
options=-g
udev in modo da assumere che tutti i dispositivi SCSI ritorneranno un UUID.
scsi_id -g -s /block/sd*. Per esempio:
# scsi_id -g -s /block/sd* 3600a0b800013275100000015427b625e
/dev/sdc.
scsi_id -g -s /block/sd* sia identico a quello del computer che accede al dispositivo.
20-names.rules nella directory /etc/udev/rules.d. A questo punto le nuove regole dovranno essere aggiunte al file. Tutte le regole sono aggiunte allo stesso file utilizzando lo stesso formato. Le regole dovranno avere il seguente formato:
KERNEL="sd*", BUS="scsi", PROGRAM="/sbin/scsi_id -g -s", RESULT=UUID, NAME=devicename
UUID e devicename con l'UUID sopra indicato e con il nome desiderato per il dispositivo. Nell'esempio la regola somiglierà a quanto di seguito riportato:
KERNEL="sd*", BUS="scsi", PROGRAM="/sbin/scsi_id -g -s", RESULT="3600a0b800013275100000015427b625e", NAME="rack4row16"
udev ora andrà alla ricerca di tutti i dispositivi chiamati /dev/sd* per l'UUID presente nella regola. Una volta che il dispositivo corrispondente è stato collegato al sistema, esso verrà assegnato allo stesso il nome della regola. Un dispositivo con un UUID di 3600a0b800013275100000015427b625e apparirà come /dev/rack4row16.
/etc/rc.local:
/sbin/start_udev
/etc/scsi_id.config, /etc/udev/rules.d/20-names.rules, e /etc/rc.local su tutti gli host rilevanti.
/sbin/start_udev
multipath viene usato per sistemi con più di un percorso fisico dal computer ai dispositivi di memorizzazione. multipath fornisce condizioni di elevata resistenza 'fault tolerant', fail-over, e migliori prestazioni per i dispositivi di storage della rete collegati ai sistemi Linux.
multipath necessita di nomi di alias definiti per i dispositivi multipath. Ogni dispositivo di storage presenta un UUID il quale funge da chiave per i nomi con alias. Identificare un UUID di un dispositivo tramite il comando scsi_id:
# scsi_id -g -s /block/sdc
/dev/mpath. Nell'esempio di seguito riportato sono stati definiti 4 dispositivi in /etc/multipath.conf:
multipaths {
multipath {
wwid 3600805f30015987000000000768a0019
alias oramp1
}
multipath {
wwid 3600805f30015987000000000d643001a
alias oramp2
}
mulitpath {
wwid 3600805f3001598700000000086fc001b
alias oramp3
}
mulitpath {
wwid 3600805f300159870000000000984001c
alias oramp4
}
}
/dev/mpath/oramp1, /dev/mpath/oramp2, /dev/mpath/oramp3 e /dev/mpath/oramp4. Una volta inseriti, la mappatura degli WWID dei dispositivi sui nuovi nomi sarà persistente durante ogni processo di riavvio.
virsh con il parametro attach-disk.
# virsh attach-disk [domain-id] [source] [target] --driver file --type cdrom --mode readonly
. I parametri source e target sono i percorsi per i file ed i dispositivi rispettivamente per l'host ed il guest. Il parametro source può essere un percorso per un file ISO o il dispositivo della cartella /dev.
# setenforce 1
AutoFS, NFS, FTP, HTTP, NIS, telnetd, sendmail e così via.
/var/lib/libvirt/images/. Se si sta utilizzando una directory diversa per le immagini della macchina virtuale, assicurarsi di aggiungere la directory nella politica SELinux rietichettandola prima di eseguire l'installazione.
vsftpd.
/var/lib/libvirt/images.
NewVolumeName sul gruppo di volumi volumegroup.
# lvcreate -nNewVolumeName-L5Gvolumegroup
NewVolumeName con un file system in grado di supportare gli attributi estesi come ad esempio ext3.
# mke2fs -j /dev/volumegroup/NewVolumeName
/etc, /var, /sys) o nelle cartelle home /home o /root). In questo esempio viene usata una cartella chiamata /virtstorage
# mkdir /virtstorage
# mount/dev/volumegroup/NewVolumeName/virtstorage
semanage fcontext -a -t xen_image_t "/virtualization(/.*)?"
semanage fcontext -a -t virt_image_t "/virtualization(/.*)?"
/etc/selinux/targeted/contexts/files/file_contexts.local rendendo la modifica persistente. La riga potrebbe somigliare alla seguente:
/virtstorage(/.*)? system_u:object_r:xen_image_t:s0
/virtstorage) e tutti i file sottostanti su xen_image_t (restorecon e setfiles leggono i file in /etc/selinux/targeted/contexts/files/).
# restorecon -R -v /virtualization
# semanage fcontext -a -t xen_image _t -f -b /dev/sda2 # restorecon /dev/sda2
xend_disable_t imposta xend in modalità unconfined dopo il riavvio del demone. È consigliato disabilitare la protezione per un demone singolo invece di disabilitarla per l'intero sistema. Altresì non rietichettare le cartelle come xen_image_t utilizzate in altre parti.
libvirt standard fornisce una connettività basata sul NAT alle macchine virtuali, senza la necessità di una configurazione aggiuntiva. Ciò viene chiamato rete virtuale predefinita. Verificatene la disponibilità con il comando virsh net-list --all.
# virsh net-list --all Name State Autostart ----------------------------------------- default active yes
# virsh net-define /usr/share/libvirt/networks/default.xml
/usr/share/libvirt/networks/default.xml
# virsh net-autostart default Rete predefinita contrassegnata come autostarted
# virsh net-start default Rete predefinita avviata
libvirt verrà visualizzato un dispositivo bridge isolato. Il suddetto dispositivo non avrà alcuna interfaccia fisica ad esso aggiunta poichè verrà utilzzato l'IP forwarding e NAT per collegarsi con l'esterno. Non aggiungere nuove interfacce.
# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.000000000000 yes
libvirt aggiunge le regole iptables le quali abilitano il traffico da e per i guest collegati al dispositivo virbr0 nelle catene INPUT, FORWARD, OUTPUT e POSTROUTING. Successivamente libvirt cerca di abilitare il parametro ip_forward. Altre applicazioni potrebbero disabilitare ip_forward e per questo motivo l'opzione migliore è quella di aggiungere quanto segue a /etc/sysctl.conf.
net.ipv4.ip_forward = 1
<interface type='network'> <source network='default'/> </interface>
<interface type='network'> <source network='default'/> <mac address='00:16:3e:1a:b3:4a'/> </interface>
/etc/xen/xend-config.sxp ed in particolare la riga:
(network-script network-bridge)
(network-script /bin/true)
# chkconfig NetworkManager off # chkconfig network on # service NetworkManager stop # service network start
NM_CONTROLLED=no" agli script ifcfg-* usati negli esempi.
/etc/sysconfig/network-scripts:
# cd /etc/sysconfig/network-scripts
ifcfg-eth0 definisce l'interfaccia di rete fisica impostata come parte di un bridge:
DEVICE=eth0 # change the hardware address to match the hardware address your NIC uses HWADDR=00:16:76:D6:C9:45 ONBOOT=yes BRIDGE=br0
MTU alla fine del file di configurazione.
MTU=9000
/etc/sysconfig/network-scripts chiamato ifcfg-br0 o simile. br0 è il nome del bridge, può essere qualsiasi cosa se il nome del file è uguale al parametro del DISPOSITIVO.
DEVICE=br0 TYPE=Bridge BOOTPROTO=dhcp ONBOOT=yes DELAY=0
TYPE=Bridge, is case-sensitive. It must have uppercase 'B' and lower case 'ridge'.
# service network restart
iptables to allow all traffic to be forwarded across the bridge.
# iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT # service iptables save # service iptables restart
iptables rules. In /etc/sysctl.conf append the following lines:
net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0
sysctl
# sysctl -p /etc/sysctl.conf
libvirt daemon.
# service libvirtd reload
# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.000000000000 yes br0 8000.000e0cb30550 no eth0
virbr0. È consigliato non collegare un dispositivo fisico a virbr0. Il bridge virbr0 è solo per la connettività Network Address Translation (NAT).
Scaricare i driver
virtio-win.iso) nella cartella /usr/share/virtio-win/.
Installare i driver para-virtualizzati
virt-manager per il montaggio di una immagine CD-ROM per un guest di Windos» per aggiungere l'immagine del CD-ROM con virt-manager.
virt-manager per il montaggio di una immagine CD-ROM per un guest di Windosvirt-manager, selezionare il vostro guest virtualizzato dall'elenco delle macchine virtuali e premere il pulsante :

/usr/share/xenpv-win se è stato usato yum per installare i pacchetti del driver paravirtualizzato.


viostor.vfd come floppy
Windows Server 2003
Windows Server 2008
virtio al posto del driver IDE virtualizzato. In questo esempio sono stati modificati i file di configurazione di libvirt. Alternativamente virt-manager, virsh attach-disk o virsh attach-interface possono aggiungere un nuovo dispositivo utilizzando i driver paravirtualizzati Utilizzo dei driver paravirtualizzati KVM per nuovi dispositivi.
<disk type='file' device='disk'> <source file='/var/lib/libvirt/images/disk1.img'/> <target dev='hda' bus='ide'/> </disk>
virtio.
<disk type='file' device='disk'>
<source file='/var/lib/libvirt/images/disk1.img'/>
<target dev='hda' bus='virtio'/>
</disk>
virt-manager.
virsh attach-disk o virsh attach-interface possono essere usati per collegare i dispositivi utilizzando i driver paravirtualizzati.
virt-manager.



xend/etc/xen/xend-config.sxp. Ecco i parametri da abilitare o disabilitare nel file di configurazione xend-config.sxp:
| Item | Description |
|---|---|
|
(limite-console)
|
Determina lo xend_unix_server, il limite del buffer di memoria del server della console ed assegna i valori in base al dominio
|
|
(min-mem)
|
Determina il numero minimo di megabyte riservati per il domain0 (se inserite 0, il valore non varia).
|
|
(dom0-cpus)
|
Determina il numero delle CPU utilizzate dal domain0 (almeno 1 CPU è assegnata per default).
|
|
(enable-dump)
|
Determina la presenza di un arresto inaspettato 'crash', e abilita un dump (il default è 0).
|
|
(external-migration-tool)
|
Determina lo script o l'applicazione che gestisce la migrazione del dispositivo esterno. Gli script devono risiedere in
etc/xen/scripts/external-device-migrate.
|
|
(logfile)
|
Determina la posizione del file di log (il predefinito è
/var/log/xend.log).
|
|
(loglevel)
|
Filtra i valori log mode: DEBUG, INFO, WARNING, ERROR, o CRITICAL (il default è DEBUG).
|
|
(network-script)
|
Determina lo script che abilita l'ambiente di networking (gli script devono risiedere nella cartella
etc/xen/scripts ).
|
|
(xend-http-server)
|
Abilita il server per l'http stream packet management (il predefinito è no).
|
|
(xend-unix-server)
|
Abilita il server unix domain socket, un server socket rappresenta un punto finale delle comunicazioni, che gestisce i collegamenti low level network ed accetta o rifiuta i collegamenti in entrata. Il valore predefinito è si.
|
|
(xend-relocation-server)
|
Abilita il server di riposizionamento per migrazioni 'cross-machine' (il predefinito è no).
|
|
(xend-unix-path)
|
Determina la posizione dove il comando
xend-unix-server esegue l'output dei dati (il predefinito è var/lib/xend/xend-socket)
|
|
(xend-port)
|
Determina la porta utilizzata dal server di gestione http (il predefinito è 8000).
|
|
(xend-relocation-port)
|
Determina la porta utilizzata dal server di riposizionamento (il predefinito è 8002).
|
|
(xend-relocation-address)
|
Determina gli indirizzi dell'host abilitati per la migrazione. Il valore predefinito è il valore di
xend-address.
|
|
(xend-address)
|
Determina l'indirizzo al quale si lega il server del domain socket. Il valore predefinito permette tutti i collegamenti.
|
service xend start
service xend stop
service xend restart
service xend status
xend al momento dell'avviochkconfig per aggiungere xend a initscript.
chkconfig --level 345 xend
xend verrà ora avviato nei runlevel 3,4 e 5.
ntpd:
# service ntpd start
# chkconfig ntpd on
ntpd dovrebbe diminuire gli effetti relativi all'alterazione dell'orologio in qualsiasi caso.
constant_tsc. Per determinare la presenta del flag constant_tsc eseguire il seguente comando:
$ cat /proc/cpuinfo | grep constant_tsc
constant_tsc nella CPU. Se al contrario nessun output viene visualizzato allora seguire le istruzioni di seguito indicate.
constant_tsc, disabilitare tutte le funzioni di gestione dell'alimentazione (BZ#513138). Ogni sistema possiede diversi timer per controllare l'ora. TSC non è stabile sull'host, tale comportamento viene causato talvolta dalle modifiche cpufreq, da stati deep C state oppure da una migrazione su di un host con un TSC più veloce. Per interrompere uno stato deep C state, il quale è in grado di arrestare TSC, aggiungere sull'host "processor.max_cstate=1" nelle opzioni d'avvio del kernel in grub:
term Fedora (vmlinuz-2.6.29.6-217.2.3.fc11)
root (hd0,0)
kernel /vmlinuz-vmlinuz-2.6.29.6-217.2.3.fc11 ro root=/dev/VolGroup00/LogVol00 rhgb quiet processor.max_cstate=1
cpufreq (necessario solo su host senza constant_tsc) modificando il file di configurazione /etc/sysconfig/cpuspeed e successivamente le variabili MIN_SPEED e MAX_SPEED sulla frequenza più alta disponibile. I limiti validi sono disponibili nei file /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies.
| Red Hat Enterprise Linux | Parametri aggiuntivi relativi al kernel del guest |
|---|---|
| 5.4 AMD64/Intel 64 con orologio paravirtualizzato | I parametri aggiuntivi non sono necessari |
| 5.4 AMD64/Intel 64 senza orologio paravirtualizzato | divider=10 notsc lpj=n |
| 5.4 x86 con orologio paravirtualizzato | I parametri aggiuntivi non sono necessari |
| 5.4 x86 senza orologio paravirtualizzato | divider=10 clocksource=acpi_pm lpj=n |
| 5.3 AMD64/Intel 64 | divider=10 notsc |
| 5.3 x86 | divider=10 clocksource=acpi_pm |
| 4.8 AMD64/Intel 64 | notsc divider=10 |
| 4.8 x86 | clock=pmtmr divider=10 |
| 3.9 AMD64/Intel 64 | I parametri aggiuntivi non sono necessari |
| 3.9 x86 | I parametri aggiuntivi non sono necessari |
/use pmtimer
virsh. Il comando migrate accetta i parametri nel seguente formato:
# virsh migrate --live GuestName DestinationURL
GuestName parameter represents the name of the guest which you want to migrate.
DestinationURL parameter is the URL or hostname of the destination system. The destination system must run the same version of Fedora, be using the same hypervisor and have libvirt running.
test1.bne.redhat.com a test2.bne.redhat.com. Modificare gli hostname per l'ambiente. Nell'esempio è riportata una migrazione di una macchina virtuale chiamata CentOS4test.
Verificare che il guest sia in esecuzione
test1.bne.redhat.com, verificare che CentOS4test sia in esecuzione:
[root@test1 ~]# virsh list Id Name State ---------------------------------- 10 CentOS4 running
Migrare il guest
test2.bne.redhat.com. Aggiungere /system alla fine dell'URL di destinazione per indicare a libvirt la necessità di avere un accesso completo.
# virsh migrate --live CentOS4test qemu+ssh://test2.bne.redhat.com/system
Attesa
virsh riporta solo gli errori. Il guest continua la sua esecuzione sull'host sorgente fino alla migrazione completa.
Verificare che il guest sia arrivato sull'host di destinazione
test2.bne.redhat.com, verificare che CentOS4test sia in esecuzione:
[root@test2 ~]# virsh list Id Name State ---------------------------------- 10 CentOS4 running
virt-manager













ssh o TLS e SSL.
ssh fornisce un protocollo di rete cifrato attraverso il quale è possibile inviare in modo sicuro le funzioni di gestione ai server di virtualizzazione remoti. Il metodo descritto usa il libvirt management connection attraverso un tunnel sicuro su di un collegamento SSH per la gestione delle macchine remote. L'autenticazione viene fatta tramite la cifratura della chiave pubblica SSH e le password, oppure tramite le frasi segrete raccolte dal vostro agent SSH locale. In aggiunta, la console VNC per ogni macchina del guest virtuale verrà collegata a SSH tramite un tunnel.
virt-managervirt-manager. Se ssh è stato precedentemente configurato allora si può saltare questo comando.
$ ssh-keygen -t rsa
virt-manager avrà bisogno di una copia della chiave pubblica su ogni macchina remota che eseuge libvirt. Copiare il file $HOME/.ssh/id_rsa.pub dalla macchina da usare per la gestione remota tramite il comando scp:
$ scp $HOME/.ssh/id_rsa.pub root@somehost:/root/key-dan.pub
ssh per eseguire il collegamento alle macchine remote come utente root, ed aggiungere il file copiato sull'elenco di chiavi autorizzate. Se l'utente root presente sull'host remoto non possiede un elenco di chiavi autorizzate, assicurarsi che i permessi del file siano stati impostati correttamente
$ ssh root@somehost
# mkdir /root/.ssh
# chmod go-rwx /root/.ssh
# cat /root/key-dan.pub >> /root/.ssh/authorized_keys
# chmod go-rw /root/.ssh/authorized_keys
libvirt (libvirtd)libvirt fornisce un interfaccia per la gestione delle macchine virtuali. È necessario aver installato il demone libvirtd ed eseguirlo su ogni host remoto che si desidera gestire.
$ ssh root@somehost
# chkconfig libvirtd on
# service libvirtd start
libvirtd che SSH, si è in grado di accedere in modo remoto alle proprie macchine virtuali. A questo punto sarà possibile accedere ai guest anche con VNC.
libvirt aprirà una porta TCP per i collegamenti in entrata, la quale risulta essere cifrata ed autenticata in base ai certificati x509. Altresì la console VNC per ogni macchina virtuale del guest verrà impostata in modo da utilizzare TLS con l'autenticazione del certificato x509.
libvirt/etc/xen/xend-config.sxp. Rimuovere il commento sul parametro di configurazione (vnc-tls 1) all'interno del file di configurazione.
/etc/xen/vnc necessita dei seguenti file:
ca-cert.pem - Il certificato CA
server-cert.pem - Il certificato del server firmato dal CA
server-key.pem - La chiave privata del server
(vnc-x509-verify 1).
virsh e virt-managerlibvirt tramite TLS, i certificati client e CA devono essere posizionati in /etc/pki. Per informazioni consultare http://libvirt.org/remote.html
virt-manager utilizzare l'opzione del meccanismo di trasporto durante il collegamento ad un host.
virsh URI ha il seguente formato:
qemu://hostname.guestname/system per KVM.
xen://hostname.guestname/ per Xen.
$HOME/.pki, quindi i seguenti file:
ca-cert.pem - Il certificato CA.
libvirt-vnc o clientcert.pem - Il certificato del client firmato dal CA.
libvirt-vnc o clientkey.pem - La chiave privata del client.
libvirt supporta le seguenti modalità di trasporto:
/var/run/libvirt/libvirt-sock e /var/run/libvirt/libvirt-sock-ro (per collegamenti di sola-lettura).
libvirtd) deve essere in esecuzione sulla macchina remota. La porta 22 deve essere aperta per permettere un accesso SSH. Sarà necessario utilizzare una specie di gestione della chiave ssh (per esempio, ssh-agent) in caso contrario vi sarà richiesta una password.
Un Uniform Resource Identifier (URI) viene usato da virsh e libvirt per il collegamento ad un host remoto. Gli URI possono essere usati con il parametro --connect per il comando virsh in modo da eseguire comandi singoli o migrazioni su host remoti.
driver[+transport]://[username@][hostname][:port]/[path][?extraparameters]
towada, usando un trasporto SSH ed il nome utente SSH ccurran.
xen+ssh://ccurran@towada/
towada utilizzando TLS.
xen://towada/
towada usando TLS. Il parametro no_verify=1 indica a libvirt di non verificare il certificato del server.
xen://towada/?no_verify=1
towada usando SSH.
qemu+ssh://towada/system
qemu+unix:///system?socket=/opt/libvirt/run/libvirt/libvirt-sock
test+tcp://10.1.1.10:5000/default
| Nome | Modalità di trasporto | Description | Esempio di utilizzo |
|---|---|---|---|
| name | tutte le modalità | Il nome passato alla funzione virConnectOpen remota. Esso è formato generalmente rimuovendo il trasporto, il nome utente, il numero della porta, l'hostname ed i parametri aggiuntivi dall'URI remoto, ma in alcuni casi molto complessi è meglio conferire esplicitamente il nome. | name=qemu:///system |
| comando | ssh e ext | Il comando esterno. Per il trasporto ext questo è necessario. Per ssh l'impostazione predefinita è ssh. Per il comando viene eseguita la ricerca del PATH. | command=/opt/openssh/bin/ssh |
| socket | unix e ssh | Il percorso per il socket del dominio UNIX il quale sovrascrive l'impostazione predefinita. Per il trasporto ssh, esso viene passato al comando netcat remoto (consultare netcat). | socket=/opt/libvirt/run/libvirt/libvirt-sock |
| netcat | ssh | Il nome del comando netcat sulla macchina remota. L'impostazione predefinita è nc. Per il trasporto ssh, libvirt crea un comando ssh il quale è simile al seguente: command -p port [-l username] hostname netcat -U socket dove porta, nome utente, hostname possono essere specificati come parte dell'URI remoto, e comando, netcat e socket provengono da parametri aggiuntivi (o impostazioni predefinite sensibili). | netcat=/opt/netcat/bin/nc |
| no_verify | tls | Se impostato su di un valore diverso da zero verranno disabilitati i controlli del certificato del server. Da notare che per disabilitare i controlli server del certificato del client o indirizzo IP, è necessario modificare la configurazione di libvirtd. | no_verify=1 |
| no_tty | ssh | Se impostato su di un valore diverso da zero ssh non richiederà più alcuna password se non riesce ad eseguire automaticamente un log in su di una macchina remota (per l'utilizzo di ssh-agent o simile). Da usare quando non si è in possesso di un accesso ad un terminale - per esempio in programmi grafici che utilizzano libvirt. | no_tty=1 |
Indice
vmstat
iostat
lsof
# lsof -i :5900 xen-vncfb 10635 root 5u IPv4 218738 TCP grumble.boston.redhat.com:5900 (LISTEN)
qemu-img
systemTap
crash
xen-gdbserver
sysrq
sysrq t
sysrq w
sysrq c
brtcl
# brctl show
bridge name bridge id STP enabled interfaces
xenbr0 8000.feffffffffff no vif13.0
pdummy0
vif0.0
# brctl showmacs xenbr0 port no mac addr is local? aging timer 1 fe:ff:ff:ff:ff:ff yes 0.00
# brctl showstp xenbr0 xenbr0 bridge id 8000.feffffffffff designated root 8000.feffffffffff root port 0 path cost 0 max age 20.00 bridge max age 20.00 hello time 2.00 bridge hello time 2.00 forward delay 0.00 bridge forward delay 0.00 aging time 300.01 hello timer 1.43 tcn timer 0.00 topology change timer 0.00 gc timer 0.02 flags vif13.0 (3) port id 8003 state forwarding designated root 8000.feffffffffff path cost 100 designated bridge 8000.feffffffffff message age timer 0.00 designated port 8003 forward delay timer 0.00 designated cost 0 hold timer 0.43 flags pdummy0 (2) port id 8002 state forwarding designated root 8000.feffffffffff path cost 100 designated bridge 8000.feffffffffff message age timer 0.00 designated port 8002 forward delay timer 0.00 designated cost 0 hold timer 0.43 flags vif0.0 (1) port id 8001 state forwarding designated root 8000.feffffffffff path cost 100 designated bridge 8000.feffffffffff message age timer 0.00 designated port 8001 forward delay timer 0.00 designated cost 0 hold timer 0.43 flags
ifconfig
tcpdump
ps
pstree
top
kvmtrace
kvm_stat
xentop
xm dmesg
xm log
virsh è uno strumento dell'interfaccia della linea di comando per la gestione dei guest e dell'hypervisor.
virsh è stato creato considerando l'API di gestione libvirt e funziona come alternativa allo strumento xm e al graphical guest Manager (virt-manager). Gli utenti non privilegiati possono usare virsh per operazioni di sola lettura. Utilizzare virsh per eseguire gli script per le macchine del guest.
| Comando | Description |
|---|---|
help
| Visualizza le informazioni di base d'aiuto. |
list
| Elenca tutti i guest. |
dumpxml
| Esegue l'output del file di configurazione XML per il guest. |
create
| Crea un guest da un file di configurazione XML ed avvia il nuovo guest. |
start
| Avvia un guest inattivo. |
destroy
| Forza l'arresto di un guest. |
define
| Esegue un output di un file di configurazione XML per un guest. |
domid
| Mostra l'ID del guest. |
domuuid
| Mostra l'UUID del guest. |
dominfo
| Mostra le informazioni del guest. |
domname
| Mostra il nome del guest. |
domstate
| Mostra lo stato di un guest. |
quit
| Esce dal terminale interattivo. |
reboot
| Riavvia un guest. |
restore
| Ripristina una sessione del guest precedentemente salvata in un file. |
resume
| Ripristina un guest in pausa. |
save
| Salva lo stato corrente di un guest su di un file. |
shutdown
| Arresta correttamente (gracefully) un guest. |
suspend
| Mette in pausa un guest. |
undefine
| Cancella tutti i file associati con un guest. |
migrate
| Migra un guest su di un altro host. |
virsh sono utilizzate per gestire le risorse dell'hypervisor e del guest:
| Comando | Description |
|---|---|
setmem
| Imposta la memoria assegnata per un guest. |
setmaxmem
| Imposta il limite massimo della memoria per l'hypervisor. |
setvcpus
| Modifica il numero di CPU virtuali assegnate per un guest. |
vcpuinfo
| Mostra le informazioni della CPU virtuale di un guest. |
vcpupin
| Controlla l'affinità della CPU virtuale di un guest. |
domblkstat
| Mostra le statistiche relative al dispositivo a blocchi per un guest in esecuzione. |
domifstat
| Mostra le statistiche relative all'interfaccia di rete per un guest in esecuzione. |
attach-device
| Collega un dispositivo ad un guest usando una definizione del dispositivo in un file XML. |
attach-disk
| Collega un nuovo dispositivo a disco ad un guest. |
attach-interface
| Collega una nuova interfaccia di rete ad un guest. |
detach-device
|
Scollega un dispositivo da un guest, accetta lo stesso tipo di descrizione XML come il comando attach-device.
|
detach-disk
| Scollega un dispositivo a disco da un guest. |
detach-interface
| Scollega l'interfaccia di rete da un guest. |
virsh:
| Comando | Description |
|---|---|
version
|
Mostra la versione di virsh
|
nodeinfo
| Esegue l'output delle informazioni sull'hypervisor |
virsh :
# virsh connect {hostname OR URL}
<name> è il nome della macchina dell'hypervisor. Per inizializzare un collegamento di sola lettura inserire il comando sopra riportato con -readonly.
virsh:
# virsh dumpxml {domain-id, domain-name or domain-uuid}
stdout). È possibile salvare i dati eseguendo il pipe dell'output su di un file. Esempio di pipe sul file guest.xml:
# virsh dumpxmlQuesto fileGuestID>guest.xml
guest.xml è in grado di ricreare il guest (consultate Come modificare un file di configurazione del guest. Modificare il file di configurazione XML per configurare i dispositivi aggiuntivi o per implementare i guest supplementari. Consultare la Sezione 18.1, «Come utilizzare i file di configurazione XML con virsh» per maggiori informazioni su come modificare i file creati con virsh dumpxml.
virsh dumpxml:
# virsh dumpxml r5b2-mySQL01
<domain type='xen' id='13'>
<name>r5b2-mySQL01</name>
<uuid>4a4c59a7ee3fc78196e4288f2862f011</uuid>
<bootloader>/usr/bin/pygrub</bootloader>
<os>
<type>linux</type>
<kernel>/var/lib/libvirt/vmlinuz.2dgnU_</kernel>
<initrd>/var/lib/libvirt/initrd.UQafMw</initrd>
<cmdline>ro root=/dev/VolGroup00/LogVol00 rhgb quiet</cmdline>
</os>
<memory>512000</memory>
<vcpu>1</vcpu>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<interface type='bridge'>
<source bridge='xenbr0'/>
<mac address='00:16:3e:49:1d:11'/>
<script path='vif-bridge'/>
</interface>
<graphics type='vnc' port='5900'/>
<console tty='/dev/pts/4'/>
</devices>
</domain>
dumpxml (a tal proposito consultate Creazione dump XML di una macchina virtuale (file di configurazione)). Per creare un guest con virsh da un file XML:
# virsh create configuration_file.xml
dumpxml (consultare Creazione dump XML di una macchina virtuale (file di configurazione)) i guest possono essere modificati durante la loro esecuzione o se sono offline. Il comando virsh edit fornisce questo tipo di funzionalità. Per esempio per modificare il guest chiamato softwaretesting:
# virsh edit softwaretesting
$EDITOR (impostato per default su vi).
virsh:
# virsh suspend {domain-id, domain-name or domain-uuid}
resume (Ripristino di un guest).
virsh con l'opzione resume:
# virsh resume {domain-id, domain-name or domain-uuid}
suspend e resume.
virsh:
# virsh save {domain-name, domain-id or domain-uuid} filename
restore (Ripristino di un guest). L'operazione di salvataggio è simile a quella di pausa, invece di mettere in pausa un guest lo stato corrente del guest verrà salvato.
virsh save (Come salvare un guest) utilizzando il comando virsh:
# virsh restore filename
virsh:
# virsh shutdown {domain-id, domain-name or domain-uuid}
on_shutdown nel file di configurazione del guest.
virsh:
#virsh reboot {domain-id, domain-name or domain-uuid}
on_reboot del file di configurazione del guest.
virsh:
# virsh destroy {domain-id, domain-name or domain-uuid}
virsh destroy può corrompere i file system del guest. Utilizzare l'opzione destroy solo quando il guest non risponde. Per un guest paravirtualizzato usare l'opzione shutdown (Come arrestare un guest).
# virsh domid {domain-name or domain-uuid}
# virsh domname {domain-id or domain-uuid}
# virsh domuuid {domain-id or domain-name}
virsh domuuid:
# virsh domuuid r5b2-mySQL01 4a4c59a7-ee3f-c781-96e4-288f2862f011
virsh con domain ID del guest, nome del dominio o UUID è possibile mostrare le informazioni sul guest specifico:
# virsh dominfo {domain-id, domain-name or domain-uuid}
virsh dominfo:
# virsh dominfo r5b2-mySQL01 id: 13 name: r5b2-mysql01 uuid: 4a4c59a7-ee3f-c781-96e4-288f2862f011 os type: linux state: blocked cpu(s): 1 cpu time: 11.0s max memory: 512000 kb used memory: 512000 kb
# virsh nodeinfo
virsh nodeinfo:
# virsh nodeinfo CPU model x86_64 CPU (s) 8 CPU frequency 2895 Mhz CPU socket(s) 2 Core(s) per socket 2 Threads per core: 2 Numa cell(s) 1 Memory size: 1046528 kb
virsh:
# virsh list
--inactive elenca i guest inattivi (i guest definiti ma non ancora attivi) e
--all elenca tutti i guest. Per esempio:
# virsh list --all Id Name State ---------------------------------- 0 Domain-0 running 1 Domain202 paused 2 Domain010 inactive 3 Domain9600 crashed
virsh list viene categorizzato come uno di sei stati (di seguito riportati).
running si riferisce ai guest attualmente attivi su di una CPU.
blocked sono bloccati e non risultano essere in esecuzione e non possono essere eseguiti. Tale comportamento è dovuto a causa di un guest in attesa sull'I/O (uno stato di attesa tradizionale), o se i guest sono in pausa 'sleep mode'.
paused elenca i domini che sono in pausa. Tale comportamento si verifica se un amministratore usa il pulsante pause in virt-manager, xm pause o virsh suspend. Quando un guest è in uno stato di pausa esso continuerà a consumare memoria ed altre risorse, pur essendo non eleggibile per una sua programmazione o per le risorse dell'hypervisor.
shutdown è per i guest in procinto di spegnersi. In questo caso verrà inviato al guest un segnale di spegnimento abilitando un processo di spegnimento corretto delle proprie funzioni. Tale procedura potrebbe non funzionare con tutti i sistemi operativi guest; infatti alcuni di essi non rispondono a tali segnali.
dying sono domini 'morenti', ciò significa che il dominio non è ancora stato completamente arrestato.
crashed sono guest che hanno fallito durante la loro esecuzione. Questo stato si verifica solo se il guest è stato configurato in modo da non eseguire il riavvio dopo un crash.
virsh:
# virsh vcpuinfo {domain-id, domain-name or domain-uuid}
virsh vcpuinfo:
# virsh vcpuinfo r5b2-mySQL01 VCPU: 0 CPU: 0 State: blocked CPU time: 0.0s CPU Affinity: yy
# virsh vcpupin {domain-id, domain-name or domain-uuid} vcpu, cpulist
vcpu è il numero della VCPU virtuale e cpulist elenca il numero fisico delle CPU.
virsh:
# virsh setvcpus {domain-name, domain-id or domain-uuid} count
count non può eccedere il valore del count specificato durante la creazione del guest.
virsh :
# virsh setmem {domain-id or domain-name} count
virsh domblkstat per mostrare le statistiche dei dispositivi a blocchi per un guest in esecuzione.
# virsh domblkstat GuestName block-device
virsh domifstat per visualizzare le statistiche dell'interfaccia di rete per un guest in esecuzione.
# virsh domifstat GuestName interface-device
virsh. Migrare il dominio su di un altro host. Aggiungere --live per una migrazione live. Il comando migrate accetta i parametri nel seguente formato:
# virsh migrate --live GuestName DestinationURL
--live è facoltativo. Aggiungere il parametro --live per le migrazioni live.
GuestName parameter represents the name of the guest which you want to migrate.
DestinationURL parameter is the URL or hostname of the destination system. The destination system must run the same version of Fedora, be using the same hypervisor and have libvirt running.
virsh. Per elencare le reti virtuali:
# virsh net-list
# virsh net-list Name State Autostart ----------------------------------------- default active yes vnet1 active yes vnet2 active yes
# virsh net-dumpxml NetworkName
# virsh net-dumpxml vnet1
<network>
<name>vnet1</name>
<uuid>98361b46-1581-acb7-1643-85a412626e70</uuid>
<forward dev='eth0'/>
<bridge name='vnet0' stp='on' forwardDelay='0' />
<ip address='192.168.100.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.100.128' end='192.168.100.254' />
</dhcp>
</ip>
</network>
virsh net-autostart network-name — Avvia automaticamente una rete specificata come network-name.
virsh net-create XMLfile — genera ed avvia una nuova rete utilizzando un file XML già esistente.
virsh net-define XMLfile — genera un nuovo dispositivo di rete da un file XML esistente senza avviarlo.
virsh net-destroy network-name — annulla una rete specificata come network-name.
virsh net-name networkUUID — converte un networkUUID specifico in un nome della rete.
virsh net-uuid network-name — converte un network-name specificato in un UUID della rete.
virsh net-start nameOfInactiveNetwork — avvia una rete inattiva.
virsh net-undefine nameOfInactiveNetwork — rimuove la definizione di una rete inattiva.
virt-manager), le caselle di dialogo ed i vari controlli GUI.
virt-manager fornisce una visuale grafica degli hyparvisor e del guest sul sistema e sulle macchine remote. Per definire i guest paravirtualizzati e completamente virtualizzati è possibile utilizzare virt-manager. virt-manager è in grado di eseguire compiti di gestione della virtualizzazione incluso:


virt-manager. Il campo UUID mostra l'identificatore unico globale per le macchine virtuali.

virt-manager
dom0) (127.0.0.1). Tale comportamento assicura l'accesso a virt-manager ed alla macchina virtuale attraverso VNC, solo a coloro che possiedono privilegi per la shell.
virt-manager per inviare le suddette sequenze. È necessario premere qualsiasi tasto modificatore (come Ctrl o Alt) 3 volte, così facendo il tasto specificato verrà considerato attivo fino a quando non verrà premuto il modificatore successivo. A questo punto sarà possibile inviare Ctrl-Alt-F11 al guest inserendo la sequenza dei tasti 'Ctrl Ctrl Ctrl Alt+F1'.
virt-manager aprire il menu fare clic su e selezionare (virt-manager).
virt-manager.

virt-managervirt-manager può essere avviato in modo remoto usando ssh come indicato dal seguente comando:
ssh -X host's address[remotehost]# virt-manager
L'utilizzo di ssh per la gestione delle macchine virtuali e degli host viene affrontato nella Sezione 13.1, «Gestione remota con SSH».




























DHCP


Indice
ftpdftpdvirsh per impostare un guest, TestServer, per un avvio automatico all'avvio dell'host.
# virsh autostart TestServer
Dominio TestServer contrassegnato come autostarted
--disable
# virsh autostart --disable TestServer
Dominio TestServer non contrassegnato più come autostarted
Installare il pacchetto KVM
# yum install kvm
Verificare quale kernel è in esecuzione
uname per determinare quale kernel è in esecuzione:
$ uname -r 2.6.23.14-107.fc8xen
2.6.23.14-107.fc8xen" è in esecuzione sul sistema. Se il kernel predefinito, "2.6.23.14-107.fc8", è in esecuzione sul sistema è possibile saltare la fase secondaria.
Modifica del kernel Xen nel kernel predefinito
grub.conf determina quale kernel è stato avviato. Per modificare il kernel predefinito modificare il file /boot/grub/grub.conf come di seguito indicato.
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.14-107.fc8)
root (hd0,0)
kernel /vmlinuz-2.6.23.14-107.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.23.14-107.fc8.img
title Fedora (2.6.23.14-107.fc8xen)
root (hd0,0)
kernel /xen.gz-2.6.23.14-107.fc8
module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
module /initrd-2.6.23.14-107.fc8xen.img
0 (o sul numero per il kernel predefinito):
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.14-107.fc8)
root (hd0,0)
kernel /vmlinuz-2.6.23.14-107.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.23.14-107.fc8.img
title Fedora (2.6.23.14-107.fc8xen)
root (hd0,0)
kernel /xen.gz-2.6.23.14-107.fc8
module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
module /initrd-2.6.23.14-107.fc8xen.img
Eseguire un riavvio per caricare il nuovo kernel
$ lsmod | grep kvm kvm_intel 85992 1 kvm 222368 2 ksm,kvm_intel
kvm ed il modulo kvm_intel o kvm_amd saranno presenti se la procedura è stata corretta.
Installare i pacchetti Xen
# yum install kernel-xen xen
Verificare quale kernel è in esecuzione
uname per determinare quale kernel è in esecuzione.
$ uname -r 2.6.23.14-107.fc8
2.6.23.14-107.fc8" è in esecuzione sul sistema. Questo è il kernel predefinito. Se il kernel presenta xen alla fine (per esempio 2.6.23.14-107.fc8xen) allora risulterà in esecuzione il kernel Xen; a tal proposito è possibile saltare la fase secondaria.
Modifica del kernel predefinito in kernel Xen
grub.conf determina quale kernel è stato avviato. Per modificare il kernel predefinito modificare il file /boot/grub/grub.conf come di seguito indicato.
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.14-107.fc8)
root (hd0,0)
kernel /vmlinuz-2.6.23.14-107.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.23.14-107.fc8.img
title Fedora (2.6.23.14-107.fc8xen)
root (hd0,0)
kernel /xen.gz-2.6.23.14-107.fc8
module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
module /initrd-2.6.23.14-107.fc8xen.img
1 (o il numero corrispondente per il kernel Xen):
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.14-107.fc8)
root (hd0,0)
kernel /vmlinuz-2.6.23.14-107.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.23.14-107.fc82.6.23.14-107.fc8.img
title Fedora (2.6.23.14-107.fc8xen)
root (hd0,0)
kernel /xen.gz-2.6.23.14-107.fc8
module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
module /initrd-2.6.23.14-107.fc8xen.img
Eseguire un riavvio per caricare il nuovo kernel
uname:
$ uname -r 2.6.23.14-107.fc8xen
xen è presente alla fine dell'output allora il kernel in esecuzione sarà Xen.
qemu-img viene usato per la formattazione di vari file system usati da Xen e KVM. qemu-img deve essere usato per la formattazione delle immagini del guest virtualizzato, dei dispositivi di storage aggiuntivi e per lo storage di rete. Le opzioni qemu-img ed il loro utilizzo sono riportati di seguito.
# qemu-img create [-6] [-e] [-b base_image] [-f format] filename [size]
# qemu-img convert [-c] [-e] [-f format] filename [-O output_format] output_filename
qcow o cow. I settori vuoti sono rilevati ed eliminati dall'immagine di destinazione.
info mostra le informazioni relative all'immagine del disco. Il formato per l'opzione info è il seguente:
# qemu-img info [-f format] filename
rawqemu-img info per sapere la dimensione reale usata dall'immagine o ls -ls su Unix/Linux.
qcow2qcowcowcow viene incluso solo per compatibilità con le versioni precedenti. Non funziona con Windows.
vmdkclooppdflush, verrà avviato il processo di eliminazione. pdflush eliminerà i processi per liberare la memoria necessaria in modo da evitare un arresto inaspettato del sistema. pdflush in questo caso potrebbe eliminare i guest virtualizzati o altri processi del sistema, causando la generazione di errori del file system e lasciando i guest virtualizzati non avviabili.
(0.5 * RAM) + (overcommit ratio * RAM) = Dimensione partizione swap consigliata
/etc/grub.conf in modo da usare il kernel di virtualizzazione. È necessario utilizzare il kernel xen per utilizzare l'hypervisor Xen. Copiate la voce del kernel xen esistente, ed assicuratevi di copiare tutte le righe importanti o il vostro sistema potrebbe entrare in uno stato di panic durante il processo d'avvio (initrd avrà una durata di 0). È necessario specificare i valori specifici dell'hypervisor per aggiungerli sulla riga di xen della voce relativa a grub.
grub.conf di un sistema sul quale viene eseguito il pacchetto kernel-xen. grub.conf sul vostro sistema potrebbe variare. La parte più importante nell'esempio è la sezione corrispondente alla riga title fino alla nuova riga successiva.
#boot=/dev/sda
default=0
timeout=15
#splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
terminal --timeout=10 serial console
title Fedora (2.6.23.14-107.fc8xen)
root (hd0,0)
kernel /xen.gz-2.6.23.14-107.fc8 com1=115200,8n1
module /vmlinuz-2.6.23.14-107.fc8xen ro root=/dev/VolGroup00/LogVol00
module /initrd-2.6.23.14-107.fc8xen.img
grub.conf...grub.conf potrebbe essere molto diverso se è stato manualmente modificato o copiato da un esempio.
dom0_mem=256M sulla riga xen all'interno del vostro grub.conf. Una versione modificata del file di configurazione di grub nell'esempio precedente:
#boot=/dev/sda
default=0
timeout=15
#splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
terminal --timeout=10 serial console
title Fedora (2.6.23.14-107.fc8xen)
root (hd0,0)
kernel /xen.gz-2.6.23.14-107.fc8 com1=115200,8n1 dom0_mem=256MB
module /vmlinuz-2.6.23.14-107.fc8xen ro
root=/dev/VolGroup00/LogVol00
module /initrd-2.6.23.14-107.fc8xen.img
$ grep -E 'svm|vmx' /proc/cpuinfo
vmx la quale indica un processore Intel con estensioni Intel VT:
flags : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush
dts acpi mmx fxsr sse sse2 ss ht tm syscall lm constant_tsc pni monitor ds_cpl
vmx est tm2 cx16 xtpr lahf_lm
svm la quale indica un processore AMD con estensioni AMD-V:
flags : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush
mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni cx16
lahf_lm cmp_legacy svm cr8legacy ts fid vid ttp tm stc
flags:" potrebbe apparire numerose volte per ogni hyperthread, core o CPU sul sistema.
#!/bin/bash
declare -i IS_HVM=0
declare -i IS_PARA=0
check_hvm()
{
IS_X86HVM="$(strings /proc/acpi/dsdt | grep int-xen)"
if [ x"${IS_X86HVM}" != x ]; then
echo "Guest type is full-virt x86hvm"
IS_HVM=1
fi
}
check_para()
{
if $(grep -q control_d /proc/xen/capabilities); then
echo "Host is dom0"
IS_PARA=1
else
echo "Guest is para-virt domU"
IS_PARA=1
fi
}
if [ -f /proc/acpi/dsdt ]; then
check_hvm
fi
if [ ${IS_HVM} -eq 0 ]; then
if [ -f /proc/xen/capabilities ] ; then
check_para
fi
fi
if [ ${IS_HVM} -eq 0 -a ${IS_PARA} -eq 0 ]; then
echo "Baremetal platform"
fi
virsh capabilites.
macgen.py. Ora dalla directory in questione è possibile eseguire lo script usando ./macgen.py, generando così un nuovo indirizzo MAC. Un esempio di output dovrebbe somigliare al seguente:
$ ./macgen.py
00:16:3e:20:b0:11
#!/usr/bin/python
# macgen.py script to generate a MAC address for virtualized guests on Xen
#
import random
#
def randomMAC():
mac = [ 0x00, 0x16, 0x3e,
random.randint(0x00, 0x7f),
random.randint(0x00, 0xff),
random.randint(0x00, 0xff) ]
return ':'.join(map(lambda x: "%02x" % x, mac))
#
print randomMAC()
python-virtinst per generare un nuovo indirizzo MAC e UUID, per un utilizzo all'interno del file di configurazione:
# echo 'import virtinst.util ; print\ virtinst.util.uuidToString(virtinst.util.randomUUID())' | python # echo 'import virtinst.util ; print virtinst.util.randomMAC()' | python
#!/usr/bin/env python # -*- mode: python; -*- print "" print "New UUID:" import virtinst.util ; print virtinst.util.uuidToString(virtinst.util.randomUUID()) print "New MAC:" import virtinst.util ; print virtinst.util.randomMAC() print ""
ftpdvsftpd fornisce l'accesso necessario agli alberi d'installazione per i guest paravirtualizzati o altri dati. Se non è stato ancora installato vsftpd durante l'installazione del server, è possibile ottenere il pacchetto RPM dalla directory Server del dispositivo d'installazione, ed installarlo usando rpm -ivh vsftpd*.rpm (da notare che il pacchetto RPM deve essere presente all'interno della directory corrente).
vsftpd, modificate /etc/passwd usando vipw, e cambiate la home directory dell'utente ftp con la directory che utilizzerete per conservare gli alberi d'installazione per i guest para-virtualizzati. Un esempio di voce per l'utente FTP sarà simile alla seguente:
ftp:x:14:50:FTP User:/xen/pub:/sbin/nologin
vsftpd durante l'avvio del sistema, usare la utilità chkconfig per abilitare vsftpd a questo procedimento.
vsftpd non sia stato abilitato usando chkconfig --list vsftpd:
$ chkconfig --list vsftpd vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
chkconfig --levels 345 vsftpd on per avviare vsftpd automaticamente per i runlevel 3, 4 e 5.
chkconfig --list vsftpd per verificare che vsftdp sia stato abilitato all'avvio durante il processo di boot del sistema:
$ chkconfig --list vsftpd vsftpd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
service vsftpd start vsftpd per l'avvio del servizio vsftpd:
$service vsftpd start vsftpd Starting vsftpd for vsftpd: [ OK ]
udev per l'implementazione della persistenza LUN. Prima di implementare la persistenza LUN nel sistema, assicurarsi di aver acquisito gli UUID corretti. Fatto questo, sarà possibile configurare la persistenza LUN modificando il file scsi_id il quale risiede nella directory /etc . Una volta aperto il file con un editor di testo, decommentate la seguente riga:
# options=-b
# options=-g
scsi_id:
# scsi_id -g -s /block/sdc *3600a0b80001327510000015427b625e*
20-names.rules nella directory /etc/udev/rules.d Le regole usate per nominare il dispositivo devono seguire il seguente formato:
# KERNEL="sd*", BUS="scsi", PROGRAM="sbin/scsi_id", RESULT="UUID", NAME="devicename"
UUID e devicename con la voce dell'UUID sopra riportato. Quindi la regola dovrebbe somigliare alla seguente:
KERNEL="sd*", BUS="scsi", PROGRAM="sbin/scsi_id", RESULT="3600a0b80001327510000015427b625e", NAME="mydevicename"
/dev/sd* in modo da controllare l'UUID dato. Una volta trovato un dispositivo corrispondente, esso creerà un nodo del dispositivo chiamato /dev/devicename. Per questo esempio il nodo del dispositivo è /dev/mydevice . Per finire, sarà necessario aggiungere al file /etc/rc.local la seguente stringa:
/sbin/start_udev
multipath.conf che risiede nella directory /etc/:
multipath {
wwid 3600a0b80001327510000015427b625e
alias oramp1
}
multipath {
wwid 3600a0b80001327510000015427b6
alias oramp2
}
multipath {
wwid 3600a0b80001327510000015427b625e
alias oramp3
}
multipath {
wwid 3600a0b80001327510000015427b625e
alias oramp4
}
/dev/mpath/oramp1, /dev/mpath/oramp2, /dev/mpath/oramp3, e dev/mpath/oramp4. I dispositivi risiederanno nella directory /dev/mpath . I nomi dei LUN resteranno invariati anche dopo aver eseguito diversi processi di riavvio, poichè i suddetti nomi verranno creati sul wwid dei LUN.
/sbin/service smartd stop /sbin/chkconfig --del smartd
uuidgen. Successivamente per le voci vif definire un indirizzo MAC unico per ogni guest (se si copia una configurazione del guest da un guest esistente creare uno script per la sua gestione). Per le informazioni relative al brigde di Xen, se si sposta un file di configurazione del guest esistente su di un nuovo host, sarà necessario aggiornare la voce xenbr in modo da corrispondere alla configurazione di networking locale. Per le voci relative al dispositivo sarà necessario modificare le voci presenti nella sezione 'disk=' per indicare l'immagine del guest corretto.
/etc/sysconfig/network per corrispondere all'hostname del nuovo guest.
HWADDR del file /etc/sysconfig/network-scripts/ifcfg-eth0 per corrispondere all'output generato dal file ifconfig eth0, e se si utilizzano gli indirizzi IP statici, modificare la voce IPADDR.
nameuuiduuidgen. Esempio di output UUID:
$ uuidgen a984a14f-4191-4d14-868e-329906b211e5
vifxenbr, in modo che essa corrisponda alla propria configurazione di networking locale (è possibile ottenere le informazioni del bridge usando il comando brctl show).
disk=, in modo da indicare l'immagine del guest corretto.
/etc/sysconfig/networkHOSTNAME con il nuovo hostname del guest.
/etc/sysconfig/network-scripts/ifcfg-eth0HWADDR con l'output di ifconfig eth0
IPADDR se si usa un indirizzo IP statico.
libvirt.
libvirt.
virsh è in grado di gestire i file di configurazione XML. È possibile utilizzarlo per facilitare lo script di implementazioni molto grandi con opzioni speciali. Sarà possibile aggiungere i dispositivi definiti in un file XML su di un guest paravirtualizzato in esecuzione. Per esempio per aggiungere un file ISO come hdc su di un guest in esecuzione sarà necessario creare un file XML:
# cat satelliteiso.xml
<disk type="file" device="disk">
<driver name="file"/>
<source file="/var/lib/libvirt/images/rhn-satellite-5.0.1-11-redhat-linux-as-i386-4-embedded-oracle.iso"/>
<target dev="hdc"/>
<readonly/>
</disk>
Eseguire virsh attach-device per collegare ISO come hdc ad un guest chiamato "satellite" :
# virsh attach-device satellite satelliteiso.xml
/etc/modprobe.conf. Modificare /etc/modprobe.conf ed aggiungere la seguente riga:
options loop max_loop=64
phy: block device o tap:aio. Per implementare i loop device backed guest per un sistema completamente virtualizzato utilizzare i comandi phy: device o file: file .
cat /proc/cpuinfo | grep vmx svm. Se il comando genera un output ciò indicherà che le estensioni di virtualizzazione sono state abilitate. Se tale output risulta assente ciò indicherà che le estensioni di virtualizzazione o l'impostazione corretta del BIOS potrebbero non essere abilitati.
libvirt.
/usr/share/doc/xen-<version-number>/ è la directory che contiene numerose informazioni sull'hypervisor para-virtualization di Xen, sui tool di gestione associati, presenta altresì numerosi esempi di configurazione, informazioni specifiche sull'hardware, e la documentazione per l'utente upstream di Xen corrente.
man virsh e /usr/share/doc/libvirt-<version-number> — Contiene i sottocomandi e le opzioni per la utility di gestione della macchina virtuale virsh, insieme alle informazioni complete sull'API della libreria di virtualizzazione libvirt.
/usr/share/doc/gnome-applet-vm-<version-number> — La documentazione per l'applet del pannello grafico di GNOME, che controlla e gestisce macchine virtuali in esecuzione in modo locale.
/usr/share/doc/libvirt-python-<version-number> — Fornisce le informazioni sui binding di Python per la libreria libvirt. Il pacchetto libvirt-python permette agli sviluppatori di python di creare i programmi che interfacciano la libreria di gestione della virtualizzazione libvirt.
/usr/share/doc/python-virtinst-<version-number> — Fornisce la documentazione sul comando virt-install di ausilio durante l'avvio delle installazioni di Fedora e delle distribuzioni Linux all'interno delle macchine virtuali.
/usr/share/doc/virt-manager-<version-number> — Fornisce una documentazione sul Virtual Machine Manager, il quale fornisce un tool grafico per la gestione delle macchine virtuali.
| Diario delle Revisioni | |||
|---|---|---|---|
| Revisione 12.1.3 | Mon Oct 12 2009 | ||
| |||
dom0 si riferisce all'istanza dell'host di Linux che esegue Hypervisor, il quale facilita il processo di virtualizzazione dei sistemi operativi guest. Dom0 viene eseguito su, e gestisce, l'hardware fisico e l'assegnazione delle risorse per se e per i sistemi operativi guest.
domU si riferisce al sistema operativo guest il quale viene eseguito sul sistema host (Domains).
ext2 e ext3, identificatori per dispositivi RAID, identificatori per dispositivi iSCSI e LUN, indirizzi MAC ed identificatori per macchine virtuali.

