User Tools

Site Tools


confluent

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
confluent [2025/07/10 18:51] – created joaquintorresconfluent [2026/08/13 16:40] (current) joaquintorres
Line 1: Line 1:
 ====== Confluent ====== ====== Confluent ======
-Las imágenes que están armadas en los headnodes se pueden encontrar en el directorio /var/lib/confluent/public/os/:+===== Distribuciones y profiles ===== 
 +Actualmente (por los comandos que están en la siguiente sección)hay **cuatro** profiles principales en uso: 
 + 
 +  - RedHat 8.6 (rhel-8.6-x86_64-default): Usado en los nodos de **login** (snmgt01, snmgt02) y los nodos de **visualización** (vlmgt01, vlmgt02; es posible que estos no estén bien instalados). 
 +  - RedHat 8.8 Diskless CPU (rhel-8.8-x86_64-diskless-cpu): Usado en los **nodos de cómputo exclusivos para CPU** (cn075-cn080). 
 +  - RedHat 8.8 Diskless GPU (rhel-8.8-x86_64-diskless-gpu): Usado en los **nodos de cómputo con GPU** (cn001-cn074). Puede que haga falta modificar simultáneamente este perfil y el de CPU para que sea limpio. 
 +  - Lenovo Distributed Storage Solution for IBM® Storage Scale™ (DSS-G) 4.5A (dssg-standard-4.5a): Usado en los **nodos de quorum de GPFS/IBM Storage Scale** (sdmgt01, sdmgt02). Seguramente acá esté toda la config persistente de GPFS. 
 + 
 +Los **nodos de management** (mmgt01, mmgt02) no tienen definidos profiles, pero sí tienen su propio node en confluent. Habría que mirarlo bien con la documentación. 
 + 
 +===== Ideas básicas ===== 
 +Las distribuciones y perfiles se pueden listar con osdeploy: 
 +<code> 
 +# osdeploy list 
 +Distributions: 
 +  rhel-8.6-x86_64 
 +  rhel-8.8-x86_64 
 + 
 +Profiles: 
 +  dssg-standard-4.5a 
 +  genesis-x86_64 
 +  rhel-8.6-x86_64-default 
 +  rhel-8.8-x86_64-diskless-cpu 
 +  rhel-8.8-x86_64-diskless-gpu 
 +</code> 
 + 
 +Los perfiles que están armados en los headnodes se pueden encontrar en el directorio /var/lib/confluent/public/os/:
  
 <code> <code>
Line 7: Line 33:
 </code> </code>
  
-Con nodeattrib se puede ver cuál imagen usa cada nodo+Las distribuciones en /var/lib/confluent/distributions: 
 + 
 +<code> 
 +$ ls /var/lib/confluent/distributions/ 
 +rhel-8.6-x86_64  rhel-8.8-x86_64 
 +</code> 
 + 
 + 
 +Con nodeattrib se puede ver cuál imagen usa cada nodo
 +<code> 
 +# nodeattrib snmgt01 | grep deployment.profile 
 +snmgt01: deployment.profile: rhel-8.6-x86_64-default 
 +# nodeattrib snmgt02 | grep deployment.profile 
 +snmgt02: deployment.profile: rhel-8.6-x86_64-default 
 +# nodeattrib sdmgt01 | grep deployment.profile 
 +sdmgt01: deployment.profile: dssg-standard-4.5a 
 +# nodeattrib sdmgt02 | grep deployment.profile 
 +sdmgt02: deployment.profile: dssg-standard-4.5a 
 +# nodeattrib vlmgt01 | grep deployment.profile 
 +vlmgt01: deployment.profile: rhel-8.6-x86_64-default 
 +# nodeattrib vlmgt02 | grep deployment.profile 
 +vlmgt02: deployment.profile: rhel-8.6-x86_64-default 
 +# nodeattrib cn064 | grep deployment.pendingprofile 
 +cn064: deployment.pendingprofile: rhel-8.8-x86_64-diskless-gpu 
 +# nodeattrib cn080 | grep deployment.pendingprofile 
 +cn080: deployment.pendingprofile: rhel-8.8-x86_64-diskless-cpu 
 +</code> 
 + 
 +También tiene otros atributos, deployment.pendingprofile y deployment.stagingprofile. La documentación dice: 
 + 
 +<code> 
 +       deployment.pendingprofile 
 +              An OS profile that is pending deployment. This indicates to the network boot subsystem what should be offered when a potential network boot request comes in 
 + 
 +       deployment.profile 
 +              The  profile that has most recently reported completion of deployment. Note that an image may opt to leave itself both current and pending, for example a stateless profile 
 +              would be both after first boot. 
 +       (...) 
 +       deployment.stagedprofile 
 +              A  profile  that  has been staged, but is awaiting final boot to be activated. This allows an OS profile to remove itself from netboot without indicating completion to any 
 +              watcher. 
 + 
 +</code> 
 + 
 +Esto seguramente sea relevante para el deployment de perfiles nuevos, de hecho los nodos de cómputo están con pendingprofile. 
 + 
 +===== Scripts ===== 
 + 
 +Los perfiles tienen scripts de inicio en /var/lib/confluent/public/os/(...)/ preboot.d onboot.d y postboot.d 
 + 
 +Se pueden aplicar cambios usando bash normalmente, para forzar el deploy hay que ejecutar 
 + 
 +<code> 
 +nodeapply --scripts=post.d/scriptname <noderange> 
 +</code> 
 + 
 +===== Actualizar imagen ===== 
 + 
 +Desempaquetar la imagen actual en 
 + 
 +<code> # imgutil unpack rhel-9.4-x86_64-diskless-gpu-v5 /tmp/rhel-9.4-x86_64-diskless-gpu-v6 </code> 
 + 
 +Realizar los cambios pertinentes. Puede usarse un volumen como 
 + 
 +<code> # imgutil exec -v /install/:/install/ /tmp/rhel-9.4-x86_64-diskless-gpu-v6 </code> 
 + 
 +Editar CHANGELOG 
 + 
 +Empacar 
 + 
 +<code> # imgutil pack -b rhel-9.4-x86_64-diskless-gpu-v5 /tmp/rhel-9.4-x86_64-diskless-gpu-v6 rhel-9.4-x86_64-diskless-gpu-v6 </code> 
 + 
 + 
 +Luego asignar la imagen a un nodo de prueba 
 + 
 +<code># nodeattrib cn001 deployment.pendingprofile=rhel-9.4-x86_64-diskless-gpu-v6 </code> 
 + 
 +Utilizamos el flag -b para replicar los scripts y configs de la imagen anterior, verificar que la nueva imagen los posee. 
 + 
 +<code>[root@mmgt02 ~]# ls /var/lib/confluent/public/os/rhel-9.4-x86_64-diskless-gpu-v6/scripts/ 
 +add_local_repositories  confignet         firstboot.d        firstboot.sh  getinstalldisk  image2disk.pyc  imageboot.sh  onboot.custom  onboot.service  post.d   pre.d     syncfileclient 
 +autoconsole             firstboot.custom  firstboot.service  functions     image2disk.py   image2disk.pyo  installimage  onboot.d       onboot.sh       post.sh  setupssh 
 +[root@mmgt02 ~]# ls /var/lib/confluent/public/os/rhel-9.4-x86_64-diskless-gpu-v5/scripts/ 
 +add_local_repositories  confignet         firstboot.d        firstboot.sh  getinstalldisk  image2disk.pyc  imageboot.sh  onboot.custom  onboot.service  post.d   pre.d     syncfileclient 
 +autoconsole             firstboot.custom  firstboot.service  functions     image2disk.py   image2disk.pyo  installimage  onboot.d       onboot.sh       post.sh  setupssh </code> 
 + 
 +Actualizar pending profile en el resto de los nodos. 
confluent.1752173487.txt.gz · Last modified: by joaquintorres