Administración de Servicios de Red 1 Escuela de Informática y Telecomunicaciones Hardware y Configuración de Dispositivos RHA130 Administración de Servicios.

1 Administración de Servicios de Red 1 Escuela de Informá...
Author: Aarón Negrin
0 downloads 0 Views

1 Administración de Servicios de Red 1 Escuela de Informática y Telecomunicaciones Hardware y Configuración de Dispositivos RHA130 Administración de Servicios de Red

2 2 Hardware: Controladores de dispositivos Uno de los roles principales del kernel es proveer acceso al hardware de la máquina. CPU y memoria son administrados directamente por la funcionalidad central del kernel. Otros dispositivos como las NIC o los dispositivos USB utilizan componentes más especializados del kernel: los drivers de dispositivos. Los drivers pueden implementarse de dos formas: Como parte de la imagen estática del kernel Como módulo del kernel

3 Administración de Servicios de Red3 Hardware: Controladores de dispositivo Imagen estática del kernel Es el archivo que se carga cuando el sistema se inicia. Se almacena en /boot/vmlinuz-version (version es el número de la versión del kernel) Los dispositivos que se usan durante el proceso de arranque (como los drivers de IDE o consola) se se cargan como parte de la imagen del kernel, son controladores de dispositivo estáticos. Los dispositivos que se cargan como parte del kernel, sólo pueden recibir parámetros al momento del arranque. Los gestores de arranque de linux implementan una consola especial para pasar parámetros al kernel. El archivo /proc/cmdline almacena los parámetros del kernel con el que se inició la máquina. Módulos del kernel Los drivers de los dispositivos que no se necesitan durante las etapas iniciales del arranque del sistema se implementan como módulos del kernel, son controladores de dispositivos modulares. Se almacenan en /lib/modules/version (version es el número de version del kernel) Se cargan a demanda: la primera vez que el kernel intenta acceder al dispositivo, el driver se carga al sistema de archivos (y aparece en el directorio anterior) El comando lsmod muestra la lista de los módulos del kernel cargados en ese momento. Equivalentemente, se puede observar el contenido de /proc/modules Es posible pasar parámetros a los módulos, a través del archivo /etc/modprobe.conf, en él se agregan laslíneas correspondientes, como por ejemplo el tipo de un controlador de sonido. No es necesario instalar los drivers: Los módulos para el hardware soportado se incluyen por defecto. Un driver implementado por módulo sólo se carga si el hardware que éste maneja es detectado.

4 Administración de Servicios de Red4 Hardware: Base de datos de hardware soportado por Red Hat https://hardware.redhat.com: se publican la listas del hardware bien soportado y del que se sabe que funciona. Normalmente y por problemas de entrega de información de los fabricantes hacia la O.S.C., las versiones más recientes de un dispositivo de hardware no están soportados.

5 Administración de Servicios de Red5 Hardware: Fuentes de información de hardware dmesg Buffer que almacena los mensajes de arranque y otros emitidos por el kernel. Puede ser visualizado ejecutando el comando dmesg. Durante el arranque, se toma un snapshot del contenido de dmesg y se almacena en /var/log/dmesg. Este archivo se sobrescribe cada vez que el sistema inicia. Kudzu Es un utilitario que detecta hardware nuevo o removido y configura apropiadamente la máquina. En el archivo /etc/sysconfig/hwconf se almacena la lista del hardware detectado actualmente. En el archivo /etc/sysconfig/kudzu se define cuán agresivamente kudzu probará para detectar nuevo hardware. Nota: En el directorio /etc/sysconfig se almacena la información de configuración de hardware y software. En el directorio /usr/share/hwdata se almacenan catálogos de texto del hardware que RHEL espera detectar.

6 Administración de Servicios de Red6 Hardware: Fuentes de información de hardware La capa de abstracción de hardware: hald y lshal hald es un servicio (o demonio) diseñado para acomodar linux a los dispositivos conectados en “caliente”. Mucho del trabajo de kudzu se está transfiriendo a hald. Los dispositivos administrador por hald se listan con el comando lshal. lshal se puede usar para monitorear cambios de hardware, dinámicamente, utilizando el modificador –m. El sistema de archivos /proc Es un filesystem virtual que es implementado por el kernel. No existe en ningún dispositivo de almacenamiento físico. Pseudo sistema de archivos de información de procesos. Explorador de hardware Gnome Aplicación gráfica que recopila la mayor parte de la información de hardware.

7 Administración de Servicios de Red7 Hardware: Soporte de procesador RHEL soporta entre otros procesadores: x86, IA64, Compaq Alpha, IBM iSeries, eSeries y arquitecturas S/390. RHEL soporta SMP, con un máximo de 32 CPU. RHEL soporta multi-threaded /proc/cpu muestra la información de CPU detectadas.

8 Administración de Servicios de Red8 Hardware: Memoria x86/32bits soporta hasta 4GB de RAM Pero existen procesadores de 32 bits con extensiones físicas de direcciones (PAE) que soportan hasta 64GB. Es posible instalar y utilizar un kernel con extensiones PAE, con el paquete kernel-PAE y así soportar mayor cantidad de RAM. /proc/meminfo provee estadísticas acerca de la cantidad de memoria detectada y de la utilización actual.

9 Administración de Servicios de Red9 Hardware: Discos duros El kernel es el responsable de la detección de los discos duros. El rol de un disco en particular está determinado completamente en cómo está conectado físicamente a la máquina. Discos IDE Convenciones de nombre de discos IDE en Linux: hda: Primario maestro hdb: Primario esclavo hdc: Secundario maestro hdd: Secundario esclavo /proc/ide contiene directorios para cada disco IDE detectado. Al listar el contendio del directorio es fácil determinar qué discos IDE han sido detectados por el kernel.

10 Administración de Servicios de Red10 Hardware: Discos duros Discos SCSI Se llaman sdx Al primer disco SCSI detectado se le llama sda, al segundo sdb y así sucesivamente. Si se agregan nuevos discos, es posible que después de un reinicio la identificación del disco cambie, en el caso de los sdx. /proc/scsi se muestran los discos scsi detectados. Los mensajes del kernel pueden ayudar a determinar qué disco SCSI tiene qué nombre, consultando el archivo /var/log/dmesg. Discos SATA RHEL utiliza emulación de SCSI para interactuar con SATA, pero son reportados como discos IDE.

11 Administración de Servicios de Red11 Ejercicio: Determinar el hardware de su equipo y almacenarlo en /home/hwdata/file 1.Determine la velocidad del CPU en Megahertz. Nombre de archivo cpuspeed. 2.Determine la capacidad de la memoria caché en Kilobytes. Nombre de archivo cpucache. 3.Determine el tamaño de la RAM en Megabytes. Nombre de archivo memsize. 4.Determine el nombre del módulo del kernel que está sirviendo como el driver para su NIC eth0. Nombre de archivo nicdriver. 5.Determine el número de los discos IDE conectados actualmente. Nombre de archivo numide.

12 Administración de Servicios de Red12 Dispositivos PCI: El bus PCI Los dispositivos PCI se pueden identificar con un ID de fabricante y dispositivo. El comando lspci lista todos los dispositivos PCI conectados.

13 Administración de Servicios de Red13 Dispositivos PCI: Recursos de Hardware IRQ Implementan la forma que un dispositivo llama la atención del kernel. Existen 15 IRQ. El archivo /proc/interrupts muestra la lista de las líneas IRQ disponibles y el dispositivo que las está usando. Puertos I/O Espacio de direccionamiento de 16 bits para los dispositivos (en x86). El archvio /proc/ioports muestra qué puertos I/O son utilizados por cuál dispositivos. Buffers de memoria de dispositivo Memoria propia de algún dispositivo que es mapeada a la memoria física, para facilitar la transferencia de datos. (Ejemplo clásico: la tarjeta de video) EL archivo /proc/iomem muestra los dispositivos cuyo buffer de memoria ha sido mapeado a la RAM.

14 Administración de Servicios de Red14 Dispositivos PCI: Configuración de dispositivos Para configurar el kernel de manera que use un nuevo dispositivo se debe: Cargar el módulo del kernel correspondiente a ese driver El dispositivo debe ser configurado para usar IRQ, I/O y buffers sin que cree conflictos con otro dispositivo. Carga de drivers modulares Si el driver de un dispositivo no está presente en el kernel, se consulta una tabla de dispositivos PCI, ubicada en /lib/modules/2.6.18-8/modules.pcimap. Si se reconoce el ID de fabricante y dispositivo, se cargará el módulo correspondiente. El kernel reconoce la necesidad de un driver por el rol que cumple. (eth0, snd- card-0, etc.). –En el archivo /etc/modprobe.conf se definen los roles de dispositivos utilizando alias que los relacionan con el id de hardware en particular

15 Administración de Servicios de Red15 Dispositivos PCI: Configuración de dispositivos Alias típicos que se encuentran en modprobe.conf ethN snd-card-N usb-controller scsi hostadaptor char-major-N block-major-N

16 Administración de Servicios de Red16 Dispositivos PCI: Asignación de recursos Todos los dispositivos utilizan un mecanismo común para informar cuáles son las distintas configuraciones que soportan (IRQ 11; I/O Port 0xe000). El comando lspci –v informa los recursos asociados con cada dispositivo. #lspci -v … 00:11.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rev 10) Subsystem: Advanced Micro Devices [AMD] PCnet - Fast 79C971 Flags: bus master, medium devsel, latency 64, IRQ 177 I/O ports at 1400 [size=128] [virtual] Expansion ROM at 20000000 [disabled] [size=64K] …

17 Administración de Servicios de Red17 Ejercicios Determine: El nombre del dispositivo que está usando la IRQ 1. El rango de puertos I/O que está siendo utilizado por el dispositivo de su máquina llamado “fpu” El rango de direcciones físicas que está siendo usado por el “video ram area” de su máquina.

18 Administración de Servicios de Red18 Nodos de dispositivo de sistema de archivos. Todo es archvio en Unix Los procesos se comunican con los drivers de dispositivos como si ellos fueran archivos Nodos de dispositivos de sistemas de archivos – Los archivos que hacen referencia a los drivers se llaman nodos de dispositivos. – Linux utiliza distintos tipos de archivo: Archivos regulares (-/d) Archivos de bloque o nodos de dispositivos de bloque (b) Archivos de caracter o nodos de dispositivos de caracter (c) Los nodos de dispositivo se encuentran en /dev. Cuando el kernel detecta un nuevo dispositivo, se agrega un nuevo nodo de dispositivo en /dev.

19 Administración de Servicios de Red19 Nodos de dispositivos de sistema de archivos: Dos tipos de nodos Dispositivo de bloque – Dispositivos que permiten acceso aleatorio y transferencia de información en segmentos o bloques de tamaño fijo, como los discos. Dispositivos de caracter – Dispositivos que operan con un flujo o stream de bytes secuenciales (o caracteres). – EJ.: Datos enviados a la impresora, secuencias de teclado.

20 Administración de Servicios de Red20 Nodos de dispositivos de sistema de archivos: Anatomía de los nodos de dispositivos Los archivos comunes se usan para almacenar información en un disco. El comando ls informa el tipo y el tamaño de un archivo común. Los nodos de dispositivos sirven de conductor en la transferencia de información a un driver de dispositivo. El comando ls mostrará el tipo y dos numeros en vez del tamaño: el major y el minor number. – En /proc/devices se encuentra la lista de los drivers registrados por el kernel y sus major numbers. – Los major numbers son un valor que identifica al dispositivo de bloque.(FDD 2, IDE 3). – Los minor numbers se usan como parámetros que se entregan al driver del dispositivo. (En el caso de IDE identifica el número de partición, en el caso de FDD identifica el número de la disquettera.

21 Administración de Servicios de Red21 Nodos de dispositivos de sistema de archivos: Administración de nodos de dispositivos, mknod. mknod es un comando que permite crear nodos de dispositivos. Se le entrega el nombre del archivo, el tipo de driver de dispositivo (bloque o caracter) y el major y minor number.

22 Administración de Servicios de Red22 Nodos de dispositivos de sistema de archivos: Nodos de dispositivos comúnmente usados Nodos de dispositivos de bloque hda: Disco IDE primario maestro. hdb: Disco IDE primario esclavo hdc: Disco IDE secundario maestro hdd: Disco IDE esclavo sda: Primer disco SCSI sdb: Segundo disco SCSI fd0: Disquetera primaria fd1: Disquetera secundaria Nodos de dispositivos de caracter ttyn: Consola virtual nro. n. ttySn: Puerto serial n. lpn: Puerto paralelo n. null: Toda la información escrita a este dispositivo virtual se descarta. Zero: Cuando se lee, este dispositivo es una fuente infinita de ceros. urandom: Cuando se lee, este dispositivo es una fuente infinita de datos binarios aleatorios.

23 Administración de Servicios de Red23 Nodos de dispositivos de sistema de archivos: Links simbólicos como nombres funcionales. RHEL usa a menudo links simbólicos en /dev para facilitar la configuración de las aplicaciones que utilizan los nodos de dispositivos. – /dev/cdrom: /dev/hdc - /dev/sdb – dev/modem: /dev/ttyS0 - /dev/ttyS1 – /dev/pilot: /dev/ttyS0 - /dev/usb/ttyS1

24 Administración de Servicios de Red24 Nodos de dispositivos de sistema de archivos: Creación dinámica de nodos, udev Las versiones anteriores de linux mantenían una lista larga de nodos de dispositivos probables de ser utilizados en /dev Desde RHEL4 se implementa un demonio, udevd, que es notificado por el kernel cuando se detecta que un nuevo dispositivo se ha agregado a la máquina. udevd consulta una base de datos en /etc/udev y luego agrega el nodo de dispositivo. Si el dispositivo se desconecta, el kernel notifica a udevd y éste elimina el nodo de dispositivo. Udevd considera que cualquier dispositivo es hotswap.

25 Administración de Servicios de Red25 Ejercicios Crear un archivo llamado /home/block-3-0, que contenga el nombre de un nodo de dispositivo de bloque asociado con el major number 3 y minor number 0. Crear un archivo llamado /home/char1-8, que contenga el nombre de un node dispositivo de caracter asociado con el major number 1 y minor number 8. Crear un archivo llamado /home/cdrom, que contenga el nombre de un nodo de dispositivo de bloque al cual el link simbólico /dev/cdrom resuelve. Refiérase al archivo usando una referencia relativa (por ejemplo sin /dev/). Usar el comando mknod para crear el nodo de dispositivo /home/myfd0. El nodo debe tener las mismas propiedades que el nodo /dev/fd0.

26 Administración de Servicios de Red26 Monitoreo del rendimiento: Rendimiento de la CPU uptime – Muestra cuánto tiempo ha estado operando la máquina sin apagarse o reiniciarse. Top – Lista los procesos que se están ejecutando en la máquina ordenados por actividad de la CPU. – Adicionalmente entrega la misma información que el comando uptime.

27 Administración de Servicios de Red27 Monitoreo de rendimiento: Utilización de memoria cat /proc/meminfo – Mostrará el estado de uso de memoria top – También muestra uso de memoria La RAM en Linux siempre se usa al 90% para optimizar las tareas de I/O