el Orden de ejecucion de estos 5 pasos
el Orden de ejecucion de estos 5 pasos
Finalidad: Tengo que migrar unldom (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:
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 .
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
Escenario:
- pdom nombre m8pdom02 SRU (Oracle Solaris 11.4.59.144.2).
- ldom nombre ldom08 SRU (Oracle Solaris 11.4.56.138.2).
- System Configuration: Oracle Corporation sun4v SPARC M8-8
Descripcion de la Tarea:
Tenia que quitar el zpool "dump" y generar un nuevo zpool "dump1" con un disco nuevo de mayor tamaño
En uno de los pasos me encontre con un BUG al querer agregar un disco al zpool.
Problema:
BUG 35280225 - libdiskmgt inuse_vxvm() falsely reports disk is part of a VxVM volume
Solucion :
- Fix has been integrated in to the Solaris development trunk build version that is tentatively scheduled to
be branched from and released as Solaris 11.4 SRU 60 in mid to late August 2023.
- In the interim use the workaround to disable in use checking by the Solaris disk management library
with NOINUSE_CHECK=1.
Paso a Paso :
en el pdom ,
root@m8pdom02:# zfs create -V300gb ldoms/ldom08_dump2
root@m8pdom02:# ldm add-vdsdev /dev/zvol/dsk/ldoms/ldom08_dump2 ldom08_dump2@primary-vds0
root@m8pdom02:# ldm add-vdisk dump2 ldom08_dump2@primary-vds0 ldom08
en el ldom
chequee con el comando format, cual era el nombre del disco que asigne al ldom y es c1d2
c1d2<SUN-DiskImage-300GB cyl 8531 alt 2 hd 96 sec 768>
/virtual-devices@100/channel-devices@200/disk@2
Cuando quiero crear el zpool dump1 con el disco c1d2 me da el error siguiente y es donde aparece el BUG
root@ldom08:M8:~# zpool create dump1 c1d2
vdev verification failed: use -f to override the following errors:
/dev/dsk/c1d2s0 is part of a VxVM volume.
/dev/dsk/c1d2s1 is part of a VxVM volume.
/dev/dsk/c1d2s2 is part of a VxVM volume.
/dev/dsk/c1d2s3 is part of a VxVM volume.
/dev/dsk/c1d2s4 is part of a VxVM volume.
/dev/dsk/c1d2s5 is part of a VxVM volume.
/dev/dsk/c1d2s6 is part of a VxVM volume.
/dev/dsk/c1d2s7 is part of a VxVM volume.
Unable to build pool from specified devices: device already in use
root@ldom08:M8:~#
##### Aca aplico la Solucion y me deja crear el zpool
root@ldom08:M8:~# NOINUSE_CHECK=1 zpool create dump1 c1d2
root@ldom08:M8:~# zpool status dump1
pool: dump1
id: 17187728778697848574
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
dump1 ONLINE 0 0 0
c1d2 ONLINE 0 0 0
errors: No known data errors
root@ldom08a:M8:~#
root@ldom08a:M8:# zfs create -V270gb dump1/dump1
root@ldom08a:M8:# zfs list dump1
NAME USED AVAIL REFER MOUNTPOINT
dump1 279G 14.8G 288K /dump1
root@ldom08a:M8:#
##### ACA tambien aparece el BUG, cuando quiero usar el dumpadm
root@ldom08a:M8:# dumpadm -d /dev/zvol/dsk/dump1/dump1
dumpadm: /dev/zvol/dsk/dump1/dump1 is part of a VxVM volume.
root@ldom08a:M8:#
### ACA vuelvo a aplicar la solucion
root@ldom08a:M8:# NOINUSE_CHECK=1 dumpadm -d /dev/zvol/dsk/dump1/dump1
Dump content : kernel without ZFS metadata
Dump device : /dev/zvol/dsk/dump1/dump1 (dedicated)
Savecore directory: /var/crash
Savecore enabled : no
Save compressed : on
Deferred Dump : on
root@ldom08a:M8:#
root@ldom08a:M8:# zfs destroy dump/dump
root@ldom08a:M8:# zfs get volsize dump1/dump1
NAME PROPERTY VALUE SOURCE
dump1/dump1 volsize 270G local
root@ldom08a:M8:#
root@ldom08a:M8:~# zpool destroy dump
En el pdom
### ACA me encuentro con otro error y es que realmente lo tiene tomao el VERITAS, con el multipath
root@m8pdom02:# ldm list-constraints ldom08|grep dump1
dump1 ldom08_dump1@primary-vds0 1
root@m8pdom02:# ldm rm-vdisk dump1 ldom08
Guest LDom returned the following reason for failing the operation:
Resource Information
-------------- -------------------------
/dev/dsk/c1d1 Device being used by VxVM
VIO operation failed because device is being used in LDom ldom08
Failed to remove vdisk instance
root@m8pdom02:#
Lo tuvimos que excluir del veritas dentro del ldom
root@ldom08a:M8:~# vxdisk list
DEVICE TYPE DISK GROUP STATUS
c1d0 auto:ZFS - - ZFS
c1d1 auto:ZFS - - ZFS <<---- quiero sacar este disco
hitachi_vspg1k0_360a auto:cdsdisk SSD001 TEST1 online thinrclm
hitachi_vspg1k0_360b auto:cdsdisk SSD002 TEST1 online thinrclm
hitachi_vspg1k0_360c auto:cdsdisk SSD003 TEST2 online thinrclm
root@ldom08a:M8:~#
root@ldom08a:M8:~# vxdisk rm c1d1
root@ldom08a:M8:~# vxdisk list
DEVICE TYPE DISK GROUP STATUS
c1d0 auto:ZFS - - ZFS
hitachi_vspg1k0_360a auto:cdsdisk SSD001 TEST1 online thinrclm
hitachi_vspg1k0_360b auto:cdsdisk SSD002 TEST1 online thinrclm
hitachi_vspg1k0_360c auto:cdsdisk SSD003 TEST2 online thinrclm
root@ldom08a:M8:~#
root@ldom08a:M8:~# vxdmpadm getsubpaths
NAME STATE[A] PATH-TYPE[M] DMPNODENAME ENCLR-NAME CTLR ATTRS PRIORITY
=================================================================================================
c2t50060E800750BC62d0 ENABLED(A) - hitachi_vspg1k0_360a hitachi_vspg1k0 c2 - -
c3t50060E800750BC72d0 ENABLED(A) - hitachi_vspg1k0_360a hitachi_vspg1k0 c3 - -
c4t50060E800750BC64d0 ENABLED(A) - hitachi_vspg1k0_360a hitachi_vspg1k0 c4 - -
c5t50060E800750BC74d0 ENABLED(A) - hitachi_vspg1k0_360a hitachi_vspg1k0 c5 - -
c2t50060E800750BC62d1 ENABLED(A) - hitachi_vspg1k0_360b hitachi_vspg1k0 c2 - -
c3t50060E800750BC72d1 ENABLED(A) - hitachi_vspg1k0_360b hitachi_vspg1k0 c3 - -
c4t50060E800750BC64d1 ENABLED(A) - hitachi_vspg1k0_360b hitachi_vspg1k0 c4 - -
c5t50060E800750BC74d1 ENABLED(A) - hitachi_vspg1k0_360b hitachi_vspg1k0 c5 - -
c2t50060E800750BC62d2 ENABLED(A) - hitachi_vspg1k0_360c hitachi_vspg1k0 c2 - -
c3t50060E800750BC72d2 ENABLED(A) - hitachi_vspg1k0_360c hitachi_vspg1k0 c3 - -
c4t50060E800750BC64d2 ENABLED(A) - hitachi_vspg1k0_360c hitachi_vspg1k0 c4 - -
c5t50060E800750BC74d2 ENABLED(A) - hitachi_vspg1k0_360c hitachi_vspg1k0 c5 - -
c1d0 ENABLED(A) - c1d0 other_disks c1 - -
c1d1 ENABLED(A) - c1d1 other_disks c1 - -
root@ldom08a:M8:~# vxdmpadm exclude path=c1d1
Ahora si, en el pdom
root@m8pdom02:# ldm rm-vdisk dump1 ldom08
root@m8pdom02:# ldm rm-vdsdev ldom08_dump1@primary-vds0
root@m8pdom02:# zfs list|grep ldom08
ldoms/ldom08_dump1 103G 1.9T 800M -
ldoms/ldom08_dump2 309G 2.1T 47.5M -
ldoms/ldom08_vol1 155G 1.85T 101G -
root@m8pdom02:# zfs destroy ldoms/ldom08_dump1
root@m8pdom02:# zfs list|grep ldom08
ldoms/ldom08_dump2 309G 2.2T 47.5M -
ldoms/ldom08_vol1 155G 1.95T 101G -
ldoms/ldom08_vol1.old 155G 2.04T 10.4G -
root@m8pdom02:#
# tcpdump -vvi em3| grep -ib5 pac tcpdump: listening on em3, link-type EN10MB (Ethernet), capture size 262144 bytes 108221- 0x0000: 0078 108238- Port Description TLV (4), length 41: topology/pod-1/paths-209/pathep-[eth1/10] 108318- 0x0000: 746f 706f 6c6f 6779 2f70 6f64 2d31 2f70 108370- 0x0010: 6174 6873 2d32 3039 2f70 6174 6865 702d 108422- 0x0020: 5b65 7468 312f 3130 5d 108457: System Name TLV (5), length 21: PAC-L209.datanet.corp
La opcion del tcpdump fue, –vvi nombre de la placa en linux | grep -ib5, esto es 5 lineas before , si le pusiera -ia5 significa 5 lineas after y pac es porque se que el switch se llama pac-algo
Otra opcion que puedo poner, si no conozco el nombre del switch es buscar por System Name
# tcpdump -vvi eth0| grep -ib5 "System Name"
tcpdump: WARNING: eth0: no IPv4 address assigned tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 20452741- Port Description TLV (4), length 54: topology/pod-1/paths-217/extpaths-105/pathep-[eth1/15] 20452834- 0x0000: 746f 706f 6c6f 6779 2f70 6f64 2d31 2f70 20452886- 0x0010: 6174 6873 2d32 3137 2f65 7874 7061 7468 20452938- 0x0020: 732d 3130 352f 7061 7468 6570 2d5b 6574 20452990- 0x0030: 6831 2f31 355d 20453017: System Name TLV (5), length 21: PAC-L217.datanet.corp 20453072- 0x0000: 5041 432d 4c32 3137 2e64 6174 616e 6574 20453124- 0x0010: 2e63 6f72 70 20453149- System Description TLV (6), length 23 20453188- topology/pod-1/node-217 20453215- 0x0000: 746f 706f 6c6f 6779 2f70 6f64 2d31 2f6e ^C81230 packets captured 81272 packets received by filter 36 packets dropped by kernel
Cuando fallan las conexiones del control-m por actualización o parcheo del centrify. Esta acción la tiene que hacer SI pero por las dudas aca queda.
Control-m usa algoritmo de sssh antiguo que no contemplan las nuevas versiones de ssh
editar:
/etc/centrifydc/ssh/sshd_config
agregar al final:
KexAlgorithms +diffie-hellman-group14-sha1
reiniciar:
centrify-sshd