Universidad Tecnológica de León Ingeniería en Redes Inteligentes y Ciberseguridad
Asignatura: Cómputo en la Nube
Profesor: José Luis Alejandro Hernández Ramírez
Título: Administración de RAID e Instalación de Nextcloud
Presenta: Fátima Abigail Porras Noriega
Matrícula: 18002125
Grupo: IRIC801
León, Guanajuato. A 23 de enero de 2021
INTRODUCCIÓN En la primera práctica del curso se aprendió a crear un arreglo de discos, si bien recordamos, un Arreglo Redundante de Discos Independientes (RAID, del inglés Redundant Array of Independent Disks) hace referencia a un sistema de almacenamiento de datos que utiliza múltiples unidades (discos duros o SSD), entre las cuales se distribuyen o replican los datos. A pesar de conocer la manera de crearlos y para qué funcionan, el tema de administración de un RAID quedó al aire ya que no se hizo uso de ninguna herramienta para saber administrarlos. Es por eso por lo que, en el siguiente informe, se explicará la manera en la que se puede administrar un arreglo de discos, administración que va desde revisar el estado de los discos duros, hasta la expansión del arreglo en general. Por otra parte, se abre el camino para hablar de Nextcloud, el cual es una serie de programas cliente-servidor con el objetivo de crear servicio de alojamiento de archivos. Su funcionalidad es similar al software Dropbox, aunque Nextcloud es de tipo código abierto, permitiendo a quien lo desee instalarlo en un servidor privado. Así que, como parte complementaria del reporte, también se estará realizando la instalación de Nextcloud en el servidor Ubuntu, se revisarán temas como lo son la conexión remota vía SSH para finalizar con el acceso a la interfaz web de Nextcloud.
1
ADMINISTRACIÓN DE RAID En la primera parte del informe se explica de qué manera puede administrarse un RAID. Para esto, en primer lugar, se debió crear un nuevo disco duro en el servidor. Para ello se ingresó al apartado configuración.
Posteriormente se ingresó al apartado de almacenamiento y se seleccionó el controlador responsable de alojar los discos duros, dentro de ahí, se ingresó a la opción de añadir disco duro.
El ingresar a la sección de añadir un nuevo disco duro, se debió seleccionar la opción de crear debido a que se debía tener uno completamente nuevo.
2
Al seleccionar crear, la siguiente parte fue el proceso de creación del disco como tal. Se eligió el tipo de archivo de disco duro, para lo cual se escogió la opción VDI, después se pidió el almacenamiento en unidad de disco duro física, para lo cual se eligió reservado dinámicamente, y finalmente se debió especificar la ubicación y el tamaño del archivo, para lo cual se dejó la ubicación por defecto y se le dio un tamaño de 20.00 GB.
Finalmente, el disco duro se agregó al grupo de los demás discos duros y se pudo visualizar en ese listado del controlador LsiLogic SCSI en los dispositivos de almacenamiento.
3
Posteriormente se inició la máquina virtual para comenzar a ejecutar algunos comandos de gran ayuda. El primer comando del que se estará haciendo énfasis es el comando mdadm, una utilidad Linux utilizada para administrar RAID por software de tal manera que permite comprobar y monitorizar el estado del RAID o realizar acciones correctivas. El primer comando que se ejecutó fue sudo mdadm -D [device], de tal modo que con la opción D se proporcionó información detallada sobre el RAID. Se puede observar la fecha de creación, el nivel de RAID, el tamaño, el estado en el que se encuentra, y, lo más importante, los dispositivos que se encuentran dentro del arreglo, entre otros detalles más.
Otra opción importante válida en mdadm, es la opción -Q, la cual muestra información general acerca del arreglo. Cabe aclarar que /dev/md0 es el arreglo que se quiere gestionar.
La siguiente instrucción que se ejecutó fue el comando fdisk -l [disk], el cual permite visualizar y/o manipular un disco de la tabla de particiones. Se muestra el listado de dispositivos que se tienen en el equipo.
4
El siguiente comando fue el mdadm, pero esta vez con la opción -E, la cual permite examinar un componente en específico del arreglo. Su sintaxis es sudo mdadm -E [component].
Una manera más de poder visualizar la información o el estado del arreglo es ingresando al directorio /proc/mdstat. En donde se muestran los dispositivos que tiene, entre otras cosas.
Conocer este directorio es de gran utilidad ya que es un sistema de archivos con información de distintos procesos. Al ejecutar el comando cat /proc/[directory] se puede visualizar cualquier proceso que esté dentro de la carpeta. Es una partición virtual, cada que arranca el SO se crea y brinda información acerca del procesador, de la memoria o de cualquiera de las siguientes opciones del sistema en general:
5
Ya que se conoce un poco más el comando mdadm, lo siguiente será agregar al RAID el nuevo disco duro que se creó al inicio. Esto se realizó con la opción --add, especificando el arreglo y el disco que se quería agregar al arreglo:
Y al ejecutar nuevamente la opción -D, se pudo comprobar que el disco recién agregado, quedó en un estado de espera (spare), el cual entraría en caso de que otro de los discos del arreglo llegara a fallar.
Como se mencionó anteriormente, para que el disco más nuevo pudiera agregarse al arreglo, uno de los discos debería fallar. Así que para poder demostrarlo se simuló un fallo de uno de los discos con la opción -f, la cual permite marcar a un dispositivo específico como defectuoso. La sintaxis es sudo mdadm [array] -f [device].
6
Al volver a revisar el estado del arreglo con la opción -D, se pudo visualizar que el disco que estaba en espera (sdf) estaba en un estado de reconstrucción, mientras que el disco que sí formaba parte del RAID (sdd), se cambió a un estado de falla y se desactivó.
Por otro lado, se decidió mostrar la manera en la que se puede remover un disco duro, esto se hizo con la opción -r, la cual permite remover un dispositivo en específico, este no debe de estar activo. La sintaxis es sudo mdadm [array] -r [device].
Y al volver a ejecutar el análisis del estado del arreglo, ya no se pudo observar el disco con falla, y el otro que entró a suplir, seguía en un estado de reconstrucción. Es decir, entró a reparar el fallo del otro.
Por otro lado, se volvió a ejecutar el comando de cat /proc/mdstat para revisar el estado del arreglo y se pudo observar el progreso del disco nuevo, [4/4], lo cual representó que el arreglo quedó en las condiciones iniciales.
7
Y al volver a ejecutar la opción -D, se pudo observar que el estado de todos los discos se convirtió en activo, es decir, todo se reconstruyó.
Otra practica interesante al momento de administrar un RAID, es la expansión de este, el cual se puede realizar agregando nuevamente el disco duro que se había removido con el comando mdadm --add.
Como se puede recordar, el disco agregado queda en estado de espera, ya que entra como un suplente en caso de fallo de otro de los discos.
Así que, si se quisiera agregar el disco y que no estuviera en espera de tal manera que se convirtiera en parte del arreglo, se utilizaría el comando mdadm con la opción --grow. La sintaxis sería sudo mdadm --grow [array] --raid-device=5, indicando de esta forma que ahora el arreglo se convierta a un arreglo de 5 posiciones. De modo que el RAID se expandiría y tendría todos los discos activos.
8
INST ALACIÓN DE NEXTCLOUD La segunda parte del informe se concentra en la instalación de nextcloud, para lo cual, en primer lugar, se necesita conocer si el servicio de SSH se encuentra activo.
Por otro lado, se necesitan descargar algunos programas, por ejemplo, el software Putty, FileZilla y WinSCP. El software putty nos servirá para poder acceder de manera remota vía SSH al servidor. TIP INTERESANTE: Al momento de descargar algún programa desde internet, es importante conocer las firmas cifradas que cada software trae consigo al momento de la descarga. Esto para verificar que se esté descargando software confiable. La manera en la que se puede representar es, por ejemplo, con cifrado MD5, SHA512, etc.
Al ya conocer estas claves cifradas, lo siguiente es ingresar a PowerShell, una interfaz de consola de Windows con la posibilidad de escritura y unión de comandos por medio de instrucciones. Esta interfaz esta diseñada para su uso por parte de administradores de sistemas, con el propósito de automatizar tareas o realizarlas de forma más controlada. De esta manera, se utilizó este recurso de Windows para verificar que el hash proporcionado en los cheksums de la web coincidiera. Esto se realizó con la instrucción Get-FileHash -Algorithm [SHA512] <ruta del programa> | Format-List. De tal manera pudo compararse la información y se validó para instalar.
9
Al tener ya instalado putty, se procedió a iniciar una sesión de tipo SSH al servidor de manera remota. Esto se hizo ingresando la dirección IP que tiene el servidor.
Se puede observar que se inició la sesión y de esta manera se pueden ejecutar todos los comandos requeridos.
10
Al estar dentro del servidor, los siguientes pasos fueron comenzar con la instalación de Nextcloud. Así que la primera instrucción que se ejecutó fue la de sudo snap install nextcloud, el cual instaló el administrador de paquetes snap que sirve para instalar todo lo relacionado con nextcloud, por ejemplo, MySQL, apache, entre otras aplicaciones.
Lo siguiente fue crear un usuario y una contraseña los cuales permitirían ingresar a la interfaz web una vez que estuviera todo instalado. Esto se realizó con la instrucción sudo nextcloud.manual-install [usuario] [contraseña].
Lo siguiente fue hacer uso del comando sudo nextcloud.occ config:system:get trusted_domains, el cual deja saber de qué manera acceden los clientes al servidor. En este caso por localhost.
Como bien se sabe, el localhost se puede reemplazar por la dirección IP del servidor, así que, para agregarla como dominio de confianza, se utilizó el comando sudo nextcloud.occ config:system:set trusted_domains 1 -value [dirección IP]. Este comando permite agregar la interfaz por la cual ingresan los clientes a nextcloud.
El siguiente comando que se ejecutó fue el sudo nextcloud.enable-https selfsigned, el cual habilita la conexión por https, que permite ingresar desde la web y además crea un certificado auto firmado que asegura la identidad del servidor.
11
Al realizar todas estas configuraciones, lo siguiente fue ingresar desde el sitio web, poniendo la dirección IP configurada en el buscador e ingresando con el usuario y la contraseña que se especificó anteriormente.
Al ingresar esta información, se pudo tener acceso a nextcloud.
12
CONCLUSIÓN El conocer la manera en la que se puede administrar un RAID es de gran importancia cuando se está trabajando con ellos ya que brinda mucha facilidad al momento de querer revisar que los discos estén trabajando de manera correcta y que no se esté presentando ninguna falla en el arreglo. Cabe aclarar que para que se haga uso de estos comandos, se debe de saber lo que se está ejecutando, es decir, las instrucciones que le estamos dando a la consola, ya que como sabemos, lo que le pasa a un disco le puede pasar a otros más. De esta manera es importante entonces conocer a fondo cada una de las instrucciones que se están ejecutando para que no se presenten fallas al momento de administrar los arreglos de discos y, sobre todo, no perder la información que hay. Por otra parte, considero que el trabajar por SSH de manera remota es algo indispensable en la actualidad, no sólo por la manera en la que se está presentando la vida (homeoffice o e-learning), sino porque muchas de las organizaciones necesitan de alguna vía remota de acceso hacia sus servidores. Esto es importante para no perder productividad y eficacia al momento de estar trabajando, ya que puedes acceder literalmente en el momento que quieras sin necesidad de tener el servidor en tu casa o cerca de ti. La instalación de nextcloud se llevó a cabo de una manera muy sencilla, al conocer “por encima” la interfaz web de este conjunto de aplicaciones, pude darme cuenta de lo intuitivo que es para el usuario manejar este servicio, permite instalar aplicaciones de organización, de seguridad, sociales, entre otras funcionalidades más. Más adelante, en prácticas siguientes se podrá conocer un poco más acerca de todo aquello que brinda nextcloud para el cliente.
13