Come riflettere i filesystem con milioni di collegamenti?

Abbiamo un grosso problema al momento: abbiamo bisogno di rispecchiare un filesystem per uno dei nostri clienti. Quella solita non è davvero un problema, ma qui è:

Su questo filesystem c'è una cartella con milioni di collegamenti (yes! MILLIONS!). rsync richiede più di 4 giorni per build solo il filelist.

  • quanti account utente possono un host OS di tipo unix?
  • Redhat init script best practice
  • Eliminare automaticamente i file scrivendo zeri su Linux
  • ZFS pool creato con ZFS su Linux, utilizzabile da SmartOS?
  • Come faccio a submit la posta dalla row di command di linux in modo che compare come HTML al destinatario?
  • rsync (e scp) fallisce senza spazio rimasto sul dispositivo XFS
  • Usiamo le seguenti opzioni rsync :

     rsync -Havz --progress serverA:/data/cms /data/ 

    Qualcuno ha idea di come accelerare questo rsync, o utilizzare alternative? Non è ansible utilizzare dd come il disco di destinazione è più piccolo della sorgente.

    AGGIORNAMENTO: quando il filesystem originale è ext3 proveremo il dump e il restore . Ti terrò su due date

  • Hardlinks di un file
  • C'è un modo per creare una copia-su-scrittura di una directory?
  • Interrompere tutti i collegamenti in una cartella
  • Come funziona logrotate per interagire con i file legati?
  • Qual è la differenza tra un link morbido (simbolico) e un collegamento duro?
  • come creare un collegamento simbolico (ln) tra due partizioni
  • 3 Solutions collect form web for “Come riflettere i filesystem con milioni di collegamenti?”

    Abbiamo ora utilizzato l'est * dump. Funziona bene, e il lato di ripristino non deve nemless essere ext *.

    Abbiamo eseguito un backup offline, compilando il dispositivo e usando il dump vf - /dev/vg0/opt | gzip -c > /mnt/backup/ext3dump.gz dump vf - /dev/vg0/opt | gzip -c > /mnt/backup/ext3dump.gz .

    Qui le ultime righe si possono vedere size, tempo, velocità e gli ultimi numbers inode:

     DUMP: dumping regular inode 47169535 DUMP: dumping regular inode 47169536 DUMP: Volume 1 completed at: Wed Jun 29 05:42:57 2011 DUMP: Volume 1 54393520 blocks (53118.67MB) DUMP: Volume 1 took 4:16:43 DUMP: Volume 1 transfer rate: 3531 kB/s DUMP: 54393520 blocks (53118.67MB) DUMP: finished in 15403 seconds, throughput 3531 kBytes/sec DUMP: Date of this level dump: Wed Jun 29 01:24:29 2011 DUMP: Date this dump completed: Wed Jun 29 05:42:57 2011 DUMP: Average transfer rate: 3531 kB/s DUMP: DUMP IS DONE 

    È necessario aggiornare entrambe le parti a rsync 3. Dal changelog:

     - A new incremental-recursion algorithm is now used when rsync is talking to another 3.x version. This starts the transfer going more quickly (before all the files have been found), and requires much less memory. See the --recursive option in the manpage for some restrictions. 

    È passato più di 2 anni da quando è stato rilasciato rsync 3.0.0, ma purtroppo la maggior parte delle distribuzioni aziendali si basa sul codice precedente di quello, il che significa che probabilmente usi rsync 2.6.

    Per riferimento (se qualcun altro ha questo problema), se già si esegue rsync 3, si utilizzano opzioni incompatibili con la ricorsione incrementale. Dalla pagina uomo:

      Some options require rsync to know the full file list, so these options disable the incremental recursion mode. These include: --delete-before, --delete-after, --prune-empty-dirs, and --delay-updates. 

    Inoltre, entrambe le parti devono essere in esecuzione rsync 3 per la ricorsione incrementale da supportre.

    È ansible utilizzare LVM e prendere istantanee del volume, quindi rsync l'istantanea come backup.

    In alternativa, è ansible combinare questo con l'altra risposta e utilizzare il dump sul volume di istantanea , per evitare di wherer dump il volume originale.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.