Otra vez los dispositivos de almacenamiento

No puedo seguir usando los discos de 2 y 1 si ya tengo ocupadas casi las 2 Tb. He de tener algo más bestia.

Mi plan es 1 SSD (el que ya tengo) + 4 HDD. Actualmente tengo 3 HDD (y tengo una ranura libre para meter un disco en la carcasa) así que hay 1 cable SATA y su puerto sin usar (mi placa tiene 4 puertos sin contar los 2 del M.2).

Así quedaría:
SDD M.2 con / (BtrFS + Snapper), swap, efi, y datos (BtrFS sin snapshots)
HDD 4Tb /home (BtrFS sin snapshots)
HDD 4Tb /BackupHome (BtrFS sin snapshots)
HDD 2Tb datos (BtrFS sin snapshots) Aún no sé el nombre del anclaje y qué tendrá.
HDD 1Tb datos (BtrFS sin snapshots) Ídem que el anterior.

El Samsung de 1 Tb saldría de la torre a un cajón (es el disco más viejo, de 2010).

En un principio pensé en hacer un RAID 1 con los 2 discos de 4Tb porque sería más cómodo que los cambios en el disco principal se hicieran ellos solos en el disco de respaldo.

Pero deseché la idea (a menos que me digais lo contrario) porque me dijeron que si se rompía el RAID (no sé si el enlace o lo que sea) podía perder ambos discos. Y que era mejor copiar a mano (que es lo que he estado haciendo todos estos años).

Saludos

Veamos.

Vale, el primero supongo que es una errata. Si está conectado al SATA, será un SSD SATA. Son unos discos casi cuadrados y bastante finos. M.2 y similares van a la placa, salvo que se use un adaptador de algún tipo.

Según lo que dices en el post 15, tienes 4 discos SATA: Uno SSD y 3 HDD (el de 2 TB y los dos de 1TB).

En el diagrama adjunto tienes 6 conectores SATA, y eso te tiene que permitir conectar 6 discos. Que bueno, quizá sería bueno ver si alguno no es SATA 3 :wink:

Esto es como todo. La máxima en el sector es que si alguien dice que puede recomendar “lo mejor”, miente. Salvo si se trata de comparar Linux con Windows :rofl:

Hace un montón de años a Iberia le ardió el edificio donde estaba su CPD, que es como se llamaba antes al Centro de Datos (Centro de Proceso de Datos). Vale, es una empresa grande, claro que tenía un CPD réplica que pudiera sustituir al otro. El problema es que a alguien le pareció buena idea ponerlo en el mismo edificio :rofl: Y sí, tiene dinero, ¿cómo no iba a tener una tercera réplica de emergencia? Pues claro que la había… en el edificio de al lado que también ardió en buena parte.

Con la anécdota quiero decir que esto es complejo. Un RAID 1, por ejemplo, no te protege de ti mismo. Borra un fichero, y se borrará en el espejo. Sobreescribe un fichero, y lo harás en el espejo. Es su funcionamiento por defecto. Las instantáneas esto lo manejan mejor: crea una instantánea y guardará el sistema de ficheros exactamente como estaba en el momento de iniciar la copia. Pero incluso la instantánea puede tener sus lagunas si no son completas. Pero no son espejos: si yo hago una instantánea todos los días a las 6 y a las 5 hay un apagón y se me daña el disco… O si se dañan ambos.

Otro problema adicional del RAID es que ni los PC, ni los discos baratos que compramos, dan soporte completo al RAID. En un servidor mola: tienes 4 discos haciendo 2 espejos; se daña un disco: lo quitas y metes otro sin apagar siquiera la computadora. Mola. Eso en PC no se puede hacer porque la placa rara vez da soporte a eso, y el disco tampoco suele hacerlo.

Voy a añadir un post más para que no quede este tan farragoso :grinning:

1 Like

Entonces RAID no es perfecto; BTRFS no es perfecto. Copiar ficheros no es perfecto. El rollo es cuál te falle. Si tienes uno y te falla en un caso concreto, da igual cuál sea: te va a fastidiar. Es lo que hay con estos cacharros. La única solución es meter dinero. O al menos tener un servidor de ficheros para copias de seguridad en Madagascar o algo así :rofl:

Otra anécdota, aunque no sea tampoco de almacenamiento. Tengo varios VPS y a ninguno le he contratado backups y demás porque sale caro. Así que tengo que asegurarme “manualmente” que hago las copias de seguridad etc. Bueno, yo no, systemd. Tengo un puñado de servicios con sus temporizadores para ello.

Un día ardió el CPD donde estaba uno de esos VPS, y tuve que componer uno sobre la marcha. Si hubises pagado por una réplica, pues tendría una réplica en marcha en minutos, así me llevó un par de horas contratar uno, montar el sistema y restaurar las copias de seguridad -subir ficheros a estas cosas puede ser lento de narices según lo que tengas contratado.

RAID es mejor que Btrfs, pero Btrfs es más flexible. Copiar ficheros está bien si no copias todo. Y yo tanto btrfs como copiar, para esto, lo haría con compresión. Incluso en el caso de copiar en XFS, hazlo con rsyncd, que sea el sistema el que se busque la vida. Si RAID y Btrfs tienen problemas, el de copiar es precisamente que no se haya copiado lo necesario cuando hace falta :rofl:

Y bueno, es raro que se estropee un disco de repente, pero no es tanto menos raro que lo hagan dos, tres… el mal siempre acecha :rofl:

Así en un primer momento yo en tu lugar probablemente haría dos volúmenes Btrfs de 6 TB cada uno. Y los pondría en espejo o con RAID o más probablemente incluso con Btrfs. Y sí, RAID es un poco mejor: si el disco falla por completo en Btrfs puede ser que cueste un mundo sacarlo de ahí, si se puede, porque el sistema seguramente falle. Eso en RAID puede hacerse. Pero para lo más habitual, que el disco comience a fallar y tal, para eso Btrfs va bien.

1 Like

El SSD es el WD Blue M.2 WDC WDS500G1B0B que me instalastes en 2016. Y efectivamente, está sobre la placa base metido en su conector.

Esto es lo que me acaba de hacer desechar RAID y preferir copiar a mano.

Esto no lo entiendo. Cuando hago una copia, suelo copiarlo todo. Primero borro la copia antigua (y me quedo sin copia temporalmente) y después copio todo de nuevo.

Aquí no entiendo nada tampoco. Siempre he usado Dolphin para hacer la copia. Aunque echo a faltar una interfaz en la que pueda escogir directorios, algo similar al recuadro rojo que he marcado en Snapper (he puesto una imagen de Snapper porque es el único programa que he visto con esa característica que me gustaría):


Imagina que ese recuadro fuera $HOME/.local/share y al lado hubiera otro panel parecido de navegación.
Podría marcar que quiero copiar si no me interesa el directorio completo ($HOME/.local/share tiene muuchos subdirectorios).

Saludos

Antes de que venga Diablo Rojo a vender Krusader, que sepas que Dolphin hace eso.

Ahora es tarde para ver el resto, mañana le echamos un vistazo.

1 Like

He llegado al cómo. :smiley:


¡Gracias por ese consejo!

Saludo

Ya que me invocas. Krusader hace mas cosas que eso. También sirve para comparar directorios y archivos, si encuentra diferencias te lo marca, listo para hacer un Backup.

Eso ya no se lleva, para algo existen las copias o backups incrementales: haces una copia total y cada semana o X días haces una copia de los archivos modificados y nuevos con respecto a la ultima copia o backup (sean total o incremental).
Cosa que hace Snapper con eficacia o cualquier aplicación de Backup.

1 Like

Despues de dar muchas vueltas con los backups yo tengo un script que las carpetas principales de Home me las zipea encripta y las sube a onedrive…

appstream://org.kde.kup

y despues instalo la utilidad KUP que se integra con “preferencias del sistema” abajo del todo.

Esta la uso para copiar a lo bruto todo /home… y como puedes ponerlo incremental, pues la primera copia duele y las demás son rápidas.

La pena es que solo le falta la funcionalidad de poder ejecutar un script antes y despues de la copia… sería super flexible ya

A ver, vamos allá.

Primero, que lo del número de discos SATA es una observación. El problema usual es encontrarles un hueco. Hay cajas gamer con hueco para seis discos, hay cajas tradicionales con hueco para dos. No recuerdo la tuya, hay adaptadores ("de 5 1/4 a 3 1/2) para aprovechar los huecos que tienen algunas para los lectores de DVD y tal. Pero bueno, el hueco que haya es el que es.

RAID (hardware y software) es sobre seguridad y confiabilidad. Snapshot, rsync y demás va sobre copias de seguridad.

Copiar, ejem, copia ficheros (sean regulares, ejecutables, carpetas…). Si quieres copiar todo es mejor hacer instantáneas. En btrfs, con sus propias herramientas, con otros, con dd por lo menos. Por favor, fíjate que el tamaño de la imagen tiene que ser igual o menor que la del dispositivo donde guardas la imagen.

Luego está lo de rsync.

rsync es una old school Unix tool. Está pensada para sincronizar el contenido de dispositivos y carpetas. rsyncd es el demonio para mantener sincronizados dos dispositivos o carpetas. Es exactamente lo que hace Drive, oneDrive, Dropbox y demás y no me sorprendería que la mayoría de esos servicios utilizasen una implementación de rsync.

rsync tiene interfaz gráfica: grsync , aunque kup y otras herramientas de copias de seguridad usan rsync, claro. Supongo que también lo hace krusader.

Hay mucho más aquí para ver, podrías incluso hacer un tema para eso, aunque en el foro ya hemos tratado backups.

Eso es justamente el modo de funcionamiento de rsync por defecto -pero tiene opciones para cambiar eso si en tu caso concreto no se ajusta.

Añado aquí que rsync, por defecto, no copia todo, solo lo que haya cambiado desde la última vez. Si haces tu copia hoy y mañana vuelves a hacerla, solo copiará los ficheros que hayan sido creados y modificados entre hoy y mañana.

Pero puedes usar rsync directamente para eso, aunque no tendrías el chivato en la bandeja del sistema.

2 Likes

Haz un script con rsync, abajo tienes un ejemplo pero para local, si lo quieres en la nube, busca por Internet.

Lo he preguntado a ChatGPT, en aquí su respuesta por si te sirve con retoques:

Tengo un hueco para meter hasta 4 dispositivos (HDD) de 3,5’’ uno encima de otro (actualmente hay 3 ocupados).

Muy instructivo lo que he leido ahí. Así en mi caso sería un hipotético:

rsync -anvP --delete /home/ /BackupHome

con lo que tanto /home como /BackupHome quedarían idénticos cada vez que ejecutara el comando. Además si cambio algo (sin modificarlo) de /home/X a /home/Y también lo tendrá en cuenta con el parámetro --delete para borrar de /BackupHome/X y copiarlo en /BackupHome/Y.

Saludos

Vale, dos de 4, uno de 2 y uno de 1. Eso son 11 GB. Puedes crear dos volúmenes, ya si quieres que sean iguales o no…

Para usar btrfs, puedes enchufar los discos de 4TB. Puedes convertir uno de ellos en btrfs, lo montas y le copias el contenido del disco donde tienes /home al completo, incluyendo la carpeta de tu cuenta usuaria. Desmontas la partición donde has montado el disco de 4TB y desmontas /home.
Esto se hace más fácil con un liveUSB o en modo multiusuario como root, claro. Luego solo tendrías que crear el sistema de ficheros /home.

Cuando añadas otro disco con btrfs, podrás añadirlo ahí. O con comandos. Es muy sencillo. Puedes crear /home con 6TB y /homeBackup con 5TB, por ejemplo, o 5,5 para ambos -eso requiere particionar al menos uno-.

Creo que sí, aunque siempre hay que comprobar las opcioens de los comandos. Al final al copiar ficheros que han cambiado siempre tienes que decidir cuáles quieres guardar. Si modificas un fichero o carpeta por error y lo sincronizas en /BackupHome, por defecto lo guardarás igual. Por ejemplo, para las copias de seguirdad de mis VPS uso una opción para que borre los ficheros que ya no están en la carpeta origen.

También puedes usar kup: lee aquí, o aquí y aquí en castellano aunque viejecito

1 Like

Haré 4-4-2-1 o 4-4-3.

Igual el de 2Tb lo uso para una 2ª copia de /home más reducida (quitando lo que sea prescindible). Y el de 1Tb para a saber.

O siempre lo puedo unir (como todos serían BtrFS) al de 2Tb para tener 3Tb para la 2ª copia. Es otra posibilidad.

Siempre que he hecho copia de seguridad, he borrado la copia porque quería copiar todo el /home actual. Así que no tendría que tener miedo por tu cita.

Además, rsync sólo sincroniza cuando sea yo mismo el que teclee la orden que te puse en el otro post, ¿verdad?

Saludos

Sí, pero aquí la idea es no borrar y dejar que rsync copie solo lo que haya cambiado desde entonces (ficheros nuevos, ficheros modificados, etc.). Entonces tú lo que haces es decirle a rsync qué tiene que hacer.

Por ejemplo, tengo una aplicación que genera copias de una base de datos semanales, o sea, siempre tengo 7. Supongamos el servidor es MISERVER. La aplicación borra las anteriores. Entonces yo en mi máquina ejecuto rsync digamos una vez al día para recuperar las nuevas copias en MIESCRITORIO. Si no indico nada más, rsync verá qué ficheros hay en MISERVER/Backups, verá que hay uno que se hizo hoy y lo copiará. Mañana verá que hay otro, y lo copiará. Con el tiempo, tendré uno por cada día: digamos 14 al acabar junio, 45 al acabar julio, y así. A 1 GB cada uno ya me dirás tú.

Entonces le indico a rsync “mantén en MIESCRITORIO/MisCopias exactamente las mismas que hay en MISERVER/Backups”, entonces él hoy que en MISERVER/Backups hay 1 y en MIESCRITORIO/MisCopias tengo 1 y la deja. Mañana, 2 y 2, así que todo bien. El martes que viene en MISERVER la aplicación habrá borrado la copia del martes pasado, así que tiene 7. Como en MIESCRITORIO tengo 7, al copiar la de hoy habrá 1 que tengo aquí pero no en el servidor; así que rsync borrará esa.

No es para que lo hagas así, claro, sólo un ejemplo de su uso. Hasta donde yo sé puedes decirle cosas como que “si son diferentes, deja la copia” aunque por defecto, “si son diferentes, deja el nuevo”.

Si lo haces a mano, sí. Es más, puedes crear un servicio con systemd y ese comando con el modificador de usuario (–user) y luego lo lanzarías así :grinning::
systemctl --user start haz_mi_copia

SDB:Systemd service - openSUSE Wiki La sección ExecStart quedaría algo así:
ExecStart=/usr/bin/rsync -anvP --delete /home/ /BackupHome
Y podrías ponerle un temporizador para que se ejecute siempre, digamos, los viernes a la noche o al arrancar cada semana. Y podrías hacer copias manuales igual. No es que sea muy distinto a usar un alias o un script para la línea de rsync, pero así también pruebas el uso de servicios que puede ser que le encuentres utilidad para alguna cosa :grinning:

1 Like

Gracias por los consejos pero no quiero tanta complicación. Si con teclear esa cita que me he hecho, la 1ª vez lo copia todo y las sucesivas los cambios hechos (ya sean nuevos ficheros, ficheros modificados o mover ficheros que hayan sido cambiados de directorio borrando los ficheros de la ubicación antigua), ya me sirve.

Saludos

La opción -n, que yo sepa, es para hacer un test, algo así como “a ver qué haría el comando”. Entonces tendrías que hacer una vez con -n para la prueba, otra sin -n para la copia en sí.

Quizá las primeras veces que uses el comando, incluso antes de cambiar los discos si quieres, puedas hacerlo así, ejecutando uno y luego otro, para acostumbrarte a ver qué hace.

Salud!!

1 Like

He hecho una serie de pruebas:

 rsync -anvP --delete dir1/ dir2                                                     ✔  12:21:17 
sending incremental file list
./
file01
file02
file03
file04
file05
file06
file07
file08
file09
file10

sent 268 bytes  received 49 bytes  634,00 bytes/sec
total size is 0  speedup is 0,00 (DRY RUN)

 ~/Descargas  rsync -avP --delete dir1/ dir2                                                      ✔  12:22:21 
sending incremental file list
./
file01
              0 100%    0,00kB/s    0:00:00 (xfr#1, to-chk=9/11)
file02
              0 100%    0,00kB/s    0:00:00 (xfr#2, to-chk=8/11)
file03
              0 100%    0,00kB/s    0:00:00 (xfr#3, to-chk=7/11)
file04
              0 100%    0,00kB/s    0:00:00 (xfr#4, to-chk=6/11)
file05
              0 100%    0,00kB/s    0:00:00 (xfr#5, to-chk=5/11)
file06
              0 100%    0,00kB/s    0:00:00 (xfr#6, to-chk=4/11)
file07
              0 100%    0,00kB/s    0:00:00 (xfr#7, to-chk=3/11)
file08
              0 100%    0,00kB/s    0:00:00 (xfr#8, to-chk=2/11)
file09
              0 100%    0,00kB/s    0:00:00 (xfr#9, to-chk=1/11)
file10
              0 100%    0,00kB/s    0:00:00 (xfr#10, to-chk=0/11)

sent 632 bytes  received 209 bytes  1.682,00 bytes/sec
total size is 0  speedup is 0,00

 ~/Descargas  rsync -avP --delete dir1/ dir2                                                      ✔  12:22:52 
sending incremental file list
./
file09
             11 100%    0,00kB/s    0:00:00 (xfr#1, to-chk=1/11)

sent 296 bytes  received 38 bytes  668,00 bytes/sec
total size is 11  speedup is 0,03

 ~/Descargas  rsync -avP --delete dir1/ dir2                                                      ✔  12:24:21 
sending incremental file list
./
1/
2/

sent 300 bytes  received 27 bytes  654,00 bytes/sec
total size is 11  speedup is 0,03

 ~/Descargas  rsync -avP --delete dir1/ dir2                                                      ✔  12:25:20 
sending incremental file list
deleting file05
./
1/
1/file05
              0 100%    0,00kB/s    0:00:00 (xfr#1, to-chk=0/13)

sent 347 bytes  received 53 bytes  800,00 bytes/sec
total size is 11  speedup is 0,03

 ~/Descargas  rsync -avP dir1/ dir2                                                               ✔  12:26:31 
sending incremental file list
./
2/
2/file07
              0 100%    0,00kB/s    0:00:00 (xfr#1, to-chk=0/13)

sent 358 bytes  received 47 bytes  810,00 bytes/sec
total size is 11  speedup is 0,03

 ~/Descargas  rsync -avP --delete dir1/ dir2                                                      ✔  12:27:27 
sending incremental file list
deleting file07

sent 305 bytes  received 24 bytes  658,00 bytes/sec
total size is 11  speedup is 0,03

Efectivamente, poner la n hace que no copie nada. Tras eliminarla, he probado en una ocasión a mover un fichero a otro directorio y hacer el rsync sin --deletey copia el fichero a su nueva ubicación pero no borra el de la ubicación antigua (hace un copy en lugar de un move para ese fichero).

Así que el comando correcto quedó en el especificado pero quitando solo la n.

Saludos

He comprado los 2 discos a PC Componentes (la primera vez que les compro y sin queja) ya que no estaban en Amazon. Me han llegado hoy.

Son 2 unidades HDD de 4Tb WD Blue WDC WD40EZAX-00C con tecnología CMR, 5400rpm y 256Mb de caché.

Les he hecho el KDiskMark y esta es la gráfica que sale. Los discos sólo tienen 1 partición (sdb1 y sdc1) formateadas en BtrFS y vacías de datos (espero que no tenga nada que ver que no hayan datos para la gráfica):

Los valores sobrepasan sobremanera (en especial en escritura aleatoria) a los del WD Black de 2Tb que tiene 64Mb de cache:

Saludos

Entre las cosas que hacemos por tradición también está lo de crear particiones. Con sistemas como btrfs lo único que tienes que hacer es decirle que todo el disco es btrfs, sin particiones de ninguna clase :wink:

No es algo que importe mucho tampoco, simplemente es el cambio conceptual.

1 Like

Hola:
KDiskMark , puede hacer pruebas de otros discos ? , cuando lo ejecute, hizo solo el de la raíz.
(tengo varios discos incluido los gold ,los de helio etc, y me gustaría probarlos)

Por otro lado, al estar en btrfs, en la prueba creo que desconecto el cow.

Los valores que muestras, se aproximan mucho a los WD red que he visto , sobre todo los red de 7200 y 512 de cache (ronda sobre los 210M/s) .
Para la prueba de la cache, se puede usar hdparm , a veces al cargar aplicaciones de menos tamaño que la cache, no da ni tiempo de mirarlo, solo lo he apreciado en monitorado del sistema .

Saludos