![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Apuntes sobre Solaris 11 (disco de Metro, illumos)Añadir aplicaciones al arranque (para que arranquen a la vez que control)Metro arranca las aplicaciones a través del SVC (un servicio SMF). El fichero de configuración está en /lib/svc/manifest/application/pctce-control.xml El fichero que arranca a control está en /lib/svc/method/app-pctce-control Es en este último fichero donde hay que configurar lo que quieras arrancar. Descripción de su sistema de arranqueResultado de la investigación: 1. El disco físico lo tiene montado en /.disk 2. El raíz está en RAM 3. El grub se encarga de cargar el núcleo y de poner el sistema raíz que está en ram (la plantilla del sistema de archivos raíz es el fichero boot_archive, que es una imagen de un sistema de archivos UFS "compilado" para read-only). Para montar dicho sistema de archivos desde uiharu se hace: mount -t ufs -o loop,ufstype=old,ro boot_archive /media/floppy 4. El grub sí que está en el disco físico 5. En el disco, las scripts del SMF (svc, en el directorio /lib/svc/method/) se encargan de hacer las comprobaciones de si todo está correcto y en caso de no estar correcto, reformatea el /.disk, se baja de la red el boot_archive y reinstala el grub. 6. Hay otro fichero-imagen en el /.disk para poder montar el /home/metro. Es una imagen de sistema de archivos de 4GB, con el nombre persistence.ufs 7. Si el persistence.ufs está recién formateado (es decir, el sistema de archivos después de montarlo está vacío), otra de las scripts del SMF se encarga de configurarlo con la plantilla que se baja de la red. Copiar en caliente la slice solaris de un disco solaris/illumos de metroNOTA: Para saber donde el nombre en /dev del disco a copiar hay que hacer en el solaris lo siguiente: iostat -En Si el comando anterior devuelve "c0d0", el dispositivo a usar es "/dev/rdsk/c0d0s2". En la estación a copiar (p.ej. TCE de goya), como root: mkdir /tmp/dest mkfifo /tmp/dest/tubo chmod 777 /tmp/dest/tubo dd if=/dev/rdsk/c0d0s2 bs=16384 | gzip -1 > /tmp/dest/tubo En main1: mkdir /incoming/illumos-metro cd /incoming/illumos-metro ssh metro@goya "cat /tmp/dest/tubo" > goya.img.gz UPDATE 20180226: No somos capaces de restaurar la imagen de Triblix en un OpenSolaris. Resulta que hay un procedimiento de copia, pero es mucho más complicado (How to Copy a Solaris Boot Drive to a New Disk), ya que prepara a mano las particiones, copia el contenido partición a partición y pone el arranque después con el comando de instalar arranque. UPDATE 20180227: Resulta que en los equipos de campo les falta el boot_archive (equivalente al "initrd" o "root filesystem" de linux), y lo que están haciendo es arrancar por PXE (arranque por red). En el grub de esos discos se ve lo siguiente: find /platform/i86pc/kernel/unix (hd0,0,a) Pero si se hace la misma búsqueda para el "/platform/i86pc/boot_archive", no lo encuentra. Corrección de un disco tribblix de metro para que pueda arrancar SIN PXESe arranca con el maestro de openindiana teniendo como disco esclavo el de metro, y en un terminal de root se hace lo siguiente: root@pacolucia:~# mkdir /tmp/dest/ root@pacolucia:~# mount /dev/dsk/c3t1d0s0 /tmp/dest root@pacolucia:~# root@pacolucia:~# cd /tmp/dest/platform/i86pc root@pacolucia:/tmp/dest/platform/i86pc# mkdir t root@pacolucia:/tmp/dest/platform/i86pc# chmod 777 t ( en uiharu se hace: "cd /data && scp boot_archive metro@3.0.1.12:/tmp/dest/platform/i86pc/t/" ) root@pacolucia:/tmp/dest/platform/i86pc# mv t/boot_archive . root@pacolucia:/tmp/dest/platform/i86pc# rmdir t root@pacolucia:/tmp/dest/platform/i86pc# md5sum boot_archive kernel/unix 545cfb4e573c9cab13eaedab83ab9b24 boot_archive af13399da90422adc89b35df142aa2ee kernel/unix root@pacolucia:/tmp/dest/platform/i86pc# |