Lo primero que debemos hacer es identificar cómo se refiere Ubuntu a los nuevos discos duros. El comando lsblk enumera todos los dispositivos de bloque instalados en su computadora. Podemos ser específicos sobre qué columnas de salida queremos ver en los resultados.
lsblk -o name,size,fstype,type,mountpoint
La opción -o (salida) va seguida de las columnas que queremos ver. Nosotros elegimos:
- nombre: El nombre que usa Ubuntu para referirse al disco duro.
- tamaño: El tamaño del disco duro. Si el disco duro tiene más de una partición, se enumeran todas y se muestra el tamaño de cada partición.
- tipof: El sistema de archivos que forma parte del disco duro o la partición.
- tipo: si la línea se refiere a un disco, partición, unidad de CD-ROM o pseudodispositivo de bucle invertido.
- punto de montaje: El punto de montaje del sistema de archivos en el disco duro o la partición.
Hay un montón de dispositivos de loopback squashfs, numerados del loop0 al loop6. Cada vez que instala una aplicación instantánea, se crea uno de estos pseudodispositivos. Es parte de la encapsulación y el espacio aislado que envuelve cada aplicación instantánea.
El primer disco duro aparece como /dev/sda. es un 32 GB unidad con cinco particiones, enumeradas como /dev/sda1 a /dev/sda5. Están formateados de diferentes maneras. Esta es la unidad que estaba en la computadora cuando instalamos Ubuntu.
Nuestros dos nuevos discos duros aparecen como /dev/sdb y /dev/sdc. son 32 GB unidades también, pero no están formateadas ni montadas.
Piscinas, RAID 0REDADA 1
Para utilizar los nuevos ríos duros los agregamos a un grupo. Puede agregar tantas unidades a un grupo como desee. Hay dos maneras de hacer esto. Puede configurar el grupo para poder utilizar todo el espacio de almacenamiento de cada disco duro en un RAID. 0 configuración, o puede configurarlos para que el grupo solo ofrezca la cantidad de espacio de almacenamiento del disco duro más pequeño del grupo, en un RAID 1 configuración.
La ventaja de RAID 0 es el espacio. Pero la configuración preferida (y muy recomendable) es RAID. 1. REDADA 1 refleja los datos en todas las unidades del grupo. Eso significa que puede tener una falla en el disco duro y el sistema de archivos y sus datos aún están seguros y su computadora aún funciona. Puede reemplazar la unidad dañada y agregar la nueva unidad a su grupo.
Por el contrario, con RAID 0 una sola falla en el disco duro hace que su sistema no funcione hasta que reemplace el disco dañado y realice una restauración desde sus copias de seguridad.
Cuantas más unidades tengas en un RAID 1 piscina más robusta será. El mínimo que necesitas para RAID 1 Son dos unidades. Una falla en cualquiera de las dos unidades sería un inconveniente, pero no un desastre. Pero un fallo de ambos discos duros al mismo tiempo sería, por supuesto, un problema mayor. Entonces, la respuesta parece ser agrupar tantos discos duros como pueda.
Pero, por supuesto, en la práctica, existe un límite en la cantidad de unidades que desea (o puede permitirse) asignar a un solo grupo. Si tiene ocho discos duros de repuesto, configure dos RAID de cuatro unidades 1 pools es probablemente un mejor uso del hardware que un solo pool de ocho unidades. Y recuerda, un RAID 1 El grupo solo puede ofrecer el almacenamiento del disco duro más pequeño del grupo, por lo que siempre intente utilizar unidades del mismo tamaño en un solo grupo.
Creando un RAID 1 Piscina
Hemos identificado nuestros nuevos discos duros como /dev/sdb y /dev/sdc. Para crear un RAID ZFS 1 piscina, usamos este comando:
sudo zpool create cloudsavvyit mirror /dev/sdb /dev/sdc
Los componentes del comando son:
- sudo: Estamos cambiando la configuración del sistema, por lo que necesitamos usar sudo para obtener privilegios de root.
- piscina: Este es el comando de administración del grupo ZFS.
- crear: Esta es la acción que queremos que zpool realice por nosotros.
- nubesavvyit: Este es el nombre del grupo que deseamos crear.
- espejo: Queremos que nuestros datos se reflejen en todas las unidades, lo que nos dará un RAID 1 piscina. Omitir la opción «espejo» crea un RAID 0 piscina.
- /dev/sdb: El primero de nuestros nuevos discos duros.
- /dev/sdc: El segundo de nuestros nuevos discos duros.
Reemplace «cloudsavvyit» con el nombre que desea llamar a su grupo y reemplace /dev/sdb y /dev/sdc con los identificadores de sus nuevos discos duros.
Crear una piscina es un poco anticlimático. Si todo va bien, regresará sin ceremonias al símbolo del sistema. Podemos usar la acción de estado con el comando zpool para ver el estado de nuestro nuevo grupo.
sudo zpool status cloudsavvyit
Nuestro nuevo grupo ha sido creado, está en línea, nuestras dos nuevas unidades están en el grupo y no hay errores. Todo eso se ve genial. ¿Pero dónde está la piscina? A ver si lsblk nos muestra dónde se ha montado.
lsblk -o name,size,fstype,type,mountpoint
Podemos ver que nuestros nuevos discos duros /dev/sdb y /dev/sdc han sido particionados con dos particiones cada uno, pero no aparece ningún punto de montaje para ellos. Los pools no se montan como los discos duros normales. Por ejemplo, no hay ninguna entrada en el archivo /etc/fstab para grupos ZFS. De forma predeterminada, se crea un punto de montaje en el directorio raíz. Tiene el mismo nombre que la piscina.
ls /
Si desea crear el punto de montaje en otro lugar, use la opción -m (punto de montaje) cuando esté creando el grupo y proporcione la ruta hacia donde desea que se cree el punto de montaje. También puedes darle al punto de montaje un nombre diferente.
sudo zpool create -m /path/to/mount-point-name cloudsavvyit mirror /dev/sdb /dev/sdc
Dar acceso a los usuarios al grupo
El grupo existe, pero sólo el usuario raíz puede almacenar datos en él. Por supuesto, eso no es lo que necesitamos. Queremos que otros usuarios puedan acceder al grupo.
Para lograr esto vamos a:
- Cree un directorio en el grupo.
- Crea un nuevo grupo.
- Configure el nuevo grupo para que sea el propietario del grupo del directorio.
- Agregue usuarios que necesiten acceder al almacenamiento de datos al nuevo grupo.
Este esquema proporciona una gran flexibilidad. Podemos crear tantos directorios de almacenamiento de datos como necesitemos, siendo propietarios de ellos diferentes grupos. Dar acceso a los usuarios a las diferentes áreas de almacenamiento es tan sencillo como añadirlos a los grupos adecuados.
Usaremos groupadd para crear un grupo de usuarios. Nuestro grupo se llama «csavvy1». Luego usaremos el comando usermod para agregar un usuario llamado «dave» al nuevo grupo. La opción -a (agregar) agrega el nuevo grupo a la lista de grupos existentes en los que se encuentra el usuario. Sin esta opción, el usuario se elimina de todos los grupos existentes y se agrega al nuevo. Eso causará problemas, así que asegúrese de usar la opción -a.
sudo groupadd csavvy1sudo usermod -a -G csavvy1 dave
Para que su nueva membresía en el grupo se haga efectiva, el usuario deberá cerrar sesión y volver a iniciarla.
Ahora crearemos un directorio en el grupo, llamado «datos1».
sudo mkdir /cloudsavvyit/data1
El comando chgrp nos permite configurar el grupo propietario del directorio.
sudo chgrp csavvy1 /cloudsavvyit/data1
Finalmente, configuraremos los permisos del grupo usando chmod. La «s» es el bit especial SGID. Significa que los archivos y directorios creados dentro del directorio «data1» heredarán el propietario del grupo de este directorio.
sudo chmod g+rwsx /cloudsavvyit/data1/
Nuestro usuario cerró sesión y volvió a iniciarla. Intentemos crear un archivo en el nuevo directorio de almacenamiento de datos en nuestro nuevo RAID. 1 Grupo ZFS.
touch /cloudsavvyit/data1/new-file.txt
Y veamos que fue creado.
ls /cloudsavvyit/data1 -lh
Éxito. ¿Qué pasa si intentamos crear otro archivo fuera de nuestra área de almacenamiento de datos1?
touch /cloudsavvyit/new-file2.txt
Esto falla como se esperaba. Nuestros permisos están funcionando. Nuestro usuario solo puede manipular archivos en el directorio de almacenamiento de datos al que se le ha dado permiso para acceder.
Relacionado: Cómo utilizar SUID, SGID y Sticky Bits en Linux
Destruir una piscina
Tenga cuidado con este comando. Asegúrese de tener copias de seguridad antes de continuar. Si está seguro de que realmente lo desea y ha verificado que tiene otras copias de los datos en el grupo, puede destruir un grupo con este comando:
sudo zpool destroy cloudsavvyit
Reemplaza «cloudsavvyit» con el nombre del grupo que vas a destruir.
¿Solo tienes un disco duro?
Si solo tiene un disco duro, o si su computadora tiene varios discos duros pero su tamaño varía demasiado para formar un grupo útil, aún puede usar ZFS. No obtendrá duplicación RAID, pero los mecanismos integrados anticorrupción y protección de datos siguen siendo características valiosas y persuasivas.
Pero recuerde, ningún sistema de archivos (con o sin duplicación RAID) significa que puede ignorar las copias de seguridad.
Relacionado: Copias de seguridad versus redundancia: ¿cuál es la diferencia?