BTRFS: migrazione verso un nuovo disco (con calma)
Mi serviva un sistema per passare gradualmente i contenuti di un mio disco magnetomeccanico verso uno SSD, prevedendo un periodo di RAID 1 per vedere come si comportava la nuova unità SSD.Prima di tutto il disco di destinazione va formattato, usando l'opzione “ -f ” del comando sotto:
# sdA => disco sorgente ; sdB => disco nuovo, di destinazione mount /dev/sdA1 /m/montatoA/ btrfs device add -f /dev/sdB1 /m/montatoA/
Poi bisogna convertire in RAID1 il filesystem (che per adesso è uno stripe):
btrfs balance start -v -mconvert=raid1 -dconvert=raid1 /m/montatoA/
Adesso i due filesystem hanno gli stessi dati, ma non possono essere montati normalmente. Si possono montare singolarmente soltanto in modalità degradata (che è un montaggio in lettura/scrittura).
mount -o degraded /dev/sdB1 /m/temp1/
Quando si vuole rendere indipendente il nuovo disco, lo si può attaccare da solo, montarlo in modalità degradata e poi eseguire il comando seguente.
btrfs balance start -f -mconvert=dup -dconvert=single /m/montatoB/
Adesso si deve rimuovere il device sorgente. Prima di tutto stampare i devid dei device riconosciuti:
btrfs filesystem show /m/montatoB/
Quello da rimuovere è quello che ha 0 bytes usati.
# X => il numero del devid . E' un numero intero piccolo, tipo “1” o “2”. btrfs device remove X /m/montatoB/
Si può eseguire la stessa procedura anche sul disco sorgente. Il disco sorgente potrebbe non mostrare il devid da togliere. In tal caso, mettere il numero più alto che si trova nella lista e aggiungere 1.
Per esempio, se “
btrfs filesystem show /m/montatoB/
” stampa questo:devid 1 size ... used ... path /dev/sdB1 *** some devices missing
... eseguire:
btrfs device remove 2 /m/montatoB/
2022
23 apr
23 apr