Topics

Funciones del(a) usuario(a)

Contacto

Por servir este blog desde un servidor "casero", con IP dinámica, no he configurado servidor de correo, dado que sería filtrado (blacklisted) por defecto por la autoridad competente como spam. Si deseas establecer contacto conmigo, o incluso si deseas crear una cuenta activa en el blog para generar tu propio contenido, por favor, sírvete enviarme un correo a forestux@openmailbox.org.
No dudes que te contestaré en cuanto pueda.
Quizás algún día contrate una IP estática, o puede que migre el blog a un hosting... Pero eso es otra historia.

Bienvenido(a) a forestux.es viernes, 25 mayo 2018 , 06:57 CEST

Preparando los discos (II)

ForestBOFH
  • Autor:
  • Lecturas
    2,355
En este capítulo crearemos volúmenes lógicos en /dev/sda3 para el resto de particiones que nos faltan y crearemos el RAID1 por software para nuestros discos SATA (/dev/sdb y /dev/sdc).

Este artículo es parte del artículo principal LAMP: Montando un servidor web en casa. Índice de contenidos.

En este capítulo crearemos volúmenes lógicos en /dev/sda3 para el resto de particiones que nos faltan (recuerda que venimos de este post anterior), y crearemos el RAID1 por software para nuestros discos SATA (/dev/sdb y /dev/sdc).

Vamos a ello:

Creación de volúmenes lógicos dentro de /dev/sda3. Lo primero es crear la unidad física:

root@slackware:pvcreate /dev/sda3 	
Physical volume "/dev/sda3" successfully created

Podemos visualizar el resultado con el comando pvscan

root@slackware:pvscan
  PV /dev/sda3 lvm2 [66.10 GiB] Total: 1 [66.10 GiB] / in use: 0 [0 ] / in no
  VG: 1	[66.10 GiB]

Creamos seguidamente el grupo de volúmenes:

root@slackware:vgcreate VGsistem /dev/sda3 	
 Volume group "VGsistem" successfully created

Igualmente podemos visualizar el grupo:

root@slackware:vgscan 
 Reading all physical volumes, This may take a while... 
 Found volume group "VGsistem" using metadata type lvm2

Y a continuación, dentro de ese grupo de volúmenes, podemos crear nuestros volúmenes lógicos. Recordad que yo ajusto mis volúmenes lógicos a la manera en que a mí me gusta particionar mi sistema; el número y nombre de estos volúmenes lógicos se ajustará a vuestros gustos y/o necesidades:

root@slackware:lvcreate -L8G -n LVraiz VGsistem 	
Logical volume "LVraiz" created 
root@slackware:lvcreate -L12G -n LVtmp VGsistem 
root@slackware:lvcreate -L12G -n LVopt VGsistem
root@slackware:lvcreate -L8G -n LVhome VGsistem 

Como podéis observar el comando lvcreate es muy intuitivo: con la opción -L asignamos un tamaño inicial al volumen, y con la opción -n podemos asignarle un nombre identificativo.He dejado unos pocos GB libres por lo que pueda parar. De nuevo podemos visualizar el resultado de nuestras acciones:

root@slackware:lvscan 
  ACTIVE '/dev/VGsistem/LVraiz' [8.00 GiB] inherit 
  ACTIVE '/dev/VGsistem/LVopt' [12.00 GiB] inherit 
  ACTIVE '/dev/VGsistem/LVtmp' [12.00 GiB] inherit 
  ACTIVE '/dev/VGsistem/LVhome' [8.00 GiB] inherit 

Hasta aquí hemos terminado de construir nuestro diseño para /dev/sda (que habíamos espejado por hardware en un post anterior). Nos resta espejar nuestros dos discos SATA, esta vez en RAID1 por software, en donde caerá el directorio /var. Para ello usamos mdadm, pero antes un par de aclaraciones:

Si no vas a usar initramfs para el arranque del sistema (obligatorio su uso cuando separas /usr en una partición) tanto la partición /boot como la raíz (/) deben utilizar un formato de metadatos antiguo, que especificaremos con la etiqueta --metadata=0,90, dado que por defecto se creará, si no, con 1,20. Para más info sobre estilos de metadatos RAID os insto a leer el man mdadm. Como anécdota, sabed que el formato de superbloque 0,90 limitaría nuestro array a un máximo de 28 dispositivos, y nunca mayores de 2 TB.

root@slackware:mdadm --create /dev/md1 --level=1  --raid-devices=2
/dev/sdb /dev/scd 

Lo visualizamos:

root@slackware:mdadm --detail --scan 
 ARRAY /dev/md1 metadata=1.2 name=slackware:1 
 UUID=582ab00a:a06a87ff:cb63de6d:xxxxxxx 

Y podemos ver su progreso:

root@slackware:mdadm --detail /dev/md1
  /dev/md1:
  Version : 1.2
  Creation Time : Mon Dec 15 13:03:33 2014
  Raid Level : raid1
  Array Size : 976631360 (931.39 GiB 1000.07 GB)
  Used Dev Size : 976631360 (931.39 GiB 1000.07 GB)
  Raid Devices : 2
  Total Devices : 2
  Persistence : Superblock is persistent
  Update Time : Mon Dec 15 13:08:33 2014
  State : active, resyncing 
  Active Devices : 2
  Working Devices : 2
  Failed Devices : 0
  Spare Devices : 0
  Status : 3% complete
  Name : slackware:1  (local to host slackware)
  UUID : 582ab00a:a06a87ff:cb63de6d:057c170a
  vents : 2

  Number   Major   Minor   RaidDevice State
  8       16        0      active sync   /dev/sdb
  8       32        1      active sync   /dev/sdc

Fijáos que os he pegado un output en el que el concepto State: aparece como active, resyncing. Se están sincronizando los discos, y el proceso dependerá tanto del tamaño de los mismos como de la capacidad de procesamiento de nuestro equipo.

En este punto deberemos esperar a que la sincronización de discos se lleve a cabo, en cuyo caso aparecerá como State: clean.

Añado la salida de /proc/mdstat:

root@slackware:cat /proc/mdstat
  Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]
[multipath] 
  md1 : active raid1 sdc[1] sdb[0]
  976631360 blocks super 1.2 [2/2] [UU]
  [>....................]  resync =  4.6% (45035904/976631360) finish=165.5min
speed=93764K/sec
unused devices: <none>

El proceso en curso es más evidente en esta salida.

Una vez terminado, creamos el sistema de ficheros en el raid, en mi caso he elegido ext4:

root@slackware:mkfs.ext4 /dev/md1

Y procedemos a crear la unidad física primero, luego el grupo de volumen, y finalmente el volumen lógico, en ese orden:

root@slackware:pvcreate /dev/md1 		 
root@slackware:vgcreate VGvar /dev/md1 	 
root@slackware:lvcreate -l 80%FREE VGvar -n LVvar 

Yo he dejado un 20% del disco reservado para posibles necesidades.

Todo este último proceso generará un volumen lógico que se montará (si durante el proceso de instalación lo decido así, esa es la idea) en fstab como:

/dev/mapper/VGvar-LVvar /var /ext4 defaults 1 2

Si todo ha ido convenientemente, es el momento de ejecutar el setup de slackware: cuidadin con elegir correctamente cada uno de las particiones/volúmenes para cada directorio, dado que son visibles tanto /dev/sda3 (en la que hicimos lv) como /dev/md1 (que ya creamos el volumen lógico LVvar en ella).

Hay disponibles en red varios tutoriales de instalación de slackware, por lo que no me voy a reiterar en ello.Éste es el oficial aunque me temo que la versión traducida al castellano está desactualizada; éste otro está muy documentado.

Pero ATENCIÓN: NO SE DEBE REINICIAR EL SISTEMA HASTA QUE NO HAYAMOS GENERADO NUESTRO initrd para el correcto arranque del sistema y que el kernel pueda encontrar todas nuestras unidades montadas. para ello, hacemos un chroot a /mnt, y ejecutamos el script mkinitrd_command_generator que hará gustosamente el trabajo por nosotros:

root@slackware:chroot /mnt
root@slackware:$( /usr/share/mkinitrd/mkinitrd_command_generator.sh -r ) 	
 OK: /lib/modules/3.10.17/kernel/drivers/scsi/megaraid.ko added. 
 OK: /lib/modules/3.10.17/kernel/fs/mbcache.ko added. 
 OK: /lib/modules/3.10.17/kernel/fs/jbd2/jbd2.ko added. 
 OK: /lib/modules/3.10.17/kernel/fs/mbcache.ko added.
 OK: /lib/modules/3.10.17/kernel/fs/jbd2/jbd2.ko added. 
 OK: /lib/modules/3.10.17/kernel/fs/ext4/ext4.ko added.
 /boot/initrd.gz created.
 Be sure to run lilo again if you use it. 

La salida debe ser similar a la que se muestra.

Finalmente, ejecutamos lilo para actualizar nuestro lilo.conf, no sin antes añadir esta línea a nuestro lilo.conf:

initrd = /boot/initrd.gz 
Para ello, editáis lilo con vuestro editor favorito:
root@slackware:vim /etc/lilo.conf
##Si no conocéis vi, para empezar a insertar texto debéis estar en modo insert, pulsando la tecla i)
##Debe quedar así:
image = /boot/vmlinuz
initrd = /boot/initrd.gz 
  root = /dev/VGsistem/LVraiz
  label = Slackware
  read-only

Salimos del editor vi (tecleamos Esc y luego :wq) y por último actualizamos el gestor de arranque:

root@slackware:/sbin/lilo

Eso es todo: ahora sí que tenemos nuestro sistema listo para continuar configurando Apache, soporte para PHP y MySQL.

Fuentes:

Instalación de gentoo con raid y LVM2, en inglés.

Gestión de raid a través de mdadm, de alcancelibre.org. Imprescindible.

Installing Slackware on logical volumes, en inglés.

man pages de los respectivos comandos.

Trackback

Trackback URL for this entry:
http://www.forestux.es/trackback.php?id=preparando.discos.II

Los siguientes comentarios son de la persona que los haya enviado. Este sitio no se hace responsable de las opiniones expresadas por los participantes en los foros y secciones de comentarios, y el hecho de publicar las mismas no significa que esté de acuerdo con ellas.


¿Quién está conectado?

Usuarios invitados: 1

Lo más nuevo

NOTICIAS últimos 24 horas

No hay noticias nuevas

COMENTARIOS últimos 2 días

No hay comentarios nuevos

TRACKBACKS últimos 2 días

No new trackback comments

ENLACES últimos 2 semanas

No hay enlaces recientes