Tengo la tarea de administrar una red de oficinas pequeñas, así como varias estaciones de trabajo que ejecutan principalmente Debian y Ubuntu. Hay dos servidores: una base de datos y un servidor de impresión, y un servidor de respaldo y archivo.
Siendo relativamente nuevo en este lado de las cosas, sabiendo lo suficiente como para ayudarme hasta cierto punto en Linux, me gustaría saber qué herramientas de software y tareas / hábitos puedo usar / adquirir para aprender este campo y ser efectivo mientras lo hago.
No necesito saber cuál es el mejor, solo lo que un administrador de sistemas novato puede usar como paquete de inicio para aprender y usar como base para convertirse en la administración adecuada del sistema.
Lo que necesito son esas pocas herramientas básicas para comenzar, y el tipo de cosas que necesito hacer regularmente, por ejemplo: qué registros verificar, cuándo y qué monitorear, el tipo de lugar "correcto" para comenzar y en el que puedo anuncio como lo necesito.
Respuestas:
1
supervisar los procesos críticos del negocio [p. ej., la base de datos se está ejecutando y responde a consultas simples], parámetros básicos del sistema operativo [espacio libre en disco, promedio de carga]. puedes usar nagios o zabbix por ejemplo.
2
Recopilar estadísticas para establecer algunas líneas de base. En el futuro, esto será útil para la planificación de la capacidad. puedes usar munin , zabbix, cactus , etc.
3
ejecute copias de seguridad automáticas programadas, almacene algunas de ellas sin conexión, fuera del sitio. supervise si tuvieron éxito, de vez en cuando verifique manualmente si puede recuperar datos críticos. es posible que desee utilizar backupninja para orquestarlos o Zmanda , pero hay herramientas mucho más útiles ...
4 4
documento. por tu propio bien. No piense que la falta de documentación aumenta la seguridad de su trabajo. el primero que sufrirá por falta de usted es usted, probablemente olvidará las cosas con bastante rapidez.
5 5
de otras cosas al azar:
aprende un lenguaje de secuencias de comandos, ¿tal vez ya conoces uno? perl / python / php se puede usar para automatizar tareas y, en muchos casos, son más adecuados que bash para tareas más complicadas
aprende tus herramientas - es una lista interminable ... ssh viene a la mente probablemente primero. mira esto y aquello .
fuente
La práctica de administración de sistemas y redes , de Limoncelli, et al, es donde debe comenzar. Las tecnologías irán y vendrán (y se pueden buscar en Google fácilmente según sea necesario), pero la información en ese libro es atemporal (y no tiene precio).
fuente
Algunas herramientas básicas para comenzar
Google No en serio. Google es el sueño de un administrador de sistemas hecho realidad. No hay una mejor manera de aprovechar la gran cantidad de información en Internet. Y no se limite a solo buscar "Linux para principiantes"; si tiene una tarea específica que está tratando de lograr, busque esa cosa específica en Google. A menudo encontrará mucha más información de la que necesita, y como principiante, mucha de ella parecerá otro idioma, pero aprender haciendo es una buena manera de aprender rápidamente.
Tabulación completada. La línea de comandos de Linux permite completar tabulaciones de todos los comandos, árboles de directorios, nombres de directorios y nombres de archivos.
Páginas man. Cada comando y muchos archivos de configuración del sistema (/ etc / fstab, / etc resolv.conf, etc.) tienen páginas Man. Simplemente escriba "man command_name" o "man file_name" para ver si lo que está buscando tiene uno. Ah y "q" sale de una página de manual.
SSH Una de las mejores formas de acceder a un sistema Linux. Probablemente la mejor manera si no tiene acceso físico al sistema.
Pantalla. Screen es una pequeña aplicación fantástica que te permite convertir un terminal en muchos, te permite sacar cosas de tu camino / en segundo plano, y te permite dejar las cosas en funcionamiento para que puedas volver a ellas más tarde.
Nano Usted mencionó anteriormente que ya usa esto, pero solo pensé en tirar mis dos centavos y decir que estoy de acuerdo. Vi y Vim y todo eso está bien y todo, pero es la simplicidad de Nano lo que amo. Es como el Bloc de notas del mundo Linux.
Encuentra y Grep. Hallazgo es ideal para la búsqueda de archivos, Grep es ideal para la búsqueda de archivos. Ambos pueden usarse de maneras muy simples, y ambos pueden usarse de maneras muy complejas, pero ambos son bastante útiles de cualquier manera.
Sudo Te permite actuar como root, sin ser root. Muy útil.
Además de algunas otras herramientas que mencionaré en el contexto de la siguiente sección ...
Las clases de cosas que debes hacer regularmente
Monitoree su sistema. Supervise el uso de su disco (df es un comando útil, y también para directorios específicos), supervise sus procesos y tareas en ejecución (a través del comando ps y los comandos principales), supervise a los usuarios conectados a sus sistemas (los usuarios y los comandos que decirte esto) y supervisa el uso de tu red (aplicaciones como cactus son buenas para eso). Si tiene acceso a un entorno X Windows, siempre encontré que GKrellM es una herramienta de monitoreo de sistema todo en uno muy útil.
Copias de seguridad. Por el amor de Tux, copias de seguridad. Copia de seguridad de archivos de configuración, copias de seguridad de directorios de inicio, datos de aplicaciones de copia de seguridad Copias de seguridad. Incluso si todo lo que está haciendo es copiar directamente los datos del servidor a un recurso compartido CIFS / NFS en otra caja y un disco duro externo. Y sí, debe conservar dos copias de cada copia de seguridad, y nunca en el mismo medio / sistema. Piense en ello como copias de seguridad de sus copias de seguridad.
Revisa tus copias de seguridad. Verifique rutinariamente para asegurarse de que puede restaurar los datos de sus copias de seguridad en sus sistemas. Las copias de seguridad vacías / corruptas / incompletas son tan inútiles como el día es largo.
Usa tus archivos de registro. Dmesg, / var / log / messages, y realmente casi cualquier cosa en / var / log period. Si algo no funciona bien y no sabe por qué, los registros pueden no tener la respuesta, pero definitivamente pueden ayudarlo a encontrarlo. Y los registros y directorios en / var / log tienen un nombre sensato, por lo que encontrar el registro correcto no debería ser difícil. No necesitará monitorear constantemente cada archivo de registro, pero vigilarlos lo ayudará a mantener su sistema saludable y seguro.
Mantenga su sistema actualizado. No deje que su software funcione durante meses y meses sin ser actualizado, ya que puede provocar muchos dolores de cabeza y romper cosas cuando la sintaxis del archivo de configuración o las dependencias cambian. Las diferentes distribuciones tienen diferentes programas de actualización (apt-get, yum, etc.) pero cualquiera que use, apréndalo y úselo regularmente.
Mantenga su sistema seguro. Use cosas como iptables, PAM, hosts.allow / hosts.deny y similares para evitar el acceso no deseado y el uso de su sistema.
Nunca dejes de aprender. Para continuar con algo que dije antes (aprender a hacer), algo que debes considerar son las máquinas virtuales. Descargue VirtualBox (o si tiene licencias VMWare aún mejores) y conviértase en una máquina virtual Linux. Puede elegir cualquier distribución que desee realmente, pero obviamente tiene más sentido ir con una que esté utilizando en su entorno. Juega en la máquina virtual ... úsala como un sandbox. Prepara cosas, rompe cosas, investiga, aprende. La belleza de una máquina virtual de sandbox es que no importa lo que le pase. Si lo manguera por completo, simplemente haga uno nuevo. O guarde una copia de seguridad del original después de configurarlo y reutilícelo siempre que lo necesite.
Como algunas de las otras publicaciones en este hilo han mencionado y aludido, estas listas realmente podrían ser casi infinitas, pero espero que esto lo lleve a un buen comienzo.
fuente
Si recién está comenzando, y especialmente porque tiene algunos sistemas Debian (Ubuntu es Debian en su núcleo), le recomiendo la Referencia de Debian . Es una excelente descripción general de casi todos los aspectos de la administración del sistema y debe cubrir casi todo lo que necesita saber sobre el mantenimiento de un pequeño conjunto de sistemas como estos.
También estoy de acuerdo con todos los puntos que pQd hizo, y más específicamente, creo que sería una buena idea configurar un wiki para documentar todos sus procesos y configuraciones. En mi organización usamos Trac, pero cualquier motor wiki debería hacerlo, solo asegúrese de que tenga una buena manera de mostrar el código fuente, ya que es útil para pequeños scripts y listas de comandos.
fuente
Honestamente, la Administración del sistema Linux no es un campo en el que puedas simplemente 'saltar'.
Sin embargo, si tiene que hacerlo , hay algunos buenos libros sobre el tema. O'Reilly tiene dos libros (Administración de redes de Linux y Administración de sistemas de Linux) que deberían ayudarlo a comenzar.
Personalmente, si fuera usted, solo pasaría unos días jugando con diferentes distribuciones, instalando software, configurando cosas de tipo Nagios / Cacti / Apache2 / SSH / NFS, y tal vez aprendiendo algún tipo de lenguaje de script (uso Perl, yo mismo; pero muchos de mis colegas administradores prefieren usar Python. Sin embargo, depende de ti lo que quieras aprender).
Y definitivamente aprende la línea de comando. No recurra a las herramientas gráficas como una muleta.
Aprender vi. Incluso si solo lo aprende lo suficientemente bien como para hacer ediciones básicas, entonces está bien, pero es importante aprender vi porque a veces estás atrapado en un sistema sin Vim / Nano / Emacs. Cuando esté en esa situación, estará feliz de haber pasado un día o dos aprendiendo vi.
Si necesita ayuda, no dude en enviarme un correo electrónico (mi correo electrónico se elimina [por razones de seguridad]). Estaré encantado de ayudarle fuera de ServerFault.
fuente
Si se siente cómodo instalando una aplicación en los servidores, considere webmin, ya que proporciona una "ventanilla única" para la mayor parte del registro y la configuración. Configúrelo para que se ejecute en un puerto de alto orden utilizando SSL y se amortiza fácilmente en la comprobación.
fuente
Te diré el mejor no secreto de la administración del sistema y la red. ¿Estás listo? Ok, aquí está:
Aprende los fundamentos. Déjame elaborar.
Cualquiera (o casi) puede aprender qué hace este o aquel software en particular y cómo presionar este botón en esa herramienta para hacer que x, y, o z funcionen. Eso no es nada especial.
Si quieres ser un buen administrador del sistema / red, aprende las cosas ocultas. ¿Cuál es la secuencia de eventos en una conexión de red típica? ¿Cuál es la diferencia entre un marco y un paquete? ¿Qué significa realmente el promedio de carga en un sistema Unix? ¿Cuál es el proceso de arranque típico para una máquina? Solo eso, si lo sigue de principio a fin, proporcionará una gran cantidad de conocimiento.
Una vez que comprenda los fundamentos y los comprenda realmente bien, es mucho más fácil colocar el conocimiento sobre una buena base. Pero si comienzas desde arriba y tratas de aprender partes específicas de software sin saber lo que sucede debajo, eso te hará ... simplemente otro conserje de alta tecnología, básicamente.
fuente
En primer lugar, encuentre sus registros. La mayoría de las distribuciones de Linux se registran en / var / log / messages, aunque he visto un par de registros en / var / log / syslog. Si algo está mal, lo más probable es que haya información relevante en los registros. Además, si se trata de correo electrónico, no olvide / var / log / mail. Vuelva a verificar sus aplicaciones, descubra si alguna de ellas se registra en un lugar ridículo, fuera de syslog.
Mejora tus habilidades vi. Nano podría ser lo que todos los niños geniales están usando en estos días, pero la experiencia me ha enseñado que vi es el único editor de texto que está garantizado para estar en el sistema. Una vez que te acostumbres a los atajos de teclado y comiences a crear tus propios disparadores, vi será como una segunda naturaleza para ti.
Lea la página de manual, ejecute los siguientes comandos en cada máquina y copie los resultados en su documentación:
Eso servirá como el comienzo de su documentación. Esos comandos le permiten conocer su entorno y pueden ayudarlo a reducir problemas más adelante.
Hojee sus registros y busque "error" o "error". Eso te dará una idea de lo que no funciona como debería. Sus usuarios le darán su opinión sobre lo que está mal, escuche atentamente lo que tienen que decir. No entienden el sistema, pero lo ven de una manera diferente a la suya.
Cuando tenga un problema, verifique las cosas en este orden:
Espacio en disco (df -h): Linux, y algunas aplicaciones que se ejecutan en Linux, hacen cosas muy extrañas cuando se agota el espacio en disco. Puede parecer no relacionado, hasta que verifique y encuentre un sistema de archivos 100% lleno.
Arriba: Top le informará si tiene algún proceso que está atascado y consume todos sus ciclos de CPU disponibles. Nada debe consumir el 99% de la CPU durante un período prolongado de tiempo. Si es un proceso legítimo, probablemente debería fluctuar hacia arriba y hacia abajo. Mientras estás en la cima, verifica ...
Carga del sistema: la carga del sistema normalmente debería ser inferior a 3 en un servidor o estación de trabajo estándar. La carga del sistema se basa en la CPU, la memoria y las E / S.
Memoria (free -m): el uso de RAM en Linux es un poco diferente. No es raro ver un servidor con casi toda su RAM gastada. No entre en pánico, si ve esto, es principalmente caché, y se borrará según sea necesario. Sin embargo, preste mucha atención a la cantidad de intercambio en uso. Si es posible, manténgalo lo más cerca posible de cero. La memoria insuficiente puede conducir a todo tipo de problemas de rendimiento.
Registros: regrese a sus registros, ejecute tail -500 / var / log / messages | más y comenzar a leer y ver lo que está sucediendo. Con suerte, los registros podrán apuntarlo en la dirección que debe seguir a continuación.
Un servidor Linux bien mantenido puede funcionar durante años sin problemas. Simplemente cerramos uno que había estado funcionando durante 748 días, y solo lo cerramos porque habíamos migrado la aplicación a un nuevo hardware. Con suerte, esto le ayudará a mojarse los pies y comenzar bien.
Una última cosa, siempre haga una copia de un archivo de configuración que desee cambiar, y siempre copie la línea que está cambiando y comente el original, agregando su razón para cambiarlo. Esto lo llevará a la costumbre de documentar a medida que avanza y puede salvar su piel 9 meses más adelante.
fuente
buena pregunta.
Mi consejo. Aprende a usar tu caparazón.
El estándar es bash. Puedes escribir ayuda para entrar en la documentación.
aprender tuberías "|" para obtener la salida de un comando a la entrada de un segundo comando.
Una última cosa, me ayudó mucho tiempo atrás: Linux One Page Manual
trabaja duro, nunca te rindas.
En 3-4 años tendrás suficiente conocimiento y muchas cosas vienen de sí mismas :)
fuente