Creare una partizione con i Logical Domain (LDom)
Sui sistemi CoolThreads (come i Sun Fire T1000 e T2000) Sun ha reso gratuitamente disponibile i Logical Domain (LDom), una tecnologia che permette di partizionarr logicamente le risorse. All'interno di tali partizioni è possibile installare un sistema su tutti i sistemi, sia in architettura SPARC che x86/x64.
Per predisporre un sistema e scaricare il software di gestione degli LDom è sufficiente seguire questo link.
Installati l'LDom Manager ed il Security Toolkit, si può partire con il partizionamento. Il primo passo è di ridurre le risorse associate al dominio principale (l'unico ad oggi presente sul sistema) per renderle disponibili per le nuove partizioni.
# pkgadd SUNWldm
# svcadm ldmd start
Quando l'LDom Manager è attivo si possono cominciare ad utilizzare i comandi di gestione:
# ldm list
Ora vi è solo un dominio attivo e tale dominio utilizza tutte le risorse disponibili. Per iniziare aggiungiamo i servizi di base del Control Domain, ovvero un Disk Server, un Virtual Switch ed una Virtual Console:
# ldm add-vdiskserver primary-vds0 primary
Il Disk Server pemette la condivisione di device virtuali ai domini guest, che utilizzeranno in questa configurazione un I/O virtualizzato attraverso il Control Domain.
# ldm add-vswitch net-dev=e1000g0 primary-vsw0 primary
Il Virtual Switch crea un canale di comunicazione Layer 2 tra i guest domain. Serve un Virtual Switch per ogni rete (logica) aggiunta all'interno del sistema.
# ldm add-vconscon port-range=5000-5100 primary-vcc0 primary
Le console per i domini guest sono fornite come un servizio del Control Domain e le porte di rete sono assegnate in modo sequenziale nel range deinito, quindi in questo caso il primo guest domain userà la porta 5000.
Adesso assegnamo un insieme ridotto di risorse al dominio primario (il Control Domain). Tutte le risorse non assegnate faranno parte di un pool disponibile per gli altri domini (guest).
# ldm set-crypto 1 primary
# ldm set-vcpu 4 primary
# ldm set-mem 1g primary
Con questi comandi abbiamo assegnato al Control Domain 1 MAU (acceleratore crittografico), 4 vCPU (4 hardware thread dei 32 disponibili su un sistema con 1 processore UltraSPARC T1) ed 1 GB di memoria (RAM).
# ldm add-config initial
In questo modo abbiamo salvato la configurazione attuale nel Service Processor del sistema e possiamo riavviarlo per attivare i cambiamenti ed attivare i servizi di Virtual Terminal.
# shutdown -i6 -g0 -y
# svcadm enable vntsd
Al termine del reboot il sistema avrà 4 CPU ed 1 GB RAM. Possiamo ora definire il primo guest domain utilizzando le risorse disponibili:
# ldm create domain1
# ldm set-vcpu 2 domain1
# ldm set-mem 2g domain1
Questo dominio avrà quindi 2 CPU e 2 GB RAM.
# ldm add-vnet vnet1 primary-vsw0 domain1
Il dominio è ora connesso al Virtual Switch precedentemente creato.
# ldm add-vdiskserverdevice /dev/dsk/<some_device> vol1@primary vds0
# ldm add-vdisk vdisk0 vol1@primary-vds0 domain1
Dobbiamo ora fornire un device da utilizzare come disco di boot per il nuovo dominio. Possiamo utilizzare un disco intero (interno o esterno), uno slice di un disco, un volume ZFS o anche un file (come immagine di un disco). Su tale device sarà poi possibile installare Solaris (o Linux). Per i successivi domini sarà possibile copiare/clonare tale device in modo da rendere ancora più rapida l'installazione (e usare il clone di ZFS per risparmiare spazio).
Per poter utilizzare il nuovo dominio è necessario effettuare il "bind" delle risorse, in modo da riservarle per un uso esclusivo anche se il dominio non è ancora attivo.
# ldm bind domain1
E' possibile salvare la configurazione attuale con un altro nome, ed avere differenti configurazioni in modo da poter passare dall'una all'altra:
# ldm add-config config1
Per attivare il dominio, il comando è il seguente:
# ldm start domain1
Ora possiamo entrare in console nel dominio, effettuare il boot su un immagine esistente o installare il sistema oprativo tramite Jumpstart. Si possono anche configurare le variabili dell'open boot, come il boot device, l'auto boot del dominio, ecc. Ulteriori informazioni sono indicate nell'Administration Guide.
E' importante sottolineare che è possibile aggiungere o rimuovere vCPU a caldo da un dominio attivo (sia il primario che quelli creati in seguito) con il comando:
# ldm {add-vcpu|remove-vcpu} <number> domain1
Posted at 05:58PM set 14, 2007
by danilop in Sun |
Ciao e' un articolo molto interessante non avresti altri esempi da consigliarmi, in particolare come integrare il nuovo supporto per sun cluster 3.2 e gli LDom?
Posted by Fabrizio Cardarello on ottobre 10, 2007 at 10:47 AM CEST #
Ciao, per il supporto degli LDom con Sun/Solaris Cluster 3.2 ti consiglio questi link:
http://blogs.sun.com/sc/entry/announcing_solaris_cluster_support_in
http://wikis.sun.com/display/SunCluster/Support+of+LDOM+IO+domains
Posted by Danilo Poccia on ottobre 10, 2007 at 11:03 AM CEST #
Ciao grazie per i link ma li conosco gia, infatti tutto e' nato perche' oggi ho letto sul sun oasis l'articolo che mi hai consigliato, facendo un po' di ricerche sono capitato sul tuo blog e mi chiedevo se non avevi un how to al riguardo.
Posted by Fabrizio Cardarello on ottobre 10, 2007 at 11:50 AM CEST #
Il supporto attuale di Sun/Solaris Cluster con gli LDom vale solo per gli I/O domain (i domini che vedono direttamente un bus PCI). Io penso che in tali domini non vi dovrebbero essere differenze rispetto ad un dominio fisico o ad un sistema standalone.
Posted by Danilo Poccia on ottobre 12, 2007 at 05:05 PM CEST #
Ciao Danilo,
siamo stati colleghi SUN tra il 2001 ed il 2004.Cercando info su LDOM sono capitato nel tuo blog.
Mi fa' sempre piacere sapere che in SUN sono presenti persone di alto profilo come te e che rendono pubbliche le loro conoscenze.
Un abbraccio,
Stefano Rosi
Posted by Stefano Rosi on giugno 11, 2008 at 12:07 PM CEST #
Ciao,
complimeti per il tutorial, volevo sapere se era possibile installare su una solaris10 una solaris8 (guest) mediante cdrom ? hai avuto esperienze in merito ? Volevo provare gli LDOM dato che ho avuto una grossa delusione su come vengono gestite le shede di rete medinate le zone solaris.Ci sono delle limitazioni perl le shede di rete tipo rotte che devono essere assegnate ad dominio virtualizzante per fa funzione le macchine virtualizzate o la gestione è indipendete ?
Grazie
Posted by Gian Paolo on maggio 07, 2009 at 03:55 PM CEST #
Ciao Gian Paolo, con gli LDom non puoi installare Solaris 8 in un guest, perché Solaris 8 non supporta l'HW dei sistemi UltraSPARC di classe "T". Per installare un guest Solaris 10 puoi invece esportare il CD/DVD dal control domain a partire dalla versione 1.1 degli LDom. Per avere la compatibliltà all'indietro devi usare i Solaris 8 e 9 Container. La configurazione della rete con le zone è stata molto migliorata nel tempo, in particolare con l'ip-type exclusive (con cui puoi dedicare schede fisiche o di VLAN ad una zona) e più recentemente con la possibilità di impostare un default router a livello di zona con l'ip-type shared.
Posted by Danilo Poccia on maggio 07, 2009 at 05:34 PM CEST #
Ciao Danilo,
ti ringrazio della risposta celere, quindi dimmi se una di queste due strade può andare bene:
1) ho una T5220 sulla quale instalalre Solaris10, LDOM e gli configuro vari vswN su vlan differenti. Creo un primo dominio guest (LDOM1) e ci installo solaris 10. A questo pundo su LDOM1 creo le varie zone Solaris8/9 e gli assegno come ip exclusive le interfacce vswN...
2) Installo Solaris10, LDOM e gli configuro vari vswN su vlan differenti, quindi creo varie zone Solaris8/9/10 e gli assegno come ip exclusive le interfacce vswN...
Sai la nostra necessità è quella di avere un ambiente unico di virtualizzazione, ovvero su una sola macchina installare tutti i tipi di solaris per sparc senza avere la limitazione per le interfacce di rete cioè quella di non poter avere varie zone (sulla stessa vlan) con rotte differenti, cosa che Crossbow mi avrebbe risolto.
Grazie mille ancora
Posted by Gian Paolo on maggio 08, 2009 at 11:15 AM CEST #
Anche se tecnicamente entrambe le strade sono percorribili, io propenderei per la 1, evitando di creare zone nel control domain degli LDom.
Per poter usare Crossbow e Solaris 10 Container si dovrà attendere questo progetto:
http://opensolaris.org/os/project/s10brand
Qui trovi altre info sull'iniziativa:
http://blogs.sun.com/lunchware/entry/solaris_10_containers_for_opensolaris
Posted by Danilo Poccia on maggio 08, 2009 at 11:23 AM CEST #
Ultima domanda e nn rompo più :) ... è possibile creare + vswN su una sola NIC ? Nel senso ho 3 vlan le plumbo (hme11000,hme12000,hme13000)
quindi creo + vsw1,vsw2,vsw3 sulla stessa interfaccia hme11000 ?
Grazie Gian Paolo
Posted by Gian Paolo on maggio 08, 2009 at 12:10 PM CEST #