Bienvenidos

Todos estos pasos descriptos fueron probados en ambientes productivos

jueves, 27 de julio de 2023

Cear una virtual machine, en un X8

 La finalidad es Crear  una virtual machine, en un server X8-2L .

Ambiente:  X8-2L, con Oracle Linux 9.2 cuyo dominio principal se llama x8dom1

Estos son los pasos para crear una maquina virtual  de nombre Linux1, con 65gb de ram, 8 vcpu, modo bridge , con la vlan 1510 usando de instalacion un Oracle 9.2

Desde el x8dom1 ejecutar:

virt-install --name Linux1 --memory 65536 --vcpus 8 --graphics vnc,listen=0.0.0.0,password=Cerv3z4 --disk size=50 --network bridge=BRIDGE,type=direct,source=br1510 --location /home/isos/OracleLinux-R9-U2-x86_64-dvd.iso --osinfo ol9.2

 Para ver cuantas vm instaladas,  se ejecuta :

# virsh list
 Id   Name    State
-----------------------
 2    Linux1   running
 5    Linux2  running
 6    Linux3   running

Para stopear una vm 

# virsh shutdown nombredelaVM
** para que el shutdown funcione correctamente, los agentes de apagado tienen que estar instalados.

La otra forma de stopearla si no estan los agentes instalados es

# virsh destroy  nombredelaVM 

* esto detiene la vm en forma abrupta, como si fuese un corte de energia.
 

virsh pool-list     # Listar pools de almacenamiento
virsh vol-list      # Listar volúmenes de almacenamiento

Una vez creada la vm e instalado el linux dentro de ellas, se debe instalar los agentes de apagado
sudo dnf install acpid qemu-guest-agent
Habilita y arranca los agentes de apagado: Una vez que los agentes de apagado estén instalados, hay que habilitarlos y arrancarlos en la máquina virtual.Ejecutar los siguientes comandos dentro de la máquina virtual:
Para acpid:
sudo systemctl enable acpid
sudo systemctl start acpid

Para qemu-guest-agent:
sudo systemctl enable qemu-guest-agent
sudo systemctl start qemu-guest-agent

Verificar la comunicación con el hipervisor: Para asegurar de que los agentes de apagado están funcionando correctamente y se pueden comunicar con el hipervisor  ejecutar el siguiente comando en la máquina virtual :
sudo systemctl status qemu-guest-agent
Debería mostrar que el servicio está activo y en ejecución sin errores.
Una vez que hayamos instalado y configurado los agentes de apagado en las máquinas virtuales,se puede usar el comando "virsh shutdown" en el host de KVM para apagar o reiniciar las máquinas virtuales de forma adecuada, lo que permitirá que se realice un apagado o reinicio limpio de las mismas

Para conectarme con vncviewer a los equipos, puedo consultar con el comando

# virsh domdisplay --type vnc Linux1
vnc://localhost:0
#

# virsh domdisplay --type vnc Linux2
vnc://localhost:1
#

# virsh domdisplay --type vnc Linux3
vnc://localhost:2
#

O el comando 

# virsh vncdisplay Linux1

:0

# virsh vncdisplay Linux2

:1

# virsh vncdisplay Linux3

:2

 

Desde afuera del equipo, podemos conectarnos a la virtual Linux1 asi

#vncviewer x8dom1:0


miércoles, 26 de julio de 2023

Procedimiento uso archiveadm, para copiar un ldom de un equipo a otro

 Finalidad: Tengo que migrar un ldom (llamado ldom03) de un equipo M6-32 a otro equipo M8-32, manteniendo el mismo release de sistema operativo.

A tener en cuenta:

**Como el archiveadm genera un snapshot en el root zfs, verificar que haya suficiente espacio en el rpool del equipo origen.
**Si hay backups en los boot environment, mirarlo con beadm -l y dejar solo el ultimo

*** Ver a lo ultimo de este documento, ya que archiveadm tiene un BUG y puede NO funcionar en alguna version de solaris 11.


**luego ver que este actualizado con el comando pkg refresh solaris 

En mi caso, estaba desactualizado, asi que me copie de un equipo donde tengo los certificados, los archivos cert
parado en milinux, hacer :
cd /root/certs
scp pkg.oracle.com.certificate.pem ldom03:/root/certs/
scp pkg.oracle.com.key.pem ldom03:/root/certs/ 

Ahora parado en ldom03 del equipo M6-32, hacer:

pkg set-publisher -k ~/certs/pkg.oracle.com.key.pem -c ~/certs/pkg.oracle.com.certificate.pem -G "*" -g https://pkg.oracle.com/solaris/support --proxy http://ip_del_proxy:3128 solaris

** el comando de arriba tiene la opcion --proxy ya que desde el servidor no tengo salida directa 


archiveadm create -r --root-only /software/archiveadm/ldom03.uar

Logging to /system/volatile/archive_log.16859

  0% : Beginning archive creation: /software/archiveadm/ldom03.uar
  6% : Executing dataset discovery...
 10% : Dataset discovery complete
 10% : Executing staging capacity check...
 11% : Staging capacity check complete
 15% : Creating zone media: UnifiedArchive [1159acb1-6666-41a4-978b-451e57e642c4]
 53% : CreateZoneMedia: UnifiedArchive [1159acb1-6666-41a4-978b-451e57e642c4] complete
 55% : Preparing archive image...
 73% : Archive image preparation complete
 75% : Beginning archive stream creation...
 93% : Archive stream creation complete
 93% : Beginning archive descriptor creation...
 94% : Archive descriptor creation complete
 95% : Beginning final archive assembly...
100% : Archive assembly complete

 
Con este comando veo la informacion del .uar que acabo de generar

archiveadm info -v /software/archiveadm/ldom03.uar

Con este otro comando genero el booteable en base al .uar que genere anteriormente

archiveadm create-media -f usb -o /software/archiveadm/ldom03.usb /software/archiveadm/ldom03.uar 

Logging to /system/volatile/archive_log.2884

  0% : Beginning media creation...
  5% : Transferring AI source...
 10% : Transfer AI source complete
 11% : Adding archive content...
 20% : Add archive content complete
 28% : Creating USB image...
100% : USB image creation complete

Listo, ahora me llevo ambos archivos (.usb y .uar ) al pdom destino (m8pdom0)

scp /software/archiveadm/ldom03.* root@m8pdom0:/backups/uar

Ahora,  parado en el PDOM del equipo M8-32...voy a generar el ldom03 vacio.

 ldm add-domain ldom03
ldm set-core 4 ldoms03
ldm set-memory 64G ldom03
ldm set-var auto-boot?=false ldom03
ldm add-vnet pvid=1516  vnet0 primary-vsw0 ldom03
ldm add-vdsdev /dev/zvol/dsk/ldoms/ldom03_vol1 ldom03_vol1@primary-vds0
ldm add-vdisk disk0 ldom03_vol1@primary-vds0
** ldm add-vdsdev /dev/zvol/dsk/ldoms/ldom03_dump1 ldom03_dump1@primary-vds0
** ldm add-vdisk dump1 ldom03_dump1@primary-vds0
* este  lo tuvimos que sacar y agregarlo al final de la instalación, porque por default trato de  instalar el sistema operativo en el dump1, asi que lo tuvimos que borrar y volver a lanzar la instalación.
ldm add-io /SYS/CMIOU4/PCIE2/IOVFC.PF0.VF2 ldom03
ldm add-io /SYS/CMIOU5/PCIE2/IOVFC.PF0.VF2 ldom03

ldm add-vdsdev /backups/uar/ldom03.usb ldom03-back@primary-vds0
ldm add-vdisk usb0 ldom03-back@primary-vds0 ldom03

ldm bind ldom03
ldm start ldom03
ldm ls
telnet localhost 5002   ( para conectarnos a este nuevo ldom creado)

se posiciona en OBP , ejecutar

boot usb0

 Remounting root read/write
Probing for device nodes ...
Preparing image for use
Done mounting image
Configuring devices.
Hostname: solaris
Jun  9 14:40:14 svc.startd[12]: svc:/network/rpc/gss:default: Method "/usr/lib/gss/gssd --ccache_patterns=/tmp/krb5cc_%{uid}" failed with exit status 1.
Jun  9 14:40:14 svc.startd[12]: svc:/network/rpc/gss:default: Method "/usr/lib/gss/gssd --ccache_patterns=/tmp/krb5cc_%{uid}" failed with exit status 1.

SUNW-MSG-ID: SMF-8000-YX, TYPE: Defect, VER: 1, SEVERITY: Major
EVENT-TIME: Fri Jun  9 14:40:15 UTC 2023
PLATFORM: unknown, CSN: unknown, HOSTNAME: solaris
SOURCE: software-diagnosis, REV: 0.2
EVENT-ID: e94ad62c-4c48-41f9-8ac6-f06db7ad953b
DESC: Service svc:/network/tnctl:default failed - a start, stop or refresh method failed.
AUTO-RESPONSE: The service has been placed into the maintenance state.
IMPACT: svc:/network/tnctl:default is unavailable.
REC-ACTION: Run 'svcs -xv svc:/network/tnctl:default' to determine the generic reason why the service failed, the location of any logfiles, and a list of other services impacted. Please refer to the associated reference document at http://support.oracle.com/msg/SMF-8000-YX for the latest service procedures and policies regarding this diagnosis.
FRU-LOCATION:
Using the default install manifest for installation.


Auto-installer disabled. Enable the auto-installer service
by running the following command:
    svcadm enable svc:/application/auto-installer:default




solaris console login:

 Ingresar la clave de root , y ejecutar

svcadm enable svc:/application/auto-installer:default
 

Luego que levante el solaris, 

hacer un borrado de las ip , e ipmp viejas
svcadm disable cron
svcadm disable samba

 ipadm create-addr -T static -a 76.234.130.151/25 net0
route -p delete default 76.250.63.1  (borramos ruta vieja)
route -p add default 76.234.130.129
***con estos comandos creamos el dump que no creamos en el procedimiento que comente anteriormente
zpool create dump c1d1
  zpool list
  zfs list
  zfs create -V 18gb dump/dump
  zfs list
 dumpadm
 dumpadm -d /dev/zvol/dsk/dump/dump
  zfs list
    zfs destroy rpool/dump
 zfs list


***** IMPORTANTE --- Existe un BUG en Solaris 11, donde el SRU tiene que ser mas nuevo que el SRU35, sino el archiveadm no genera bien el archivo booteable.

 https://docs.oracle.com/en/virtualization/oracle-vm-server-sparc/ldoms-relnotes/resolved-issues-oracle-solaris-11.4-sru-36-release.html#GUID-BF1DA349-DE53-40D2-A160-526B6A3F230B

Basicamente en ese link, dice:

Resolved Issues in the Oracle Solaris 11.4 SRU 36 Release

31989198

archiveadm create-media -f usb generated file fails to boot using 11.4 SRU 23


*** La opcion para realizar un movimiento de ldom entre equipos que usamos en reemplazo del archiveadm en equipos con el SRU menor a 35, fue con el comando zfs send .