mirror of
https://github.com/amadvance/snapraid.git
synced 2026-10-26 10:51:54 -04:00
2312 lines
79 KiB
Groff
2312 lines
79 KiB
Groff
.TH "SnapRAID Backup para Arrays de Discos" 1
|
|
.SH NAME
|
|
snapraid \- SnapRAID Backup para Arrays de Discos
|
|
.SH SINOPSIS (SYNOPSIS)
|
|
snapraid [\-c, \-\-conf CONFIG]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-f, \-\-filter PATTERN] [\-d, \-\-filter\-disk NAME]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-m, \-\-filter\-missing] [\-e, \-\-filter\-error]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-a, \-\-audit\-only] [\-h, \-\-pre\-hash] [\-i, \-\-import DIR]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-p, \-\-plan PERC|bad|new|full]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-o, \-\-older\-than DAYS] [\-l, \-\-log FILE]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-s, \-\-spin\-down\-on\-error] [\-w, \-\-bw\-limit RATE]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-t, \-\-tail]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-Z, \-\-force\-zero] [\-E, \-\-force\-empty]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-U, \-\-force\-uuid] [\-D, \-\-force\-device]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-N, \-\-force\-nocopy] [\-F, \-\-force\-full]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-R, \-\-force\-realloc] [\-W, \-\-force\-realloc\-tail]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-S, \-\-start BLKSTART] [\-B, \-\-count BLKCOUNT]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-L, \-\-error\-limit NUMBER]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-A, \-\-stats]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[\-v, \-\-verbose] [\-q, \-\-quiet]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
status|smart|probe|up|down|diff|sync|scrub|fix|check
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
|list|dup|pool|devices|touch|rehash|locate
|
|
.PD 0
|
|
.PD
|
|
.PP
|
|
snapraid [\-V, \-\-version] [\-H, \-\-help] [\-C, \-\-gen\-conf CONTENT]
|
|
.PD 0
|
|
.PD
|
|
.SH DESCRIPCIóN (DESCRIPTION)
|
|
SnapRAID es un programa de copia de seguridad diseñado para arrays
|
|
de discos, que almacena información de paridad para la recuperación
|
|
de datos en caso de hasta seis fallos de disco.
|
|
.PP
|
|
Destinado principalmente a centros de medios domésticos con archivos
|
|
grandes y que cambian con poca frecuencia, SnapRAID ofrece varias
|
|
características:
|
|
.PD 0
|
|
.IP \(bu
|
|
Puede utilizar discos ya llenos de archivos sin la necesidad de
|
|
reformatearlos, accediendo a ellos como de costumbre.
|
|
.IP \(bu
|
|
Todos sus datos son procesados con hash para asegurar la integridad de los datos
|
|
y prevenir la corrupción silenciosa.
|
|
.IP \(bu
|
|
Cuando el número de discos fallidos excede el recuento de paridad,
|
|
la pérdida de datos se limita a los discos afectados; los datos en
|
|
otros discos siguen siendo accesibles.
|
|
.IP \(bu
|
|
Si elimina archivos accidentalmente en un disco, la recuperación es
|
|
posible.
|
|
.IP \(bu
|
|
Los discos pueden tener diferentes tamaños.
|
|
.IP \(bu
|
|
Puede agregar discos en cualquier momento.
|
|
.IP \(bu
|
|
SnapRAID no bloquea sus datos; puede dejar de usarlo
|
|
en cualquier momento sin reformatear ni mover datos.
|
|
.IP \(bu
|
|
Para acceder a un archivo, solo un único disco necesita girar,
|
|
ahorrando energía y reduciendo el ruido.
|
|
.PD
|
|
.PP
|
|
Para más información, visite el sitio oficial de SnapRAID:
|
|
.PP
|
|
.RS 4
|
|
https://www.snapraid.it/
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.SH LIMITACIONES (LIMITATIONS)
|
|
SnapRAID es un híbrido entre un RAID y un programa de copia de seguridad, con el objetivo de combinar
|
|
los mejores beneficios de ambos. Sin embargo, tiene algunas limitaciones que debería
|
|
considerar antes de usarlo.
|
|
.PP
|
|
La principal limitación es que si un disco falla, solo puede recuperar datos hasta el
|
|
estado de la última operación de sincronización (\`sync\`). Cualquier dato añadido o modificación realizada
|
|
desde la última sincronización que se encuentre en el disco dañado se perderá.
|
|
.PP
|
|
Por lo tanto, SnapRAID es adecuado principalmente para datos que cambian raramente.
|
|
.PP
|
|
Para los datos que ya existían en la última sincronización, la fiabilidad de la recuperación depende
|
|
de si se utiliza la opción de instantánea (\`snapshot\`):
|
|
.PD 0
|
|
.IP \(bu
|
|
Con soporte para instantáneas (disponible en Btrfs, ZFS, Bcachefs y NTFS),
|
|
SnapRAID puede mantener automáticamente una referencia congelada de sus discos de datos.
|
|
Esto garantiza que incluso si modifica o elimina archivos en su sistema de archivos activo
|
|
durante o después de un sync, el proceso de recuperación se mantenga consistente y confiable.
|
|
.PD
|
|
.PD 0
|
|
.IP \(bu
|
|
Sin soporte para instantáneas, eliminar o cambiar archivos después de un \`sync\`
|
|
puede impedir la recuperación completa de otros discos fallidos. Esto ocurre
|
|
porque la paridad ya no coincide con los archivos modificados, incluso si
|
|
esos archivos no están en el disco fallido. Por otro lado, los archivos recién añadidos
|
|
no impiden la recuperación de los archivos ya existentes.
|
|
.PD
|
|
.PP
|
|
Otras limitaciones de SnapRAID son:
|
|
.PD 0
|
|
.IP \(bu
|
|
Con SnapRAID, aún tiene sistemas de archivos separados para cada disco.
|
|
Con RAID, obtiene un único sistema de archivos grande.
|
|
.IP \(bu
|
|
SnapRAID no distribuye (stripe) los datos.
|
|
Con RAID, obtiene un aumento de velocidad con la distribución.
|
|
.IP \(bu
|
|
SnapRAID no admite la recuperación en tiempo real.
|
|
Con RAID, no tiene que dejar de trabajar cuando falla un disco.
|
|
.IP \(bu
|
|
SnapRAID puede recuperar datos solo de un número limitado de fallos de disco.
|
|
Con una copia de seguridad, puede recuperarse de un fallo completo
|
|
de todo el array de discos.
|
|
.IP \(bu
|
|
Solo se guardan nombres de archivo, marcas de tiempo, enlaces simbólicos
|
|
y enlaces físicos. Los permisos, la propiedad y los atributos
|
|
extendidos no se guardan.
|
|
.PD
|
|
.SH PRIMEROS PASOS (GETTING STARTED)
|
|
Para usar SnapRAID, primero debe seleccionar un disco en su array de
|
|
discos para dedicarlo a la información de \`parity\` (paridad). Con un
|
|
disco para paridad, podrá recuperarse de un solo fallo de disco,
|
|
similar a RAID5.
|
|
.PP
|
|
Si desea recuperarse de más fallos de disco, similar a RAID6,
|
|
debe reservar discos adicionales para la paridad. Cada disco de
|
|
paridad adicional permite la recuperación de un fallo de disco más.
|
|
.PP
|
|
Como discos de paridad, debe elegir los discos más grandes del array,
|
|
ya que la información de paridad puede crecer hasta el tamaño del
|
|
disco de datos más grande del array.
|
|
.PP
|
|
Estos discos estarán dedicados a almacenar los archivos de \`parity\`.
|
|
No debe almacenar sus datos en ellos.
|
|
.PP
|
|
Luego, debe definir los discos de \`data\` (datos) que desea proteger
|
|
con SnapRAID. La protección es más efectiva si estos discos
|
|
contienen datos que rara vez cambian. Por esta razón, es mejor
|
|
NO incluir el disco C:\\ de Windows o los directorios /home, /var y
|
|
/tmp de Unix.
|
|
.PP
|
|
La lista de archivos se guarda en los archivos de \`content\` (contenido),
|
|
generalmente almacenados en los discos de datos, paridad o de arranque.
|
|
Este archivo contiene los detalles de su copia de seguridad,
|
|
incluyendo todas las sumas de comprobación para verificar su integridad.
|
|
El archivo de \`content\` se almacena en múltiples copias, y cada copia
|
|
debe estar en un disco diferente para asegurar que, incluso en caso
|
|
de múltiples fallos de disco, al menos una copia esté disponible.
|
|
.PP
|
|
Por ejemplo, suponga que solo está interesado en un nivel de paridad
|
|
de protección, y sus discos están ubicados en:
|
|
.PP
|
|
.RS 4
|
|
/mnt/diskp <\- disco seleccionado para paridad
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
/mnt/disk1 <\- primer disco a proteger
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
/mnt/disk2 <\- segundo disco a proteger
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
/mnt/disk3 <\- tercer disco a proteger
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Debe crear el archivo de configuración /etc/snapraid.conf con
|
|
las siguientes opciones:
|
|
.PP
|
|
.RS 4
|
|
parity /mnt/diskp/snapraid.parity
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
content /var/snapraid/snapraid.content
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
content /mnt/disk1/snapraid.content
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
content /mnt/disk2/snapraid.content
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d1 /mnt/disk1/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d2 /mnt/disk2/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d3 /mnt/disk3/
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Si está en Windows, debe usar el formato de ruta de Windows, con
|
|
letras de unidad y barras invertidas en lugar de barras.
|
|
.PP
|
|
.RS 4
|
|
parity E:\\snapraid.parity
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
content C:\\snapraid\\snapraid.content
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
content F:\\array\\snapraid.content
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
content G:\\array\\snapraid.content
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d1 F:\\array\\
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d2 G:\\array\\
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d3 H:\\array\\
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Si tiene muchos discos y se queda sin letras de unidad, puede montar
|
|
discos directamente en subcarpetas. Consulte:
|
|
.PP
|
|
.RS 4
|
|
https://www.google.com/search?q=Windows+mount+point
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
En este punto, está listo para ejecutar el comando \`sync\` (sincronizar)
|
|
para construir la información de paridad.
|
|
.PP
|
|
.RS 4
|
|
snapraid sync
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Este proceso puede llevar varias horas la primera vez, dependiendo
|
|
del tamaño de los datos ya presentes en los discos. Si los discos
|
|
están vacíos, el proceso es inmediato.
|
|
.PP
|
|
Puede detenerlo en cualquier momento presionando Ctrl+C, y en la
|
|
siguiente ejecución, se reanudará donde se interrumpió.
|
|
.PP
|
|
Cuando este comando se complete, sus datos estarán SEGUROS.
|
|
.PP
|
|
Ahora puede comenzar a usar su array como desee y periódicamente
|
|
actualizar la información de paridad ejecutando el comando \`sync\`.
|
|
.SS Limpieza (Scrubbing)
|
|
Para verificar periódicamente los datos y la paridad en busca de
|
|
errores, puede ejecutar el comando \`scrub\` (depurar/limpiar).
|
|
.PP
|
|
.RS 4
|
|
snapraid scrub
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Este comando compara los datos de su array con el hash calculado
|
|
durante el comando \`sync\` para verificar la integridad.
|
|
.PP
|
|
Cada ejecución del comando verifica aproximadamente el 8% del array,
|
|
excluyendo los datos ya depurados en los 10 días anteriores.
|
|
Puede usar la opción \-p, \-\-plan para especificar una cantidad
|
|
diferente y la opción \-o, \-\-older\-than para especificar una edad
|
|
diferente en días. Por ejemplo, para verificar el 5% del array en
|
|
busca de bloques con más de 20 días, use:
|
|
.PP
|
|
.RS 4
|
|
snapraid \-p 5 \-o 20 scrub
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Si se encuentran errores silenciosos o de entrada/salida durante el
|
|
proceso, los bloques correspondientes se marcan como defectuosos en
|
|
el archivo de \`content\` y se listan en el comando \`status\`.
|
|
.PP
|
|
.RS 4
|
|
snapraid status
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Para corregirlos, puede usar el comando \`fix\` (arreglar), filtrando
|
|
por bloques defectuosos con la opción \-e, \-\-filter\-error:
|
|
.PP
|
|
.RS 4
|
|
snapraid \-e fix
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
En la siguiente depuración (\`scrub\`), los errores desaparecerán del informe de
|
|
\`status\` si realmente se han corregido. Para hacerlo más rápido,
|
|
puede usar \-p bad para depurar solo los bloques marcados como defectuosos.
|
|
.PP
|
|
.RS 4
|
|
snapraid \-p bad scrub
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Ejecutar \`scrub\` en un array no sincronizado puede reportar errores
|
|
causados por archivos eliminados o modificados. Estos errores se
|
|
informan en la salida de \`scrub\`, pero los bloques relacionados no
|
|
se marcan como defectuosos.
|
|
.SS Agrupación (Pooling)
|
|
Nota: La función de pooling descrita a continuación ha sido
|
|
sustituida por la herramienta mergerfs, que ahora es la opción
|
|
recomendada para los usuarios de Linux en la comunidad SnapRAID.
|
|
Mergerfs proporciona una forma más flexible y eficiente de agrupar
|
|
múltiples unidades en un único punto de montaje unificado,
|
|
permitiendo un acceso sin problemas a los archivos en todo su array
|
|
sin depender de enlaces simbólicos. Se integra bien con SnapRAID
|
|
para la protección de paridad y se usa comúnmente en configuraciones
|
|
como OpenMediaVault (OMV) o configuraciones NAS personalizadas.
|
|
.PP
|
|
Para que todos los archivos de su array se muestren en el mismo árbol
|
|
de directorios, puede habilitar la función de \`pooling\` (agrupación).
|
|
Crea una vista virtual de solo lectura de todos los archivos de su
|
|
array utilizando enlaces simbólicos.
|
|
.PP
|
|
Puede configurar el directorio de \`pooling\` en el archivo de
|
|
configuración con:
|
|
.PP
|
|
.RS 4
|
|
pool /pool
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
o, si está en Windows, con:
|
|
.PP
|
|
.RS 4
|
|
pool C:\\pool
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
y luego ejecute el comando \`pool\` para crear o actualizar la vista virtual.
|
|
.PP
|
|
.RS 4
|
|
snapraid pool
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Si está utilizando una plataforma Unix y desea compartir este
|
|
directorio a través de la red con máquinas Windows o Unix, debe
|
|
agregar las siguientes opciones a su /etc/samba/smb.conf:
|
|
.PP
|
|
.RS 4
|
|
# En la sección global de smb.conf
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
unix extensions = no
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
.RS 4
|
|
# En la sección de compartir de smb.conf
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
[pool]
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
comment = Pool
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
path = /pool
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
read only = yes
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
guest ok = yes
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
wide links = yes
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
follow symlinks = yes
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
En Windows, compartir enlaces simbólicos a través de una red requiere
|
|
que los clientes los resuelvan de forma remota. Para habilitar esto,
|
|
además de compartir el directorio pool, también debe compartir todos
|
|
los discos de forma independiente, utilizando los nombres de disco
|
|
definidos en el archivo de configuración como puntos de recurso
|
|
compartido. También debe especificar en la opción \`share\` del archivo
|
|
de configuración la ruta UNC de Windows que los clientes remotos
|
|
necesitan usar para acceder a estos discos compartidos.
|
|
.PP
|
|
Por ejemplo, operando desde un servidor llamado \`darkstar\`, puede usar
|
|
las opciones:
|
|
.PP
|
|
.RS 4
|
|
data d1 F:\\array\\
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d2 G:\\array\\
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d3 H:\\array\\
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
pool C:\\pool
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
share \\\\darkstar
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
y compartir los siguientes directorios a través de la red:
|
|
.PP
|
|
.RS 4
|
|
\\\\darkstar\\pool \-> C:\\pool
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
\\\\darkstar\\d1 \-> F:\\array
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
\\\\darkstar\\d2 \-> G:\\array
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
\\\\darkstar\\d3 \-> H:\\array
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
para permitir que los clientes remotos accedan a todos los archivos
|
|
en \\\\darkstar\\pool.
|
|
.PP
|
|
También puede que deba configurar los clientes remotos para habilitar
|
|
el acceso a enlaces simbólicos remotos con el comando:
|
|
.PP
|
|
.RS 4
|
|
fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.SS Restauración (Undeleting)
|
|
SnapRAID funciona más como un programa de copia de seguridad que como
|
|
un sistema RAID, y se puede usar para restaurar o recuperar archivos
|
|
a su estado anterior usando la opción \-f, \-\-filter:
|
|
.PP
|
|
.RS 4
|
|
snapraid fix \-f FILE
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
o para un directorio:
|
|
.PP
|
|
.RS 4
|
|
snapraid fix \-f DIR/
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
También puede usarlo para recuperar solo archivos eliminados
|
|
accidentalmente dentro de un directorio usando la opción \-m,
|
|
\-\-filter\-missing, que restaura solo archivos faltantes, dejando
|
|
todos los demás intactos.
|
|
.PP
|
|
.RS 4
|
|
snapraid fix \-m \-f DIR/
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
O para recuperar todos los archivos eliminados en todas las unidades con:
|
|
.PP
|
|
.RS 4
|
|
snapraid fix \-m
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.SS Recuperación (Recovering)
|
|
Ha sucedido lo peor, ¡y ha perdido uno o más discos!
|
|
.PP
|
|
¡NO ENTRE EN PÁNICO! ¡Podrá recuperarlos!
|
|
.PP
|
|
Lo primero que debe hacer es evitar más cambios en su array de discos.
|
|
Deshabilite cualquier conexión remota a él y cualquier proceso
|
|
programado, incluida cualquier sincronización o depuración nocturna
|
|
programada de SnapRAID.
|
|
.PP
|
|
Luego, proceda con los siguientes pasos.
|
|
.SS STEP 1 \-> Reconfigure
|
|
Necesita algo de espacio para recuperarse, idealmente en discos de
|
|
repuesto adicionales, pero un disco USB externo o un disco remoto
|
|
serán suficientes.
|
|
.PP
|
|
Modifique el archivo de configuración de SnapRAID para hacer que la
|
|
opción \`data\` o \`parity\` del disco fallido apunte a una ubicación
|
|
con suficiente espacio vacío para recuperar los archivos.
|
|
.PP
|
|
Por ejemplo, si el disco \`d1\` ha fallado, cambie de:
|
|
.PP
|
|
.RS 4
|
|
data d1 /mnt/disk1/
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
a:
|
|
.PP
|
|
.RS 4
|
|
data d1 /mnt/new_spare_disk/
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Si el disco a recuperar es un disco de paridad, actualice la opción
|
|
\`parity\` apropiada.
|
|
Si tiene varios discos fallidos, actualice todas sus opciones de
|
|
configuración.
|
|
.SS STEP 2 \-> Fix
|
|
Ejecute el comando fix, almacenando el registro en un archivo externo con:
|
|
.PP
|
|
.RS 4
|
|
snapraid \-d NAME \-l fix.log fix
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Donde NAME es el nombre del disco, como \`d1\` en nuestro ejemplo anterior.
|
|
Si el disco a recuperar es un disco de paridad, use los nombres \`parity\`,
|
|
\`2\-parity\`, etc.
|
|
Si tiene varios discos fallidos, use varias opciones \-d para
|
|
especificarlos todos.
|
|
.PP
|
|
Este comando tardará mucho tiempo.
|
|
.PP
|
|
Asegúrese de tener unos pocos gigabytes libres para almacenar el archivo
|
|
fix.log. Ejecútelo desde un disco con suficiente espacio libre.
|
|
.PP
|
|
Ahora ha recuperado todo lo que es recuperable. Si algunos archivos son
|
|
parcial o totalmente irrecuperables, se les cambiará el nombre agregando
|
|
la extensión \`.unrecoverable\`.
|
|
.PP
|
|
Puede encontrar una lista detallada de todos los bloques irrecuperables
|
|
en el archivo fix.log buscando todas las líneas que comienzan con \`unrecoverable:\`.
|
|
.PP
|
|
Si no está satisfecho con la recuperación, puede volver a intentarlo
|
|
tantas veces como desee.
|
|
.PP
|
|
Por ejemplo, si ha eliminado archivos del array después de la última
|
|
\`sync\`, esto puede resultar en que algunos archivos no se recuperen.
|
|
En este caso, puede volver a intentar el \`fix\` usando la opción \-i,
|
|
\-\-import, especificando dónde están esos archivos ahora para incluirlos
|
|
nuevamente en el proceso de recuperación.
|
|
.PP
|
|
Si está satisfecho con la recuperación, puede continuar,
|
|
¡pero tenga en cuenta que después de sincronizar, no puede volver
|
|
a intentar el comando \`fix\`!
|
|
.SS STEP 3 \-> Check
|
|
Como verificación cautelosa, ahora puede ejecutar un comando \`check\`
|
|
(comprobar) para asegurarse de que todo esté correcto en el disco
|
|
recuperado.
|
|
.PP
|
|
.RS 4
|
|
snapraid \-d NAME \-a check
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Donde NAME es el nombre del disco, como \`d1\` en nuestro ejemplo anterior.
|
|
.PP
|
|
Las opciones \-d y \-a le dicen a SnapRAID que compruebe solo el disco
|
|
especificado e ignore todos los datos de paridad.
|
|
.PP
|
|
Este comando tardará mucho tiempo, pero si no es demasiado cauteloso,
|
|
puede omitirlo.
|
|
.SS STEP 4 \-> Sync
|
|
Ejecute el comando \`sync\` para resincronizar el array con el nuevo disco.
|
|
.PP
|
|
.RS 4
|
|
snapraid sync
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Si todo se recupera, este comando es inmediato.
|
|
.SH COMANDOS (COMMANDS)
|
|
SnapRAID proporciona unos pocos comandos simples que le permiten:
|
|
.PD 0
|
|
.IP \(bu
|
|
Mostrar el estado del array \-> \`status\`
|
|
.IP \(bu
|
|
Controlar los discos \-> \`smart\`, \`probe\`, \`up\`, \`down\`
|
|
.IP \(bu
|
|
Crear un punto de copia de seguridad/recuperación \-> \`sync\`
|
|
.IP \(bu
|
|
Comprobar periódicamente los datos \-> \`scrub\`
|
|
.IP \(bu
|
|
Restaurar el último punto de copia de seguridad/recuperación \-> \`fix\`.
|
|
.PD
|
|
.PP
|
|
Los comandos deben escribirse en minúsculas.
|
|
.SS status
|
|
Imprime un resumen del estado del array de discos.
|
|
.PP
|
|
Incluye información sobre la fragmentación de la paridad, la antigüedad
|
|
de los bloques sin verificar y todos los errores silenciosos
|
|
registrados encontrados durante la depuración.
|
|
.PP
|
|
La información presentada se refiere a la última vez que ejecutó
|
|
\`sync\`. Las modificaciones posteriores no se tienen en cuenta.
|
|
.PP
|
|
Si se detectaron bloques defectuosos, se enumeran sus números de bloque.
|
|
Para corregirlos, puede usar el comando \`fix \-e\`.
|
|
.PP
|
|
También muestra un gráfico que representa la última vez que cada
|
|
bloque fue depurado o sincronizado. Los bloques depurados se muestran
|
|
con \`*\`, los bloques sincronizados pero aún no depurados con \`o\`.
|
|
.PP
|
|
Nada se modifica.
|
|
.SS smart
|
|
Imprime un informe SMART de todos los discos del sistema.
|
|
.PP
|
|
Incluye una estimación de la probabilidad de fallo en el próximo
|
|
año, lo que le permite planificar reemplazos de mantenimiento de
|
|
discos que muestren atributos sospechosos.
|
|
.PP
|
|
Esta estimación de probabilidad se obtiene correlacionando los
|
|
atributos SMART de los discos con los datos de Backblaze disponibles en:
|
|
.PP
|
|
.RS 4
|
|
https://www.backblaze.com/hard\-drive\-test\-data.html
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Si SMART informa que un disco está fallando, se imprime \`FAIL\` o
|
|
\`PREFAIL\` para ese disco, y SnapRAID regresa con un error.
|
|
En este caso, se recomienda encarecidamente el reemplazo inmediato
|
|
del disco.
|
|
.PP
|
|
Otras posibles cadenas de estado son:
|
|
.RS 4
|
|
.PD 0
|
|
.HP 4
|
|
.I logfail
|
|
En el pasado, algunos atributos estaban por debajo del
|
|
umbral.
|
|
.HP 4
|
|
.I logerr
|
|
El registro de errores del dispositivo contiene errores.
|
|
.HP 4
|
|
.I selferr
|
|
El registro de autoprueba del dispositivo contiene errores.
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Si se especifica la opción \-v, \-\-verbose, se proporciona un análisis
|
|
estadístico más profundo. Este análisis puede ayudarle a decidir si
|
|
necesita más o menos paridad.
|
|
.PP
|
|
Este comando utiliza la herramienta \`smartctl\` y es equivalente a
|
|
ejecutar \`smartctl \-a\` en todos los dispositivos.
|
|
.PP
|
|
Si sus dispositivos no se detectan automáticamente correctamente, puede
|
|
especificar un comando personalizado utilizando la opción \`smartctl\`
|
|
en el archivo de configuración.
|
|
.PP
|
|
Nada se modifica.
|
|
.SS probe
|
|
Imprime el estado de ENERGÍA de todos los discos del sistema.
|
|
.PP
|
|
\`Standby\` significa que el disco no está girando. \`Active\` significa
|
|
que el disco está girando.
|
|
.PP
|
|
Este comando utiliza la herramienta \`smartctl\` y es equivalente a
|
|
ejecutar \`smartctl \-n standby \-i\` en todos los dispositivos.
|
|
.PP
|
|
Si sus dispositivos no se detectan automáticamente correctamente, puede
|
|
especificar un comando personalizado utilizando la opción \`smartctl\`
|
|
en el archivo de configuración.
|
|
.PP
|
|
Nada se modifica.
|
|
.SS up
|
|
Pone en marcha (gira) todos los discos del array.
|
|
.PP
|
|
Puede poner en marcha solo discos específicos usando la opción \-d,
|
|
\-\-filter\-disk.
|
|
.PP
|
|
Poner en marcha todos los discos al mismo tiempo requiere mucha energía.
|
|
Asegúrese de que su fuente de alimentación pueda soportarlo.
|
|
.PP
|
|
Nada se modifica.
|
|
.SS down
|
|
Detiene (deja de girar) todos los discos del array.
|
|
.PP
|
|
Este comando utiliza la herramienta \`smartctl\` y es equivalente a
|
|
ejecutar \`smartctl \-s standby,now\` en todos los dispositivos.
|
|
.PP
|
|
Puede detener solo discos específicos usando la opción \-d,
|
|
\-\-filter\-disk.
|
|
.PP
|
|
Para detener automáticamente en caso de error, puede usar la opción \-s,
|
|
\-\-spin\-down\-on\-error con cualquier otro comando, lo cual es
|
|
equivalente a ejecutar \`down\` manualmente cuando ocurre un error.
|
|
.PP
|
|
Nada se modifica.
|
|
.SS diff
|
|
Enumera todos los archivos modificados desde el último \`sync\` que
|
|
necesitan que se vuelva a calcular su información de paridad.
|
|
.PP
|
|
Este comando no verifica los datos del archivo, sino solo la marca
|
|
de tiempo, el tamaño y el inodo del archivo.
|
|
.PP
|
|
Después de enumerar todos los archivos cambiados, se presenta un
|
|
resumen de los cambios, agrupados por:
|
|
.RS 4
|
|
.PD 0
|
|
.HP 4
|
|
.I equal
|
|
Archivos sin cambios desde antes.
|
|
.HP 4
|
|
.I added
|
|
Archivos agregados que no estaban presentes antes.
|
|
.HP 4
|
|
.I removed
|
|
Archivos eliminados.
|
|
.HP 4
|
|
.I updated
|
|
Archivos con un tamaño o marca de tiempo diferente,
|
|
lo que significa que fueron modificados.
|
|
.HP 4
|
|
.I moved
|
|
Archivos movidos a un directorio diferente en el mismo
|
|
disco. Se identifican por tener el mismo nombre, tamaño,
|
|
marca de tiempo e inodo, pero un directorio diferente.
|
|
.HP 4
|
|
.I copied
|
|
Archivos copiados en el mismo disco o en uno diferente
|
|
donde el archivo original todavía existe.
|
|
Se identifican por tener el mismo nombre, tamaño y
|
|
marca de tiempo.
|
|
Si la marca de tiempo de subsegundo es cero, la ruta
|
|
completa debe coincidir para ser identificado, no solo el nombre.
|
|
.HP 4
|
|
.I relocated
|
|
Archivos movidos en el mismo disco o en uno
|
|
diferente donde el original ha desaparecido.
|
|
Se identifican por tener el mismo nombre, tamaño y
|
|
marca de tiempo.
|
|
Si la marca de tiempo de subsegundo es cero, la ruta
|
|
completa debe coincidir para ser identificado.
|
|
A diferencia de los archivos \`moved\` en el mismo disco,
|
|
los archivos reubicados tienen un inodo diferente.
|
|
.HP 4
|
|
.I restored
|
|
Archivos con un inodo diferente pero con directorio,
|
|
nombre, tamaño y marca de tiempo coincidentes.
|
|
Estos son usualmente archivos restaurados después de
|
|
haber sido eliminados.
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Si se requiere un \`sync\`, el código de retorno del proceso es 2, en
|
|
lugar del valor predeterminado 0. El código de retorno 1 se utiliza
|
|
para una condición de error genérico.
|
|
.PP
|
|
Nada se modifica.
|
|
.SS sync
|
|
Actualiza la información de paridad. Todos los archivos modificados
|
|
en el array de discos se leen y la información de paridad
|
|
correspondiente se actualiza.
|
|
.PP
|
|
Puede detener este proceso en cualquier momento presionando Ctrl+C,
|
|
sin perder el trabajo ya realizado.
|
|
En la siguiente ejecución, el proceso \`sync\` se reanudará donde
|
|
se interrumpió.
|
|
.PP
|
|
Si se encuentran errores silenciosos o de entrada/salida durante el
|
|
proceso, los bloques correspondientes se marcan como defectuosos.
|
|
.PP
|
|
Los archivos se identifican por ruta y/o inodo y se verifican por
|
|
tamaño y marca de tiempo.
|
|
Si el tamaño o la marca de tiempo del archivo difieren, la información
|
|
de paridad se vuelve a calcular para todo el archivo.
|
|
Si el archivo se mueve o se renombra en el mismo disco, manteniendo el
|
|
mismo inodo, la paridad no se vuelve a calcular.
|
|
Si el archivo se mueve a otro disco, la paridad se vuelve a calcular,
|
|
pero la información de hash calculada previamente se mantiene.
|
|
.PP
|
|
Los archivos \`content\` y \`parity\` se modifican si es necesario.
|
|
Los archivos en el array NO se modifican.
|
|
.SS scrub
|
|
Depura (scrubs) el array, buscando errores silenciosos o de
|
|
entrada/salida en los discos de datos y paridad.
|
|
.PP
|
|
Cada invocación verifica aproximadamente el 8% del array, excluyendo
|
|
los datos ya depurados en los últimos 10 días.
|
|
Esto significa que depurar una vez a la semana asegura que cada bit de
|
|
datos se verifique al menos una vez cada tres meses.
|
|
.PP
|
|
Puede definir un plan de depuración o una cantidad diferente utilizando
|
|
la opción \-p, \-\-plan, que acepta:
|
|
bad \- Depurar bloques marcados como defectuosos.
|
|
new \- Depurar bloques recién sincronizados que aún no han sido depurados.
|
|
full \- Depurar todo.
|
|
0\-100 \- Depurar el porcentaje especificado de bloques.
|
|
.PP
|
|
Si especifica un valor de porcentaje, también puede usar la opción \-o,
|
|
\-\-older\-than para definir la antigüedad del bloque.
|
|
Los bloques más antiguos se depuran primero, asegurando una verificación
|
|
óptima.
|
|
Si desea depurar solo los bloques recién sincronizados que aún no han
|
|
sido depurados, use la opción \`\-p new\`.
|
|
.PP
|
|
Para obtener detalles del estado de la depuración, use el comando \`status\`.
|
|
.PP
|
|
Para cualquier error silencioso o de entrada/salida encontrado, los
|
|
bloques correspondientes se marcan como defectuosos en el archivo
|
|
\`content\`.
|
|
Estos bloques defectuosos se enumeran en \`status\` y se pueden
|
|
corregir con \`fix \-e\`.
|
|
Después de la corrección, en la siguiente depuración, se volverán a
|
|
verificar y, si se encuentran corregidos, se eliminará la marca de defectuoso.
|
|
Para depurar solo los bloques defectuosos, puede usar el comando
|
|
\`scrub \-p bad\`.
|
|
.PP
|
|
Se recomienda ejecutar \`scrub\` solo en un array sincronizado para evitar
|
|
errores reportados causados por datos no sincronizados. Estos errores
|
|
se reconocen como no siendo errores silenciosos y los bloques no se
|
|
marcan como defectuosos, pero tales errores se informan en la salida
|
|
del comando.
|
|
.PP
|
|
El archivo \`content\` se modifica para actualizar el tiempo de la última
|
|
verificación de cada bloque y para marcar bloques defectuosos.
|
|
Los archivos \`parity\` NO se modifican.
|
|
Los archivos en el array NO se modifican.
|
|
.SS fix
|
|
Repara todos los archivos y los datos de paridad.
|
|
.PP
|
|
Todos los archivos y datos de paridad si comparan con el estado guardado en
|
|
el último \`sync\`. Si se encuentra una diferencia, se revierte al estado almacenado.
|
|
.PP
|
|
¡ADVERTENCIA!
|
|
El comando \`fix\` no diferencia entre errores y modificaciones intencionadas.
|
|
Revierte incondicionalmente el estado del archivo al del último \`sync\`.
|
|
.PP
|
|
Si no se especifica otra opción, se procesa todo el array.
|
|
Utilice las opciones de filtro para seleccionar un subconjunto de
|
|
archivos o discos para operar.
|
|
.PP
|
|
Para corregir solo los bloques marcados como defectuosos durante \`sync\`
|
|
y \`scrub\`, use la opción \-e, \-\-filter\-error.
|
|
A diferencia de otras opciones de filtro, esta aplica correcciones solo
|
|
a archivos que no han cambiado desde el último \`sync\`.
|
|
.PP
|
|
SnapRAID cambia el nombre de todos los archivos que no se pueden corregir
|
|
agregando la extensión \`.unrecoverable\`.
|
|
.PP
|
|
Antes de corregir, se escanea todo el array para encontrar cualquier
|
|
archivo movido desde la última operación de \`sync\`.
|
|
Estos archivos se identifican por su marca de tiempo, ignorando su
|
|
nombre y directorio, y se utilizan en el proceso de recuperación si
|
|
es necesario.
|
|
Si movió algunos de ellos fuera del array, puede usar la opción \-i,
|
|
\-\-import para especificar directorios adicionales para escanear.
|
|
.PP
|
|
Los archivos se identifican solo por ruta, no por inodo.
|
|
.PP
|
|
El archivo \`content\` NO se modifica.
|
|
Los archivos \`parity\` se modifican si es necesario.
|
|
Los archivos en el array se modifican si es necesario.
|
|
.SS check
|
|
Verifica todos los archivos y la información de paridad.
|
|
.PP
|
|
Funciona como \`fix\`, pero solo simula una recuperación y no se
|
|
escriben cambios en el array.
|
|
.PP
|
|
Este comando está destinado principalmente a la verificación manual,
|
|
como después de un proceso de recuperación o en otras condiciones
|
|
especiales. Para comprobaciones periódicas y programadas, use \`scrub\`.
|
|
.PP
|
|
Si usa la opción \-a, \-\-audit\-only, solo se verifican los datos del
|
|
archivo y se ignora la información de paridad para una ejecución más
|
|
rápida.
|
|
.PP
|
|
Los archivos se identifican solo por ruta, no por inodo.
|
|
.PP
|
|
Nada se modifica.
|
|
.SS list
|
|
Enumera todos los archivos contenidos en el array en el momento del
|
|
último \`sync\`.
|
|
.PP
|
|
Con \-v o \-\-verbose, también se muestra el tiempo de subsegundo.
|
|
.PP
|
|
Nada se modifica.
|
|
.SS dup
|
|
Enumera todos los archivos duplicados. Se supone que dos archivos son
|
|
iguales si sus hashes coinciden. Los datos del archivo no se leen;
|
|
solo se utilizan los hashes precalculados.
|
|
.PP
|
|
Nada se modifica.
|
|
.SS pool
|
|
Crea o actualiza una vista virtual de todos
|
|
los archivos de su array de discos en el directorio de \`pooling\`.
|
|
.PP
|
|
Los archivos no se copian sino que se enlazan usando
|
|
enlaces simbólicos.
|
|
.PP
|
|
Al actualizar, todos los enlaces simbólicos existentes y los
|
|
subdirectorios vacíos se eliminan y se reemplazan con la nueva
|
|
vista del array. Cualquier otro archivo regular se deja en su lugar.
|
|
.PP
|
|
Nada se modifica fuera del directorio pool.
|
|
.SS devices
|
|
Imprime los dispositivos de bajo nivel utilizados por el array.
|
|
.PP
|
|
Este comando muestra las asociaciones de dispositivos en el array
|
|
y está destinado principalmente como una interfaz de script.
|
|
.PP
|
|
Las primeras dos columnas son el ID y la ruta del dispositivo de bajo
|
|
nivel. Las siguientes dos columnas son el ID y la ruta del dispositivo
|
|
de alto nivel. La última columna es el nombre del disco en el array.
|
|
.PP
|
|
En la mayoría de los casos, tiene un dispositivo de bajo nivel para
|
|
cada disco en el array, pero en algunas configuraciones más complejas,
|
|
puede tener múltiples dispositivos de bajo nivel utilizados por un
|
|
solo disco en el array.
|
|
.PP
|
|
Nada se modifica.
|
|
.SS touch
|
|
Establece una marca de tiempo de subsegundo arbitraria para todos los
|
|
archivos que la tienen establecida en cero.
|
|
.PP
|
|
Esto mejora la capacidad de SnapRAID para reconocer archivos movidos
|
|
y copiados, ya que hace que la marca de tiempo sea casi única,
|
|
reduciendo posibles duplicados.
|
|
.PP
|
|
Más específicamente, si la marca de tiempo de subsegundo no es cero,
|
|
un archivo movido o copiado se identifica como tal si coincide con
|
|
el nombre, el tamaño y la marca de tiempo. Si la marca de tiempo de
|
|
subsegundo es cero, se considera una copia solo si la ruta completa,
|
|
el tamaño y la marca de tiempo coinciden.
|
|
.PP
|
|
La marca de tiempo de precisión de segundo no se modifica,
|
|
por lo que se conservarán todas las fechas y horas de sus archivos.
|
|
.SS rehash
|
|
Programa un nuevo cálculo de hash (rehash) de todo el array.
|
|
.PP
|
|
Este comando cambia el tipo de hash utilizado, típicamente al
|
|
actualizar de un sistema de 32 bits a uno de 64 bits, para cambiar
|
|
de MurmurHash3 al más rápido SpookyHash.
|
|
.PP
|
|
Si ya está utilizando el hash óptimo, este comando
|
|
no hace nada y le informa que no se necesita ninguna acción.
|
|
.PP
|
|
El nuevo cálculo de hash no se realiza inmediatamente, sino que
|
|
tiene lugar progresivamente durante \`sync\` y \`scrub\`.
|
|
.PP
|
|
Puede verificar el estado del nuevo cálculo de hash usando \`status\`.
|
|
.PP
|
|
Durante el nuevo cálculo de hash, SnapRAID mantiene la funcionalidad
|
|
completa, con la única excepción de que \`dup\` no puede detectar
|
|
archivos duplicados utilizando un hash diferente.
|
|
.SS locate
|
|
Localiza archivos almacenados en los discos de paridad. Para cada archivo coincidente,
|
|
imprime su ubicación dentro del archivo de paridad y el número de fragmentos
|
|
que ocupa.
|
|
.PP
|
|
Puede usar la opción \-t, \-\-tail para restringir la operación a los archivos
|
|
que ocupan la porción final especificada de la paridad.
|
|
.PP
|
|
Si desea reasignar estos archivos, puede usar la opción
|
|
\-W, \-\-force\-realloc\-tail.
|
|
Tenga en cuenta que dichos archivos no estarán protegidos por la paridad durante
|
|
el proceso de reasignación.
|
|
.SH OPCIONES (OPTIONS)
|
|
SnapRAID proporciona las siguientes opciones:
|
|
.TP
|
|
.B \-c, \-\-conf CONFIG
|
|
Selecciona el archivo de configuración a usar. Si no se
|
|
especifica, en Unix utiliza el archivo \`/usr/local/etc/snapraid.conf\`
|
|
si existe, de lo contrario \`/etc/snapraid.conf\`.
|
|
En Windows, utiliza el archivo \`snapraid.conf\` en el mismo
|
|
directorio que \`snapraid.exe\`.
|
|
.TP
|
|
.B \-f, \-\-filter PATTERN
|
|
Filtra los archivos a procesar en \`check\` y \`fix\`.
|
|
Solo se procesan los archivos que coinciden con el patrón
|
|
especificado. Esta opción se puede usar varias veces.
|
|
Consulte la sección PATTERN para obtener más detalles sobre
|
|
las especificaciones de patrones.
|
|
En Unix, asegúrese de que los caracteres globbing estén
|
|
entre comillas si se usan.
|
|
Esta opción solo se puede usar con \`check\` y \`fix\`.
|
|
No se puede usar con \`sync\` y \`scrub\`, ya que siempre
|
|
procesan todo el array.
|
|
.TP
|
|
.B \-d, \-\-filter\-disk NAME
|
|
Filtra los discos a procesar en \`check\`, \`fix\`, \`up\` y \`down\`.
|
|
Debe especificar un nombre de disco como se define en el archivo
|
|
de configuración.
|
|
También puede especificar discos de paridad con los nombres:
|
|
\`parity\`, \`2\-parity\`, \`3\-parity\`, etc., para limitar las
|
|
operaciones a un disco de paridad específico.
|
|
Si combina múltiples opciones \-\-filter, \-\-filter\-disk y
|
|
\-\-filter\-missing, solo se seleccionan los archivos que
|
|
coinciden con todos los filtros.
|
|
Esta opción se puede usar varias veces.
|
|
Esta opción solo se puede usar con \`check\`, \`fix\`, \`up\` y \`down\`.
|
|
No se puede usar con \`sync\` y \`scrub\`, ya que siempre
|
|
procesan todo el array.
|
|
.TP
|
|
.B \-m, \-\-filter\-missing
|
|
Filtra los archivos a procesar en \`check\` y \`fix\`.
|
|
Solo se procesan los archivos faltantes o eliminados del array.
|
|
Cuando se usa con \`fix\`, esto actúa como un comando de \`undelete\`
|
|
(recuperación).
|
|
Si combina múltiples opciones \-\-filter, \-\-filter\-disk y
|
|
\-\-filter\-missing, solo se seleccionan los archivos que
|
|
coinciden con todos los filtros.
|
|
Esta opción solo se puede usar con \`check\` y \`fix\`.
|
|
No se puede usar con \`sync\` y \`scrub\`, ya que siempre
|
|
procesan todo el array.
|
|
.TP
|
|
.B \-e, \-\-filter\-error
|
|
Procesa los archivos con errores en \`check\` y \`fix\`.
|
|
Solo procesa archivos que tienen bloques marcados con errores
|
|
silenciosos o de entrada/salida durante \`sync\` y \`scrub\`,
|
|
según se enumeran en \`status\`.
|
|
Esta opción solo se puede usar con \`check\` y \`fix\`.
|
|
.TP
|
|
.B \-p, \-\-plan PERC|bad|new|full
|
|
Selecciona el plan de depuración (scrub). Si PERC es un valor
|
|
numérico de 0 a 100, se interpreta como el porcentaje de
|
|
bloques a depurar.
|
|
En lugar de un porcentaje, puede especificar un plan:
|
|
\`bad\` depura bloques defectuosos, \`new\` depura bloques aún
|
|
no depurados, y \`full\` depura todo.
|
|
Esta opción solo se puede usar con \`scrub\`.
|
|
.TP
|
|
.B \-o, \-\-older\-than DAYS
|
|
Selecciona la parte más antigua del array para procesar en \`scrub\`.
|
|
DAYS es la edad mínima en días para que un bloque sea depurado;
|
|
el valor predeterminado es 10.
|
|
Los bloques marcados como defectuosos siempre se depuran
|
|
independientemente de esta opción.
|
|
Esta opción solo se puede usar con \`scrub\`.
|
|
.TP
|
|
.B \-a, \-\-audit\-only
|
|
En \`check\`, verifica el hash de los archivos sin
|
|
verificar la información de paridad.
|
|
Si solo está interesado en verificar los datos del archivo,
|
|
esta opción puede acelerar significativamente el proceso de
|
|
verificación.
|
|
Esta opción solo se puede usar con \`check\`.
|
|
.TP
|
|
.B \-h, \-\-pre\-hash
|
|
En \`sync\`, ejecuta una fase de hash preliminar de todos los
|
|
datos nuevos para una verificación adicional antes del
|
|
cálculo de paridad.
|
|
Normalmente, en \`sync\`, no se realiza un hash preliminar,
|
|
y los nuevos datos se hashean justo antes del cálculo de
|
|
paridad cuando se leen por primera vez.
|
|
Este proceso ocurre cuando el sistema está bajo
|
|
una gran carga, con todos los discos girando y una CPU ocupada.
|
|
Esta es una condición extrema para la máquina, y si tiene un
|
|
problema de hardware latente, los errores silenciosos pueden
|
|
pasar desapercibidos porque los datos aún no están hasheados.
|
|
Para evitar este riesgo, puede habilitar el modo \`pre\-hash\`
|
|
para que todos los datos se lean dos veces para garantizar
|
|
su integridad.
|
|
Esta opción también verifica los archivos movidos dentro del
|
|
array para asegurar que la operación de movimiento fue exitosa
|
|
y, si es necesario, le permite ejecutar una operación de corrección
|
|
antes de continuar.
|
|
Esta opción solo se puede usar con \`sync\`.
|
|
.TP
|
|
.B \-i, \-\-import DIR
|
|
Importa desde el directorio especificado cualquier archivo
|
|
eliminado del array después del último \`sync\`.
|
|
Si aún tiene dichos archivos, \`check\` y \`fix\` pueden usarlos
|
|
para mejorar el proceso de recuperación.
|
|
Los archivos se leen, incluso en subdirectorios, y se
|
|
identifican independientemente de su nombre.
|
|
Esta opción solo se puede usar con \`check\` y \`fix\`.
|
|
.TP
|
|
.B \-s, \-\-spin\-down\-on\-error
|
|
En cualquier error, detiene todos los discos gestionados antes
|
|
de salir con un código de estado distinto de cero. Esto evita
|
|
que las unidades permanezcan activas y girando después de una
|
|
operación abortada, lo que ayuda a evitar la acumulación de calor
|
|
innecesaria y el consumo de energía. Use esta opción para
|
|
asegurarse de que los discos se detengan de forma segura incluso
|
|
cuando un comando falla.
|
|
.TP
|
|
.B \-w, \-\-bw\-limit RATE
|
|
Aplica un límite de ancho de banda global para todos los discos.
|
|
RATE es el número de bytes por segundo. Puede especificar un
|
|
multiplicador como K, M o G (por ejemplo, \-\-bw\-limit 1G).
|
|
.TP
|
|
.B \-t, \-\-tail SIZE
|
|
Limita la lista de archivos a aquellos que no usan más del
|
|
tamaño de cola especificado de los discos de paridad.
|
|
Puede usar multiplicadores como K, M, G o T (por ejemplo, \-\-tail 1G).
|
|
Esta opción solo es válida cuando se usa junto con el comando
|
|
\`locate\`.
|
|
.TP
|
|
.B \-A, \-\-stats
|
|
Habilita una vista de estado extendida que muestra información
|
|
adicional. La pantalla muestra dos gráficos:
|
|
El primer gráfico muestra el número de franjas (stripes)
|
|
almacenadas en búfer para cada disco, junto con la ruta del
|
|
archivo al que se está accediendo actualmente en ese disco.
|
|
Normalmente, el disco más lento no tendrá búfer disponible,
|
|
lo que determina el ancho de banda máximo alcanzable.
|
|
El segundo gráfico muestra el porcentaje de tiempo
|
|
dedicado a esperar durante los últimos 100 segundos. Se espera
|
|
que el disco más lento cause la mayor parte del tiempo de
|
|
espera, mientras que otros discos deberían tener poco o ningún
|
|
tiempo de espera porque pueden usar sus franjas almacenadas
|
|
en búfer. Este gráfico también muestra el tiempo dedicado a
|
|
esperar los cálculos de hash y los cálculos RAID.
|
|
Todos los cálculos se ejecutan en paralelo con las
|
|
operaciones de disco. Por lo tanto, mientras haya un tiempo
|
|
de espera medible para al menos un disco, indica que la CPU
|
|
es lo suficientemente rápida para mantenerse al día con la
|
|
carga de trabajo.
|
|
.TP
|
|
.B \-Z, \-\-force\-zero
|
|
Fuerza la operación insegura de sincronizar un archivo con
|
|
tamaño cero que antes no era cero.
|
|
Si SnapRAID detecta tal condición, detiene el procedimiento
|
|
a menos que especifique esta opción.
|
|
Esto le permite detectar fácilmente cuando, después de un
|
|
fallo del sistema, algunos archivos accedidos fueron truncados.
|
|
Esta es una posible condición en Linux con los sistemas de
|
|
archivos ext3/ext4.
|
|
Esta opción solo se puede usar con \`sync\`.
|
|
.TP
|
|
.B \-E, \-\-force\-empty
|
|
Fuerza la operación insegura de sincronizar un disco con todos
|
|
los archivos originales faltantes.
|
|
Si SnapRAID detecta que todos los archivos originalmente
|
|
presentes en el disco faltan o han sido reescritos, detiene
|
|
el procedimiento a menos que especifique esta opción.
|
|
Esto le permite detectar fácilmente cuando un sistema de archivos
|
|
de datos no está montado.
|
|
Sin embargo, se permite tener un solo cambio de UUID con
|
|
paridad simple, y más con paridad múltiple, porque este es
|
|
el caso normal al reemplazar discos después de una recuperación.
|
|
Esta opción solo se puede usar con \`sync\`.
|
|
.TP
|
|
.B \-U, \-\-force\-uuid
|
|
Fuerza la operación insegura de sincronizar, verificar y
|
|
corregir con discos que han cambiado su UUID.
|
|
Si SnapRAID detecta que algunos discos han cambiado el UUID,
|
|
detiene el procedimiento a menos que especifique esta opción.
|
|
Esto le permite detectar cuando sus discos están montados en
|
|
los puntos de montaje incorrectos.
|
|
Esta opción solo se puede usar con \`sync\`, \`check\` o \`fix\`.
|
|
.TP
|
|
.B \-D, \-\-force\-device
|
|
Fuerza la operación insegura de corregir con discos inaccesibles
|
|
o con discos en el mismo dispositivo físico.
|
|
Por ejemplo, si perdió dos discos de datos y tiene un disco de
|
|
repuesto para recuperar solo el primero, puede ignorar el
|
|
segundo disco inaccesible.
|
|
O, si desea recuperar un disco en el espacio libre que queda
|
|
en un disco ya usado, compartiendo el mismo dispositivo físico.
|
|
Esta opción solo se puede usar con \`fix\`.
|
|
.TP
|
|
.B \-N, \-\-force\-nocopy
|
|
En \`sync\`, \`check\` y \`fix\`, deshabilita la heurística de
|
|
detección de copias. Sin esta opción, SnapRAID asume que
|
|
los archivos con los mismos atributos, como nombre, tamaño y
|
|
marca de tiempo, son copias con los mismos datos.
|
|
Esto permite la identificación de archivos copiados o movidos
|
|
de un disco a otro y reutiliza la información de hash ya
|
|
calculada para detectar errores silenciosos o recuperar archivos
|
|
faltantes.
|
|
En algunos casos raros, este comportamiento puede dar lugar a
|
|
falsos positivos o a un proceso lento debido a muchas
|
|
verificaciones de hash, y esta opción le permite resolver
|
|
tales problemas.
|
|
Esta opción solo se puede usar con \`sync\`, \`check\` y \`fix\`.
|
|
.TP
|
|
.B \-F, \-\-force\-full
|
|
En \`sync\`, fuerza un recálculo completo de la paridad.
|
|
Esta opción se puede usar cuando agrega un nuevo nivel de
|
|
paridad o si revirtió a un archivo de contenido antiguo
|
|
utilizando datos de paridad más recientes.
|
|
En lugar de recrear la paridad desde cero, esto le permite
|
|
reutilizar los hashes presentes en el archivo de contenido
|
|
para validar los datos y mantener la protección de datos durante
|
|
el proceso \`sync\` utilizando los datos de paridad existentes.
|
|
Esta opción solo se puede usar con \`sync\`.
|
|
.TP
|
|
.B \-R, \-\-force\-realloc
|
|
En \`sync\`, fuerza una reasignación completa de archivos y
|
|
la reconstrucción de la paridad.
|
|
Esta opción se puede usar para reasignar completamente todos
|
|
los archivos, eliminando la fragmentación, mientras se reutilizan
|
|
los hashes presentes en el archivo de contenido para validar los datos.
|
|
Esta opción solo se puede usar con \`sync\`.
|
|
¡ADVERTENCIA! Esta opción es solo para expertos y se
|
|
recomienda encarecidamente no usarla.
|
|
NO tiene protección de datos durante la operación \`sync\`.
|
|
.TP
|
|
.B \-W, \-\-force\-realloc\-tail SIZE
|
|
Funciona como \-R, \-\-force\-realloc, pero limitado a la porción final
|
|
especificada (últimos SIZE bytes) de cada archivo de paridad.
|
|
Fuerza la reasignación (movimiento) de cualquier fragmento/bloque de archivo
|
|
actualmente almacenado en esa sección final, permitiendo que se coloquen
|
|
en cualquier lugar de los archivos de paridad donde haya espacio libre
|
|
disponible (incluyendo huecos existentes).
|
|
El propósito principal de esta opción es reducir el tamaño en disco
|
|
del archivo de paridad.
|
|
Si la reasignación vacía con éxito toda la sección final
|
|
(no quedan bloques usándola), el archivo de paridad se trunca,
|
|
recuperando el espacio final no utilizado.
|
|
Puede usar multiplicadores como K, M, G o T (por ejemplo,
|
|
\-\-force\-realloc\-tail 1G).
|
|
Puede usar locate \-t, \-\-tail para conocer de antemano
|
|
los archivos afectados.
|
|
¡ADVERTENCIA!
|
|
Esta opción es solo para expertos y se recomienda
|
|
encarecidamente no usarla.
|
|
Usted NO tiene protección de datos durante la operación \`sync\`
|
|
para los archivos afectados.
|
|
.TP
|
|
.B \-l, \-\-log FILE
|
|
Escribe un registro detallado en el archivo especificado.
|
|
Si no se especifica esta opción, los errores inesperados se
|
|
imprimen en la pantalla, lo que puede resultar en una salida
|
|
excesiva en caso de muchos errores. Cuando se especifica \-l,
|
|
\-\-log, solo los errores fatales que hacen que SnapRAID se
|
|
detenga se imprimen en la pantalla.
|
|
Si la ruta comienza con \`>>\`, el archivo se abre
|
|
en modo de anexar. Las ocurrencias de \`%D\` y \`%T\` en el nombre
|
|
se reemplazan con la fecha y hora en el formato AAAA MM DD y HH MM SS.
|
|
En archivos por lotes de Windows, debe duplicar el
|
|
carácter \`%\`, por ejemplo, resultado\-%%D.log. Para usar \`>>\`,
|
|
debe encerrar el nombre entre comillas, por ejemplo, \`\[dq]>>resultado.log\[dq]\`.
|
|
Para enviar el registro a la salida estándar o al error
|
|
estándar, puede usar \`\[dq]>&1\[dq]\` y \`\[dq]>&2\[dq]\`, respectivamente.
|
|
Consulte el archivo snapraid_log.txt o la página del manual
|
|
para obtener descripciones de las etiquetas de registro.
|
|
.TP
|
|
.B \-L, \-\-error\-limit NUMBER
|
|
Establece un nuevo límite de error antes de detener la ejecución.
|
|
De forma predeterminada, SnapRAID se detiene si encuentra más
|
|
de 100 errores de entrada/salida, lo que indica que es probable
|
|
que un disco esté fallando.
|
|
Esta opción afecta a \`sync\` y \`scrub\`, a los que se les
|
|
permite continuar después del primer conjunto de errores de
|
|
disco para intentar completar sus operaciones.
|
|
Sin embargo, \`check\` y \`fix\` siempre se detienen en el primer error.
|
|
.TP
|
|
.B \-S, \-\-start BLKSTART
|
|
Comienza a procesar desde el número de bloque especificado.
|
|
Esto puede ser útil para reintentar verificar o corregir
|
|
bloques específicos en caso de un disco dañado.
|
|
Esta opción es principalmente para recuperación manual avanzada.
|
|
.TP
|
|
.B \-B, \-\-count BLKCOUNT
|
|
Procesa solo el número de bloques especificado.
|
|
Esta opción es principalmente para recuperación manual avanzada.
|
|
.TP
|
|
.B \-C, \-\-gen\-conf CONTENT
|
|
Genera un archivo de configuración ficticio a partir de un
|
|
archivo de contenido existente.
|
|
El archivo de configuración se escribe en la salida estándar
|
|
y no sobrescribe uno existente.
|
|
Este archivo de configuración también contiene la información
|
|
necesaria para reconstruir los puntos de montaje del disco en
|
|
caso de que pierda todo el sistema.
|
|
.TP
|
|
.B \-v, \-\-verbose
|
|
Imprime más información en la pantalla.
|
|
Si se especifica una vez, imprime archivos excluidos
|
|
y estadísticas adicionales.
|
|
Esta opción no tiene efecto en los archivos de registro.
|
|
.TP
|
|
.B \-q, \-\-quiet
|
|
Imprime menos información en la pantalla.
|
|
Si se especifica una vez, elimina la barra de progreso;
|
|
dos veces, las operaciones en ejecución; tres veces, los
|
|
mensajes de información; cuatro veces, los mensajes de estado.
|
|
Los errores fatales siempre se imprimen en la pantalla.
|
|
Esta opción no tiene efecto en los archivos de registro.
|
|
.TP
|
|
.B \-H, \-\-help
|
|
Imprime una pantalla de ayuda corta.
|
|
.TP
|
|
.B \-V, \-\-version
|
|
Imprime la versión del programa.
|
|
.SH CONFIGURACIóN (CONFIGURATION)
|
|
SnapRAID requiere un archivo de configuración para saber dónde se
|
|
encuentra su array de discos y dónde almacenar la información de paridad.
|
|
.PP
|
|
En Unix, utiliza el archivo \`/usr/local/etc/snapraid.conf\` si existe,
|
|
de lo contrario \`/etc/snapraid.conf\`.
|
|
En Windows, utiliza el archivo \`snapraid.conf\` en el mismo
|
|
directorio que \`snapraid.exe\`.
|
|
.PP
|
|
Debe contener las siguientes opciones (distingue entre mayúsculas y minúsculas):
|
|
.SS parity FILE [,FILE] ...
|
|
Define los archivos a usar para almacenar la información de paridad.
|
|
La paridad permite la protección contra un solo fallo de disco,
|
|
similar a RAID5.
|
|
.PP
|
|
Puede especificar varios archivos, que deben estar en discos diferentes.
|
|
Cuando un archivo no puede crecer más, se utiliza el siguiente.
|
|
El espacio total disponible debe ser al menos tan grande como el
|
|
disco de datos más grande del array.
|
|
.PP
|
|
Puede agregar archivos de paridad adicionales más tarde, pero no
|
|
puede reordenarlos ni eliminarlos.
|
|
.PP
|
|
Mantener los discos de paridad reservados para la paridad asegura
|
|
que no se fragmenten, mejorando el rendimiento.
|
|
.PP
|
|
En Windows, se dejan 256 MB sin usar en cada disco para evitar la
|
|
advertencia sobre discos llenos.
|
|
.PP
|
|
Esta opción es obligatoria y solo se puede usar una vez.
|
|
.SS (2,3,4,5,6)\-parity FILE [,FILE] ...
|
|
Define los archivos a usar para almacenar información de paridad
|
|
adicional.
|
|
.PP
|
|
Para cada nivel de paridad especificado, se habilita un nivel
|
|
adicional de protección:
|
|
.PD 0
|
|
.IP \(bu
|
|
2\-parity habilita la paridad dual RAID6.
|
|
.IP \(bu
|
|
3\-parity habilita la paridad triple.
|
|
.IP \(bu
|
|
4\-parity habilita la paridad cuádruple.
|
|
.IP \(bu
|
|
5\-parity habilita la paridad quíntuple.
|
|
.IP \(bu
|
|
6\-parity habilita la paridad séxtuple.
|
|
.PD
|
|
.PP
|
|
Cada nivel de paridad requiere la presencia de todos los niveles
|
|
de paridad anteriores.
|
|
.PP
|
|
Se aplican las mismas consideraciones que para la opción \`parity\`.
|
|
.PP
|
|
Estas opciones son opcionales y solo se pueden usar una vez.
|
|
.SS z\-parity FILE [,FILE] ...
|
|
Define un archivo y un formato alternativos para almacenar paridad triple.
|
|
.PP
|
|
Esta opción es una alternativa a \`3\-parity\`, destinada principalmente
|
|
a CPU de gama baja como ARM o AMD Phenom, Athlon y Opteron que no
|
|
admiten el conjunto de instrucciones SSSE3. En tales casos,
|
|
proporciona un mejor rendimiento.
|
|
.PP
|
|
Este formato es similar pero más rápido que el utilizado por ZFS RAIDZ3.
|
|
Al igual que ZFS, no funciona más allá de la paridad triple.
|
|
.PP
|
|
Al usar \`3\-parity\`, se le advertirá si se recomienda usar
|
|
el formato \`z\-parity\` para mejorar el rendimiento.
|
|
.PP
|
|
Es posible convertir de un formato a otro ajustando
|
|
el archivo de configuración con el archivo z\-parity o 3\-parity
|
|
deseado y usando \`fix\` para recrearlo.
|
|
.SS content FILE
|
|
Define el archivo a usar para almacenar la lista y las sumas de
|
|
comprobación de todos los archivos presentes en su array de discos.
|
|
.PP
|
|
Se puede colocar en un disco utilizado para datos, paridad o
|
|
cualquier otro disco disponible.
|
|
Si usa un disco de datos, este archivo se excluye automáticamente
|
|
del proceso \`sync\`.
|
|
.PP
|
|
Esta opción es obligatoria y se puede usar varias veces para guardar
|
|
múltiples copias del mismo archivo.
|
|
.PP
|
|
Debe almacenar al menos una copia por cada disco de paridad utilizado
|
|
más uno. Usar copias adicionales no perjudica.
|
|
.SS data NAME DIR
|
|
Define el nombre y el punto de montaje de los discos de datos en
|
|
el array. NAME se usa para identificar el disco y debe
|
|
ser único. DIR es el punto de montaje del disco en el
|
|
sistema de archivos.
|
|
.PP
|
|
Puede cambiar el punto de montaje según sea necesario, siempre que
|
|
mantenga el NAME fijo.
|
|
.PP
|
|
Debe usar una opción para cada disco de datos en el array.
|
|
.PP
|
|
Puede cambiar el nombre de un disco más tarde cambiando el NAME
|
|
directamente en el archivo de configuración y luego ejecutando un
|
|
comando \`sync\`. En el caso de cambiar el nombre, la asociación se
|
|
realiza utilizando el UUID almacenado de los discos.
|
|
.SS extra NAME DIR
|
|
Define el nombre y el punto de montaje de discos adicionales para monitorear
|
|
con los comandos \`smart\` y \`probe\`.
|
|
.PP
|
|
Esto es útil para monitorear discos que no forman parte del
|
|
array pero que son necesarios para que el sistema funcione, como
|
|
el disco de arranque.
|
|
.PP
|
|
Tenga en cuenta que dichos discos no se ven afectados por los comandos \`up\` y \`down\`
|
|
porque se espera que estén siempre girando.
|
|
.SS snapshot
|
|
Habilita el uso de instantáneas del sistema de archivos para los comandos \`sync\`, \`scrub\`,
|
|
\`check\` y \`fix\`.
|
|
.PP
|
|
Cuando está habilitado, SnapRAID crea una instantánea de solo lectura de sus datos al
|
|
comienzo de un \'sync\'. Esto asegura una vista consistente y en un punto en el tiempo de sus
|
|
archivos, evitando errores causados por modificaciones concurrentes de archivos.
|
|
.PP
|
|
Esto mejora significativamente la recuperación: si un archivo se elimina del sistema de archivos activo,
|
|
permanece preservado en la instantánea. Esto evita que la paridad se \[dq]rompa\[dq]
|
|
para ese bloque, asegurando que aún pueda recuperar los datos con éxito
|
|
si falla otro disco.
|
|
.PP
|
|
Esta opción se aplica exclusivamente a discos de datos formateados con los sistemas de
|
|
archivos Btrfs, Bcachefs o ZFS en Linux y NTFS en Windows.
|
|
Los discos de paridad, o los discos de datos que usen otros sistemas de archivos, siempre usarán
|
|
la versión activa del sistema de archivos.
|
|
.PP
|
|
La creación y eliminación de instantáneas requieren privilegios administrativos.
|
|
Asegúrese de que SnapRAID se ejecute con los permisos necesarios (por ejemplo, sudo) cuando
|
|
esta opción esté habilitada.
|
|
.PP
|
|
Consulte la sección SNAPSHOTS para obtener una explicación detallada del ciclo de vida
|
|
de las instantáneas.
|
|
.SS nohidden
|
|
Excluye todos los archivos y directorios ocultos.
|
|
En Unix, los archivos ocultos son los que comienzan con \`.\`.
|
|
En Windows, son los que tienen el atributo oculto.
|
|
.SS exclude/include PATTERN
|
|
Define los patrones de archivo o directorio a excluir o incluir
|
|
en el proceso de sincronización.
|
|
Todos los patrones se procesan en el orden especificado.
|
|
.PP
|
|
Si el primer patrón que coincide es un \`exclude\`, el archivo
|
|
se excluye. Si es un \`include\`, el archivo se incluye.
|
|
Si ningún patrón coincide, el archivo se excluye si el último
|
|
patrón especificado es un \`include\`, o se incluye si el último
|
|
patrón especificado es un \`exclude\`.
|
|
.PP
|
|
Consulte la sección PATTERN para obtener más detalles sobre
|
|
las especificaciones de patrones.
|
|
.PP
|
|
Esta opción se puede usar varias veces.
|
|
.SS blocksize SIZE_IN_KIBIBYTES
|
|
Define el tamaño de bloque básico en kibibytes para la paridad.
|
|
Un kibibyte es 1024 bytes.
|
|
.PP
|
|
El tamaño de bloque predeterminado es 256, que debería funcionar
|
|
para la mayoría de los casos.
|
|
.PP
|
|
¡ADVERTENCIA! Esta opción es solo para expertos y se
|
|
recomienda encarecidamente no cambiar este valor. Para cambiar
|
|
este valor en el futuro, ¡tendrá que recrear toda la paridad!
|
|
.PP
|
|
Una razón para usar un tamaño de bloque diferente es si tiene
|
|
muchos archivos pequeños, del orden de millones.
|
|
.PP
|
|
Para cada archivo, incluso si solo son unos pocos bytes, se asigna
|
|
un bloque completo de paridad, y con muchos archivos, esto puede
|
|
resultar en un espacio de paridad no utilizado significativo.
|
|
Cuando llena completamente el disco de paridad, no se le permite
|
|
agregar más archivos a los discos de datos.
|
|
Sin embargo, la paridad desperdiciada no se acumula en los discos
|
|
de datos. El espacio desperdiciado resultante de un alto número de
|
|
archivos en un disco de datos limita solo la cantidad de datos en
|
|
ese disco de datos, no en otros.
|
|
.PP
|
|
Como aproximación, puede suponer que se desperdicia la mitad del
|
|
tamaño del bloque para cada archivo. Por ejemplo, con 100,000 archivos
|
|
y un tamaño de bloque de 256 KiB, desperdiciará 12.8 GB de paridad,
|
|
lo que puede resultar en 12.8 GB menos de espacio disponible en el
|
|
disco de datos.
|
|
.PP
|
|
Puede verificar la cantidad de espacio desperdiciado en cada disco
|
|
usando \`status\`. Este es el espacio que debe dejar libre en los
|
|
discos de datos o usar para archivos no incluidos en el array.
|
|
Si este valor es negativo, significa que está cerca de llenar
|
|
la paridad, y representa el espacio que aún puede desperdiciar.
|
|
.PP
|
|
Para evitar este problema, puede usar una partición más grande para
|
|
la paridad. Por ejemplo, si la partición de paridad es 12.8 GB
|
|
más grande que los discos de datos, tiene suficiente espacio extra
|
|
para manejar hasta 100,000 archivos en cada disco de datos sin
|
|
ningún espacio desperdiciado.
|
|
.PP
|
|
Un truco para obtener una partición de paridad más grande en Linux
|
|
es formatearla con el comando:
|
|
.PP
|
|
.RS 4
|
|
mkfs.ext4 \-m 0 \-T largefile4 DEVICE
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Esto resulta en aproximadamente un 1.5% de espacio extra,
|
|
aproximadamente 60 GB para un disco de 4 TB, lo que permite
|
|
alrededor de 460,000 archivos en cada disco de datos sin ningún
|
|
espacio desperdiciado.
|
|
.SS hashsize SIZE_IN_BYTES
|
|
Define el tamaño del hash en bytes para los bloques guardados.
|
|
.PP
|
|
El tamaño de hash predeterminado es de 16 bytes (128 bits),
|
|
que debería funcionar para la mayoría de los casos.
|
|
.PP
|
|
¡ADVERTENCIA! Esta opción es solo para expertos y se
|
|
recomienda encarecidamente no cambiar este valor. Para cambiar
|
|
este valor en el futuro, ¡tendrá que recrear toda la paridad!
|
|
.PP
|
|
Una razón para usar un tamaño de hash diferente es si su sistema
|
|
tiene memoria limitada. Como regla general, SnapRAID
|
|
típicamente requiere 1 GiB de RAM por cada 16 TB de datos en el array.
|
|
.PP
|
|
Específicamente, para almacenar los hashes de los datos, SnapRAID
|
|
requiere aproximadamente TS*(1+HS)/BS bytes de RAM,
|
|
donde TS es el tamaño total en bytes de su array de discos, BS es el
|
|
tamaño de bloque en bytes, y HS es el tamaño de hash en bytes.
|
|
.PP
|
|
Por ejemplo, con 8 discos de 4 TB, un tamaño de bloque de 256 KiB
|
|
(1 KiB = 1024 bytes) y un tamaño de hash de 16, obtiene:
|
|
.PP
|
|
RAM = (8 * 4 * 10^12) * (1+16) / (256 * 2^10) = 1.93 GiB
|
|
.PD 0
|
|
.PD
|
|
.PP
|
|
Cambiando a un tamaño de hash de 8, obtiene:
|
|
.PP
|
|
RAM = (8 * 4 * 10^12) * (1+8) / (256 * 2^10) = 1.02 GiB
|
|
.PD 0
|
|
.PD
|
|
.PP
|
|
Cambiando a un tamaño de bloque de 512, obtiene:
|
|
.PP
|
|
RAM = (8 * 4 * 10^12) * (1+16) / (512 * 2^10) = 0.96 GiB
|
|
.PD 0
|
|
.PD
|
|
.PP
|
|
Cambiando tanto a un tamaño de hash de 8 como a un tamaño de bloque de 512,
|
|
obtiene:
|
|
.PP
|
|
RAM = (8 * 4 * 10^12) * (1+8) / (512 * 2^10) = 0.51 GiB
|
|
.PD 0
|
|
.PD
|
|
.SS autosave SIZE_IN_GIGABYTES
|
|
Guarda automáticamente el estado al sincronizar o depurar después de
|
|
la cantidad especificada de GB procesados.
|
|
Esta opción es útil para evitar reiniciar comandos \`sync\` largos
|
|
desde cero si son interrumpidos por un fallo de la máquina o
|
|
cualquier otro evento.
|
|
.SS temp_limit TEMPERATURE_CELSIUS
|
|
Establece la temperatura máxima permitida del disco en Celsius.
|
|
Cuando se especifica, SnapRAID verifica periódicamente la temperatura
|
|
de todos los discos utilizando la herramienta smartctl. Las
|
|
temperaturas actuales del disco se muestran mientras SnapRAID está
|
|
operando. Si algún disco excede este límite, todas las operaciones
|
|
se detienen y los discos se detienen (se ponen en espera) durante
|
|
la duración definida por la opción \`temp_sleep\`. Después del
|
|
período de espera, las operaciones se reanudan, pausándose
|
|
potencialmente de nuevo si se alcanza el límite de temperatura
|
|
una vez más.
|
|
.PP
|
|
Durante la operación, SnapRAID también analiza la curva de
|
|
calentamiento de cada disco y estima la temperatura constante a
|
|
largo plazo que se espera que alcancen si la actividad continúa.
|
|
La estimación se realiza solo después de que la temperatura del
|
|
disco haya aumentado cuatro veces, asegurando que haya suficientes
|
|
puntos de datos disponibles para establecer una tendencia confiable.
|
|
Esta temperatura constante predicha se muestra entre paréntesis junto
|
|
al valor actual y ayuda a evaluar si la refrigeración del sistema es
|
|
adecuada. Esta temperatura estimada es solo para fines informativos
|
|
y no tiene ningún efecto en el comportamiento de SnapRAID. Las
|
|
acciones del programa se basan únicamente en las temperaturas reales
|
|
medidas del disco.
|
|
.PP
|
|
Para realizar este análisis, SnapRAID necesita una referencia para la
|
|
temperatura del sistema. Primero intenta leerla de los sensores de
|
|
hardware disponibles. Si no se puede acceder a ningún sensor del
|
|
sistema, utiliza la temperatura del disco más baja medida al
|
|
comienzo de la ejecución como referencia de respaldo.
|
|
.PP
|
|
Normalmente, SnapRAID solo muestra la temperatura del disco más
|
|
caliente. Para mostrar la temperatura de todos los discos, use
|
|
la opción \-A o \-\-stats.
|
|
.SS temp_sleep TIME_IN_MINUTES
|
|
Establece el tiempo de espera, en minutos, cuando se alcanza el
|
|
límite de temperatura. Durante este período, los discos permanecen
|
|
detenidos. El valor predeterminado es de 5 minutos.
|
|
.SS pool DIR
|
|
Define el directorio de agrupación (pooling) donde se crea la vista
|
|
virtual del array de discos utilizando el comando \`pool\`.
|
|
.PP
|
|
El directorio ya debe existir.
|
|
.SS share UNC_DIR
|
|
Define la ruta UNC de Windows requerida para acceder a los discos
|
|
de forma remota.
|
|
.PP
|
|
Si se especifica esta opción, los enlaces simbólicos creados en el
|
|
directorio pool utilizan esta ruta UNC para acceder a los discos.
|
|
Sin esta opción, los enlaces simbólicos generados utilizan solo
|
|
rutas locales, lo que no permite compartir el directorio pool a
|
|
través de la red.
|
|
.PP
|
|
Los enlaces simbólicos se forman utilizando la ruta UNC especificada,
|
|
agregando el nombre del disco como se especifica en la opción \`data\`,
|
|
y finalmente agregando el directorio y el nombre del archivo.
|
|
.PP
|
|
Esta opción solo es necesaria para Windows.
|
|
.SS smartctl DISK/PARITY OPTIONS...
|
|
Define opciones personalizadas de smartctl para obtener los atributos
|
|
SMART de cada disco. Esto puede ser necesario para controladores
|
|
RAID y algunos discos USB que no se pueden detectar automáticamente.
|
|
El marcador de posición %s se reemplaza por el nombre del dispositivo,
|
|
pero es opcional para dispositivos fijos como controladores RAID.
|
|
.PP
|
|
DISK es el mismo nombre de disco especificado en la opción \`data\`.
|
|
PARITY es uno de los nombres de paridad: \`parity\`, \`2\-parity\`,
|
|
\`3\-parity\`, \`4\-parity\`, \`5\-parity\`, \`6\-parity\` o \`z\-parity\`.
|
|
.PP
|
|
En las OPCIONES especificadas, la cadena \`%s\` se reemplaza por
|
|
el nombre del dispositivo. Para los controladores RAID, el dispositivo
|
|
es probable que sea fijo y es posible que no necesite usar \`%s\`.
|
|
.PP
|
|
También puede especificar una cadena de opciones de información
|
|
personalizada mediante la etiqueta \`[info: ...]\` para sustituir
|
|
la opción \`\-a\` predeterminada.
|
|
.PP
|
|
Consulte la documentación de smartmontools para conocer las posibles
|
|
opciones:
|
|
.PP
|
|
.RS 4
|
|
https://www.smartmontools.org/wiki/Supported_RAID\-Controllers
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
https://www.smartmontools.org/wiki/Supported_USB\-Devices
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Por ejemplo:
|
|
.PP
|
|
.RS 4
|
|
smartctl d1 [info: \-H \-i \-c \-A] \-d sat %s
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
smartctl parity \-d sat %s
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.SS smartignore DISK/PARITY ATTR [ATTR...]
|
|
Ignora el atributo SMART especificado al calcular la probabilidad
|
|
de fallo del disco. Esta opción es útil si un disco informa valores
|
|
inusuales o engañosos para un atributo en particular.
|
|
.PP
|
|
DISK es el mismo nombre de disco especificado en la opción \`data\`.
|
|
PARITY es uno de los nombres de paridad: \`parity\`, \`2\-parity\`,
|
|
\`3\-parity\`, \`4\-parity\`, \`5\-parity\`, \`6\-parity\` o \`z\-parity\`.
|
|
El valor especial * se puede usar para ignorar el atributo en todos
|
|
los discos.
|
|
.PP
|
|
Se pueden especificar múltiples atributos separados por espacios.
|
|
Cada atributo se puede especificar como un número del 1 al 255, o como un
|
|
nombre que no distingue entre mayúsculas y minúsculas (p. ej., \`Current_Pending_Sector\`).
|
|
.PP
|
|
Por ejemplo, para ignorar los atributos \`Current Pending Sector Count\` y
|
|
\`Reallocated Sectors Count\` en todos los discos por su número o nombre:
|
|
.PP
|
|
.RS 4
|
|
smartignore * 197 5
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
smartignore * Current_Pending_Sector Reallocated_Sector_Ct
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Para ignorarlos solo en el primer disco de paridad:
|
|
.PP
|
|
.RS 4
|
|
smartignore parity 197 5
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.SS Examples
|
|
Un ejemplo de una configuración típica para Unix es:
|
|
.PP
|
|
.RS 4
|
|
parity /mnt/diskp/snapraid.parity
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
content /mnt/diskp/snapraid.content
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
content /var/snapraid/snapraid.content
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d1 /mnt/disk1/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d2 /mnt/disk2/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d3 /mnt/disk3/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude /lost+found/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude /tmp/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
smartctl d1 [info: \-H \-i \-c \-A] \-d sat %s
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
smartctl d2 \-d usbjmicron %s
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
smartctl parity \-d areca,1/1 /dev/sg0
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
smartctl 2\-parity \-d areca,2/1 /dev/sg0
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
Un ejemplo de una configuración típica para Windows es:
|
|
.PP
|
|
.RS 4
|
|
parity E:\\snapraid.parity
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
content E:\\snapraid.content
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
content C:\\snapraid\\snapraid.content
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d1 G:\\array\\
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d2 H:\\array\\
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
data d3 I:\\array\\
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude Thumbs.db
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude \\$RECYCLE.BIN
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude \\System Volume Information
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
smartctl d1 [info: \-H \-i \-c \-A] \-d sat %s
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
smartctl d2 \-d usbjmicron %s
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
smartctl parity \-d areca,1/1 /dev/arcmsr0
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
smartctl 2\-parity \-d areca,2/1 /dev/arcmsr0
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.SH INSTANTáNEAS (SNAPSHOTS)
|
|
Si la opción de instantánea está habilitada en la configuración, SnapRAID
|
|
utiliza la funcionalidad de instantáneas del sistema de archivos para garantizar operaciones atómicas
|
|
y consistentes.
|
|
.PP
|
|
La gestión de las instantáneas es completamente automática y transparente.
|
|
Puede continuar usando SnapRAID exactamente como antes, con la
|
|
protección adicional proporcionada por las instantáneas gestionadas completamente en
|
|
segundo plano.
|
|
.PP
|
|
Esto proporciona dos beneficios primordiales:
|
|
.RS 0
|
|
.PD 0
|
|
.HP 4
|
|
.I Consistencia
|
|
Los archivos modificados en el sistema de archivos activo durante un sync o scrub de
|
|
larga duración no causarán desajustes de paridad ni operaciones abortadas,
|
|
ya que SnapRAID ve una imagen congelada en el tiempo.
|
|
.HP 4
|
|
.I Recuperación
|
|
Si un archivo se actualiza o elimina del sistema de archivos activo,
|
|
permanece preservado en la instantánea. Si ocurre un fallo de disco
|
|
antes de que se ejecute el siguiente sync, SnapRAID utiliza los datos preservados
|
|
en la instantánea para reconstruir el disco fallido.
|
|
.PD
|
|
.PP
|
|
.RS 4
|
|
.PD 0
|
|
En caso de fallo de un disco durante un proceso de sync activo,
|
|
SnapRAID también es capaz de leer automáticamente tanto de la instantánea
|
|
del cómputo de paridad anterior como del actual.
|
|
Esto maximiza la probabilidad de una recuperación completa al
|
|
proporcionar acceso a los bloques de datos exactos requeridos para resolver
|
|
las ecuaciones de paridad, incluso si esos bloques fueron modificados
|
|
o eliminados entre syncs.
|
|
.PD
|
|
.PP
|
|
.PD 0
|
|
Sin instantáneas, un archivo actualizado o eliminado en un disco sano
|
|
da como resultado la pérdida de bloques de datos que pueden ser necesarios para
|
|
reparar otros discos fallidos.
|
|
.PD
|
|
.RE
|
|
.RE
|
|
.PP
|
|
Las instantáneas se crean solo para discos de datos y solo si el sistema de archivos
|
|
subyacente admite esta funcionalidad. Los discos de paridad siempre usan
|
|
el sistema de archivos activo.
|
|
.PP
|
|
Actualmente, esto es compatible con Btrfs, Bcachefs y ZFS en Linux
|
|
y con NTFS en Windows.
|
|
.PP
|
|
Puede mezclar discos de datos con diferentes sistemas de archivos. Solo aquellos que
|
|
admitan instantáneas las utilizarán, mientras que los demás discos continuarán
|
|
operando directamente en el sistema de archivos activo.
|
|
.PP
|
|
La creación y eliminación de instantáneas requieren privilegios administrativos.
|
|
Asegúrese de que SnapRAID se ejecute con los permisos necesarios (por ejemplo, sudo)
|
|
cuando las instantáneas estén habilitadas.
|
|
.SS Comportamiento de comandos con instantáneas
|
|
Los comandos \`sync\` y \`scrub\` operan exclusivamente en instantáneas
|
|
para garantizar que todas las operaciones de datos se realicen contra un estado consistente
|
|
y congelado. Al utilizar estas instantáneas, SnapRAID evita desajustes de paridad
|
|
que de otro modo serian provocados por modificaciones de archivos concurrentes en el sistema de archivos activo.
|
|
Durante un \`sync\`, el comando utiliza una nueva instantánea creada al
|
|
inicio del proceso para capturar el estado actual para el cómputo de paridad.
|
|
Por el contrario, el comando \`scrub\` utiliza la última instantánea, la
|
|
creada durante el sync más reciente, para mantener un punto de referencia confiable
|
|
que coincida con la paridad existente.
|
|
.PP
|
|
Para los comandos \`check\` y \`fix\`, el uso de la última instantánea
|
|
depende de si se seleccionan discos específicos mediante la opción
|
|
\-d, \-\-filter\-disk.
|
|
.PP
|
|
Un disco seleccionado explícitamente mediante \-d (el \[dq]objetivo\[dq] de la operación)
|
|
siempre utiliza el sistema de archivos activo. Para \`fix\`, esto permite restaurar
|
|
datos en el reemplazo de disco activo. Para \`check\`, permite simular
|
|
la operación \`fix\` bajo las mismas condiciones.
|
|
.PP
|
|
Todos los demás discos de datos (los discos de \[dq]referencia\[dq]) se accederán a través de
|
|
sus instantáneas. Esto garantiza que incluso si está modificando archivos
|
|
en sus discos sanos mientras se realiza una recuperación, SnapRAID
|
|
tenga una referencia estable y congelada para resolver las ecuaciones de paridad.
|
|
.PP
|
|
Si no se proporciona la opción \-d, SnapRAID asume que la operación se aplica
|
|
a todo el array, en cuyo caso, \`check\` y \`fix\` usarán los sistemas
|
|
de archivos activos exclusivamente.
|
|
.PP
|
|
Todos los demás comandos funcionan exclusivamente en el sistema de archivos activo.
|
|
.SH CICLO DE VIDA DE LAS INSTANTáNEAS (SNAPSHOTS LIFECYCLE)
|
|
SnapRAID gestiona dos instantáneas específicas, \`stable\` y \`pending\`,
|
|
dentro de un directorio oculto en la raíz de cada subvolumen de datos.
|
|
En Btrfs, Bcachefs y NTFS se utiliza el directorio \`.snapraid/\`,
|
|
en ZFS el estándar \`.zfs/snapshot/\`.
|
|
.PP
|
|
La instantánea \`stable\` representa el estado del último
|
|
\`sync\` completado con éxito, que contiene los datos exactos utilizados para
|
|
calcular la paridad actual. Sirve como fuente de datos principal
|
|
para los comandos \`scrub\`, \`check\` y \`fix\`.
|
|
.PP
|
|
La instantánea \`pending\` es una imagen temporal creada al inicio
|
|
de un \`sync\` para proporcionar un estado congelado para el cómputo de paridad.
|
|
Una vez completada con éxito la operación, la instantánea \`stable\` anterior
|
|
se elimina y la instantánea \`pending\` se promueve para
|
|
tomar su lugar como la nueva referencia estable.
|
|
.PP
|
|
Si un \`sync\` se interrumpe, la instantánea \`pending\` se conserva.
|
|
Los comandos posteriores \`scrub\`, \`check\` y \`fix\` utilizarán esta
|
|
instantánea pendiente, ya que coincide con el estado del sistema de archivos registrado en
|
|
el archivo .content, incluso si la paridad solo está parcialmente sincronizada.
|
|
.PP
|
|
En caso de interrupción de un \`sync\`, los comandos \`check\` y \`fix\`
|
|
también leen de la instantánea \`stable\` para recuperar bloques de datos
|
|
de archivos que se actualizaron o eliminaron durante el sync.
|
|
Esto es posible porque el archivo .content conserva los metadatos de
|
|
todos los archivos modificados o eliminados durante todo el proceso de sync.
|
|
Esta información histórica solo se borra una vez que el sync finaliza
|
|
con éxito y se guarda la versión final del archivo .content.
|
|
.PP
|
|
Si un \`sync\` se reinicia después de una interrupción, la instantánea pending existente
|
|
se elimina y se crea una nueva para
|
|
capturar el estado actual del sistema de archivos activo.
|
|
.SH PATRONES (PATTERN)
|
|
Los patrones proporcionan una forma flexible de filtrar archivos para su inclusión o
|
|
exclusión. Al usar caracteres de globbing, puede definir reglas que coincidan con
|
|
nombres de archivos específicos o estructuras de directorios completas sin
|
|
enumerar cada ruta manualmente.
|
|
.PP
|
|
El signo de interrogación \`?\` coincide con cualquier carácter individual excepto el
|
|
separador de directorios. Esto lo hace útil para hacer coincidir nombres de archivos con
|
|
caracteres variables manteniendo el patrón limitado a un solo nivel de directorio.
|
|
.PP
|
|
El asterisco simple \`*\` coincide con cualquier secuencia de caracteres, pero al igual que el
|
|
signo de interrogación, nunca cruza los límites de los directorios. Se detiene en la
|
|
barra diagonal, lo que lo hace adecuado para buscar coincidencias dentro de un solo
|
|
componente de ruta. Este es el comportamiento estándar de los comodines familiar
|
|
del globbing de la shell.
|
|
.PP
|
|
el doble asterisco \`**\` es más potente, coincide con cualquier secuencia de
|
|
caracteres, incluidos los separadores de directorios. Esto permite que los patrones coincidan
|
|
a través de múltiples niveles de directorio. Cuando \`**\` aparece incrustado directamente en
|
|
un patrón, puede coincidir con cero o más caracteres, incluidas las barras diagonales entre
|
|
el texto literal circundante.
|
|
.PP
|
|
El uso más importante de \`**\` es en la forma especial \`/**/\`. Esta coincide con
|
|
cero o más niveles de directorio completos, lo que permite que los archivos coincidan
|
|
a cualquier profundidad en un árbol de directorios sin conocer la estructura exacta de la ruta.
|
|
Por ejemplo, el patrón \`src/**/main.js\` coincide con \`src/main.js\` (saltando
|
|
cero directorios), \`src/ui/main.js\` (saltando un directorio) y
|
|
\`src/ui/components/main.js\` (saltando dos directorios).
|
|
.PP
|
|
Las clases de caracteres que utilizan corchetes \`[]\` coinciden con un solo carácter de un
|
|
conjunto o rango especificado. Al igual que los otros patrones de un solo carácter,
|
|
no coinciden con los separadores de directorios. Las clases admiten rangos y negación mediante
|
|
un signo de exclamación.
|
|
.PP
|
|
La distinción fundamental que debe recordar es que \`*\`, \`?\` y las clases de caracteres
|
|
respetan los límites de los directorios y solo coinciden dentro de un único
|
|
componente de ruta, mientras que \`**\` es el único patrón que puede coincidir a través de
|
|
los separadores de directorios.
|
|
.PP
|
|
Hay cuatro tipos diferentes de patrones:
|
|
.TP
|
|
.B FILE
|
|
Selecciona cualquier archivo llamado FILE.
|
|
Este patrón se aplica solo a archivos, no a directorios.
|
|
.TP
|
|
.B DIR/
|
|
Selecciona cualquier directorio llamado DIR y todo lo que hay dentro.
|
|
Este patrón se aplica solo a directorios, no a archivos.
|
|
.TP
|
|
.B /PATH/FILE
|
|
Selecciona la ruta exacta del archivo especificado. Este patrón se aplica
|
|
solo a archivos, no a directorios.
|
|
.TP
|
|
.B /PATH/DIR/
|
|
Selecciona la ruta exacta del directorio especificado y todo lo que hay
|
|
dentro. Este patrón se aplica solo a directorios, no a archivos.
|
|
.PP
|
|
Cuando especifica una ruta absoluta que comienza con /, se aplica
|
|
en el directorio raíz del array, no en el directorio raíz del
|
|
sistema de archivos local.
|
|
.PP
|
|
En Windows, puede usar la barra invertida \\ en lugar de la barra /.
|
|
Los directorios del sistema de Windows, las uniones, los puntos de
|
|
montaje y otros directorios especiales de Windows se tratan como
|
|
archivos, lo que significa que para excluirlos, debe usar una regla
|
|
de archivo, no una de directorio.
|
|
.PP
|
|
Si el nombre del archivo contiene un carácter \`*\`, \`?\`, \`[\`,
|
|
o \`]\`, debe escaparlo para evitar que se interprete como un
|
|
carácter globbing. En Unix, el carácter de escape es \`\\\`;
|
|
en Windows, es \`^\`. Cuando el patrón está en la línea de comandos,
|
|
debe duplicar el carácter de escape para evitar que sea
|
|
interpretado por el shell de comandos.
|
|
.PP
|
|
En el archivo de configuración, puede usar diferentes estrategias
|
|
para filtrar los archivos a procesar.
|
|
El enfoque más simple es usar solo reglas \`exclude\` para
|
|
eliminar todos los archivos y directorios que no desea procesar.
|
|
Por ejemplo:
|
|
.PP
|
|
.RS 4
|
|
# Excluye cualquier archivo llamado \`*.unrecoverable\`
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude *.unrecoverable
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
# Excluye el directorio raíz \`/lost+found\`
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude /lost+found/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
# Excluye cualquier subdirectorio llamado \`tmp\`
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude tmp/
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
El enfoque opuesto es definir solo los archivos que desea procesar,
|
|
utilizando solo reglas \`include\`. Por ejemplo:
|
|
.PP
|
|
.RS 4
|
|
# Incluye solo algunos directorios
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
include /movies/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
include /musics/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
include /pictures/
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
El enfoque final es mezclar reglas \`exclude\` e \`include\`. En este
|
|
caso, el orden de las reglas es importante. Las reglas anteriores
|
|
tienen precedencia sobre las posteriores.
|
|
Para simplificar, puede enumerar todas las reglas \`exclude\` primero
|
|
y luego todas las reglas \`include\`. Por ejemplo:
|
|
.PP
|
|
.RS 4
|
|
# Excluye cualquier archivo llamado \`*.unrecoverable\`
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude *.unrecoverable
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
# Excluye cualquier subdirectorio llamado \`tmp\`
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
exclude tmp/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
# Incluye solo algunos directorios
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
include /movies/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
include /musics/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
include /pictures/
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
En la línea de comandos, usando la opción \-f, solo puede usar
|
|
patrones \`include\`. Por ejemplo:
|
|
.PP
|
|
.RS 4
|
|
# Verifica solo los archivos .mp3.
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
# En Unix, use comillas para evitar la expansión globbing por el shell.
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
snapraid \-f \[dq]*.mp3\[dq] check
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.PP
|
|
En Unix, al usar caracteres globbing en la línea de comandos, debe
|
|
ponerlos entre comillas para evitar que el shell los expanda.
|
|
.SH IGNORAR ARCHIVOS (IGNORE FILE)
|
|
Además de las reglas globales en el archivo de configuración, puedes
|
|
colocar archivos \`.snapraidignore\` en cualquier directorio dentro del array
|
|
para definir reglas de exclusión descentralizadas.
|
|
.PP
|
|
Las reglas definidas en \`.snapraidignore\` se aplican después de las reglas del
|
|
archivo de configuración. Esto significa que tienen una prioridad más alta y pueden
|
|
usarse para excluir archivos que fueron incluidos previamente por la configuración
|
|
global. Efectivamente, si una regla local coincide, el archivo se excluye
|
|
independientemente de los ajustes de inclusión globales.
|
|
.PP
|
|
La lógica de patrones en \`.snapraidignore\` refleja la configuración global
|
|
pero ancla los patrones al directorio donde se encuentra el archivo:
|
|
.TP
|
|
.B FILE
|
|
Selecciona cualquier archivo llamado FILE en este directorio o por debajo.
|
|
Esto sigue las mismas reglas de globbing que el patrón global.
|
|
.TP
|
|
.B DIR/
|
|
Selecciona cualquier directorio llamado DIR y todo su contenido,
|
|
ubicado en este directorio o por debajo.
|
|
.TP
|
|
.B /PATH/FILE
|
|
Selecciona el archivo exacto especificado relativo a la ubicación
|
|
del archivo \`.snapraidignore\`.
|
|
.TP
|
|
.B /PATH/DIR/
|
|
Selecciona el directorio exacto especificado y todo su contenido,
|
|
relativo a la ubicación del archivo \`.snapraidignore\`.
|
|
.PP
|
|
A diferencia de la configuración global, los archivos \`.snapraidignore\` solo admiten
|
|
reglas de exclusión; no se pueden usar patrones \`include\` o negación (!).
|
|
.PP
|
|
Por ejemplo, si tienes un \`.snapraidignore\` en \`/mnt/disk1/projects/\`:
|
|
.PP
|
|
.RS 4
|
|
# Excluye SOLO /mnt/disk1/projects/output.bin
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
/output.bin
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
# Excluye cualquier directorio llamado \`build\` dentro de projects/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
build/
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
# Excluye cualquier archivo .tmp dentro de projects/ o sus subcarpetas
|
|
.PD 0
|
|
.PP
|
|
.PD
|
|
*.tmp
|
|
.PD 0
|
|
.PD
|
|
.RE
|
|
.SH CONTENIDO (CONTENT)
|
|
SnapRAID almacena la lista y las sumas de comprobación de sus
|
|
archivos en el archivo de contenido.
|
|
.PP
|
|
Es un archivo binario que enumera todos los archivos presentes en
|
|
su array de discos, junto con todas las sumas de comprobación para
|
|
verificar su integridad.
|
|
.PP
|
|
El archivo de contenido es leído y escrito por los comandos \`sync\`,
|
|
\`scrub\`, \`touch\` y \`rehash\`. Es leído por los comandos \`status\`, \`diff\`,
|
|
\`check\`, \`fix\`, \`list\`, \`dup\`, \`locate\` y \`pool\`, y es completamente
|
|
ignorado por los comandos \`smart\`, \`probe\`, \`up\`, \`down\` y \`devices\`.
|
|
.SH PARIDAD (PARITY)
|
|
SnapRAID almacena la información de paridad de su array en los
|
|
archivos de paridad.
|
|
.PP
|
|
Estos son archivos binarios que contienen la paridad calculada
|
|
de todos los bloques definidos en el archivo \`content\`.
|
|
.PP
|
|
Estos archivos son leídos y escritos por los comandos \`sync\` y \`fix\`
|
|
y solo leídos por los comandos \`scrub\` y \`check\`.
|
|
.SH CODIFICACIóN (ENCODING)
|
|
SnapRAID en Unix ignora cualquier codificación. Lee y almacena los
|
|
nombres de archivo con la misma codificación utilizada por el sistema
|
|
de archivos.
|
|
.PP
|
|
En Windows, todos los nombres leídos del sistema de archivos se
|
|
convierten y procesan en formato UTF\-8.
|
|
.PP
|
|
Para que los nombres de archivo se impriman correctamente, debe
|
|
configurar la consola de Windows en modo UTF\-8 con el comando
|
|
\`chcp 65001\` y usar una fuente TrueType como \`Lucida Console\`
|
|
como fuente de la consola. Esto afecta solo a los nombres de
|
|
archivo impresos; si redirige la salida de la consola a un archivo,
|
|
el archivo resultante siempre está en formato UTF\-8.
|
|
.SH CóDIGO DE SALIDA (EXIT CODE)
|
|
SnapRAID termina con los siguientes códigos de error:
|
|
.RS 0
|
|
.PD 0
|
|
.HP 4
|
|
.I 0
|
|
Todo bien.
|
|
.HP 4
|
|
.I 1
|
|
El comando encontró algunos errores.
|
|
.HP 4
|
|
.I 2
|
|
El comando \`diff\` determinó que todo está bien, pero se necesita un \`sync\`.
|
|
.PD
|
|
.RE
|
|
.SH TRADUCCIóN (TRANSLATION)
|
|
Este documento es una traducción automática del manual en inglés.
|
|
Consulte el manual en inglés para obtener la versión oficial.
|
|
.SH COPYRIGHT
|
|
Este archivo es Copyright (C) 2026 Andrea Mazzoleni
|
|
.SH VéASE TAMBIéN (SEE ALSO)
|
|
snapraid_log(1), snapraidd(1), rsync(1)
|