Cómo actualizar remotamente el sistema operativo usando el protocolo de red Linux
1. Introducción
Generalmente, utilizamos una unidad de disquete o una unidad óptica para iniciar Linux y luego instalamos Linux a través de la unidad óptica local. Sin embargo, este método de instalación no se puede aplicar en las siguientes situaciones:
Sin unidad de disquete o de CD-ROM: para ahorrar costos, muchas empresas generalmente no tienen unidades de CD-ROM ni de disquete en sus computadoras, por lo que la instalación local no es posible.
Unidades de disquete y unidades ópticas no estándar: aunque las computadoras portátiles están equipadas con unidades ópticas, no son necesariamente dispositivos IDE estándar. Algunas lo hacen a través de la interfaz USB. y algunos son a través de la interfaz 1394 (como el Q10 de Samsung). El kernel de Linux que se inicia durante la instalación de Linux generalmente no tiene controladores para estas interfaces, por lo que Linux no se puede instalar localmente.
Además, en algunas ocasiones, como en las salas de informática, hay una gran cantidad de equipos que; deben instalarse al mismo tiempo Al instalar Linux, si lo instala uno por uno a través de una unidad de CD-ROM, no solo es ineficiente sino también desfavorable para el mantenimiento.
El autor se ha encontrado con la segunda situación durante mi trabajo. Una computadora portátil Samsung Q10 necesita instalar Redhat Linux 8.0, pero después de iniciar a través de la unidad óptica, se descubre que el programa de instalación no puede acceder al disco óptico. En respuesta a este problema, el autor encontró un método para instalar Linux en Q10 después de consultar la información y explorar. En la siguiente discusión, a menos que se indique lo contrario, la pregunta 10 se utilizará como ejemplo para presentar cómo instalar Linux de forma remota a través de PXE Bootrom.
2. Principios Básicos
1) ¿Qué es PXE?
PXE (Pre-boot Execution Environment) es un protocolo diseñado por Intel, que permite a los ordenadores conectarse en red. comienza. El protocolo se divide en cliente y servidor. El cliente PXE está en la ROM de la tarjeta de red. Cuando la computadora arranca, el BIOS transfiere el cliente PXE a la memoria para su ejecución y muestra el menú de comandos. El cliente PXE se colocará en la computadora remota. El sistema operativo se descarga en la computadora local a través de la red y se ejecuta localmente.
El funcionamiento exitoso del protocolo PXE necesita resolver los dos problemas siguientes:
Dado que se transmite a través de la red, quién configurará su dirección IP cuando se inicia la computadora;
p >
Qué protocolo se utiliza para descargar el kernel de Linux y el sistema de archivos raíz
Para el primer problema, se puede resolver a través del servidor DHCP. El servidor DHCP asigna una dirección IP al cliente PXE. El servidor DHCP se utiliza para un protocolo para asignar dinámicamente direcciones IP al cliente DHCP. Sin embargo, dado que se trata de asignar direcciones IP al cliente PXE, al configurar el servidor DHCP, debe agregar la configuración específica de PXE correspondiente.
En cuanto a la segunda pregunta, el Cliente TFTP ya existe en la ROM donde se encuentra el cliente PXE. El Cliente PXE utiliza el Cliente TFTP para descargar los archivos necesarios desde el Servidor TFTP a través del protocolo TFTP.
De esta manera se cumplen las condiciones para el funcionamiento del protocolo PXE. Veamos el proceso de funcionamiento del protocolo PXE.
2) Proceso de trabajo
En la figura anterior, el cliente PXE es la computadora que necesita instalar Linux, y el servidor TFTP y el servidor DHCP se ejecutan en otro servidor Linux. Los archivos de arranque, los archivos de configuración, el kernel de Linux y el sistema de archivos raíz de Linux se colocan en el directorio raíz del servidor TFTP en el servidor Linux.
El cliente PXE requiere tres archivos binarios durante su proceso de trabajo: bootstrap, kernel de Linux y sistema de archivos raíz de Linux. El archivo Bootstrap es un programa ejecutable que proporciona a los usuarios una interfaz de control simple y descarga el kernel de Linux y el sistema de archivos raíz de Linux apropiados según la selección del usuario.
3. Pasos
Con los conocimientos previos, puede iniciar la operación formal. Los pasos de la operación se detallan en orden a continuación:
1) Configurar DHCP. Servidor
Seleccione ISC dhcp-3.0. El archivo de configuración del servidor DHCP es /etc/dhcpd.conf. El contenido del archivo de configuración es el siguiente:
opción espacio PXE; /p>
opción PXE.mtftp-código ip 1 = dirección-ip;
opción PXE.mtftp-cport código 2 = entero sin signo 16
opción PXE.mtftp; -código deportivo 3 = entero sin signo 16;
opción PXE.mtftp-código tmout 4 = entero sin signo 8
opción PXE.mtftp-código de retardo 5 = entero sin signo 8; /p>
opción PXE.discovery-control código 6 = entero sin signo 8;
opción PXE.discovery-mcast-addr código 7 = dirección IP
clase " pxeclients" {
coincidencia si subcadena (opción identificador-clase-proveedor, 0, 9) = "PXEClient";
opción identificador-clase-proveedor "PXEClient";
vendor-option-space PXE;
# Al menos una de las opciones PXE específicas del proveedor debe configurarse en
# orden para que las ROM de arranque del cliente se den cuenta de eso. somos un servidor
# compatible con PXE. Configuramos la dirección IP de MCAST en 0.0.0.0 para indicarle a la ROM de arranque
# que no podemos proporcionar TFTP de multidifusión (dirección 0.0.0.0). significa que no
# dirección).
opción PXE.mtftp-ip 0.0.0.0
# Este es el nombre del archivo que las ROM de arranque deben descargar.
p>
filename "pxelinux.0";
# Este es el nombre del servidor del que deben obtenerlo
next-. servidor 192.168.0.1;
}
ddns-update-style interim;
ignorar las actualizaciones del cliente
default-lease-; tiempo 1200;
tiempo máximo de arrendamiento 9200
opción máscara de subred 255.255.255.0;
opción dirección de transmisión 192.168.0.255;
opción enrutadores 192.168.0.254;
opción servidores de nombres de dominio 192.168.0.1,192.168.0.2; nombre de dominio "midominio.org";
subred 192.168.0.0 máscara de red 255.255.255.0 {
rango 192.168.0.10 192.168.0.100
} p>
p>
host q10 {
hardware ethernet 00:00:F0:6B:38:5B
dirección fija 192.168.0.22
p>
}
Las partes clave en el archivo de configuración dhcpd.conf se explican a continuación: host q10{…} define la relación correspondiente entre la dirección MAC y la dirección IP de la tarjeta de red Q10 del notebook , indica que el servidor DHCP asigna una IP fija: 192.168.0.22; nombre de archivo "" especifica el nombre del archivo de arranque netx-server especifica la dirección del servidor TFTP. Para otras configuraciones, consulte el manual del servidor DHCP.
2) Configurar el servidor TFTP
Seleccione tftp-hpa. El archivo de configuración del servidor TFTP es /etc/xinetd.d/tftp.
servicio tftp
{
socket_type = dgram
protocolo = udp
espera = yes
usuario = root
servidor = /usr/sbin/in.tftpd
server_args = -u nadie -s /tftpboot
disable = no
per_source = 11
cps = 100 2
}
Aquí, /tftpboot se especifica como la ubicación del directorio raíz del TFTP Servidor.
3) Configurar bootstrap
El archivo bootstrap se especifica como el archivo pxelinux.0 en dhcpd.conf y se coloca en /tftpboot. El kernel de Linux y el sistema de archivos raíz de Linux también se encuentran en /tftpboot. Durante la ejecución de pxelinux.0, se deben leer los archivos de configuración. Todos los archivos de configuración se colocan en el directorio /tftpboot/pxelinux.cfg/. Dado que PXElinux tiene la función de proporcionar diferentes kernels de Linux y sistemas de archivos raíz para diferentes Clientes PXE, se deben usar diferentes nombres de archivos de configuración para distinguir las necesidades de los diferentes Clientes PXE. Por ejemplo, si la dirección IP asignada por un cliente PXE por el servidor DHCP es 192.168.0.22, entonces el nombre del archivo de configuración correspondiente es /tftpboot/pxelinux.cfg/C0A80016 (Nota: C0A80016 es la representación hexadecimal de la dirección IP 192.168. 0,22). Si no se puede encontrar, busque el archivo de configuración en el orden C0A80016->C0A8001->C0A800->C0A80->C0A8->C0A->C0->C->default.
El contenido específico del archivo de configuración /tftpboot/pxelinux.cft/C0A80001 es el siguiente:
Instalación DEFAULT
PROMPT 1
LABEL install
KERNEL vmlinuz
APPEND initrd=initrd.img devfs=nomount ramdisk_size=16384
Este archivo de configuración especifica el nombre del kernel y la raíz de Linux sistema de archivos y proporciona El kernel pasa algunos parámetros, entre los cuales se debe prestar especial atención al parámetro ramdisk_size. Especifica el tamaño del disco ram establecido después de que se inicia el kernel de Linux. Si la configuración es demasiado pequeña, el proceso de instalación de Linux puede. no proceder.
4) Crear un sistema de archivos raíz/kernel de Linux
Debido a que debe instalarse a través de la red, todos eligen E:imagesootnet.img (unidad de CD-ROM) en Redhat Linux. Disco de instalación 8.0 (disco n.° 1) La letra de la unidad es E:). bootnet.img incluye el kernel de Linux y el sistema de archivos raíz de Linux (incluido el programa de instalación). Utilice bootnet.img para crear un disquete de arranque ejecutando E:dosutils awrite E:imagesootnet.img en la línea de comando de DOS y siga las instrucciones. Una vez completada la producción, copie vmlinuz (kernel de Linux) e initrd.img (sistema de archivos raíz de Linux) en el disquete de arranque en /tftpboot del servidor Linux.
5) Inicie el servidor DHCP/Servidor TFTP
En el servidor Linux, ejecute el servicio dhcpd start y el servicio xinetd restart.
6) Inicie Q10
Después de encender Q10, cuando aparezca el logotipo de la empresa Samsung, se le pedirá al usuario que presione F12 en la esquina inferior izquierda para iniciar el inicio de red. Después de presionar F12, Q10 ingresa al proceso de inicio de red. Primero, se obtiene la dirección IP a través del servidor DHCP, y luego se descarga y ejecuta el archivo de arranque pxelinux.0 durante la ejecución, y se lee el archivo de configuración /tftpboot/pxelinux.cfg/C0A80016. En este momento, aparece boot: en la pantalla. Escriba instalar para ingresar a la interfaz de instalación de red de Redhat Linux 8.0. ¡Todo está bien!
Conclusión
Aunque la discusión anterior es. para la computadora portátil Samsung Q10, pero el principio de funcionamiento y el método de instalación también son aplicables a otros tipos de computadoras, pero recuerde que la tarjeta de red de la computadora debe tener BootROM--PXE Client. Al mismo tiempo, el protocolo PXE también se puede utilizar como tecnología Linux sin disco para iniciar Linux desde una ubicación remota. De hecho, según sea necesario, solo necesita pasar los parámetros de ubicación del sistema de archivos que debe montarse en el kernel de Linux en la opción APPEND del archivo de configuración de Pxelinux.