Servidor Debian: Montaje e instalación con RAID, LUKS y LVM

1968- "2001"  - Hal's eye

Un año hace ya desde que un PC que usaba en casa como servidor pasó a mejor vida a causa de una avería en la placa base. Dicha máquina funcionaba principalmente como servidor de archivos, descargas y centro multimedia, aunque como la avería se produjo en un momento inoportuno, la solución más rápida fué la de delegar la mayoría de los servicios a mi PC de sobremesa, mientras que un disco duro multimedia Iomega ScreenPlay HD acabó asumiendo la función de centro multimedia en el salón.

Como suele decirse, “si algo funciona, no lo toques”, por lo que todo sigue tal cual lo dejé, sin embargo, durante este tiempo siempre he querido montar una versión mejorada del servidor que tenía, aunque siempre surgía otro asunto que me obligaba a posponerlo, hasta ahora.

Una vez tomada la decisión de montar el servidor, lo primero es establecer las consideraciones iniciales a cumplir, que son:

  • Servicios de red:
  • RAID para garantizar la disponibilidad del sistema y la protección frente a perdidas de datos ante averias potenciales en un disco duro.
  • LVM para disponer de un mecanismo de almacenamiento extensible, el cual está basado en volúmenes lógicos cuyo tamaño podemos extender más alla del espacio libre disponible en el grupo de volúmenes al que pertenece mediante la inclusión de nuevos volúmenes físicos.
  • Contenedor cifrado LUKS, el cual será usado como volumen físico por el correspondiente grupo de volúmenes LVM. El contenedor cifrado permite garantizar la confidencialidad tanto de los datos de sistema como de los usuarios.
  • Distribución Debian GNU/Linux Stable que ofrece la flexibilidad y estabilidad necesarias para garantizar el cumplimiento de los puntos anteriores.

Una vez definidos los requisitos, es el momento de seleccionar el hardware de la máquina que pueda cumplirlos, para ello inicio una búsqueda entre mi almacen de hardware “semi-retro” formado fundamentalmente por componentes sueltos y PCs tanto funcionales como con algún componente estropeado. Al final encontré lo siguiente:

Este modelo de placa base incorpora gráfica, red y sonido integrados, por lo que no serán necesarias tarjetas AGP y/o PCI adicionales. He aquí los componentes:

servidor.1

Todos estos componentes han sido probado de manera más o menos reciente en otras máquinas a excepción de la placa base, por lo que antes de ensamblar el PC completo en una caja realizo un montaje con los componentes básicos para así probar la placa base.

servidor.2.

El sistema arranca correctamente, aunque con los valores por defecto en la configuración de la BIOS, por lo que hay que establecer los valores adecuados.

servidor.3 servidor.4

Tras configurar la BIOS y con la secuencia de dispositivos de arranque adecuada, inicio mi Debian LiveUSB persistente para verificar el funcionamiento de la gráfica, red y sonido integrados en la placa base, los cuales están todos soportados.

servidor.5 servidor.6

Una vez verificados todos los componentes es necesario determinar el número de discos duros necesarios, para lo cual debemos establecer el esquema de almacenamiento basado en RAID evaluando las distintas alternativas posibles con los discos de los que disponemos.

En primer lugar, es importante resaltar que los datos van a clasificarse atendiendo a su naturaleza y/o importancia, distinguiendo entre:

  • Datos de sistema: Correspondientes a aplicaciones, bibliotecas, ficheros de configuración y en definitiva cualquier componente o herramienta del sistema operativo o servicio almacenados en particiones como /etc, /lib, /var, /usr, etc.
  • Datos de usuario: Correspondientes a los datos almacenados en la partición /home.
  • Datos masivos: Multimedia, imágenes ISO, etc.

Para lograr alcanzar un compromiso entre capacidad y tolerancia a fallos, los datos de sistema y usuario, que por ser los más críticos anteponen la redundancia sobre la capacidad, estarán almacenados dentro del RAID, mientras que los datos másivos, no tan críticos pero si con grandes exigencias de capacidad irán fuera del RAID.

Teniendo en cuenta lo anterior y los discos disponibles, los candidatos a formar el RAID son los tres discos duros IDE de 200 GB, mientras que el disco SATA de 3 TB será independiente.

servidor.8 servidor.9

Respecto a la implementación del RAID, la disyuntiva entre si emplear RAID hardware o software no es tal ya que el modelo de placa base en cuestión carece de una controladora específica, con lo que utilizaré el RAID software soportado por Linux a través del módulo md (vease [1]). Sin embargo, considerando que utilizar RAID hardware supone añadir un elemento más de fallo, la controladora, ya que aquellas que sean verdaderamente fiables formarán parte del ámbito profesional, no doméstico, y por tanto fuera de mi alcance económico. Si además tenemos en cuenta otros factores (vease [2]), si la placa base soportara RAID probablemente seguiría eligiendo la opción software, pese a que pueda aumentar la carga del procesador.

El siguiente paso es decidir que nivel de RAID implementar, por lo que considerando que necesito redundancia y dispongo de tres discos de similares características puedo aplicar tanto RAID 1 (o espejo) como RAID 5, existiendo como es lógico ventajas y desventajas para cada uno en cuanto a capacidad, redundacia y rendimiento:

  • RAID 1: Todos los discos (activos o en reserva) están replicados, requiere un mínimo de dos discos y ofrece el máximo nivel de redundancia pero también la menor capacidad ya que esta se limita a la del disco de menor tamaño. En cuanto al rendimiento, puede incrementar la tasa de lectura paralelizando lecturas de datos diferentes en cada disco, algo que en mi caso concreto, en el que dispongo de discos PATA para el RAID, es importante conectar un disco como maestro por cada controlador IDE de la placa. En caso de avería, el RAID puede seguir operando en modo degradado con un único disco hasta su posterior sustitición y restauración del RAID.
  • RAID 5: Los bloques de datos y sus correspondientes bloques de paridad se distribuyen por todos los discos, require un mínimo de tres discos, ofreciendo para un RAID de N discos una capacidad equivalente a la de 2N-1 discos representando así el mejor compromiso entre redundancia y capacidad. En caso de avería de un disco, el RAID puede seguir operando en modo degradado hasta la sustitución del disco estropeado y su restauración en el RAID, sin embargo la avería simultanea de dos o más discos supone la pérdida completa del RAID con todos sus datos.

Considerando todo lo anterior, además del hecho de tener que contar con el disco SATA de 3 TB, independiente al RAID y que almacenará todos los datos masivos las alternativas son dos:

  1. 2 discos PATA en RAID 1 (200 GB) + 1 disco SATA (3 TB)
  2. 3 discos PATA en RAID 5 (400 GB) + 1 disco SATA (3 TB)

La opción 2 es sin duda la más atractiva en términos de capacidad y extensibilidad del RAID, sin embargo, ponerla en práctica me obligaría a utilizar todos los discos PATA de capacidad similar de los que dispongo, por lo que en caso de avería de un disco me vería obligado a utilizar el RAID en modo degradado hasta encontrar un disco en vías de extinción (seguramente en el mercado de segunda mano).

La opción 1 supone que el RAID tendrá la capacidad de un único disco de 200 GB y no contará con extensibilidad, sin embargo al necesitar el RAID unicamente de dos discos, puede utilizarse el tercer disco para sustituir y restaurar el RAID ante una posible avería.

Teniendo en cuenta que el volumen de datos críticos (de sistema y usuario) no es demasiado elevado y la conveniencia de contar con un disco duro de repuesto, es la opción 1 la que voy a aplicar, que pese a conservadora y algo ineficiente es la más segura.

Una vez decididos y probados todos los componentes, discos duros incluidos, llega el momento de ensamblarlos todos en una caja, en mi caso una semitorre ATX que utilizaba hasta ahora en mi PC de sobremesa.

servidor.7

Esta caja tiene la ventaja de contar con tres bahías transversales de 3.5″ con un ventilador frontal de 8 cm que no vendrá mal para ayudar a refrigerar los tres discos duros.

servidor.10 servidor.11

Finalizado el montaje, comienzo con la instalación de Debian Stable, haciando una instalación del sistema base a través de una netinst en una llave USB.

servidor.install.debian.1

El proceso de instalación de Debian es bastante intuitivo, el cual consta de los siguientes pasos:

  • Locales y distribución del teclado.
  • 01.localechooser_languagelist_0 02.localechooser_shortlist_0
    03.keyboard-configuration_xkb-keymap_0
  • Nombre de la máquina y de dominio.
  • 04.netcfg_get_hostname_0 05.netcfg_get_domain_0
  • Contraseña de root y creación de cuenta de usuario.
  • 06.passwd_root-password_0 07.passwd_user-fullname_0
    08.passwd_username_0 09.passwd_user-password_0
  • Zona horaria
  • 10.time_zone_0

  • Particionado de discos duros.
    11.partman-auto_init_automatically_partition_0 12.partman_choose_partition_0

    El particionado es el punto más delicado de la instalación, en el cual es preciso definir el esquema de particiones antes de llevarlo a cabo:

    • /dev/sda – Seagate 200 GB
      • /dev/sda1 – 150 MB – Volumen físico para RAID
      • /dev/sda2 – Espacio Restante – Volumen físico para RAID
    • /dev/sdb – Seagate 200 GB
      • /dev/sdb1 – 150 MB – Volumen físico para RAID
      • /dev/sdb2 – Espacio Restante – Volumen físico para RAID
    • /dev/sdc – Seagate 3 TB
      • /dev/sdc1 – 3 TB – Volumen físico para cifrado

    Creo los volúmenes físicos del RAID /dev/sda1, /dev/sda2, /dev/sdb1 y /dev/sdb2:

    13.partman_active_partition_0

    Establezco la partición /dev/sdc1 como volumen físico cifrado de algoritmo AES y longitud de clave de 256 bits de tipo passphrase:

    14.partman_active_partition_0

    Obteniendo el siguiente esquema:

    15.partman_choose_partition_0

  • Configurar RAID
    16.partman_choose_partition_0 17.partman-md_confirm_nooverwrite_0

    El esquema del RAID es el siguiente:

    • /dev/md0 RAID 1 con /dev/sda1 y /dev/sdb1
    • /dev/md1 RAID 1 con /dev/sda2 y /dev/sdb2.

    Los dispositivos /dev/md0 y /dev/md1 se usarán más adelante para la partición /boot y volumen físico cifrado para LVM respectivamente. A continuación creo cada dispositivo RAID de nivel 1 con los volúmenes físicos correspondientes:

    18.partman-md_mainmenu_0 19.partman-md_createmain_0
    20.partman-md_raiddevcount_0 21.partman-md_raidsparecount_0
    22.partman-md_raiddevs_0

    La creación del RAID /dev/md1 es similar.

    23.partman-md_mainmenu_0

    Los dispositivos RAID /dev/md0 y /dev/md1, ambos de nivel 1, ya han sido creados. Como se puede ver, la forma de crear dispositivos RAID es equivalente para cualquier nivel. Además conviene destacar que todos los pasos descritos a continuación serían los mismos de haber elegido por ejemplo un nivel de RAID 1 para /dev/md0 y nivel de RAID 5 para /dev/md1 (En caso de haber elegido la opción 2 con 3 discos PATA + 1 disco SATA).

    24.partman_choose_partition_0

  • Configurar volúmenes cifrados.
    25.partman_choose_partition_0 26.partman-crypto_confirm_nochanges_0

    Creo los volúmenes cifrados /dev/md1_crypt y /dev/sdc1_crypt para el dispositivo RAID /dev/md1 y la partición /dev/sdc1 respectivamente.

    27.partman-crypto_mainmenu_0 28.partman-crypto_create_partitions_0

    Al crear el volumen cifrado /dev/md1_crypt utilizo las mismas opciones de configuración que las ya establecidas anteriormente en la creación del volumen físico cifrado /dev/sdc1, es decir, cifrados AES con clave de 256 bits de tipo passphrase.

    29.partman_active_partition_0
    30.partman-crypto_confirm_nochanges_0 31.partman-crypto_mainmenu_0

    Antes de la creación de los volúmenes cifrados se sobreescriben /dev/md1 y /dev/sdc1 con datos aleatorios, lo cual cual puede interrumpirse en cualquier momento ya que puede prolongarse durante bastante rato. Además es necesario introducir la frase de contraseña de cada volumen.

    32.partman-crypto_warn_erase_0 33.partman-crypto_warn_erase_0
    34.partman-crypto_passphrase_0 35.partman-crypto_passphrase_0

    Los volúmenes cifrados ya han sido creados, asignándoles el instalador automáticamente sistemas de archivos ext4, sin embargo, dichos volúmenes serán utilizados a continuación en LVM como volúmenes físicos por los grupos de volúmenes correspondientes, por lo tanto modifico el tipo de los volúmenes cifrados md1_crypt y sdc1_crypt al tipo volúmen físico LVM.

    36.partman_choose_partition_0

  • Configurar LVM
    37.partman_choose_partition_0 38.partman-lvm_confirm_nochanges_0

    Llegados a este punto, ya contamos con todos los volúmenes físicos necesarios para LVM.

    39.partman-lvm_mainmenu_0 40.partman-lvm_displayall_0

    Dichos volúmenes físicos serán los utilizados por los grupos de volúmenes del siguiente esquema:

    • Grupo de volúmenes vg0
      • Volúmenes físicos: /dev/md1_crypt
      • Volúmenes lógicos:
        • root – 2 GB
        • usr – 10 GB
        • var – 5 GB
        • tmp – 500 MB
        • swap – 2 GB
        • home – 160 GB
    • Grupo de volúmenes vg1
      • Volúmenes físicos: /dev/sdc1_crypt
      • Volúmenes lógicos:
        • data – 3 TB (100% espacio vg1)

    Tanto vg0 como vg1 usarán dos volúmenes físicos cifrados para preservar la seguridad de los datos, sin embargo el usado por vg0 estará además en RAID, por lo que dicho grupo de volúmenes va a albergar los volúmenes lógicos para los datos críticos (sistema y usuario), mientras que vg1 hará lo propio para los datos masivos, no tan críticos.

    Destacar varias cuestiones del esquema LVM anterior:

    • El grupo de volúmenes vg0 presenta aproximadamente unos 20 GB de espacio sin asignar por si necesidades futuras hiciesen necesario ajustar el tamaño de alguno de los volúmenes lógicos, evitando así tener que reducir el tamaño de otros volúmenes.
    • Utilizo un volúmen lógico para la swap (memoria de intercambio) en vez de una partición externa tanto a LVM como al RAID por la razón de que al utilizar volúmenes cifrados, no cifrar también la swap supondría un problema de seguridad, ya que Linux o concretamente dm-crypt mantiene la clave de cifrado en memoria, por lo que cualquier suspensión en disco con el consiguiente almacenamiento del contenido de memoria en la swap, haría que la clave quedara comprometida.

    A continuación creo los grupos de volúmenes vg0 y vg1.

    41.partman-lvm_mainmenu_0 42.partman-lvm_vgcreate_name_0
    43.partman-lvm_vgcreate_parts_0 44.partman-lvm_mainmenu_0
    45.partman-lvm_vgcreate_name_0 46.partman-lvm_vgcreate_parts_0

    Creo los distintos volúmenes lógicos para cada uno de los grupos de volúmenes.

    47.partman-lvm_mainmenu_0 48.partman-lvm_lvcreate_vgnames_0
    49.partman-lvm_lvcreate_name_0 50.partman-lvm_lvcreate_size_0

    La creación de cada volumen lógico es similar, por lo que una vez creados todos estos son los detalles de la configuración LVM.

    52.partman-lvm_displayall_0

    Finalizo la configuración LVM.

    53.partman-lvm_mainmenu_0

  • Crear sistemas de archivos.

    54.partman_choose_partition_0

    Una vez creados todas las particiones y volúmenes lógicos les asigno un sistema de archivos y un punto de montajes de acuerdo al siguiente esquema:

    • RAID /dev/md0 – Partición de arranque /boot – ext4
    • LVM vg0/root – Partición raiz / – ext4
    • LVM vg0/usr – Datos estáticos /usr – ext4
    • LVM vg0/var – Datos dinámicos /var – ext4
    • LVM vg0/tmp – Datos temporales /tmp – ext4
    • LVM vg0/swap – Memoria de intercambio swap – swap
    • LVM vg0/home – Datos de usuario /home – ext4
    • LVM vg1/data – Datos masivos /mnt/data – xfs

    Tan solo destacar el hecho de que utilizo ext4 como sistema de archivos en todos los volúmenes lógicos a excepción de vg1/data, en el cual aplico xfs que suele resultar más optimo en el trabajo con ficheros de gran tamaño, los cuales serán habituales en dicho volumen lógico.

    55.partman_active_partition_0 56.partman_active_partition_0
    57.partman_active_partition_0 58.partman_active_partition_0
    59.partman_active_partition_0 60.partman_active_partition_0
    61.partman_active_partition_0 62.partman_active_partition_0

    Finalizo el proceso de particionado y confirmo la aplicación de los cambios para crear los sistemas de archivos.

    64.partman_choose_partition_0 65.partman_confirm_nooverwrite_0
  • Configurar gestor de paquetes
    66.mirror_http_countries_0 67.mirror_http_mirror_0
    68.mirror_http_proxy_0 69.popularity-contest_participate_0
  • Seleccionar programas.
    Realizo una instalación con tan solo el sistema base junto con algunas herramientas estandar del sistema para más adelante instalar aquellas aplicaciones que necesite.

    70.tasksel_first_0

  • Instalar cargador de arranque.
    Instalo el GRUB en el disco /dev/sda, aunque una vez finalizada la instalación será necesario instalarlo también en el disco /dev/sdb para que el sistema siga siendo arrancable en caso de avería en cualquiera de los discos.

    71.grub-installer_bootdev_0

  • Finalizar instalación.
    72.clock-setup_utc_0 73.finish-install_reboot_in_progress_0

Una vez reiniciada la máquina, veo como se inician correctamente los dos dispositivos RAID /dev/md0 y /dev/md1 para a continuación solicitar la passphrase para abrir los contenedores cifrados y poder así iniciar el sistema.

servidor.arranque.1 servidor.arranque.2

Ya está el servidor encendido y funcionando, por lo que inicio sesión con mi usuario y compruebo alguna información de estado relativa a RAID, LUKS, LVM y los sistemas de archivos:

  • RAID.
    j2sg@hal:~$ cat /proc/mdstat
    Personalities : [raid1] 
    md1 : active raid1 sda2[0] sdb2[1]
          195082112 blocks super 1.2 [2/2] [UU]
          
    md0 : active raid1 sda1[0] sdb1[1]
          145216 blocks super 1.2 [2/2] [UU]
          
    unused devices: <node>
    

    Tal como dije, es necesario instalar GRUB en el disco /dev/sdb para que en caso de fallo de algún disco duro, el sistema pueda arrancar con el otro disco.

    root@hal:~# grub-install /dev/sdb
    Installation finished. No error reported.
    
  • Contenedores LUKS.
    root@hal:~# cryptsetup luksDump /dev/md1
    LUKS header information for /dev/md1
    
    Version:       	1
    Cipher name:   	aes
    Cipher mode:   	xts-plain64
    Hash spec:     	sha1
    Payload offset:	4096
    MK bits:       	512
    MK digest:     	6b 28 8e 87 5e e8 7e 76 92 ec 76 ec ed 12 33 05 6c 93 1e d4 
    MK salt:       	58 a3 35 33 68 8b 78 b6 69 c9 d5 5c 72 ba 17 cb 
                   	59 02 8b 23 36 2b f9 4f 3a 3b 9a b7 ea 92 49 48 
    MK iterations: 	12375
    UUID:          	693cd8b6-8914-4743-9346-dfd408447d1a
    
    Key Slot 0: ENABLED
    	Iterations:         	49920
    	Salt:               	23 35 29 ae b1 81 7f 4e 96 69 a8 06 26 f7 54 3e 
    	                      	8a 46 1f 2a b9 ad c5 a5 9b 33 e5 84 32 87 41 b6 
    	Key material offset:	8
    	AF stripes:            	4000
    Key Slot 1: DISABLED
    Key Slot 2: DISABLED
    Key Slot 3: DISABLED
    Key Slot 4: DISABLED
    Key Slot 5: DISABLED
    Key Slot 6: DISABLED
    Key Slot 7: DISABLED
    root@hal:~# cryptsetup luksDump /dev/sdc1
    LUKS header information for /dev/sdc1
    
    Version:       	1
    Cipher name:   	aes
    Cipher mode:   	xts-plain64
    Hash spec:     	sha1
    Payload offset:	4096
    MK bits:       	512
    MK digest:     	8f 2c cd 2f 59 8b b1 81 ed 9b 9e 43 ea 47 e9 c5 d5 aa ff 1a 
    MK salt:       	4a 11 87 24 0a c5 07 55 29 0a ea ce 96 c7 27 cd 
                   	6d 97 ae 94 d9 f9 22 cc 7b 2b 50 fa ac 62 0c b4 
    MK iterations: 	11625
    UUID:          	6e39bd7a-7ff4-43a6-98f7-0b3fefadfed3
    
    Key Slot 0: ENABLED
    	Iterations:         	46767
    	Salt:               	5e 49 4a 16 5f cc d3 9e d2 54 4c ea 90 ec 30 43 
    	                      	5c 33 2d 8b 75 b1 d2 81 0d 02 ac b7 ef 38 e1 99 
    	Key material offset:	8
    	AF stripes:            	4000
    Key Slot 1: DISABLED
    Key Slot 2: DISABLED
    Key Slot 3: DISABLED
    Key Slot 4: DISABLED
    Key Slot 5: DISABLED
    Key Slot 6: DISABLED
    Key Slot 7: DISABLED
    
  • LVM
    • Volúmenes físicos
      root@hal:~# pvs
        PV                     VG   Fmt  Attr PSize   PFree 
        /dev/dm-0              vg0  lvm2 a--  186,04g 18,88g
        /dev/mapper/sdc1_crypt vg1  lvm2 a--    2,73t     0 
      
    • Grupos de volúmenes
      root@hal:~# vgs
        VG   #PV #LV #SN Attr   VSize   VFree 
        vg0    1   6   0 wz--n- 186,04g 18,88g
        vg1    1   1   0 wz--n-   2,73t     0
      
    • Volúmenes lógicos
      root@hal:~# lvs vg0
        LV   VG   Attr     LSize   Pool Origin Data%  Move Log Copy%  Convert
        home vg0  -wi-ao-- 149,01g                                           
        root vg0  -wi-ao--   1,86g                                           
        swap vg0  -wi-ao--   1,86g                                           
        tmp  vg0  -wi-ao-- 476,00m                                           
        usr  vg0  -wi-ao--   9,31g                                           
        var  vg0  -wi-ao--   4,66g                                           
      root@hal:~# lvs vg1
        LV   VG   Attr     LSize Pool Origin Data%  Move Log Copy%  Convert
        data vg1  -wi-ao-- 2,73t                                           
      
    • Dispositivos montados
      root@hal:~# mount
      sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
      proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
      udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=126656,mode=755)
      devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
      tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=102520k,mode=755)
      /dev/mapper/vg0-root on / type ext4 (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
      tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
      tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=205020k)
      /dev/md0 on /boot type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered)
      /dev/mapper/vg0-home on /home type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered)
      /dev/mapper/vg1-data on /mnt/data type xfs (rw,relatime,attr2,delaylog,noquota)
      /dev/mapper/vg0-tmp on /tmp type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered)
      /dev/mapper/vg0-usr on /usr type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered)
      /dev/mapper/vg0-var on /var type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered)
      rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
      

Ahora mismo tan solo está instalado el sistema base de Debian junto con algunas herramientas básicas, por lo que en sucesivos artículos trataré la instalación y configuración de aplicaciones, servicios y herramientas para la administración y mantenimiento tanto del servidor como de la red local.

Referencias:

Atribuciones:

Anuncios

Un comentario sobre “Servidor Debian: Montaje e instalación con RAID, LUKS y LVM

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s