mirror of
https://github.com/amadvance/snapraid.git
synced 2026-10-26 10:51:54 -04:00
2156 lines
88 KiB
HTML
2156 lines
88 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta name="description" content="A backup program for disk arrays. It stores parity information of your data and it recovers from up to six disk failures">
|
|
<meta name="keywords" content="snapraid snapshot raid backup disk array redundancy parity">
|
|
<title>SnapRAID CLI Manual</title>
|
|
<link rel="stylesheet" href="style.css">
|
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
|
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
|
<link rel="manifest" href="/site.webmanifest">
|
|
<script src="script.js"></script>
|
|
|
|
<!-- Google Analytics 4 -->
|
|
<!-- Google tag (gtag.js) -->
|
|
<script async src="https://www.googletagmanager.com/gtag/js?id=G-W1Z5FKHYQ4"></script>
|
|
<script>
|
|
window.dataLayer = window.dataLayer || [];
|
|
function gtag(){dataLayer.push(arguments);}
|
|
gtag('js', new Date());
|
|
|
|
gtag('config', 'G-W1Z5FKHYQ4');
|
|
</script>
|
|
|
|
<!-- Google Universal Analytics -->
|
|
<script type="text/javascript">
|
|
|
|
var _gaq = _gaq || [];
|
|
_gaq.push(['_setAccount', 'UA-21967501-1']);
|
|
_gaq.push(['_trackPageview']);
|
|
|
|
(function() {
|
|
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
|
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
|
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
|
})();
|
|
</script>
|
|
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<div class="container nav-container">
|
|
<a href="index" class="logo">
|
|
<img src="android-chrome-192x192.png" width="32" height="32"/>
|
|
SnapRAID
|
|
</a>
|
|
<nav>
|
|
<input type="checkbox" id="menu-toggle">
|
|
<label for="menu-toggle" class="menu-icon"><svg viewBox="0 0 24 24" width="24" height="24" fill="currentColor"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></label>
|
|
<ul>
|
|
<li><a href="index" >Home</a></li>
|
|
<li><a href="ui" >UI & Daemon</a></li>
|
|
<li><a href="howitworks" >How it Works</a></li>
|
|
<li><a href="design" >Design</a></li>
|
|
<li><a href="compare" >Compare</a></li>
|
|
<li><a href="manual" class="active">Manual</a></li>
|
|
<li><a href="faq" >FAQ</a></li>
|
|
<li><a href="support" >Support</a></li>
|
|
<li><a href="download" class="nav-cta">Download</a></li>
|
|
<li>
|
|
<button class="theme-toggle" aria-label="Toggle theme">
|
|
<svg class="sun-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line></svg>
|
|
<svg class="moon-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg>
|
|
</button>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</header>
|
|
|
|
|
|
<div class="container manual-layout">
|
|
|
|
<aside class="manual-sidebar">
|
|
|
|
<h4>Components</h4>
|
|
<select id="manual-selector" style="width: 100%; padding: 5px; background: var(--bg-surface); color: var(--text-primary); border: 1px solid var(--border-color); border-radius: 4px; margin-bottom: 2rem;">
|
|
<option value="manual">Command Line</option>
|
|
<option value="manual-daemon">Daemon</option>
|
|
<option value="manual-log">Log</option>
|
|
</select>
|
|
|
|
<h4>Languages</h4>
|
|
<select id="language-selector" style="width: 100%; padding: 5px; background: var(--bg-surface); color: var(--text-primary); border: 1px solid var(--border-color); border-radius: 4px; margin-bottom: 2rem;">
|
|
<option value="manual">English</option>
|
|
<option value="manual-de">German</option>
|
|
<option value="manual-es">Spanish</option>
|
|
<option value="manual-fr">French</option>
|
|
<option value="manual-it">Italian</option>
|
|
<option value="manual-ja">Japanse</option>
|
|
<option value="manual-ko">Korean</option>
|
|
<option value="manual-pl">Polish</option>
|
|
<option value="manual-pt">Portuguese</option>
|
|
<option value="manual-ro">Romanian</option>
|
|
<option value="manual-ru">Russian</option>
|
|
<option value="manual-sv">Swedish</option>
|
|
<option value="manual-uk">Ukranian</option>
|
|
<option value="manual-zh">Simplified Chinese</option>.
|
|
|
|
</select>
|
|
|
|
<h4>Contents</h4>
|
|
<ul id="manual-toc-list">
|
|
<!-- Populated by JavaScript -->
|
|
</ul>
|
|
</aside>
|
|
|
|
|
|
<main id="manual-container">
|
|
|
|
<div class="manual-doc">
|
|
|
|
<div class="manual-section-level-1">
|
|
<h1 id="sec1" class="manual-title-level-1">
|
|
Synopsis
|
|
</h1>
|
|
<pre>
|
|
snapraid [-c, --conf CONFIG]
|
|
[-f, --filter PATTERN] [-d, --filter-disk NAME]
|
|
[-m, --filter-missing] [-e, --filter-error]
|
|
[-a, --audit-only] [-h, --pre-hash] [-i, --import DIR]
|
|
[-p, --plan PERC|bad|new|full]
|
|
[-o, --older-than DAYS] [-l, --log FILE]
|
|
[-s, --spin-down-on-error] [-w, --bw-limit RATE]
|
|
[-t, --tail]
|
|
[-Z, --force-zero] [-E, --force-empty]
|
|
[-U, --force-uuid] [-D, --force-device]
|
|
[-N, --force-nocopy] [-F, --force-full]
|
|
[-R, --force-realloc] [-W, --force-realloc-tail]
|
|
[-S, --start BLKSTART] [-B, --count BLKCOUNT]
|
|
[-L, --error-limit NUMBER]
|
|
[-A, --stats]
|
|
[-v, --verbose] [-q, --quiet]
|
|
status|smart|probe|up|down|diff|sync|scrub|fix|check
|
|
|list|dup|pool|devices|touch|rehash|locate
|
|
</pre>
|
|
<pre>
|
|
snapraid [-V, --version] [-H, --help] [-C, --gen-conf CONTENT]
|
|
</pre>
|
|
</div>
|
|
<div class="manual-section-level-1">
|
|
<h1 id="sec2" class="manual-title-level-1">
|
|
Description
|
|
</h1>
|
|
<p>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.
|
|
</p><p>Destinado principalmente a centros de medios domésticos con archivos
|
|
grandes y que cambian con poca frecuencia, SnapRAID ofrece varias
|
|
características:
|
|
</p><ul>
|
|
<li>
|
|
Puede utilizar discos ya llenos de archivos sin la necesidad de
|
|
reformatearlos, accediendo a ellos como de costumbre.
|
|
</li>
|
|
<li>
|
|
Todos sus datos son hasheados para asegurar la integridad de los datos
|
|
y prevenir la corrupción silenciosa.
|
|
</li>
|
|
<li>
|
|
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.
|
|
</li>
|
|
<li>
|
|
Si elimina archivos accidentalmente en un disco, la recuperación es
|
|
posible.
|
|
</li>
|
|
<li>
|
|
Los discos pueden tener diferentes tamaños.
|
|
</li>
|
|
<li>
|
|
Puede agregar discos en cualquier momento.
|
|
</li>
|
|
<li>
|
|
SnapRAID no bloquea sus datos; puede dejar de usarlo
|
|
en cualquier momento sin reformatear ni mover datos.
|
|
</li>
|
|
<li>
|
|
Para acceder a un archivo, solo un único disco necesita girar,
|
|
ahorrando energía y reduciendo el ruido.
|
|
</li>
|
|
</ul>
|
|
<p>Para más información, visite el sitio oficial de SnapRAID:
|
|
</p><pre>
|
|
<a href="https://www.snapraid.it/">https://www.snapraid.it/</a>
|
|
</pre>
|
|
</div>
|
|
<div class="manual-section-level-1">
|
|
<h1 id="sec3" class="manual-title-level-1">
|
|
Limitations
|
|
</h1>
|
|
<p>SnapRAID es un híbrido entre un programa RAID y un programa de copia
|
|
de seguridad, con el objetivo de combinar los mejores beneficios de
|
|
ambos. Sin embargo, tiene algunas limitaciones que debe considerar
|
|
antes de usarlo.
|
|
</p><p>La principal limitación es que si un disco falla y no ha sincronizado
|
|
recientemente, es posible que no pueda recuperarse por completo.
|
|
Más específicamente, es posible que no pueda recuperar hasta el tamaño
|
|
de los archivos cambiados o eliminados desde la última operación de
|
|
sincronización. Esto ocurre incluso si los archivos cambiados o
|
|
eliminados no están en el disco fallido. Esta es la razón por la que
|
|
SnapRAID es más adecuado para datos que rara vez cambian.
|
|
</p><p>Por otro lado, los archivos recién agregados no impiden la recuperación
|
|
de los archivos ya existentes. Solo perderá los archivos recién
|
|
agregados si están en el disco fallido.
|
|
</p><p>Otras limitaciones de SnapRAID son:
|
|
</p><ul>
|
|
<li>
|
|
Con SnapRAID, aún tiene sistemas de archivos separados para cada disco.
|
|
Con RAID, obtiene un único sistema de archivos grande.
|
|
</li>
|
|
<li>
|
|
SnapRAID no distribuye (stripe) los datos.
|
|
Con RAID, obtiene un aumento de velocidad con la distribución.
|
|
</li>
|
|
<li>
|
|
SnapRAID no admite la recuperación en tiempo real.
|
|
Con RAID, no tiene que dejar de trabajar cuando falla un disco.
|
|
</li>
|
|
<li>
|
|
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.
|
|
</li>
|
|
<li>
|
|
Solo se guardan nombres de archivo, marcas de tiempo, enlaces simbólicos
|
|
y enlaces duros. Los permisos, la propiedad y los atributos
|
|
extendidos no se guardan.
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="manual-section-level-1">
|
|
<h1 id="sec4" class="manual-title-level-1">
|
|
Getting Started
|
|
</h1>
|
|
<p>Para usar SnapRAID, primero debe seleccionar un disco en su array de
|
|
discos para dedicarlo a la información de <b>parity</b> (paridad). Con un
|
|
disco para paridad, podrá recuperarse de un solo fallo de disco,
|
|
similar a RAID5.
|
|
</p><p>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.
|
|
</p><p>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.
|
|
</p><p>Estos discos estarán dedicados a almacenar los archivos de <b>parity</b>.
|
|
No debe almacenar sus datos en ellos.
|
|
</p><p>Luego, debe definir los discos de <b>data</b> (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.
|
|
</p><p>La lista de archivos se guarda en los archivos de <b>content</b> (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 <b>content</b> 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.
|
|
</p><p>Por ejemplo, suponga que solo está interesado en un nivel de paridad
|
|
de protección, y sus discos están ubicados en:
|
|
</p><pre>
|
|
/mnt/diskp <- disco seleccionado para paridad
|
|
/mnt/disk1 <- primer disco a proteger
|
|
/mnt/disk2 <- segundo disco a proteger
|
|
/mnt/disk3 <- tercer disco a proteger
|
|
</pre>
|
|
<p>Debe crear el archivo de configuración /etc/snapraid.conf con
|
|
las siguientes opciones:
|
|
</p><pre>
|
|
parity /mnt/diskp/snapraid.parity
|
|
content /var/snapraid/snapraid.content
|
|
content /mnt/disk1/snapraid.content
|
|
content /mnt/disk2/snapraid.content
|
|
data d1 /mnt/disk1/
|
|
data d2 /mnt/disk2/
|
|
data d3 /mnt/disk3/
|
|
</pre>
|
|
<p>Si está en Windows, debe usar el formato de ruta de Windows, con
|
|
letras de unidad y barras invertidas en lugar de barras.
|
|
</p><pre>
|
|
parity E:\snapraid.parity
|
|
content C:\snapraid\snapraid.content
|
|
content F:\array\snapraid.content
|
|
content G:\array\snapraid.content
|
|
data d1 F:\array\
|
|
data d2 G:\array\
|
|
data d3 H:\array\
|
|
</pre>
|
|
<p>Si tiene muchos discos y se queda sin letras de unidad, puede montar
|
|
discos directamente en subcarpetas. Consulte:
|
|
</p><pre>
|
|
<a href="https://www.google.com/search?q=Windows+mount+point">https://www.google.com/search?q=Windows+mount+point</a>
|
|
</pre>
|
|
<p>En este punto, está listo para ejecutar el comando <b>sync</b> (sincronizar)
|
|
para construir la información de paridad.
|
|
</p><pre>
|
|
snapraid sync
|
|
</pre>
|
|
<p>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.
|
|
</p><p>Puede detenerlo en cualquier momento presionando Ctrl+C, y en la
|
|
siguiente ejecución, se reanudará donde se interrumpió.
|
|
</p><p>Cuando este comando se complete, sus datos estarán SEGUROS.
|
|
</p><p>Ahora puede comenzar a usar su array como desee y periódicamente
|
|
actualizar la información de paridad ejecutando el comando <b>sync</b>.
|
|
</p><div class="manual-section-level-2">
|
|
<h2 id="sec4-1" class="manual-title-level-2">
|
|
Scrubbing
|
|
</h2>
|
|
<p>Para verificar periódicamente los datos y la paridad en busca de
|
|
errores, puede ejecutar el comando <b>scrub</b> (fregar/limpiar).
|
|
</p><pre>
|
|
snapraid scrub
|
|
</pre>
|
|
<p>Este comando compara los datos de su array con el hash calculado
|
|
durante el comando <b>sync</b> para verificar la integridad.
|
|
</p><p>Cada ejecución del comando verifica aproximadamente el 8% del array,
|
|
excluyendo los datos ya fregados 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:
|
|
</p><pre>
|
|
snapraid -p 5 -o 20 scrub
|
|
</pre>
|
|
<p>Si se encuentran errores silenciosos o de entrada/salida durante el
|
|
proceso, los bloques correspondientes se marcan como defectuosos en
|
|
el archivo de <b>content</b> y se listan en el comando <b>status</b>.
|
|
</p><pre>
|
|
snapraid status
|
|
</pre>
|
|
<p>Para corregirlos, puede usar el comando <b>fix</b> (arreglar), filtrando
|
|
por bloques defectuosos con la opción -e, --filter-error:
|
|
</p><pre>
|
|
snapraid -e fix
|
|
</pre>
|
|
<p>En el siguiente <b>scrub</b>, los errores desaparecerán del informe de
|
|
<b>status</b> si realmente se han corregido. Para hacerlo más rápido,
|
|
puede usar -p bad para fregar solo los bloques marcados como defectuosos.
|
|
</p><pre>
|
|
snapraid -p bad scrub
|
|
</pre>
|
|
<p>Ejecutar <b>scrub</b> en un array no sincronizado puede reportar errores
|
|
causados por archivos eliminados o modificados. Estos errores se
|
|
informan en la salida de <b>scrub</b>, pero los bloques relacionados no
|
|
se marcan como defectuosos.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec4-2" class="manual-title-level-2">
|
|
Pooling
|
|
</h2>
|
|
<p>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.
|
|
Mergefs 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.
|
|
</p><p>Para que todos los archivos de su array se muestren en el mismo árbol
|
|
de directorios, puede habilitar la función de <b>pooling</b> (agrupación).
|
|
Crea una vista virtual de solo lectura de todos los archivos de su
|
|
array utilizando enlaces simbólicos.
|
|
</p><p>Puede configurar el directorio de <b>pooling</b> en el archivo de
|
|
configuración con:
|
|
</p><pre>
|
|
pool /pool
|
|
</pre>
|
|
<p>o, si está en Windows, con:
|
|
</p><pre>
|
|
pool C:\pool
|
|
</pre>
|
|
<p>y luego ejecute el comando <b>pool</b> para crear o actualizar la vista virtual.
|
|
</p><pre>
|
|
snapraid pool
|
|
</pre>
|
|
<p>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:
|
|
</p><pre>
|
|
# En la sección global de smb.conf
|
|
unix extensions = no
|
|
</pre>
|
|
<pre>
|
|
# En la sección de compartir de smb.conf
|
|
[pool]
|
|
comment = Pool
|
|
path = /pool
|
|
read only = yes
|
|
guest ok = yes
|
|
wide links = yes
|
|
follow symlinks = yes
|
|
</pre>
|
|
<p>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 <b>share</b> del archivo
|
|
de configuración la ruta UNC de Windows que los clientes remotos
|
|
necesitan usar para acceder a estos discos compartidos.
|
|
</p><p>Por ejemplo, operando desde un servidor llamado <b>darkstar</b>, puede usar
|
|
las opciones:
|
|
</p><pre>
|
|
data d1 F:\array\
|
|
data d2 G:\array\
|
|
data d3 H:\array\
|
|
pool C:\pool
|
|
share \\darkstar
|
|
</pre>
|
|
<p>y compartir los siguientes directorios a través de la red:
|
|
</p><pre>
|
|
\\darkstar\pool -> C:\pool
|
|
\\darkstar\d1 -> F:\array
|
|
\\darkstar\d2 -> G:\array
|
|
\\darkstar\d3 -> H:\array
|
|
</pre>
|
|
<p>para permitir que los clientes remotos accedan a todos los archivos
|
|
en \\darkstar\pool.
|
|
</p><p>También puede que deba configurar los clientes remotos para habilitar
|
|
el acceso a enlaces simbólicos remotos con el comando:
|
|
</p><pre>
|
|
fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
|
|
</pre>
|
|
</div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec4-3" class="manual-title-level-2">
|
|
Undeleting
|
|
</h2>
|
|
<p>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:
|
|
</p><pre>
|
|
snapraid fix -f FILE
|
|
</pre>
|
|
<p>o para un directorio:
|
|
</p><pre>
|
|
snapraid fix -f DIR/
|
|
</pre>
|
|
<p>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.
|
|
</p><pre>
|
|
snapraid fix -m -f DIR/
|
|
</pre>
|
|
<p>O para recuperar todos los archivos eliminados en todas las unidades con:
|
|
</p><pre>
|
|
snapraid fix -m
|
|
</pre>
|
|
</div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec4-4" class="manual-title-level-2">
|
|
Recovering
|
|
</h2>
|
|
<p>Ha sucedido lo peor, ¡y ha perdido uno o más discos!
|
|
</p><p>¡NO ENTRE EN PÁNICO! ¡Podrá recuperarlos!
|
|
</p><p>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 fregado nocturno
|
|
programado de SnapRAID.
|
|
</p><p>Luego, proceda con los siguientes pasos.
|
|
</p><div class="manual-section-level-3">
|
|
<h3 id="sec4-4-1" class="manual-title-level-3">
|
|
STEP 1 -> Reconfigure
|
|
</h3>
|
|
<p>Necesita algo de espacio para recuperarse, idealmente en discos de
|
|
repuesto adicionales, pero un disco USB externo o un disco remoto
|
|
serán suficientes.
|
|
</p><p>Modifique el archivo de configuración de SnapRAID para hacer que la
|
|
opción <b>data</b> o <b>parity</b> del disco fallido apunte a una ubicación
|
|
con suficiente espacio vacío para recuperar los archivos.
|
|
</p><p>Por ejemplo, si el disco <b>d1</b> ha fallado, cambie de:
|
|
</p><pre>
|
|
data d1 /mnt/disk1/
|
|
</pre>
|
|
<p>a:
|
|
</p><pre>
|
|
data d1 /mnt/new_spare_disk/
|
|
</pre>
|
|
<p>Si el disco a recuperar es un disco de paridad, actualice la opción
|
|
<b>parity</b> apropiada.
|
|
Si tiene varios discos fallidos, actualice todas sus opciones de
|
|
configuración.
|
|
</p></div>
|
|
<div class="manual-section-level-3">
|
|
<h3 id="sec4-4-2" class="manual-title-level-3">
|
|
STEP 2 -> Fix
|
|
</h3>
|
|
<p>Ejecute el comando fix, almacenando el registro en un archivo externo con:
|
|
</p><pre>
|
|
snapraid -d NAME -l fix.log fix
|
|
</pre>
|
|
<p>Donde NAME es el nombre del disco, como <b>d1</b> en nuestro ejemplo anterior.
|
|
Si el disco a recuperar es un disco de paridad, use los nombres <b>parity</b>,
|
|
<b>2-parity</b>, etc.
|
|
Si tiene varios discos fallidos, use varias opciones -d para
|
|
especificarlos todos.
|
|
</p><p>Este comando tardará mucho tiempo.
|
|
</p><p>Asegúrese de tener unos pocos gigabytes libres para almacenar el archivo
|
|
fix.log. Ejecútelo desde un disco con suficiente espacio libre.
|
|
</p><p>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 <b>.unrecoverable</b>.
|
|
</p><p>Puede encontrar una lista detallada de todos los bloques irrecuperables
|
|
en el archivo fix.log buscando todas las líneas que comienzan con <b>unrecoverable:</b>.
|
|
</p><p>Si no está satisfecho con la recuperación, puede volver a intentarlo
|
|
tantas veces como desee.
|
|
</p><p>Por ejemplo, si ha eliminado archivos del array después de la última
|
|
<b>sync</b>, esto puede resultar en que algunos archivos no se recuperen.
|
|
En este caso, puede volver a intentar el <b>fix</b> usando la opción -i,
|
|
--import, especificando dónde están esos archivos ahora para incluirlos
|
|
nuevamente en el proceso de recuperación.
|
|
</p><p>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 <b>fix</b>!
|
|
</p></div>
|
|
<div class="manual-section-level-3">
|
|
<h3 id="sec4-4-3" class="manual-title-level-3">
|
|
STEP 3 -> Check
|
|
</h3>
|
|
<p>Como verificación cautelosa, ahora puede ejecutar un comando <b>check</b>
|
|
(comprobar) para asegurarse de que todo esté correcto en el disco
|
|
recuperado.
|
|
</p><pre>
|
|
snapraid -d NAME -a check
|
|
</pre>
|
|
<p>Donde NAME es el nombre del disco, como <b>d1</b> en nuestro ejemplo anterior.
|
|
</p><p>Las opciones -d y -a le dicen a SnapRAID que compruebe solo el disco
|
|
especificado e ignore todos los datos de paridad.
|
|
</p><p>Este comando tardará mucho tiempo, pero si no es demasiado cauteloso,
|
|
puede omitirlo.
|
|
</p></div>
|
|
<div class="manual-section-level-3">
|
|
<h3 id="sec4-4-4" class="manual-title-level-3">
|
|
STEP 4 -> Sync
|
|
</h3>
|
|
<p>Ejecute el comando <b>sync</b> para resincronizar el array con el nuevo disco.
|
|
</p><pre>
|
|
snapraid sync
|
|
</pre>
|
|
<p>Si todo se recupera, este comando es inmediato.
|
|
</p></div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-section-level-1">
|
|
<h1 id="sec5" class="manual-title-level-1">
|
|
Commands
|
|
</h1>
|
|
<p>SnapRAID proporciona algunos comandos simples que le permiten:
|
|
</p><ul>
|
|
<li>
|
|
Imprimir el estado del array -> <b>status</b>
|
|
</li>
|
|
<li>
|
|
Controlar los discos -> <b>smart</b>, <b>probe</b>, <b>up</b>, <b>down</b>
|
|
</li>
|
|
<li>
|
|
Hacer una copia de seguridad/instantánea -> <b>sync</b>
|
|
</li>
|
|
<li>
|
|
Comprobar periódicamente los datos -> <b>scrub</b>
|
|
</li>
|
|
<li>
|
|
Restaurar la última copia de seguridad/instantánea -> <b>fix</b>.
|
|
</li>
|
|
</ul>
|
|
<p>Los comandos deben escribirse en minúsculas.
|
|
</p><div class="manual-section-level-2">
|
|
<h2 id="sec5-1" class="manual-title-level-2">
|
|
status
|
|
</h2>
|
|
<p>Imprime un resumen del estado del array de discos.
|
|
</p><p>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 el fregado.
|
|
</p><p>La información presentada se refiere a la última vez que ejecutó
|
|
<b>sync</b>. Las modificaciones posteriores no se tienen en cuenta.
|
|
</p><p>Si se detectaron bloques defectuosos, se enumeran sus números de bloque.
|
|
Para corregirlos, puede usar el comando <b>fix -e</b>.
|
|
</p><p>También muestra un gráfico que representa la última vez que cada
|
|
bloque fue fregado o sincronizado. Los bloques fregados se muestran
|
|
con <b>*</b>, los bloques sincronizados pero aún no fregados con <b>o</b>.
|
|
</p><p>Nada se modifica.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-2" class="manual-title-level-2">
|
|
smart
|
|
</h2>
|
|
<p>Imprime un informe SMART de todos los discos del sistema.
|
|
</p><p>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.
|
|
</p><p>Esta estimación de probabilidad se obtiene correlacionando los
|
|
atributos SMART de los discos con los datos de Backblaze disponibles en:
|
|
</p><pre>
|
|
<a href="https://www.backblaze.com/hard-drive-test-data.html">https://www.backblaze.com/hard-drive-test-data.html</a>
|
|
</pre>
|
|
<p>Si SMART informa que un disco está fallando, se imprime <b>FAIL</b> o
|
|
<b>PREFAIL</b> para ese disco, y SnapRAID regresa con un error.
|
|
En este caso, se recomienda encarecidamente el reemplazo inmediato
|
|
del disco.
|
|
</p><p>Otras posibles cadenas de estado son:
|
|
</p><div class="manual-tag-list">
|
|
<div class="manual-tag-entry">
|
|
<div class="manual-tag-name">
|
|
logfail
|
|
</div><div class="manual-tag-description">
|
|
En el pasado, algunos atributos estaban por debajo del
|
|
umbral.
|
|
</div>
|
|
</div>
|
|
<div class="manual-tag-entry">
|
|
<div class="manual-tag-name">
|
|
logerr
|
|
</div><div class="manual-tag-description">
|
|
El registro de errores del dispositivo contiene errores.
|
|
</div>
|
|
</div>
|
|
<div class="manual-tag-entry">
|
|
<div class="manual-tag-name">
|
|
selferr
|
|
</div><div class="manual-tag-description">
|
|
El registro de autoprueba del dispositivo contiene errores.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<p>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.
|
|
</p><p>Este comando utiliza la herramienta <b>smartctl</b> y es equivalente a
|
|
ejecutar <b>smartctl -a</b> en todos los dispositivos.
|
|
</p><p>Si sus dispositivos no se detectan automáticamente correctamente, puede
|
|
especificar un comando personalizado utilizando la opción <b>smartctl</b>
|
|
en el archivo de configuración.
|
|
</p><p>Nada se modifica.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-3" class="manual-title-level-2">
|
|
probe
|
|
</h2>
|
|
<p>Imprime el estado de ENERGÍA de todos los discos del sistema.
|
|
</p><p><b>Standby</b> significa que el disco no está girando. <b>Active</b> significa
|
|
que el disco está girando.
|
|
</p><p>Este comando utiliza la herramienta <b>smartctl</b> y es equivalente a
|
|
ejecutar <b>smartctl -n standby -i</b> en todos los dispositivos.
|
|
</p><p>Si sus dispositivos no se detectan automáticamente correctamente, puede
|
|
especificar un comando personalizado utilizando la opción <b>smartctl</b>
|
|
en el archivo de configuración.
|
|
</p><p>Nada se modifica.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-4" class="manual-title-level-2">
|
|
up
|
|
</h2>
|
|
<p>Pone en marcha (gira) todos los discos del array.
|
|
</p><p>Puede poner en marcha solo discos específicos usando la opción -d,
|
|
--filter-disk.
|
|
</p><p>Poner en marcha todos los discos al mismo tiempo requiere mucha energía.
|
|
Asegúrese de que su fuente de alimentación pueda soportarlo.
|
|
</p><p>Nada se modifica.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-5" class="manual-title-level-2">
|
|
down
|
|
</h2>
|
|
<p>Detiene (deja de girar) todos los discos del array.
|
|
</p><p>Este comando utiliza la herramienta <b>smartctl</b> y es equivalente a
|
|
ejecutar <b>smartctl -s standby,now</b> en todos los dispositivos.
|
|
</p><p>Puede detener solo discos específicos usando la opción -d,
|
|
--filter-disk.
|
|
</p><p>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 <b>down</b> manualmente cuando ocurre un error.
|
|
</p><p>Nada se modifica.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-6" class="manual-title-level-2">
|
|
diff
|
|
</h2>
|
|
<p>Enumera todos los archivos modificados desde el último <b>sync</b> que
|
|
necesitan que se vuelva a calcular su información de paridad.
|
|
</p><p>Este comando no verifica los datos del archivo, sino solo la marca
|
|
de tiempo, el tamaño y el inodo del archivo.
|
|
</p><p>Después de enumerar todos los archivos cambiados, se presenta un
|
|
resumen de los cambios, agrupados por:
|
|
</p><div class="manual-tag-list">
|
|
<div class="manual-tag-entry">
|
|
<div class="manual-tag-name">
|
|
equal
|
|
</div><div class="manual-tag-description">
|
|
Archivos sin cambios desde antes.
|
|
</div>
|
|
</div>
|
|
<div class="manual-tag-entry">
|
|
<div class="manual-tag-name">
|
|
added
|
|
</div><div class="manual-tag-description">
|
|
Archivos agregados que no estaban presentes antes.
|
|
</div>
|
|
</div>
|
|
<div class="manual-tag-entry">
|
|
<div class="manual-tag-name">
|
|
removed
|
|
</div><div class="manual-tag-description">
|
|
Archivos eliminados.
|
|
</div>
|
|
</div>
|
|
<div class="manual-tag-entry">
|
|
<div class="manual-tag-name">
|
|
updated
|
|
</div><div class="manual-tag-description">
|
|
Archivos con un tamaño o marca de tiempo diferente,
|
|
lo que significa que fueron modificados.
|
|
</div>
|
|
</div>
|
|
<div class="manual-tag-entry">
|
|
<div class="manual-tag-name">
|
|
moved
|
|
</div><div class="manual-tag-description">
|
|
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.
|
|
</div>
|
|
</div>
|
|
<div class="manual-tag-entry">
|
|
<div class="manual-tag-name">
|
|
copied
|
|
</div><div class="manual-tag-description">
|
|
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.
|
|
</div>
|
|
</div>
|
|
<div class="manual-tag-entry">
|
|
<div class="manual-tag-name">
|
|
relocated
|
|
</div><div class="manual-tag-description">
|
|
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 <b>moved</b> en el mismo disco,
|
|
los archivos reubicados tienen un inodo diferente.
|
|
</div>
|
|
</div>
|
|
<div class="manual-tag-entry">
|
|
<div class="manual-tag-name">
|
|
restored
|
|
</div><div class="manual-tag-description">
|
|
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.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<p>Si se requiere un <b>sync</b>, 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.
|
|
</p><p>Nada se modifica.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-7" class="manual-title-level-2">
|
|
sync
|
|
</h2>
|
|
<p>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.
|
|
</p><p>Puede detener este proceso en cualquier momento presionando Ctrl+C,
|
|
sin perder el trabajo ya realizado.
|
|
En la siguiente ejecución, el proceso <b>sync</b> se reanudará donde
|
|
se interrumpió.
|
|
</p><p>Si se encuentran errores silenciosos o de entrada/salida durante el
|
|
proceso, los bloques correspondientes se marcan como defectuosos.
|
|
</p><p>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.
|
|
</p><p>Los archivos <b>content</b> y <b>parity</b> se modifican si es necesario.
|
|
Los archivos en el array NO se modifican.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-8" class="manual-title-level-2">
|
|
scrub
|
|
</h2>
|
|
<p>Frota (scrubs) el array, buscando errores silenciosos o de
|
|
entrada/salida en los discos de datos y paridad.
|
|
</p><p>Cada invocación verifica aproximadamente el 8% del array, excluyendo
|
|
los datos ya fregados en los últimos 10 días.
|
|
Esto significa que fregar una vez a la semana asegura que cada bit de
|
|
datos se verifique al menos una vez cada tres meses.
|
|
</p><p>Puede definir un plan de fregado o una cantidad diferente utilizando
|
|
la opción -p, --plan, que acepta:
|
|
bad - Fregar bloques marcados como defectuosos.
|
|
new - Fregar bloques recién sincronizados que aún no han sido fregados.
|
|
full - Fregar todo.
|
|
0-100 - Fregar el porcentaje especificado de bloques.
|
|
</p><p>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 friegan primero, asegurando una verificación
|
|
óptima.
|
|
Si desea fregar solo los bloques recién sincronizados que aún no han
|
|
sido fregados, use la opción <b>-p new</b>.
|
|
</p><p>Para obtener detalles del estado del fregado, use el comando <b>status</b>.
|
|
</p><p>Para cualquier error silencioso o de entrada/salida encontrado, los
|
|
bloques correspondientes se marcan como defectuosos en el archivo
|
|
<b>content</b>.
|
|
Estos bloques defectuosos se enumeran en <b>status</b> y se pueden
|
|
corregir con <b>fix -e</b>.
|
|
Después de la corrección, en el siguiente fregado, se volverán a
|
|
verificar y, si se encuentran corregidos, se eliminará la marca de defectuoso.
|
|
Para fregar solo los bloques defectuosos, puede usar el comando
|
|
<b>scrub -p bad</b>.
|
|
</p><p>Se recomienda ejecutar <b>scrub</b> 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.
|
|
</p><p>El archivo <b>content</b> se modifica para actualizar el tiempo de la última
|
|
verificación de cada bloque y para marcar bloques defectuosos.
|
|
Los archivos <b>parity</b> NO se modifican.
|
|
Los archivos en el array NO se modifican.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-9" class="manual-title-level-2">
|
|
fix
|
|
</h2>
|
|
<p>Corrige todos los archivos y la información de paridad.
|
|
</p><p>Todos los archivos y la información de paridad se comparan con el
|
|
estado de instantánea guardado en el último <b>sync</b>.
|
|
Si se encuentra una diferencia, se revierte a la instantánea almacenada.
|
|
</p><p>¡ADVERTENCIA! El comando <b>fix</b> no diferencia entre errores y
|
|
modificaciones intencionales. Revierte incondicionalmente el estado
|
|
del archivo al último <b>sync</b>.
|
|
</p><p>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.
|
|
</p><p>Para corregir solo los bloques marcados como defectuosos durante <b>sync</b>
|
|
y <b>scrub</b>, 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 <b>sync</b>.
|
|
</p><p>SnapRAID cambia el nombre de todos los archivos que no se pueden corregir
|
|
agregando la extensión <b>.unrecoverable</b>.
|
|
</p><p>Antes de corregir, se escanea todo el array para encontrar cualquier
|
|
archivo movido desde la última operación de <b>sync</b>.
|
|
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.
|
|
</p><p>Los archivos se identifican solo por ruta, no por inodo.
|
|
</p><p>El archivo <b>content</b> NO se modifica.
|
|
Los archivos <b>parity</b> se modifican si es necesario.
|
|
Los archivos en el array se modifican si es necesario.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-10" class="manual-title-level-2">
|
|
check
|
|
</h2>
|
|
<p>Verifica todos los archivos y la información de paridad.
|
|
</p><p>Funciona como <b>fix</b>, pero solo simula una recuperación y no se
|
|
escriben cambios en el array.
|
|
</p><p>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 <b>scrub</b>.
|
|
</p><p>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.
|
|
</p><p>Los archivos se identifican solo por ruta, no por inodo.
|
|
</p><p>Nada se modifica.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-11" class="manual-title-level-2">
|
|
list
|
|
</h2>
|
|
<p>Enumera todos los archivos contenidos en el array en el momento del
|
|
último <b>sync</b>.
|
|
</p><p>Con -v o --verbose, también se muestra el tiempo de subsegundo.
|
|
</p><p>Nada se modifica.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-12" class="manual-title-level-2">
|
|
dup
|
|
</h2>
|
|
<p>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.
|
|
</p><p>Nada se modifica.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-13" class="manual-title-level-2">
|
|
pool
|
|
</h2>
|
|
<p>Crea o actualiza una vista virtual de todos
|
|
los archivos de su array de discos en el directorio de <b>pooling</b>.
|
|
</p><p>Los archivos no se copian sino que se enlazan usando
|
|
enlaces simbólicos.
|
|
</p><p>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.
|
|
</p><p>Nada se modifica fuera del directorio pool.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-14" class="manual-title-level-2">
|
|
devices
|
|
</h2>
|
|
<p>Imprime los dispositivos de bajo nivel utilizados por el array.
|
|
</p><p>Este comando muestra las asociaciones de dispositivos en el array
|
|
y está destinado principalmente como una interfaz de script.
|
|
</p><p>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.
|
|
</p><p>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.
|
|
</p><p>Nada se modifica.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-15" class="manual-title-level-2">
|
|
touch
|
|
</h2>
|
|
<p>Establece una marca de tiempo de subsegundo arbitraria para todos los
|
|
archivos que la tienen establecida en cero.
|
|
</p><p>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.
|
|
</p><p>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.
|
|
</p><p>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.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-16" class="manual-title-level-2">
|
|
rehash
|
|
</h2>
|
|
<p>Programa un nuevo cálculo de hash (rehash) de todo el array.
|
|
</p><p>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.
|
|
</p><p>Si ya está utilizando el hash óptimo, este comando
|
|
no hace nada y le informa que no se necesita ninguna acción.
|
|
</p><p>El nuevo cálculo de hash no se realiza inmediatamente, sino que
|
|
tiene lugar progresivamente durante <b>sync</b> y <b>scrub</b>.
|
|
</p><p>Puede verificar el estado del nuevo cálculo de hash usando <b>status</b>.
|
|
</p><p>Durante el nuevo cálculo de hash, SnapRAID mantiene la funcionalidad
|
|
completa, con la única excepción de que <b>dup</b> no puede detectar
|
|
archivos duplicados utilizando un hash diferente.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec5-17" class="manual-title-level-2">
|
|
locate
|
|
</h2>
|
|
<p>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.
|
|
</p><p>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.
|
|
</p><p>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.
|
|
</p></div>
|
|
</div>
|
|
<div class="manual-section-level-1">
|
|
<h1 id="sec6" class="manual-title-level-1">
|
|
Options
|
|
</h1>
|
|
<p>SnapRAID proporciona las siguientes opciones:
|
|
</p><div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-c, --conf CONFIG
|
|
</div><div class="manual-option-description">
|
|
Selecciona el archivo de configuración a usar. Si no se
|
|
especifica, en Unix utiliza el archivo <b>/usr/local/etc/snapraid.conf</b>
|
|
si existe, de lo contrario <b>/etc/snapraid.conf</b>.
|
|
En Windows, utiliza el archivo <b>snapraid.conf</b> en el mismo
|
|
directorio que <b>snapraid.exe</b>.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-f, --filter PATTERN
|
|
</div><div class="manual-option-description">
|
|
Filtra los archivos a procesar en <b>check</b> y <b>fix</b>.
|
|
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 <b>check</b> y <b>fix</b>.
|
|
No se puede usar con <b>sync</b> y <b>scrub</b>, ya que siempre
|
|
procesan todo el array.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-d, --filter-disk NAME
|
|
</div><div class="manual-option-description">
|
|
Filtra los discos a procesar en <b>check</b>, <b>fix</b>, <b>up</b> y <b>down</b>.
|
|
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:
|
|
<b>parity</b>, <b>2-parity</b>, <b>3-parity</b>, 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 <b>check</b>, <b>fix</b>, <b>up</b> y <b>down</b>.
|
|
No se puede usar con <b>sync</b> y <b>scrub</b>, ya que siempre
|
|
procesan todo el array.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-m, --filter-missing
|
|
</div><div class="manual-option-description">
|
|
Filtra los archivos a procesar en <b>check</b> y <b>fix</b>.
|
|
Solo se procesan los archivos faltantes o eliminados del array.
|
|
Cuando se usa con <b>fix</b>, esto actúa como un comando de <b>undelete</b>
|
|
(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 <b>check</b> y <b>fix</b>.
|
|
No se puede usar con <b>sync</b> y <b>scrub</b>, ya que siempre
|
|
procesan todo el array.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-e, --filter-error
|
|
</div><div class="manual-option-description">
|
|
Procesa los archivos con errores en <b>check</b> y <b>fix</b>.
|
|
Solo procesa archivos que tienen bloques marcados con errores
|
|
silenciosos o de entrada/salida durante <b>sync</b> y <b>scrub</b>,
|
|
según se enumeran en <b>status</b>.
|
|
Esta opción solo se puede usar con <b>check</b> y <b>fix</b>.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-p, --plan PERC|bad|new|full
|
|
</div><div class="manual-option-description">
|
|
Selecciona el plan de fregado (scrub). Si PERC es un valor
|
|
numérico de 0 a 100, se interpreta como el porcentaje de
|
|
bloques a fregar.
|
|
En lugar de un porcentaje, puede especificar un plan:
|
|
<b>bad</b> friega bloques defectuosos, <b>new</b> friega bloques aún
|
|
no fregados, y <b>full</b> friega todo.
|
|
Esta opción solo se puede usar con <b>scrub</b>.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-o, --older-than DAYS
|
|
</div><div class="manual-option-description">
|
|
Selecciona la parte más antigua del array para procesar en <b>scrub</b>.
|
|
DAYS es la edad mínima en días para que un bloque sea fregado;
|
|
el valor predeterminado es 10.
|
|
Los bloques marcados como defectuosos siempre se friegan
|
|
independientemente de esta opción.
|
|
Esta opción solo se puede usar con <b>scrub</b>.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-a, --audit-only
|
|
</div><div class="manual-option-description">
|
|
En <b>check</b>, 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 <b>check</b>.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-h, --pre-hash
|
|
</div><div class="manual-option-description">
|
|
En <b>sync</b>, ejecuta una fase de hash preliminar de todos los
|
|
datos nuevos para una verificación adicional antes del
|
|
cálculo de paridad.
|
|
Normalmente, en <b>sync</b>, 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 <b>pre-hash</b>
|
|
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 <b>sync</b>.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-i, --import DIR
|
|
</div><div class="manual-option-description">
|
|
Importa desde el directorio especificado cualquier archivo
|
|
eliminado del array después del último <b>sync</b>.
|
|
Si aún tiene dichos archivos, <b>check</b> y <b>fix</b> 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 <b>check</b> y <b>fix</b>.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-s, --spin-down-on-error
|
|
</div><div class="manual-option-description">
|
|
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.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-w, --bw-limit RATE
|
|
</div><div class="manual-option-description">
|
|
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).
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-t, --tail TAMAÑO
|
|
</div><div class="manual-option-description">
|
|
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
|
|
<b>locate</b>.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-A, --stats
|
|
</div><div class="manual-option-description">
|
|
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.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-Z, --force-zero
|
|
</div><div class="manual-option-description">
|
|
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 <b>sync</b>.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-E, --force-empty
|
|
</div><div class="manual-option-description">
|
|
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 <b>sync</b>.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-U, --force-uuid
|
|
</div><div class="manual-option-description">
|
|
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 <b>sync</b>, <b>check</b> o <b>fix</b>.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-D, --force-device
|
|
</div><div class="manual-option-description">
|
|
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 <b>fix</b>.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-N, --force-nocopy
|
|
</div><div class="manual-option-description">
|
|
En <b>sync</b>, <b>check</b> y <b>fix</b>, 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 <b>sync</b>, <b>check</b> y <b>fix</b>.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-F, --force-full
|
|
</div><div class="manual-option-description">
|
|
En <b>sync</b>, 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 <b>sync</b> utilizando los datos de paridad existentes.
|
|
Esta opción solo se puede usar con <b>sync</b>.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-R, --force-realloc
|
|
</div><div class="manual-option-description">
|
|
En <b>sync</b>, 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 <b>sync</b>.
|
|
¡ADVERTENCIA! Esta opción es solo para expertos y se
|
|
recomienda encarecidamente no usarla.
|
|
NO tiene protección de datos durante la operación <b>sync</b>.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-W, --force-realloc-tail TAMAÑO
|
|
</div><div class="manual-option-description">
|
|
Funciona como -R, --force-realloc, pero limitado a la porción final
|
|
especificada (últimos TAMAÑO 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 <b>sync</b>
|
|
para los archivos afectados.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-l, --log FILE
|
|
</div><div class="manual-option-description">
|
|
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 <b>>></b>, el archivo se abre
|
|
en modo de anexar. Las ocurrencias de <b>%D</b> y <b>%T</b> 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 <b>%</b>, por ejemplo, resultado-%%D.log. Para usar <b>>></b>,
|
|
debe encerrar el nombre entre comillas, por ejemplo, <b>">>resultado.log"</b>.
|
|
Para enviar el registro a la salida estándar o al error
|
|
estándar, puede usar <b>">&1"</b> y <b>">&2"</b>, respectivamente.
|
|
Consulte el archivo snapraid_log.txt o la página del manual
|
|
para obtener descripciones de las etiquetas de registro.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-L, --error-limit NUMBER
|
|
</div><div class="manual-option-description">
|
|
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 <b>sync</b> y <b>scrub</b>, a los que se les
|
|
permite continuar después del primer conjunto de errores de
|
|
disco para intentar completar sus operaciones.
|
|
Sin embargo, <b>check</b> y <b>fix</b> siempre se detienen en el primer error.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-S, --start BLKSTART
|
|
</div><div class="manual-option-description">
|
|
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.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-B, --count BLKCOUNT
|
|
</div><div class="manual-option-description">
|
|
Procesa solo el número de bloques especificado.
|
|
Esta opción es principalmente para recuperación manual avanzada.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-C, --gen-conf CONTENT
|
|
</div><div class="manual-option-description">
|
|
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.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-v, --verbose
|
|
</div><div class="manual-option-description">
|
|
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.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-q, --quiet
|
|
</div><div class="manual-option-description">
|
|
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.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-H, --help
|
|
</div><div class="manual-option-description">
|
|
Imprime una pantalla de ayuda corta.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
-V, --version
|
|
</div><div class="manual-option-description">
|
|
Imprime la versión del programa.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-section-level-1">
|
|
<h1 id="sec7" class="manual-title-level-1">
|
|
Configuration
|
|
</h1>
|
|
<p>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.
|
|
</p><p>En Unix, utiliza el archivo <b>/usr/local/etc/snapraid.conf</b> si existe,
|
|
de lo contrario <b>/etc/snapraid.conf</b>.
|
|
En Windows, utiliza el archivo <b>snapraid.conf</b> en el mismo
|
|
directorio que <b>snapraid.exe</b>.
|
|
</p><p>Debe contener las siguientes opciones (distingue entre mayúsculas y minúsculas):
|
|
</p><div class="manual-section-level-2">
|
|
<h2 id="sec7-1" class="manual-title-level-2">
|
|
parity FILE [,FILE] ...
|
|
</h2>
|
|
<p>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.
|
|
</p><p>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.
|
|
</p><p>Puede agregar archivos de paridad adicionales más tarde, pero no
|
|
puede reordenarlos ni eliminarlos.
|
|
</p><p>Mantener los discos de paridad reservados para la paridad asegura
|
|
que no se fragmenten, mejorando el rendimiento.
|
|
</p><p>En Windows, se dejan 256 MB sin usar en cada disco para evitar la
|
|
advertencia sobre discos llenos.
|
|
</p><p>Esta opción es obligatoria y solo se puede usar una vez.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-2" class="manual-title-level-2">
|
|
(2,3,4,5,6)-parity FILE [,FILE] ...
|
|
</h2>
|
|
<p>Define los archivos a usar para almacenar información de paridad
|
|
adicional.
|
|
</p><p>Para cada nivel de paridad especificado, se habilita un nivel
|
|
adicional de protección:
|
|
</p><ul>
|
|
<li>
|
|
2-parity habilita la paridad dual RAID6.
|
|
</li>
|
|
<li>
|
|
3-parity habilita la paridad triple.
|
|
</li>
|
|
<li>
|
|
4-parity habilita la paridad cuádruple.
|
|
</li>
|
|
<li>
|
|
5-parity habilita la paridad quíntuple.
|
|
</li>
|
|
<li>
|
|
6-parity habilita la paridad séxtuple.
|
|
</li>
|
|
</ul>
|
|
<p>Cada nivel de paridad requiere la presencia de todos los niveles
|
|
de paridad anteriores.
|
|
</p><p>Se aplican las mismas consideraciones que para la opción <b>parity</b>.
|
|
</p><p>Estas opciones son opcionales y solo se pueden usar una vez.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-3" class="manual-title-level-2">
|
|
z-parity FILE [,FILE] ...
|
|
</h2>
|
|
<p>Define un archivo y un formato alternativos para almacenar paridad triple.
|
|
</p><p>Esta opción es una alternativa a <b>3-parity</b>, 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.
|
|
</p><p>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.
|
|
</p><p>Al usar <b>3-parity</b>, se le advertirá si se recomienda usar
|
|
el formato <b>z-parity</b> para mejorar el rendimiento.
|
|
</p><p>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 <b>fix</b> para recrearlo.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-4" class="manual-title-level-2">
|
|
content FILE
|
|
</h2>
|
|
<p>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.
|
|
</p><p>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 <b>sync</b>.
|
|
</p><p>Esta opción es obligatoria y se puede usar varias veces para guardar
|
|
múltiples copias del mismo archivo.
|
|
</p><p>Debe almacenar al menos una copia por cada disco de paridad utilizado
|
|
más uno. Usar copias adicionales no perjudica.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-5" class="manual-title-level-2">
|
|
data NAME DIR
|
|
</h2>
|
|
<p>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.
|
|
</p><p>Puede cambiar el punto de montaje según sea necesario, siempre que
|
|
mantenga el NAME fijo.
|
|
</p><p>Debe usar una opción para cada disco de datos en el array.
|
|
</p><p>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 <b>sync</b>. En el caso de cambiar el nombre, la asociación se
|
|
realiza utilizando el UUID almacenado de los discos.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-6" class="manual-title-level-2">
|
|
extra NAME DIR
|
|
</h2>
|
|
<p>Define el nombre y el punto de montaje de discos adicionales para monitorear
|
|
con los comandos <b>smart</b> y <b>probe</b>.
|
|
</p><p>Esto es útil para monitorear discos que no forman parte de la
|
|
matriz pero que son necesarios para que el sistema funcione, como
|
|
el disco de arranque.
|
|
</p><p>Tenga en cuenta que dichos discos no se ven afectados por los comandos <b>up</b> y <b>down</b>
|
|
porque se espera que estén siempre girando.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-7" class="manual-title-level-2">
|
|
nohidden
|
|
</h2>
|
|
<p>Excluye todos los archivos y directorios ocultos.
|
|
En Unix, los archivos ocultos son los que comienzan con <b>.</b>.
|
|
En Windows, son los que tienen el atributo oculto.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-8" class="manual-title-level-2">
|
|
exclude/include PATTERN
|
|
</h2>
|
|
<p>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.
|
|
</p><p>Si el primer patrón que coincide es un <b>exclude</b>, el archivo
|
|
se excluye. Si es un <b>include</b>, el archivo se incluye.
|
|
Si ningún patrón coincide, el archivo se excluye si el último
|
|
patrón especificado es un <b>include</b>, o se incluye si el último
|
|
patrón especificado es un <b>exclude</b>.
|
|
</p><p>Consulte la sección PATTERN para obtener más detalles sobre
|
|
las especificaciones de patrones.
|
|
</p><p>Esta opción se puede usar varias veces.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-9" class="manual-title-level-2">
|
|
blocksize SIZE_IN_KIBIBYTES
|
|
</h2>
|
|
<p>Define el tamaño de bloque básico en kibibytes para la paridad.
|
|
Un kibibyte es 1024 bytes.
|
|
</p><p>El tamaño de bloque predeterminado es 256, que debería funcionar
|
|
para la mayoría de los casos.
|
|
</p><p>¡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!
|
|
</p><p>Una razón para usar un tamaño de bloque diferente es si tiene
|
|
muchos archivos pequeños, del orden de millones.
|
|
</p><p>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.
|
|
</p><p>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.
|
|
</p><p>Puede verificar la cantidad de espacio desperdiciado en cada disco
|
|
usando <b>status</b>. 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.
|
|
</p><p>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.
|
|
</p><p>Un truco para obtener una partición de paridad más grande en Linux
|
|
es formatearla con el comando:
|
|
</p><pre>
|
|
mkfs.ext4 -m 0 -T largefile4 DEVICE
|
|
</pre>
|
|
<p>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.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-10" class="manual-title-level-2">
|
|
hashsize SIZE_IN_BYTES
|
|
</h2>
|
|
<p>Define el tamaño del hash en bytes para los bloques guardados.
|
|
</p><p>El tamaño de hash predeterminado es de 16 bytes (128 bits),
|
|
que debería funcionar para la mayoría de los casos.
|
|
</p><p>¡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!
|
|
</p><p>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.
|
|
</p><p>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.
|
|
</p><p>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:
|
|
</p><pre>
|
|
RAM = (8 * 4 * 10^12) * (1+16) / (256 * 2^10) = 1.93 GiB
|
|
</pre>
|
|
<p>Cambiando a un tamaño de hash de 8, obtiene:
|
|
</p><pre>
|
|
RAM = (8 * 4 * 10^12) * (1+8) / (256 * 2^10) = 1.02 GiB
|
|
</pre>
|
|
<p>Cambiando a un tamaño de bloque de 512, obtiene:
|
|
</p><pre>
|
|
RAM = (8 * 4 * 10^12) * (1+16) / (512 * 2^10) = 0.96 GiB
|
|
</pre>
|
|
<p>Cambiando tanto a un tamaño de hash de 8 como a un tamaño de bloque de 512,
|
|
obtiene:
|
|
</p><pre>
|
|
RAM = (8 * 4 * 10^12) * (1+8) / (512 * 2^10) = 0.51 GiB
|
|
</pre>
|
|
</div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-11" class="manual-title-level-2">
|
|
autosave SIZE_IN_GIGABYTES
|
|
</h2>
|
|
<p>Guarda automáticamente el estado al sincronizar o fregar después de
|
|
la cantidad especificada de GB procesados.
|
|
Esta opción es útil para evitar reiniciar comandos <b>sync</b> largos
|
|
desde cero si son interrumpidos por un fallo de la máquina o
|
|
cualquier otro evento.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-12" class="manual-title-level-2">
|
|
temp_limit TEMPERATURE_CELSIUS
|
|
</h2>
|
|
<p>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 <b>temp_sleep</b>. 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.
|
|
</p><p>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.
|
|
</p><p>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.
|
|
</p><p>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.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-13" class="manual-title-level-2">
|
|
temp_sleep TIME_IN_MINUTES
|
|
</h2>
|
|
<p>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.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-14" class="manual-title-level-2">
|
|
pool DIR
|
|
</h2>
|
|
<p>Define el directorio de agrupación (pooling) donde se crea la vista
|
|
virtual del array de discos utilizando el comando <b>pool</b>.
|
|
</p><p>El directorio ya debe existir.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-15" class="manual-title-level-2">
|
|
share UNC_DIR
|
|
</h2>
|
|
<p>Define la ruta UNC de Windows requerida para acceder a los discos
|
|
de forma remota.
|
|
</p><p>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.
|
|
</p><p>Los enlaces simbólicos se forman utilizando la ruta UNC especificada,
|
|
agregando el nombre del disco como se especifica en la opción <b>data</b>,
|
|
y finalmente agregando el directorio y el nombre del archivo.
|
|
</p><p>Esta opción solo es necesaria para Windows.
|
|
</p></div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-16" class="manual-title-level-2">
|
|
smartctl DISK/PARITY OPTIONS...
|
|
</h2>
|
|
<p>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.
|
|
</p><p>DISK es el mismo nombre de disco especificado en la opción <b>data</b>.
|
|
PARITY es uno de los nombres de paridad: <b>parity</b>, <b>2-parity</b>,
|
|
<b>3-parity</b>, <b>4-parity</b>, <b>5-parity</b>, <b>6-parity</b> o <b>z-parity</b>.
|
|
</p><p>En las OPCIONES especificadas, la cadena <b>%s</b> 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 <b>%s</b>.
|
|
</p><p>Consulte la documentación de smartmontools para conocer las posibles
|
|
opciones:
|
|
</p><pre>
|
|
<a href="https://www.smartmontools.org/wiki/Supported_RAID-Controllers">https://www.smartmontools.org/wiki/Supported_RAID-Controllers</a>
|
|
<a href="https://www.smartmontools.org/wiki/Supported_USB-Devices">https://www.smartmontools.org/wiki/Supported_USB-Devices</a>
|
|
</pre>
|
|
<p>Por ejemplo:
|
|
</p><pre>
|
|
smartctl parity -d sat %s
|
|
</pre>
|
|
</div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-17" class="manual-title-level-2">
|
|
smartignore DISK/PARITY ATTR [ATTR...]
|
|
</h2>
|
|
<p>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.
|
|
</p><p>DISK es el mismo nombre de disco especificado en la opción <b>data</b>.
|
|
PARITY es uno de los nombres de paridad: <b>parity</b>, <b>2-parity</b>,
|
|
<b>3-parity</b>, <b>4-parity</b>, <b>5-parity</b>, <b>6-parity</b> o <b>z-parity</b>.
|
|
El valor especial * se puede usar para ignorar el atributo en todos
|
|
los discos.
|
|
</p><p>Por ejemplo, para ignorar el atributo <b>Current Pending Sector Count</b>
|
|
en todos los discos:
|
|
</p><pre>
|
|
smartignore * 197
|
|
</pre>
|
|
<p>Para ignorarlo solo en el primer disco de paridad:
|
|
</p><pre>
|
|
smartignore parity 197
|
|
</pre>
|
|
</div>
|
|
<div class="manual-section-level-2">
|
|
<h2 id="sec7-18" class="manual-title-level-2">
|
|
Examples
|
|
</h2>
|
|
<p>Un ejemplo de una configuración típica para Unix es:
|
|
</p><pre>
|
|
parity /mnt/diskp/snapraid.parity
|
|
content /mnt/diskp/snapraid.content
|
|
content /var/snapraid/snapraid.content
|
|
data d1 /mnt/disk1/
|
|
data d2 /mnt/disk2/
|
|
data d3 /mnt/disk3/
|
|
exclude /lost+found/
|
|
exclude /tmp/
|
|
smartctl d1 -d sat %s
|
|
smartctl d2 -d usbjmicron %s
|
|
smartctl parity -d areca,1/1 /dev/sg0
|
|
smartctl 2-parity -d areca,2/1 /dev/sg0
|
|
</pre>
|
|
<p>Un ejemplo de una configuración típica para Windows es:
|
|
</p><pre>
|
|
parity E:\snapraid.parity
|
|
content E:\snapraid.content
|
|
content C:\snapraid\snapraid.content
|
|
data d1 G:\array\
|
|
data d2 H:\array\
|
|
data d3 I:\array\
|
|
exclude Thumbs.db
|
|
exclude \$RECYCLE.BIN
|
|
exclude \System Volume Information
|
|
smartctl d1 -d sat %s
|
|
smartctl d2 -d usbjmicron %s
|
|
smartctl parity -d areca,1/1 /dev/arcmsr0
|
|
smartctl 2-parity -d areca,2/1 /dev/arcmsr0
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
<div class="manual-section-level-1">
|
|
<h1 id="sec8" class="manual-title-level-1">
|
|
Pattern
|
|
</h1>
|
|
<p>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.
|
|
</p><p>El signo de interrogación <b>?</b> 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.
|
|
</p><p>El asterisco simple <b>*</b> 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.
|
|
</p><p>el doble asterisco <b>**</b> 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 <b>**</b> aparece incrustado directamente en
|
|
un patrón, puede coincidir con cero o más caracteres, incluidas las barras diagonales entre
|
|
el texto literal circundante.
|
|
</p><p>El uso más importante de <b>**</b> es en la forma especial <b>/**/</b>. 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 <b>src/**/main.js</b> coincide con <b>src/main.js</b> (saltando
|
|
cero directorios), <b>src/ui/main.js</b> (saltando un directorio) y
|
|
<b>src/ui/components/main.js</b> (saltando dos directorios).
|
|
</p><p>Las clases de caracteres que utilizan corchetes <b>[]</b> 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.
|
|
</p><p>La distinción fundamental que debe recordar es que <b>*</b>, <b>?</b> y las clases de caracteres
|
|
respetan los límites de los directorios y solo coinciden dentro de un único
|
|
componente de ruta, mientras que <b>**</b> es el único patrón que puede coincidir a través de
|
|
los separadores de directorios.
|
|
</p><p>Hay cuatro tipos diferentes de patrones:
|
|
</p><div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
FILE
|
|
</div><div class="manual-option-description">
|
|
Selecciona cualquier archivo llamado FILE.
|
|
Este patrón se aplica solo a archivos, no a directorios.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
DIR/
|
|
</div><div class="manual-option-description">
|
|
Selecciona cualquier directorio llamado DIR y todo lo que hay dentro.
|
|
Este patrón se aplica solo a directorios, no a archivos.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
/PATH/FILE
|
|
</div><div class="manual-option-description">
|
|
Selecciona la ruta exacta del archivo especificado. Este patrón se aplica
|
|
solo a archivos, no a directorios.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
/PATH/DIR/
|
|
</div><div class="manual-option-description">
|
|
Selecciona la ruta exacta del directorio especificado y todo lo que hay
|
|
dentro. Este patrón se aplica solo a directorios, no a archivos.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<p>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.
|
|
</p><p>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.
|
|
</p><p>Si el nombre del archivo contiene un carácter <b>*</b>, <b>?</b>, <b>[</b>,
|
|
o <b>]</b>, debe escaparlo para evitar que se interprete como un
|
|
carácter globbing. En Unix, el carácter de escape es <b>\</b>;
|
|
en Windows, es <b>^</b>. 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.
|
|
</p><p>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 <b>exclude</b> para
|
|
eliminar todos los archivos y directorios que no desea procesar.
|
|
Por ejemplo:
|
|
</p><pre>
|
|
# Excluye cualquier archivo llamado <b>*.unrecoverable</b>
|
|
exclude *.unrecoverable
|
|
# Excluye el directorio raíz <b>/lost+found</b>
|
|
exclude /lost+found/
|
|
# Excluye cualquier subdirectorio llamado <b>tmp</b>
|
|
exclude tmp/
|
|
</pre>
|
|
<p>El enfoque opuesto es definir solo los archivos que desea procesar,
|
|
utilizando solo reglas <b>include</b>. Por ejemplo:
|
|
</p><pre>
|
|
# Incluye solo algunos directorios
|
|
include /movies/
|
|
include /musics/
|
|
include /pictures/
|
|
</pre>
|
|
<p>El enfoque final es mezclar reglas <b>exclude</b> e <b>include</b>. 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 <b>exclude</b> primero
|
|
y luego todas las reglas <b>include</b>. Por ejemplo:
|
|
</p><pre>
|
|
# Excluye cualquier archivo llamado <b>*.unrecoverable</b>
|
|
exclude *.unrecoverable
|
|
# Excluye cualquier subdirectorio llamado <b>tmp</b>
|
|
exclude tmp/
|
|
# Incluye solo algunos directorios
|
|
include /movies/
|
|
include /musics/
|
|
include /pictures/
|
|
</pre>
|
|
<p>En la línea de comandos, usando la opción -f, solo puede usar
|
|
patrones <b>include</b>. Por ejemplo:
|
|
</p><pre>
|
|
# Verifica solo los archivos .mp3.
|
|
# En Unix, use comillas para evitar la expansión globbing por el shell.
|
|
snapraid -f "*.mp3" check
|
|
</pre>
|
|
<p>En Unix, al usar caracteres globbing en la línea de comandos, debe
|
|
ponerlos entre comillas para evitar que el shell los expanda.
|
|
</p></div>
|
|
<div class="manual-section-level-1">
|
|
<h1 id="sec9" class="manual-title-level-1">
|
|
Ignorar Archivos
|
|
</h1>
|
|
<p>Además de las reglas globales en el archivo de configuración, puedes
|
|
colocar archivos <b>.snapraidignore</b> en cualquier directorio dentro del array
|
|
para definir reglas de exclusión descentralizadas.
|
|
</p><p>Las reglas definidas en <b>.snapraidignore</b> 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.
|
|
</p><p>La lógica de patrones en <b>.snapraidignore</b> refleja la configuración global
|
|
pero ancla los patrones al directorio donde se encuentra el archivo:
|
|
</p><div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
FILE
|
|
</div><div class="manual-option-description">
|
|
Selecciona cualquier archivo llamado FILE en este directorio o por debajo.
|
|
Esto sigue las mismas reglas de globbing que el patrón global.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
DIR/
|
|
</div><div class="manual-option-description">
|
|
Selecciona cualquier directorio llamado DIR y todo su contenido,
|
|
ubicado en este directorio o por debajo.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
/PATH/FILE
|
|
</div><div class="manual-option-description">
|
|
Selecciona el archivo exacto especificado relativo a la ubicación
|
|
del archivo <b>.snapraidignore</b>.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="manual-option-list">
|
|
<div class="manual-option-entry">
|
|
<div class="manual-option-name">
|
|
/PATH/DIR/
|
|
</div><div class="manual-option-description">
|
|
Selecciona el directorio exacto especificado y todo su contenido,
|
|
relativo a la ubicación del archivo <b>.snapraidignore</b>.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<p>A diferencia de la configuración global, los archivos <b>.snapraidignore</b> solo admiten
|
|
reglas de exclusión; no se pueden usar patrones <b>include</b> o negación (!).
|
|
</p><p>Por ejemplo, si tienes un <b>.snapraidignore</b> en <b>/mnt/disk1/projects/</b>:
|
|
</p><pre>
|
|
# Excluye SOLO /mnt/disk1/projects/output.bin
|
|
/output.bin
|
|
# Excluye cualquier directorio llamado <b>build</b> dentro de projects/
|
|
build/
|
|
# Excluye cualquier archivo .tmp dentro de projects/ o sus subcarpetas
|
|
*.tmp
|
|
</pre>
|
|
</div>
|
|
<div class="manual-section-level-1">
|
|
<h1 id="sec10" class="manual-title-level-1">
|
|
Content
|
|
</h1>
|
|
<p>SnapRAID almacena la lista y las sumas de comprobación de sus
|
|
archivos en el archivo de contenido.
|
|
</p><p>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.
|
|
</p><p>Este archivo es leído y escrito por los comandos <b>sync</b> y <b>scrub</b>
|
|
y leído por los comandos <b>fix</b>, <b>check</b> y <b>status</b>.
|
|
</p></div>
|
|
<div class="manual-section-level-1">
|
|
<h1 id="sec11" class="manual-title-level-1">
|
|
Parity
|
|
</h1>
|
|
<p>SnapRAID almacena la información de paridad de su array en los
|
|
archivos de paridad.
|
|
</p><p>Estos son archivos binarios que contienen la paridad calculada
|
|
de todos los bloques definidos en el archivo <b>content</b>.
|
|
</p><p>Estos archivos son leídos y escritos por los comandos <b>sync</b> y <b>fix</b>
|
|
y solo leídos por los comandos <b>scrub</b> y <b>check</b>.
|
|
</p></div>
|
|
<div class="manual-section-level-1">
|
|
<h1 id="sec12" class="manual-title-level-1">
|
|
Encoding
|
|
</h1>
|
|
<p>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.
|
|
</p><p>En Windows, todos los nombres leídos del sistema de archivos se
|
|
convierten y procesan en formato UTF-8.
|
|
</p><p>Para que los nombres de archivo se impriman correctamente, debe
|
|
configurar la consola de Windows en modo UTF-8 con el comando
|
|
<b>chcp 65001</b> y usar una fuente TrueType como <b>Lucida Console</b>
|
|
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.
|
|
</p></div>
|
|
|
|
|
|
</div>
|
|
</main>
|
|
</div>
|
|
|
|
<!-- Footer -->
|
|
<footer>
|
|
<div class="container footer-content">
|
|
<div class="footer-col">
|
|
<div class="logo">
|
|
<img src="android-chrome-192x192.png" width="32" height="32"/>
|
|
SnapRAID
|
|
</div>
|
|
<p>Copyright © 2026 Andrea Mazzoleni</p>
|
|
<p class="license">Distributed under GPL v3 License</p>
|
|
</div>
|
|
<div class="footer-col">
|
|
<h4>Links</h4>
|
|
<ul class="footer-list">
|
|
<li><a href="https://github.com/amadvance/snapraid/">GitHub SnapRAID CLI</a></li>
|
|
<li><a href="https://github.com/amadvance/snapraid-daemon/">GitHub SnapRAID Daemon</a></li>
|
|
<li><a href="https://www.reddit.com/r/Snapraid/">Reddit</a></li>
|
|
<li><a href="https://sourceforge.net/p/snapraid/">SourceForge</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
</body>
|
|
</html>
|
|
|
|
|