Lo rsync
-H
del comando (o --hard-links
) farà, in teoria, ciò che stai cercando di realizzare, ovvero, in breve:creare una copia del tuo filesystem che preservi la struttura hard link dell'originale. Come ho accennato nella mia risposta a un'altra domanda simile, questa opzione è destinata a fallire una volta che il tuo filesystem di origine cresce oltre una certa soglia di complessità dell'hard link.
La posizione precisa di quella soglia può dipendere dalla tua RAM e dal numero totale di hard link (e probabilmente da una serie di altre cose), ma ho scoperto che non ha senso cercare di definirla con precisione. Cosa davvero ciò che conta è che la soglia è fin troppo facile da varcare nelle situazioni del mondo reale e non saprai di avere attraversato, finché arriva il giorno in cui provi a eseguire un rsync -aH
o un cp -a
che lotta e alla fine fallisce.
Quello che consiglio è questo:copia il tuo filesystem fortemente collegato come un'unità, non come file. Cioè, copia l'intera partizione del filesystem come un unico grande BLOB. Sono disponibili numerosi strumenti per farlo, ma il più diffuso è dd
.
Con il firmware standard, QNAP NAS dovrebbe avere dd
integrato, così come fdisk
. Con fdisk
, creare una partizione sull'unità di destinazione che sia grande almeno quanto la partizione di origine. Quindi, usa dd
per creare una copia esatta della partizione di origine sulla partizione di destinazione appena creata.
Mentre il dd
copy è in corso, devi assicurarti che nulla cambi nel filesystem di origine, per non ritrovarti con una copia danneggiata sulla destinazione. Un modo per farlo è umount
la fonte prima di iniziare il processo di copia; un altro modo è montare il sorgente in modalità di sola lettura.