Vous êtes sur la page 1sur 21

Logical Domain consiste en una solucin intermedia, entre la zonas y los dominios

hardware. Podemos asignar una serie de recursos HW de la mquina, para que sean
compartidos o no, entre varios dominios, cada uno de estos dominios con su propio SO.
LDoms se basa una capa intermedia entre el HW y el SO, dicha capa es conocida por el
nombre de Hypervisor. El Hypervisor permite que se pueda crear varias mquinas
virtuales, compartiendo el HW disponible en el sistema. Con esta nueva capa, el SO no
necesita conocer qu HW est disponible en la mquina, siendo el Hypervisor el que
realiza todo el trabajo.
LDoms, actualmente solo est soportado en las siguiente plataformas:
Sun Fire T1000 / T2000 Server.
Netra T2000 Server.
Netra CP3060 Blade.
Sun Blade T6300 Server Module.
IMPORTANTE - Este artculo no pretende ser un manual de instalacin de LDoms,
hay documentacin especfica para este fin. En el artculo he intentado reflejar mi
experiencia durante la instalacin en un entorno especfico, como es una mquina
T1000 sin CDROM. Durante la instalacin me encontr con una serie de
inconvenientes, los cuales he reflejado aqu, por si pueden ayudar a alguien.

Arquitectura de LDoms
No vamos a emplear mucho tiempo para describir la arquitectura de la tecnologa de
LDoms, ya que existen varios documentos que la explican perfectamente:
The Beginners Guide to Logical Domains.
Logical Domains Administration Guide
Pero aunque no vamos a entrar en profundidad, vamos a dar una serie de pinceladas,
que nos permitirn ejecutar los ejemplos del artculo. Existen 4 componentes
principales:
Control Domain, es el encargado de gestionar los distintos dominios lgicos.
Service Domain, se encarga de gestionar los dispositivos virtuales, tales como
los discos.
I/O Domain, se encarga de gestionar la entrada/salida de los dispositivos.
Guest Domain, es cada uno de los dominios lgicos que creemos.
Una vez que configuremos el Control Domain, podremos crear distintos dominios
lgicos (Guest Domain), a cada uno de estos dominios, podemos asignarles distintos
tipos de dispositivos como son:
vcpu.
mem.
vnet, virtual network devide.
vsw, virtual network switch.
vdc, virtual disk client.
vds, virtual disk server.

Por lo tanto, un dominio lgico podr disponer de un nmero de CPUs virtuales, una
cantidad de memoria, una o varias interfaces virtuales de red y uno o varios discos
virtuales.

Bajar el software de LDoms


Vamos a instalar LDoms en una mquina T1000, la cual dispone de un procesador T1.
Los procesadores T1 estn formados por 8 cores, con un total de 32 threads de
procesamiento simultaneos. Desde el punto de vista del SO, es como si el sistema
tuviera 32 CPUs. LDoms gestiona estas 32 CPUs, asignndolas a los distintos dominio
lgicos.
Pero el primer paso para instalar LDoms en nuestra mquina, es bajar el software de la
web de Sun. Podemos bajar un fichero zip con la actual versin de LDoms aqu. Una
vez que hemos bajado el software, lo copiaremos en nuestra mquina T1000 y
procederemos a descomprimirlo.
Para comenzar con la instalacin, debemos ejecutar el script install-ldm, pero antes,
deberamos comprobar si nuestro sistema cumple con todos los requerimientos
necesarios para que LDoms funcione correctamente. Sobre todo, debemos comprobar la
versin de firmware del sistema, para esto podemos acceder a la ALOM de la mquina.
login as: admin
Copyright 2006 Sun Microsystems, Inc.
Use is subject to license terms.

All rights reserved.

Sun(tm) Advanced Lights Out Manager CMT v1.3.1


Please login: admin
Please Enter password: *****
sc>
sc> showhost
Sun-Fire-T1000 System Firmware 6.3.1

2006/12/04 09:36

Host flash versions:


Hypervisor 1.3.0 2006/11/10 06:35
OBP 4.25.0 2006/11/07 23:23
POST 4.25.0 2006/11/08 00:09
sc> showkeyswitch
Keyswitch is in the NORMAL position.

Uno de los requisitos para que LDoms funcione correctamente despus de la instalacin
es que nuestra mquina posea una versin de firmware 6.4 o posterior, podemos ver en
la salida del comando showhost en la SC, la mquina en la que estamos instalando
LDoms posee una versin de firmware 6.3.1, por lo tanto tendremos que actualizar el
firmware del sistema, para que LDoms funcione correctamente.
Para actualizar el firmware de la mquina tenemos varios mtodos, vamos a hacerlo
utilizando un servidor FTP en otra mquina. El primer paso ser bajar el parche 12640002 y descomprimirlo en el servidor FTP. Para el ejemplo, he utilizado mi cuenta en la
mquina con IP 192.168.33.241 y el directorio donde he descomprimido el parche es
/export/home/jjmora/LDOM/126400-02/.

Ahora podemos volver a la consola de la mquina T1000 para comenzar la


actualizacin del firmware. Ejecutaremos el comando:
flashupdate -s < ip_server_ftp > -f < fichero_firmware>
Para nuestro ejemplo.
>
> flashupdate -s 192.168.33.241 -f /export/home/jjmora/LDOM/12640002/Sun_System_Firmware-6_4_6-Sun_Fire_T1000.bin
Username: jjmora
Password: *******
SC Alert: System poweron is disabled.
......................................................................
..................
......................................................................
........
Update complete. Reset device to use new software.
SC Alert: SC firmware was reloaded
sc> showhost
Sun-Fire-T1000 System Firmware 6.4.6

2007/06/24 18:43

Host flash versions:


Hypervisor 1.4.1 2007/04/02 16:37
OBP 4.26.1 2007/04/02 16:25
POST 4.26.0 2007/03/26 16:46
sc> resetsc
Are you sure you want to reset the SC [y/n]?
User Requested SC Shutdown

Ya hemos actualizado nuestro firmware con la versin 6.4.6, ahora podemos continuar
con la instalacin de LDoms. Hemos descomprimido el paquete con la ltima versin,
actualmente es la 1.0.
root@t1000 # pwd
/export/home/jjmora/LDOM/LDoms_Manager-1_0-RR
root@t1000 # ls
Install Legal
Product README
root@t1000 # ./Install/install-ldm
Welcome to the LDoms installer.
You are about to install the domain manager package that will enable
you to create, destroy and control other domains on your system. Given
the capabilities of the domain manager, you can now change the
security
configuration of this Solaris instance using the Solaris Security
Toolkit.
Select a security profile from this list:
a) Hardened Solaris configuration for LDoms (recommended)
b) Standard Solaris configuration
c) Your custom-defined Solaris security configuration profile
Enter a, b, or c [a]: a
The changes made by selecting this option can be undone through the

Solaris Security Toolkit's undo feature. This can be done with the
'/opt/SUNWjass/bin/jass-execute -u' command.
Installing LDoms and Solaris Security Toolkit packages.
pkgadd -n -d "/export/home/jjmora/LDOM/LDoms_Manager-1_0-RR/Product" a pkg_admin SUNWldm.v
Copyright 2007 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
...
Solaris Security Toolkit hardening executed successfully; log file
/var/opt/SUNWjass/run/20070810101627/jass-install-log.txt. It will
not
take effect until the next reboot. Before rebooting, make sure SSH or
the serial line is setup for use after the reboot.
You have new mail in /var/mail/root
root@t1000 #
root@t1000 # init 6

Una vez terminado el proceso de instalacin, reiniciamos la mquina. Cuando la


mquina haya terminado de arrancar, comprobamos que LDoms est levantado.
root@t1000 #
online
root@t1000 #
root@t1000 #
fmri
nombre
habilitada
estado
next_state
state_time
logfile
reiniciador
contract_id
dependency
root@t1000 #

svcs | grep ldm


20:42:42 svc:/ldoms/ldmd:default
svcs -l svc:/ldoms/ldmd:default
svc:/ldoms/ldmd:default
Logical Domain Manager
Verdadero
online
none
Sat Aug 18 20:42:42 2007
/var/svc/log/ldoms-ldmd:default.log
svc:/system/svc/restarter:default
40
require_all/none svc:/system/filesystem/local (online)

Crear los servicios del controlador de dominio


Una vez que hemos instalado el paquete de LDoms, vamos a crear los servicios que
gestionar el controlador de dominio. Lo primero es crear un vds, el servicio para la
gestin de los discos virtuales y se asignar al controlador primary.
root@t1000 # /opt/SUNWldm/bin/ldm add-vds primary-vds0 primary
--------------------------------------------------------------------------Notice: the LDom Manager is running in configuration mode. Any
configuration
changes made will only take effect after the machine configuration is
downloaded to the system controller and the host is reset.
---------------------------------------------------------------------------

Creamos las consolas virtuales que el controlador de dominio asignar a los distintos
dominios lgicos.

root@t1000 # /opt/SUNWldm/bin/ldm add-vcc port-range=5000-5100


primary-vcc0 primary
--------------------------------------------------------------------------Notice: the LDom Manager is running in configuration mode. Any
configuration
changes made will only take effect after the machine configuration is
downloaded to the system controller and the host is reset.
---------------------------------------------------------------------------

Aadimos un virtual switch, para los distintos interfaces virtuales tengan acceso a la
red.
root@t1000 # /opt/SUNWldm/bin/ldm add-vsw net-dev=bge0 primary-vsw0
primary
--------------------------------------------------------------------------Notice: the LDom Manager is running in configuration mode. Any
configuration
changes made will only take effect after the machine configuration is
downloaded to the system controller and the host is reset.
---------------------------------------------------------------------------

Asignamos una MAU (Modular Arithmetic Units) al controlador de dominios.


root@t1000 # /opt/SUNWldm/bin/ldm set-mau 1 primary
--------------------------------------------------------------------------Notice: the LDom Manager is running in configuration mode. Any
configuration
changes made will only take effect after the machine configuration is
downloaded to the system controller and the host is reset.
---------------------------------------------------------------------------

De todas las CPUs del sistema, dedicaremos 4 al dominio primary.


root@t1000 # /opt/SUNWldm/bin/ldm set-vcpu 4 primary
--------------------------------------------------------------------------Notice: the LDom Manager is running in configuration mode. Any
configuration
changes made will only take effect after the machine configuration is
downloaded to the system controller and the host is reset.
---------------------------------------------------------------------------

Asignamos 1024MB de memoria al dominio primary.


root@t1000 # /opt/SUNWldm/bin/ldm set-memory 1024m primary
--------------------------------------------------------------------------Notice: the LDom Manager is running in configuration mode. Any
configuration
changes made will only take effect after the machine configuration is
downloaded to the system controller and the host is reset.

---------------------------------------------------------------------------

Ahora debemos guardar los cambios en un fichero de configuracin. Para ver los
ficheros disponibles podemos ejecutar el comando:
root@t1000 # ldm list-spconfig
factory-default [current]

Guardamos nuestra configuracin con el nombre de config_01


root@t1000 # ldm add-spconfig config_01
root@t1000 #
root@t1000 # ldm list-spconfig
factory-default [current]
config_01 [next]
root@t1000 #

Rebotamos la mquina para que el controlador de dominios acepte los nuevos cambios
que hemos introducido.
root@t1000 # init 6

Una vez que la mquina haya arrancado, podemos comprobar los nuevos parmetros
que hemos aadido al controlador de dominios primary.
root@t1000 # ldm list-domain
Name
State
Flags
primary
active
-t-cv
root@t1000 #

Cons
SP

VCPU
4

Memory
1G

Util
0.1%

Uptime
4m

Crear los dominios lgicos


En el apartado anterior, hemos creados la infraestructura bsica en el controlador de
dominio para poder dar servicio a los distintos dominios lgicos que vayamos a crear.
Para nuestro ejemplo, vamos a crear 2 dominios lgicos con las siguientes
caractersticas:
t1000-01, con 4 CPUs, 312MB de memoria y un disco de 512MB
t1000-02, con 2 CPUs, 300MB de memoria y un disco de 512MB
La mquina con la que estamos trabajando no posee unidad de CDROM, esto nos
obligar a realizar una instalacin del SO en los distintos dominios lgicos, utilizando
un servidor de Jumpstart. El proceso que vamos a seguir los podemos resumir en los
siguientes pasos:
1.- Crear el dominio lgico t1000-01, asignndole 4 CPUs, 312MB de memoria
y como disco de sistema, crearemos un fichero de 512MB.
2.- Configurar el servidor de Jumpstart en el controlador de dominios primario.
3.- Instalar y configurar Solaris 10 en el dominio lgico t1000-01.
4.- Duplicar el fichero de 512MB que el dominio lgico t1000-01 utiliza como
disco de sistema, para crear un nuevo fichero que sirva como disco de sistema al
dominio lgico t1000-02

5.- Crear el dominio lgico t1000-02, asignndole 2 CPUs, 300MB, como disco
de sistema utilizaremos, el fichero que hemos creado en el paso 4.
6.- Arrancar el dominio t1000-02 y cambiar la configuracin del sistema
operativo, IPs, hostname, etc.

Crear el dominio lgico t1000-01


La creacin de un dominio lgico (Guest Domain) es bastante sencilla, tendremos que
aadir el nuevo dominio, asignarle los recursos que deseemos y realizar un bind.
root@t1000
root@t1000
root@t1000
root@t1000

#
#
#
#

ldm
ldm
ldm
ldm

add-domain t1000-01
add-vcpu 4 t1000-01
add-memory 312M t1000-01
add-vnet vnet1 primary-vsw0 t1000-01

Con los comandos anteriores, hemos creado el dominio t1000-01, le hemos asignado 4
CPUs, 312MB de memoria y vamos a utilizar la interfaz de red definida, en el
controlador de dominios primario, con el identificador primary-vsw0. El siguiente paso
ser crear el fichero de 500MB que asignaremos al dominio lgico para que lo utilice
como disco de sistema.
root@t1000 # mkfile 500M /var/LDOM/ldom_bootdisk.img
root@t1000 #
root@t1000 # ldm add-vdsdev /var/LDOM/ldom_bootdisk.img vol1@primaryvds0

Creamos un fichero de 500M y lo asignamos con el identificador vol1 al controlador de


dominios. Ahora tenemos que asignar el nuevo dispositivo al dominio t1000-01.
root@t1000 # ldm add-vdisk vdisk1 vol1@primary-vds0 t1000-01

Ya hemos asignado CPUs, memoria, un disco y una interfaz de red al dominio lgico
t1000-01, ahora solo tenemos que arrancar el nuevo dominio.
root@t1000 # ldm bind-domain t1000-01
root@t1000 # ldm list-domain
Name
State
Flags
Cons
primary
active
-t-cv
SP
t1000-01
bound
----5000

VCPU
4
4

Memory
1G
312M

Util
0.3%

Uptime
1h 4m

root@t1000 # ldm start-domain t1000-01


LDom t1000-01 started
root@t1000 # ldm list
Name
State
Flags
Cons
primary
active
-t-cv
SP
t1000-01
active
-t--5000

VCPU
4
4

Memory
1G
312M

Util
0.2%
100%

Uptime
1h 5m
6s

El nuevo dominio lgico t1000-01 tiene asignado el puerto de consola 5000, podemos
acceder a la consola del dominio t1000-01, utilizando el comando telnet.
root@t1000 # telnet localhost 5000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Connecting to console "t1000-01" in group "t1000-01" ....


Press ~? for control options ..
{0} ok
{0} ok show-devs
/cpu@3
/cpu@2
/cpu@1
/cpu@0
/virtual-devices@100
/virtual-memory
/memory@m0,1000000
/aliases
/options
/openprom
/chosen
/packages
/virtual-devices@100/channel-devices@200
/virtual-devices@100/console@1
/virtual-devices@100/ncp@4
/virtual-devices@100/channel-devices@200/disk@0
/virtual-devices@100/channel-devices@200/network@0
/openprom/client-services
/packages/obp-tftp
/packages/SUNW,asr
/packages/dropins
/packages/terminal-emulator
/packages/disk-label
/packages/deblocker
/packages/SUNW,builtin-drivers
{0} ok
{0} ok show-disks
a) /virtual-devices@100/channel-devices@200/disk@0
q) NO SELECTION
Enter Selection, q to quit: a
/virtual-devices@100/channel-devices@200/disk@0 has been selected.
Type ^Y ( Control-Y ) to insert it in the command line.
e.g. ok nvalias mydev ^Y
for creating devalias mydev for /virtual-devices@100/channeldevices@200/disk@0
{0} ok boot /virtual-devices@100/channel-devices@200/disk@0
Boot device: /virtual-devices@100/channel-devices@200/disk@0 File and
args:
The file just loaded does not appear to be executable.
{0} ok
{0} ok nvalias vdisk1 /virtual-devices@100/channel-devices@200/disk@0
{0} ok boot vdisk1
Sun Fire(TM) T1000, No Keyboard
Copyright 2007 Sun Microsystems, Inc. All rights reserved.
OpenBoot 4.26.1, 300 MB memory available, Serial #66778672.
Ethernet address 0:14:4f:fa:f6:30, Host ID: 83faf630.
Boot device: /virtual-devices@100/channel-devices@200/disk@0
args:
The file just loaded does not appear to be executable.
{0} ok

File and

Si intentamos arrancar con el disco virtual que tiene asignado el dominio t1000-01, la
respuesta ser parecida a la anterior, ya que an no hemos instalado un SO en este

dominio lgico. Ahora procederemos con la instalacin de Solaris 10 en el disco del


dominio lgico, como ya hemos comentado antes, vamos a necesitar un servidor
Jumpstart para poder realizar la instalacin.

Configuracin rpida de un servidor de Jumpstart


Esto no pretende ser una gua de instalacin de un servidor de Jumpstart, existe
muchsima documentacin que trata de forma ms profunda los entresijos de un
servidor de instalacin. Aqu solo veremos de forma rpida, cmo podemos configurar
el controlador de dominios primary para que acte como servidor de instalacin de
Solaris 10.

Discos de Solaris 10
El primer paso ser conseguir los discos de instalacin de Solaris 10. La mquina
T1000 que estamos utilizando no dispone de unidad de CDROM, por lo que tendremos
que subir las imgenes ISO de los CDROMs. Lo que hemos hecho es bajar la imagen
ISO del disco 1 de Solaris 10 de la web de Sun. Para nuestro ejemplo, no necesitaremos
los otros discos, ya que vamos a realizar una instalacin bsica en el dominio lgico
t1000-01. Hemos copiado la imagen en el directorio /ISO/.
root@t1000 # cd /ISO/
root@t1000 # ls
sol-10-u3-ga-sparc-v1.iso
root@t1000 #

Para montar la imagen ISO, utilizaremos el comando lofiadm. El disco 1 de Solaris es


una combinacin de UFS y HSFS, esta combinacin de formatos, no la entiende el
comando lofiadm, por lo que tendremos que crear un nuevo fichero de imagen con
formato UFS.
root@t1000 # dd if=sol-10-u3-ga-sparc-v1.iso of=vtoc bs=512 count=1
1+0 registros dentro
1+0 registros fuera

Creamos un nuevo fichero con la informacin de VTOC de la ISO, con el comando od


obtenemos la informacin del VTOC que necesitaremos para crear la nueva imagen.
root@t1000 # od -D -j 452 -N 8 < vtoc
0000000 0000001071 0000616960
0000010

Con los datos obtenidos, multiplicaremos 1071x640=685440 el resultado lo


utilizaremos en el comando dd en el campo skip=, el valor 0000616960 obtenido de od,
lo utilizaremos en el campo count.
root@t1000 # dd if=sol-10-u3-ga-sparc-v1.iso of=sol-10-u3-ga-sparcv1_s1.iso bs=512 skip=685440 count=616960
616960+0 registros dentro
616960+0 registros fuera
root@t1000 #

Ahora disponemos de dos ficheros con imgenes ISO, uno en formato HSFS y otro en
formato UFS. Usaremos el comando lifoadm para crear los dispositivos que
utilizaremos en el comando mount para montar las imgenes ISO.
root@t1000 #
/dev/lofi/2
root@t1000 #
/dev/lofi/2
root@t1000 #
root@t1000 #
root@t1000 #
root@t1000 #
root@t1000 #
root@t1000 #
root@t1000 #
Copyright
root@t1000 #
root@t1000 #
a
platform
bin
sbin
root@t1000 #

lofiadm -a /ISO/sol-10-u3-ga-sparc-v1.iso
lofiadm -a /ISO/sol-10-u3-ga-sparc-v1_s1.iso
mkdir /mnt/s0
mkdir /mnt/s1
mount -F hsfs /dev/lofi/1 /mnt/s0/
mount -F ufs /dev/lofi/2 /mnt/s1/
ls /mnt/s0
JDS-THIRDPARTYLICENSEREADME
ls /mnt/s1
cdrom
reconfigure
dev
tmp

devices
system
etc
var

kernel
usr
lib

Solaris_10

mnt
opt

proc

Instalando el servidor de Jumpstart


Ya tenemos montadas las imgenes ISO del disco 1 de instalacin, ahora solo nos queda
configurar el controlador de dominios para que actue como un servidor de instalaciones.
Aunque no es necesario an, vamos a aadir las IPs de los 2 nuevos dominios lgicos al
fcihero /etc/hosts.
#
# Internet host table
#
127.0.0.1
localhost
192.168.29.40
t1000
loghost
192.168.29.42 t1000-01
192.168.29.43 t1000-02

Crearemos un directorio, que el servidor de Jumpstart utilizar para almacenar los SO


que se utilizarn para las instalaciones. Para configurar el servidor debemos ejecutar el
script setup_install_server que est en el directorio Tools montado en /mnt/s0/.
root@t1000 # cd /mnt/s0/Solaris_10/Tools/
root@t1000 # ls
add_install_client
dial
rm_install_client
Boot
miniroot_extra
setup_install_server
root@t1000 # mkdir /var/INSTALL_JUMPSTART
root@t1000 # ./setup_install_server -b /var/INSTALL_JUMPSTART
Verifying target directory...
Calculating space required for the installation boot image
Copying Solaris_10 Tools hierarchy...
Copying Install Boot Image hierarchy...
Install Server setup complete
root@t1000 #

Configurando un cliente en el servidor Jumpstart


Ya est el servidor configurado, aunque falta decirle qu mquinas clientes lo van a
utilizar para sus instalaciones de SO. Ejecutaremos el script add_install_client con los
siguientes parmetros.
root@t1000 # cd /mnt/s0/Solaris_10/Tools/
root@t1000 # ./add_install_client -d -e 0:14:4f:f9:ad:c3 -s
t1000:/var/INSTALL_JUMPSTART/ sun4v
Adding "share -F nfs -o ro,anon=0 /var/INSTALL_JUMPSTART/" to
/etc/dfs/dfstab
Adding "share -F nfs -o ro,anon=0 /mnt/s0/Solaris_10/Tools" to
/etc/dfs/dfstab
Adding "share -F nfs -o ro,anon=0 /mnt/s1" to /etc/dfs/dfstab
copying boot file to /tftpboot/inetboot.SUN4V.Solaris_10-1
To enable 0100144FF9ADC3 in the DHCP server, ensure that
the following Sun vendor-specific options are defined
(SinstNM, SinstIP4, SinstPTH, SrootNM, SrootIP4,
SrootPTH, and optionally SbootURI, SjumpCF and SsysidCF),
and add a macro to the server named 0100144FF9ADC3,
containing the following option values:
Install server
Install server IP
Install server path
Root server name
Root server IP
Root server path
Boot file
root@t1000 #

(SinstNM)
(SinstIP4)
(SinstPTH)
(SrootNM)
(SrootIP4)
(SrootPTH)
(BootFile)

:
:
:
:
:
:
:

t1000
192.168.29.40
/var/INSTALL_JUMPSTART/
t1000
192.168.29.40
/mnt/s0/Solaris_10/Tools/Boot
0100144FF9ADC3

Debemos aadir la MAC de la mquina cliente en el fichero /etc/ethers, en nuestro


caso, la mquina cliente corresponde con el dominio lgico t1000-01. Para conocer la
MAC asignada al dominio lgico t1000-01, debemos ejecutar el comando:
root@t1000 # ldm list-bindings t1000-01
Name:
t1000-01
State: active
Flags: transition
OS:
Util:
0.4%
Uptime: 18h 26m
Vcpu:
4
vid
pid
util strand
0
6
0.3%
100%
1
7
0.0%
100%
2
8
0.1%
100%
3
9
1.4%
100%
Memory: 312M
real-addr
phys-addr
....
Vnet:

Vdisk:

size

vnet1
[LDC: 0x1]
[Peer LDom: t1000-02, mac-addr: 0:14:4f:fa:f6:30]
mac-addr=0:14:4f:f9:ad:c3
service: primary-vsw0 @ primary
[LDC: 0x0]
vdisk1 vol10@primary-vds0

service: primary-vds0 @ primary


[LDC: 0x2]
Vcons: [via LDC:3]
t1000-01@primary-vcc0 [port:5001]
Vldcc: vldcc0 [Domain Services]
service: primary-vldc0 @ primary
[LDC: 0x4]
root@t1000 #

En la seccin Vnet, la lnea mac-addr=0:14:4f:f9:ad:c3 nos informa sobre la MAC del


dominio lgico t1000-01. Una vez que conocemos la MAC, la incluimos en el fichero
/etc/ethers.
root@t1000 # echo "0:14:4f:f9:ad:c3 t1000-01" > /etc/ethers
root@t1000 # echo "t1000-01 root=t1000:/mnt/s0/Solaris_10/Tools/Boot
install=t1000:/var/INSTALL_JUMPSTART/ boottype=:in
rootopts=:rsize=8192" > /etc/bootparams
root@t1000 #

Tambin debemos incluir una lnea en el fichero /etc/bootparams con la informacin


sobre dnde se encuentran los ficheros de arranque e instalacin. El siguiente paso es
asegurarnos que los servicios bootparams, rarp y tftp estn arrancados.
root@t1000
root@t1000
root@t1000
root@t1000
root@t1000
root@t1000
root@t1000
root@t1000
online
root@t1000

#
#
#
#
#
#
#
#

svcadm disbale svc:/network/rpc/bootparams:default


svcadm disbale svc:/network/tftp/udp6:default
svcadm disable svc:/network/rarp:default
svcadm enable svc:/network/rpc/bootparams:default
svcadm enable svc:/network/tftp/udp6:default
svcadm enable svc:/network/rarp:default
svcs | grep rar
20:46:07 svc:/network/rarp:default

Instalar Solaris 10 en t1000-01


Ya hemos configurado los parmetros mnimos para que el controlador de dominio en
la mquina t1000 funcione como un servidor de instalacin. Ahora vamos a utilizar la
consola del dominio lgico t1000-01 para arrancar la instalacin utilizando la interfaz
de red virtual asignada a dicho dominio lgico.
root@t1000 # telnet localhost 5000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connecting to console "t1000-01" in group "t1000-01" ....
Press ~? for control options ..
{0} ok
{0} ok show-nets
a) /virtual-devices@100/channel-devices@200/network@0
q) NO SELECTION
Enter Selection, q to quit: a
/virtual-devices@100/channel-devices@200/network@0 has been selected.
Type ^Y ( Control-Y ) to insert it in the command line.

e.g. ok nvalias mydev ^Y


for creating devalias mydev for /virtual-devices@100/channeldevices@200/network@0
{0} ok nvalias vnet1 /virtual-devices@100/channeldevices@200/network@0
{0} ok boot vnet1 - install
Boot device: /virtual-devices@100/channel-devices@200/network@0 File
and args: - install
Requesting Internet Address for 0:14:4f:f9:ad:c3
Requesting Internet Address for 0:14:4f:f9:ad:c3
Requesting Internet Address for 0:14:4f:f9:ad:c3
...

Al intentar arrancar, el dominio t1000-01 no consigue obtener una IP, existe un


problema en el acceso a la red de dicho dominio. Comprobaremos que las interfaces de
red estn funcionando correctamente en el controlador de dominios.
root@t1000 # ifconfig -a
lo0: flags=2001000849< up,loopback,running,multicast,ipv4,virtual >
mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
bge0: flags=1000843< up,broadcast,running,multicast,ipv4 > mtu 1500
index 2
inet 192.168.29.40 netmask ffffff00 broadcast 192.168.29.255
ether 0:14:4f:82:f4:6a
root@t1000 #

De la salida del comando ifconfig, podemos ver que la interfaz vsw0 no est
configurada. Aadimos una nueva entrada en el fichero /etc/hosts y configuramos la
nueva interfaz.
#
# Internet host table
#
127.0.0.1
localhost
192.168.29.40
t1000
loghost
192.168.29.49
t1000_vsw0
192.168.29.42 t1000-01
192.168.29.43 t1000-02
root@t1000 # ifconfig vsw0 plumb
root@t1000 # ifconfig vsw0 192.168.29.49 netmask 0xffffff00 broadcast
192.168.29.255 up
root@t1000 # ifconfig -a
lo0: flags=2001000849< up,loopback,running,multicast,ipv4,virtual >
mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
bge0: flags=1000843< up,broadcast,running,multicast,ipv4 > mtu 1500
index 2
inet 192.168.29.40 netmask ffffff00 broadcast 192.168.29.255
ether 0:14:4f:82:f4:6a
vsw0: flags=1000843< up,broadcast,running,multicast,ipv4 > mtu 1500
index 3
inet 192.168.29.49 netmask ffffff00 broadcast 192.168.29.255
ether 0:14:4f:fa:56:d7
root@t1000 #

Ahora podemos levantar la IP 192.168.29.40 que corresponde con el nombre t1000,


como un alias en la interfaz vsw0. Esto lo debemos hacer, porque toda la configuracin
de Jumpstart la hemos realizado con el nombre t1000.
root@t1000 # ifconfig -a
lo0: flags=2001000849< up,loopback,running,multicast,ipv4,virtual >
mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
bge0: flags=1000842< broadcast,running,multicast,ipv4 > mtu 1500 index
2
inet 192.168.29.40 netmask ffffff00 broadcast 192.168.29.255
ether 0:14:4f:82:f4:6a
vsw0: flags=1000843< up,broadcast,running,multicast,ipv4 > mtu 1500
index 3
inet 192.168.29.49 netmask ffffff00 broadcast 192.168.29.255
ether 0:14:4f:fa:56:d7
vsw0:1: flags=1000843< up,broadcast,running,multicast,ipv4 > mtu 1500
index 3
inet 192.168.29.40 netmask ffffff00 broadcast 192.168.29.255

Arrancamos el dominio t1000-01 y conectamos con su consola.


root@t1000 # ldm start-domain t1000-01
LDom t1000-01 started
root@t1000 #
root@t1000 #telnet localhost 5000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connecting to console "t1000-01" in group "t1000-01" ....
Press ~? for control options ..
{0} ok
{0} ok boot vnet1 - install
Boot device: /virtual-devices@100/channel-devices@200/network@0 File
and args: - install
Requesting Internet Address for 0:14:4f:fa:f6:30
SunOS Release 5.10 Version Generic_118833-33 64-bit
Copyright 1983-2006 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
WARNING: machine_descrip_update: new MD has the same generation (76)
as the old MD
whoami: no domain name
Configuring devices.
Using RPC Bootparams for network configuration information.
Attempting to configure interface vnet0...
Configured interface vnet0
Extracting windowing system. Please wait...
Beginning system identification...
Searching for configuration file(s)...
Search complete.
Discovering additional network configuration...
Select a Language
0. English
1. French

2.
3.
4.
5.
6.
7.
8.
9.

German
Italian
Japanese
Korean
Simplified Chinese
Spanish
Swedish
Traditional Chinese

Please make a choice (0 - 9), or press h or ? for help:


...

Como podemos ver, este es el primer paso de cualquier instalacin de Solaris, ahora
solo tendremos que ir completando los distintos mens. Antes de continuar con la
instalacin, hay que recordar que debe ser una instalacin mnima, ya que solo hemos
configurado en Jumpstart el primer CD. Una vez que hemos reiniciado el SO del
dominio lgico t1000-01, comprobamos el nmero de CPUs y memoria.
root@t1000 # telnet localhost 5001
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connecting to console "t1000-01" in group "t1000-01" ....
Press ~? for control options ..
{0} ok boot
Boot device: /virtual-devices@100/channel-devices@200/disk@0:a File
and args:
SunOS Release 5.10 Version Generic_118833-33 64-bit
Copyright 1983-2006 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Hostname: t1000-01
t1000-01 console login: root
Password: Aug 19 23:12:43 t1000-01 sendmail[275]: My unqualified host
name (t1000-01) unknown; sleeping for retry
Aug 19 23:12:43 t1000-01 sendmail[276]: My unqualified host name
(t1000-01) unknown; sleeping for retry
Aug 19 23:12:44 t1000-01 login: ROOT LOGIN /dev/console
Last login: Sun Aug 19 17:55:43 on console
Sun Microsystems Inc.
SunOS 5.10
Generic January 2005
#
# mpstat 1
CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys
wt idl
0 379 25 899
531 150 1567
28 112 172
1 3657
20 20
0 60
1 400 21 944
229
0 1804
27 146 233
1 4863
20 12
0 68
2 327 13 1075
138
1 1357
25 141 226
1 3839
15 11
0 74
3 217 11 1081
218
43 2335
21 111 143
1 5252
16 11
0 73
^C# prtdiag
System Configuration: Sun Microsystems sun4v Sun Fire(TM) T1000
Memory size: 312 Megabytes

========================= CPUs
===============================================
CPU
CPU
Location
CPU
Freq
Implementation
Mask
------------ ----- -------- ------------------- ----MB/CMP0/P0
0 1000 MHz SUNW,UltraSPARC-T1
MB/CMP0/P1
1 1000 MHz SUNW,UltraSPARC-T1
MB/CMP0/P2
2 1000 MHz SUNW,UltraSPARC-T1
MB/CMP0/P3
3 1000 MHz SUNW,UltraSPARC-T1
========================= IO Configuration =========================
IO
Location
Type Slot Path
Name
Model
----------- ----- ---- --------------------------------------------- ------------------------ --------#
#
# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c0d0 < sunvdsk >
/virtual-devices@100/channel-devices@200/disk@0
Specify disk (enter its number): 0
selecting c0d0
[disk unformatted]
Warning: Current Disk has mounted partitions.
/dev/dsk/c0d0s0 is currently mounted on /. Please see umount(1M).
FORMAT MENU:
disk
type
partition
current
format
repair
label
analyze
defect
backup
verify
save
inquiry
volname
!< cmd >
quit
format> p

select a disk
select (define) a disk type
select (define) a partition table
describe the current disk
format and analyze the disk
repair a defective sector
write label to the disk
surface analysis
defect list management
search for backup labels
read and display labels
save new disk/partition definitions
show vendor, product and revision
set 8-character volume name
- execute , then return

PARTITION MENU:
0
- change `0 partition
1
- change `1 partition
2
- change `2 partition
3
- change `3 partition
4
- change `4 partition
5
- change `5 partition
6
- change `6 partition
7
- change `7 partition

select - select a predefined table


modify - modify a predefined partition table
name
- name the current table
print - display the current table
label - write partition map and label to the disk
!< cmd > - execute , then return
quit
partition> p
Current partition table (original):
Total disk cylinders available: 1704 + 2 (reserved cylinders)
Part
Tag
0 unassigned
1022400
1 unassigned
0
2
backup
1022400
3 unassigned
0
4 unassigned
0
5 unassigned
0
6 unassigned
0
7 unassigned
0

Flag
wm

Cylinders
0 - 1703

Size
499.22MB
0

Blocks
(1704/0/0)

wm

wm

0 - 1703

wm

(0/0/0)

wm

(0/0/0)

wm

(0/0/0)

wm

(0/0/0)

wm

(0/0/0)

499.22MB

(0/0/0)
(1704/0/0)

partition>
# uname -a
SunOS t1000-01 5.10 Generic_118833-33 sun4v sparc SUNW,Sun-Fire-T1000
# ifconfig -a
lo0: flags=2001000849< up,loopback,running,multicast,ipv4,virtual >
mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
vnet0: flags=1000843< up,broadcast,running,multicast,ipv4 > mtu 1500
index 2
inet 192.168.29.42 netmask ffffff00 broadcast 192.168.29.255
ether 0:14:4f:f9:ad:c3
#

Crear el dominio lgico t1000-02


Ya hemos configurado el dominio lgico t1000-01 y hemos instalado un Solaris 10 en
el nico disco asignado en t1000-01 que consista en un fichero 500MB. En este
apartado crearemos el nuevo dominio lgico, que llamaremos t1000-02, pero no
instalaremos otro Solaris 10 utilizando el servidor Jumpstart, lo que haremos ser
hacer una copia del ficheros de 500MB que utiliza t1000-01.
Lo primero ser crear el dominio lgico t1000-02.
root@t1000
root@t1000
root@t1000
root@t1000

#
#
#
#

ldm
ldm
ldm
ldm

add-domain t1000-02
add-vcpu 2 t1000-02
add-memory 300M t1000-02
add-vnet vnet1 primary-vsw0 t1000-02

Ya hemos creado el dominio t1000-02, le hemos asignado 2 CPUs, 300MB de memoria


y vamos a utilizar la interfaz de red definida en el controlador de dominios primario,
como primary-vsw0. El siguiente paso ser crear el fichero de 500MB que asignaremos
al dominio lgico para que lo utilice como disco de sistema.
root@t1000 # cd /var/LDOM/
root@t1000 # ls
ldom_bootdisk.img
root@t1000 #
root@t1000 # dd if=ldom_bootdisk.img of=ldom_bootdisk_02.img
1024000+0 registros dentro
1024000+0 registros fuera
root@t1000 #

Asignamos el nuevo fichero /var/LDOM/ldom_bootdisk_02.img al controlador de


dominios como vol2@primary-vds0.
root@t1000 # ldm add-vdsdev /var/LDOM/ldom_bootdisk_02.img
vol2@primary-vds0

Con el comando dd, hemos realiza una copia del fichero ldom_bootdisk.img.
Asignamos el nuevo dispositivo al dominio t1000-02.
root@t1000 # ldm add-vdisk vdisk1 vol2@primary-vds0 t1000-02

Ya hemos asignado CPUs, memoria, un disco y una interfaz de red al dominio lgico
t1000-02, ahora solo tenemos que arrancar el nuevo dominio.
root@t1000 # ldm bind-domain t1000-02
root@t1000 # ldm list
Name
State
Flags
Cons
primary
active
-t-cv
SP
t1000-01
active
-t--5001
t1000-02
bound
----5000

VCPU
4
4
2

Memory
1G
312M
300M

Util
1.9%
3.2%

Uptime
4h 39m
13m

root@t1000 # ldm start-domain t1000-02


LDom t1000-02 started
root@t1000 # ldm list
Name
State
Flags
Cons
primary
active
-t-cv
SP
t1000-01
active
-t--5001
t1000-02
active
-t--5000

VCPU
4
4
2

Memory
1G
312M
300M

Util
0.2%
0.2%
100%

Uptime
4h 40m
14m
28s

El nuevo dominio lgico t1000-02 tiene asignado el puerto de consola 5000, podemos
acceder a la consola del dominio t1000-02, utilizando el comando telnet.
NOTA - Antes de arrancar el dominio t1000-02, deberamos asegurarnos que paramos
el dominio t1000-01, ya que al duplicar los ficheros asignados como discos virtuales,
ambos dominios tienen configurados el SO exactamente igual, esto significa que ambos
dominios levantaran su interfaz de red con la misma IP, por esta razn es mejor para
t1000-01, levantar t1000-02, hacer los cambios de IP, hostname, etc. Y una vez hemos
reiniciado t1000-02, arrancaremos el SO de t1000-01.
root@t1000 # telnet localhost 5000

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connecting to console "t1000-02" in group "t1000-02" ....
Press ~? for control options ..
~ ?
{0} ok boot vdisk1
Boot device: /virtual-devices@100/channel-devices@200/disk@0 File and
args:
SunOS Release 5.10 Version Generic_118833-33 64-bit
Copyright 1983-2006 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
WARNING: machine_descrip_update: new MD has the same generation (11)
as the old MD
NOTICE: ds_cap_send: invalid handle 0x000000000
NOTICE: md ds_cap_send resp failed (22)
Hostname: t1000-01
t1000-01 console login:

Como podemos ver, aunque hemos arrancado el dominio t1000-02, tanto el hostname
como la IP de la nueva mquina pertenecen al SO que hemos intalado en t1000-01, al
realizar una copia del fichero que hemos asignado como disco virtual, hemos clonado el
SO, ahora tenemos que realizar los cambio pertinentes en el SO de t1000-02 para que
podamos utilizarlo, por ejemplo cambiando el hostname y la IP. Una vez que hayamos
cambiado la IP y el hostname podemos reiniciar el dominio lgico t1000-02.
root@t1000 # ping t1000-02
t1000-02 is alive
root@t1000 # ping t1000-01
t1000-01 is alive
root@t1000 # ldm list
Name
State
Flags
primary
active
-t-cv
t1000-01
active
-t--t1000-02
active
-t--root@t1000 # ldm list
Name
State
Flags
primary
active
-t-cv
t1000-01
active
-t--t1000-02
active
-t--root@t1000 #

Cons
SP
5001
5000

VCPU
4
4
2

Memory
1G
312M
300M

Util
0.5%
21%
0.2%

Uptime
5h 4m
2m
5m

Cons
SP
5001
5000

VCPU
4
4
2

Memory
1G
312M
300M

Util
0.3%
0.0%
0.4%

Uptime
5h 4m
2m
5m

Aadir recursos a un LDom


Vamos a ver de forma rpida cmo podemos aadir ms CPUs a un dominio lgico. El
dominio t1000-01 actualmente tiene 4 CPUs, con el comando ldm add-vcpu
aadiremos 6 CPUs ms.
root@t1000 # ldm stop-domain t1000-01
LDom t1000-01 stopped
root@t1000 # ldm add-vcpu 6 t1000-01
root@t1000 # ldm list
Name
State
Flags
Cons
primary
active
-t-cv
SP
4m

VCPU
4

Memory
1G

Util
0.5%

Uptime
1d 21h

t1000-01
bound
----5001
t1000-02
active
-t--5000
root@t1000 #
root@t1000 # ldm start-domain t1000-01
LDom t1000-01 started
root@t1000 # telnet localhost 5001
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

10
2

312M
300M

1.5%

4m

Connecting to console "t1000-01" in group "t1000-01" ....


Press ~? for control options ..
{0} ok show-disks
a) /virtual-devices@100/channel-devices@200/disk@0
q) NO SELECTION
Enter Selection, q to quit: a
/virtual-devices@100/channel-devices@200/disk@0 has been selected.
Type ^Y ( Control-Y ) to insert it in the command line.
e.g. ok nvalias mydev ^Y
for creating devalias mydev for /virtual-devices@100/channeldevices@200/disk@0
{0} ok boot /virtual-devices@100/channel-devices@200/disk@0
Boot device: /virtual-devices@100/channel-devices@200/disk@0 File and
args:
SunOS Release 5.10 Version Generic_118833-33 64-bit
Copyright 1983-2006 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
WARNING: machine_descrip_update: new MD has the same generation (58)
as the old MD
NOTICE: ds_cap_send: invalid handle 0x000000000
NOTICE: md ds_cap_send resp failed (22)
Hostname: t1000-01
t1000-01 console login: root
Password:
Last login: Tue Aug 21 16:12:47 on console
Sun Microsystems Inc.
SunOS 5.10
Generic January 2005
#
# uname -a
SunOS t1000-01 5.10 Generic_118833-33 sun4v sparc SUNW,Sun-Fire-T1000
# prtdiag
System Configuration: Sun Microsystems sun4v Sun Fire(TM) T1000
Memory size: 312 Megabytes
========================= CPUs
===============================================
CPU
CPU
Location
CPU
Freq
Implementation
Mask
------------ ----- -------- ------------------- ----MB/CMP0/P0
0 1000 MHz SUNW,UltraSPARC-T1
MB/CMP0/P1
1 1000 MHz SUNW,UltraSPARC-T1
MB/CMP0/P2
2 1000 MHz SUNW,UltraSPARC-T1
MB/CMP0/P3
3 1000 MHz SUNW,UltraSPARC-T1
MB/CMP0/P4
4 1000 MHz SUNW,UltraSPARC-T1
MB/CMP0/P5
5 1000 MHz SUNW,UltraSPARC-T1
MB/CMP0/P6
6 1000 MHz SUNW,UltraSPARC-T1
MB/CMP0/P7
7 1000 MHz SUNW,UltraSPARC-T1
MB/CMP0/P8
8 1000 MHz SUNW,UltraSPARC-T1
MB/CMP0/P9
9 1000 MHz SUNW,UltraSPARC-T1

========================= IO Configuration =========================


IO
Location
Type Slot Path
Name
Model
----------- ----- ---- --------------------------------------------- ------------------------ --------#

Con el comando prtdiag podemos comprobar que el dominio lgico t1000-01 tiene
asignadas 10 CPUs.