Linux: Flytta /home mm till ny HDD, bästa srategi?

Permalänk
Medlem

Linux: Flytta /home mm till ny HDD, bästa srategi?

Jag har ett hemmabygge med 2 SSD och en HDD. På en SSD ligger min Manjaro Linux och på den andra en Windows 10 som körs i VirtualBox vid enstaka tillfällen. På HDDn ligger /home (1.4TiB) och /opt (466GiB).

HDDn har börjat krångla, vid random (från min synpunkt) tillfällen hänger sig allt och efter återstart kan jag se i loggarna att reparation skett på /home-partitionen. Jag har en ny, eller nästan ny HDD på 4TB som är formatterad med ext4 i två partitioner en på 1,9TiB och en på 1,7TiB.

Bästa strategi för att föra över data från /home och /opt till den nya HDDn för att sedan låta dem byta plats?

Har inga problem med hur just platsbytet ska gå till, tänker bara styra om i fstab när jobbet är över och på sikt plocka ur den gamla HDDn.

Permalänk
Medlem

Eftersom din HDD inte verkar må bra finns det risk att den vid läsning kan bli värre, så det är bäst att inte stressa disken så mycket. Du kan testa med ddrescue som verkar kopiera och sanity-checka dem bra blocken först, och går att pausa och resuma.

https://www.tutorialspoint.com/unix_commands/ddrescue.htm
http://manpages.ubuntu.com/manpages/xenial/man1/ddrescue.1.ht...

Jag har tyvärr ingen erfarenhet av detta verktyget så någon annan med mer info får gärna flika in.

Permalänk
Medlem

Hmm, mounta nya disken och kopiera över filer lite i taget (mest för att du själv ska ha koll på vad som är kopierat)? Ser inte att du kan göra på något direkt annat sätt.

Datan måste läsas ut, undvik skrivningar som är betydligt värre ur kraschsynpunkt.

Permalänk
Medlem

Testar just nu ddrescue. Verkar funka bra. Tar mycket tid dock men det är väntat, skulle naturligtvis raderat alla cache-filer men ville inte kladda för mycket i disken. Rapporterar hur det gick ngn gång ikväll.

Permalänk
Medlem

Linux: Flytta /home mm till ny HDD, bästa strategi? Lösningen

ddrescue fungerade fint men lite strul blev det, mest för att jag inte läste dokumentationen.

1.
Jag monterade den nya disken i min USB 3.0 To SATA/IDE Adapter (som jag glömt vad det heter men här är en länk till en motsvarande men modernare, min är större, äldre och har extern strömförsörjning)

Den gamla HDDn var monterad på /dev/sdb1 (/home) och /dev/sdb2 (/opt).
Den nya monterades på /dev/sde1 respektive /dev/sde2

2.
Installerade ddrescue.

3.
Sedan läste jag som vanligt de första raderna i "man ddrescue" och slog upp en internetsida där någon berättade hur det går till men det stämde inte alls så jag tänkte som vanligt att "hur svårt kan det vara?" och körde igång ... Men det visade sig att det krävdes en extra parameter, så kommandona blev

ddrescue --force -v /dev/sdb1 /dev/sde1

och

ddrescue --force -v /dev/sdb2 /dev/sde2

Allt som allt tog det 3 1/2 timme

4.
Kör fschk på partitionerna, helvete inget hittas! Vanudåda! Kolla med lsblk! Partitionerna på den nya disken har fått samma UUID som partitionerna på den gamla! Såklart! Det är ju bit-för-bit-kopior av den gamla diskens data.

5.
Jag vill inte bara byta disken och hoppas nu när jag redan gjort bort mig. Ingen data syns ju eftersom den nya disken inte kan monteras.
Så, gå igenom partitionerna och sätt dit de gamla UUIDerna (som jag hade antecknat).

e2fsck -f /dev/sde1
tune2fs -U c7b0d345-9070-43d6-9338-f11e41a91e83 /dev/sde1
e2fsck -f /dev/sde2
tune2fs -U 2028e13a-8f1a-4e69-9ec9-f17357529110 /dev/sde2

Montera, och se, det funkar, allt är lika på de båda diskarna så det här steget var onödigt.

6.
Ändra i /etc/fstab,
stäng av datorn
byt diskarna
starta igen
Allt funkar som det ska.
Stäng av datorn,
bort med gamla disken,
starta igen och klart!

Egentligen kunde jag ha struntat i 4, 5 och delar av 6 och bara öppnat datorn, bytt diskarna och startat om. Hade inte behövt ändra i /etc/fstab eftersom de nya partitionerna fått samma UUID som de gamla. Men gammal i gården vet att strula till det. Man ska tydligen läsa mer än de första tre raderna i dokumentationen OCH följa det man läser. Men nu fungerar det med färsk hårddisk och en ny läxa som jag väl glömmer till nästa gång...

Permalänk
Medlem

Efteråt visade det sig att jag blev tvungen att avmontera den nya disken och med hjälp av gparted kontrollera och reparera de nya partitionerna eftersom ddrescue bara använde så mycket av partitionerna som stämde med storleken på de gamla, resten ansågs vara oallokerat.

Det gick också bra men det var viktigt att inte "nolla" den gamla disken av flera anledningar.

Thunderbird som jag använder som mailprogram ville inte kännas vid den nya diskens .thunderbird-profil så jag gjorde som jag gjort vid datorbyten, jag slängde .thunderbird-mappen och kopierade den gamla diskens .thunderbird till den nya disken och vips så fungerade det fast jag inte förstår varför men det har fungerat i alla år att göra så och det är rekommendationen i dokumentation jag hittat.

Så den gamla disken får bli liggande tills jag ser att inga fler problem uppstår, men tack till både @Cloudstone för förslaget om ddrescue och @Dimman för idén att ta lite i taget (vilket jag ju bara gjorde med .thunderbird)

Rättade stavfel