{"id":2326,"date":"2020-09-19T16:44:26","date_gmt":"2020-09-19T22:44:26","guid":{"rendered":"https:\/\/www.lastdragon.net\/?p=2326"},"modified":"2020-09-19T17:01:26","modified_gmt":"2020-09-19T23:01:26","slug":"cargar-un-nuevo-kernel-sin-reiniciar-fisicamente-el-servidor-soft-reboot-con-kexec","status":"publish","type":"post","link":"https:\/\/www.lastdragon.net\/?p=2326","title":{"rendered":"Cargar un nuevo kernel sin reiniciar f\u00edsicamente el servidor ( soft reboot ) con kexec"},"content":{"rendered":"\n<p><strong>\u00bf Por que un soft reboot en lugar de un reboot completo ?<\/strong><\/p>\n\n\n\n<p>Los hardware de servidores profesionales no arrancan tan r\u00e1pido como una laptop o una desktop, donde b\u00e1sicamente el despu\u00e9s de un par de segundos del BIOS el kernel es cargado, en los servidores profesionales esta operaci\u00f3n puede llegar a tardar de 5 a 10 minutos lo que en producci\u00f3n es una locura. Tarda mucho por que las maquinas servidores no dejan nada al azar, al momento de prender inmediatamente empieza a revisar la RAM, luego revisa los controladores de red, los controladores de RAID, cada disco duro y hasta que cada pieza de su hardware no es inspeccionada para un correcto funcionamiento no le pasa el control al sistema operativo<\/p>\n\n\n\n<p><strong>\u00bf que es un soft reboot ?<\/strong><\/p>\n\n\n\n<p>Cuando se actualiza un sistema operativo si lo actualizado es un kernel lo normal es que se tenga que reiniciar f\u00edsicamente la maquina para que al momento del boot de hardware el nuevo kernel sea cargado, pero como se dijo en el p\u00e1rrafo anterior, reiniciar un hardware de servidor puede tardar minutos, para eso se hace un soft reboot, el cual b\u00e1sicamente regresa la maquina al punto de cargar el kernel y recarga el nuevo descargando el anterior<\/p>\n\n\n\n<p><br \/><strong>\u00bf Debo hacer soft reboot en m\u00e1quinas virtuales ?<br \/><\/strong><\/p>\n\n\n\n<p>No es necesario, las maquinas virtuales inician o se reinician pr\u00e1cticamente de inmediato, tardar\u00eda mas escribiendo el comando de kexec con todos sus parametros, que simplemente ejecutar shutdown -r now , esto del soft reboot pr\u00e1cticamente est\u00e1 reservado para reiniciar maquinas f\u00edsicas de servidores que no pueden parar ni un momento o no mas que un par de segundos<\/p>\n\n\n\n<p><strong>\u00bf puedo hacer soft reboot en cualquier servidor f\u00edsico ?<\/strong><\/p>\n\n\n\n<p>De poder\u2026 puede, pero depende la misi\u00f3n del servidor, no hay que dejar de lado que aunque es soft reboot es un reboot muy r\u00e1pido no deja de ser un reboot y eso significa que dejaran de funcionar bases de dato, servidores web y cualquier servicio que este servidor f\u00edsico este dando. Para servidores que no se pueden detener ni siquiera por unos breves segundos hay soluciones como el <strong><em>kpatch<\/em><\/strong>, los cuales en vivo y caliente parchan vulnerabilidades que no requieren siquiera reiniciar el kernel y lo hacen en vivo y en producci\u00f3n.<\/p>\n\n\n\n<p><strong>Hacer un soft reboot con kexec<\/strong><\/p>\n\n\n\n<p>Para hacer un soft reboot se requiere tener 3 cosas a la mano, 2 archivos y la l\u00ednea de arranque del kernel anterior pues en esta l\u00ednea esta la partici\u00f3n que fue tomada como root, los 2 archivos son el nuevo kernel y su ramdisk. Estos archivos se encuentran en la partici\u00f3n de \/boot en la mayor\u00eda de las distribuciones y la l\u00ednea de arranque o comand line se puede recuperar de las configuraciones de grub o de archivo \/proc\/cmdline<\/p>\n\n\n\n<p><strong>Cargar en memoria RAM el nuevo kernel<\/strong><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>kexec -l \/boot\/vmlinuz &#8211;initrd=\/boot\/initrd.img &#8211;command-line=&#8221;$( cat \/proc\/cmdline )&#8221;<\/p><\/blockquote>\n\n\n\n<p><strong>Ejecutar el kernel cargado<\/strong><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>kexec -e<\/p><\/blockquote>\n\n\n\n<p><strong>Video manual del art\u00edculo.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Cargar un nuevo kernel sin reiniciar f\u00edsicamente el servidor ( soft reboot ) con kexec\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/Hvcf7lKKe8w?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\u00bf Por que un soft reboot en lugar de un reboot completo ? Los hardware de servidores profesionales no arrancan tan r\u00e1pido como una laptop o una desktop, donde b\u00e1sicamente el despu\u00e9s de un par de segundos del BIOS el kernel es cargado, en los servidores profesionales esta operaci\u00f3n puede llegar a tardar de 5&#8230;<\/p>\n","protected":false},"author":1,"featured_media":2328,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-2326","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-consultoria-y-manuales"],"_links":{"self":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/2326","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2326"}],"version-history":[{"count":2,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/2326\/revisions"}],"predecessor-version":[{"id":2329,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/2326\/revisions\/2329"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/media\/2328"}],"wp:attachment":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2326"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2326"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2326"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}