Portál AbcLinuxu, 3. května 2025 23:57

Výměna SSD disků systémového disku s Btrfs v módu raid1

22.1.2014 15:05 | Přečteno: 1279× | Za vším hledej Linux | Výběrový blog | poslední úprava: 22.1.2014 15:31

Konečně dorazily dva nové SSD disky Samsung SSD 840 EVO 120G, jimiž jsem měl v úmyslu nahradit dva stávající SSD disky OCZ-VERTEX3 60GB, kterým minulý týden skončila záruka. Pro disky o něco větší jsem se rozhodnul především z toho důvodu, že za uplynulý rok objem mnou skladovaných git repozitářů přeci jenom o nějaký ten gigabajt vzrostl a také se mi moc nelíbilo procento zbývajícího místa - prakticky nebylo kam dělat snapshoty.

Možnosti, jak přehodit data byly prakticky dvě:

  1. Vyměnit rovnou jeden ze stávajících disků, namountovat Btrfs v degradovaném režimu a pak do něj rovnou přidat nový disk
  2. Vyměnit jeden ze stávajících disků, ten pak připojit přes USB adaptér, namountovat Btrfs v normálním raid1 módu, přidat nový disk a pak odstranit z Btrfs FS původní disk

Rozhodnul jsem se pro druhou variantu. Především z toho důvodu, že mi přišla z hlediska zachování dat bezpečnější. Co kdyby na degradovaném disku nebyly některé odzrcadlené bloky v pořádku?

Přehození disku z rámečku

Nejprve jsem připojil nový disk přes USB adaptér a vytvořil na něm primární diskový oddíl. Zapoměl jsem mu však nastavit bootovací flag, což se později ukázalo jako trapné opomenutí - takže bacha na to.

Pak jsem notebook vypnul a vyměnil ho za disk v rámečku. Před zapnutím notesu jsem původní disk přes adaptér zapíchnul do stroje, aby při startu neřval že mu něco chybí - stejně zařval, protože to byl zrovna původní disk /dev/sdb1, který fungoval jako primární, takže zavádění skončilo v ramdisku. Ramdisk ale obsahuje nástroj potřebný pro manipulaci s btrfs, tudíž žádná tragédie.

(initramfs) cat /proc/partitions
major minor  #blocks  name

   8        0  58615704 sda
   8        1  52428800 sda1
   8       16  117220824 sdb
   8       17  117217280 sdb1
  11        0    1048575 sr0
   8       32   58615704 sdc
   8       33   52428800 sdc1
(initramfs) btrfs fi show
Label: raid  uuid: 8d567f20-2ab3-436e-a52f-c7ed7e1c8879
        Total devices 2 FS bytes used 37.21GiB
        devid    3 size 50.00GiB used 50.00GiB path /dev/sdc1
        devid    4 size 50.00GiB used 50.00GiB path /dev/sda1

Nejprve jsem vytvořil dočasný adresář /mnt, na který jsem namountoval kompletní Btrfs FS v módu raid1 a pak do něj přidal diskový oddíl nového disku, který se aktuálně hlásil jako /dev/sdb1. Domníval jsem se, že u nového disku by nemuselo být nutné provádět TRIM celého zařízení, proto jsem přidal také parametr "-K"

(initramfs) mkdir /mnt
(initramfs) mount /dev/sdc1 /mnt
(initramfs) btrfs device -K add /dev/sdb1 /mnt
(initramfs) btrfs fi show
Label: raid  uuid: 8d567f20-2ab3-436e-a52f-c7ed7e1c8879
        Total devices 2 FS bytes used 37.21GiB
        devid    3 size 50.00GiB used 50.00GiB path /dev/sdc1
        devid    4 size 50.00GiB used 50.00GiB path /dev/sda1
        devid    5 size 111.79GiB used 0.00GiB path /dev/sdb1

No a pak, aby se zrcadlené datové bloky z původního disku přesunuly na nový, jsem z Btrfs FS vyhodil blokové zařízení /dev/sdc1. Což sice možná nebyl ten správný krok, když jsem to měl skrz ně namountované, ale nešť. Zpočátku to bylo v pohodě, ale pak to začalo zvracet hlášky, které mě lehce znejistily - viz snímek 1.

..
[  706.647702] btrfs: bdev /dev/sdc1 errs: wr 901527, rd 657, flush 0, corrupt 0, gen 0
..

Při letmém prohledání googlem mi vypadly příspěvky z diskuzí, které obvykle měly položku corrupt nenulovou, tudíž jsem usoudil že nepůjde o nic fatálního. Ale v klidu jsem rozhodně nebyl. Také jsem si říkal, jestli za tím nevězí problematická komunikace přes USB převodník. Každopádně operace doběhla, Btrfs FS se jinak jevil v pořádku, tak jsem usb adaptér odpojil a stroj restartoval.

Vše naběhlo jako obvykle, tak jsem přikročil k výměně druhého disku.

Výměna vestavěného disku

Opět - nový dovnitř, původní na USB adaptér. Po restartu opět skončilo zavádění v ramdisku, takže nic nového. Vytvořil jsem adresář /mnt, zkontroloval diskové oddíly, připojil Btrfs FS, který měl zas jako primární zařízení /dev/sdc1, a přidal do něj diskový oddíl nového disku /dev/sda1. Tentokrát jsem ovšem vynechal parametr "-K". Průběh operace můžete vidět na snímku 2. Přesun dat se - na rozdíl od prvního disku - obešel bez jakýchkoliv chybových hlášek.

Po ukončení přesunu jsem stroj restartoval se stále zapíchnutým USB adaptérem, protože oba disky ve stroji dosud neměly nainstalován zavaděč, bylo třeba spustit..

root@stroj~# dpkg-reconfigure grub-pc

Pak jsem USB adaptér odpojil a opět provedl restart. Jak už jsem zmínil - opět to nedopadlo, ovšem díky mé vlastní nepozornosti, protože diskové oddíly na nových discích neměly nastaven bootovací příznak. Takže jsem adaptér opět připojil, nastartoval, nastavil boot flag, vytáhnul adaptér a tentokrát už dopadl restart OK.

That's all Folks!

       

Hodnocení: 100 %

        špatnédobré        

Obrázky

Výměna SSD disků systémového disku s Btrfs v módu raid1, obrázek 1 Výměna SSD disků systémového disku s Btrfs v módu raid1, obrázek 2

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

22.1.2014 16:35 Radek Podgorny | skóre: 16
Rozbalit Rozbalit vše Re: Výměna SSD disků systémového disku s Btrfs v módu raid1
Odpovědět | Sbalit | Link | Blokovat | Admin
chapu tedy spravne, ze bootujes primo z toho raid1 btrfs? tedy bez specialni boot partition? to umi grub sam o sobe? a je to boot naprimo nebo pres initrd (nebo podobne)?
http://podgorny.cz
22.1.2014 21:05 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Výměna SSD disků systémového disku s Btrfs v módu raid1
Jasně že to umí grub sám o sobě. Dokonce je s tím méně problémů než když máš nad RAID polem LVM. Já tedy používám ramdisk, ale šlo by to i bez něj.
22.1.2014 18:48 Alfonz
Rozbalit Rozbalit vše Re: Výměna SSD disků systémového disku s Btrfs v módu raid1
Odpovědět | Sbalit | Link | Blokovat | Admin
Aky mas presny typ notebooku a OS?
22.1.2014 21:09 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Výměna SSD disků systémového disku s Btrfs v módu raid1
HP ProBook 6475b s chipsetem AMD a procesorem A6-4400M APU. Provozuji na tom Debian unstable amd64. Aktuálně s distribučním kernelem 3.12-1-amd64, ale na ten jsem aktualizoval až dnes - předtím jsem tam měl vlastní kernel verze 3.9.3
22.1.2014 21:18 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Výměna SSD disků systémového disku s Btrfs v módu raid1
Mimochodem je tu o něm i blogpost z podzimu 2012.
23.1.2014 09:44 Analfabet
Rozbalit Rozbalit vše Re: Výměna SSD disků systémového disku s Btrfs v módu raid1
A ako po roku a daco? Spokojnost? Nehreje sa? Staci vykon?
23.1.2014 11:32 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Výměna SSD disků systémového disku s Btrfs v módu raid1
Výkon pro mou práci naprosto v pohodě. Co občas vadí je trochu hlučnější větrák. S těmi novými SSD se znatelně zlepšila odezva systému.
22.1.2014 21:06 Miriam | skóre: 3 | blog: zivot
Rozbalit Rozbalit vše Re: Výměna SSD disků systémového disku s Btrfs v módu raid1
Odpovědět | Sbalit | Link | Blokovat | Admin
Proč zrovna SSDčka od Samsungu?
22.1.2014 21:14 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Výměna SSD disků systémového disku s Btrfs v módu raid1
Narazil jsem na ně v nějaké recenzi, kde vycházely jako nejlepší volba. Mne osobně zaujal chipset - nechtěl jsem ten samý co měly ty dva roky staré Vertexy.
29.1.2014 14:03 RapMan | skóre: 14 | blog: RapMan
Rozbalit Rozbalit vše Re: Výměna SSD disků systémového disku s Btrfs v módu raid1
A je lepsi tato rada EVO nebo rada PRO, kdyz mi nejde ani tak o rychlost, ale hlavne aby dlouho vydrzel? Extremni zapisy nemam v planu...
29.1.2014 14:18 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Výměna SSD disků systémového disku s Btrfs v módu raid1
To všechno ukáže teprve čas.. Jenže to už dávno na trhu bude zase něco jiného ;-)
23.1.2014 11:44 Honz
Rozbalit Rozbalit vše Re: Výměna SSD disků systémového disku s Btrfs v módu raid1
Koupil jsem si přesně tu samou stodvacítku jako blogger výše a taky právě z toho důvodu, že má svůj vlastní čipset...
26.1.2014 15:14 biolog
Rozbalit Rozbalit vše Re: Výměna SSD disků systémového disku s Btrfs v módu raid1
Odpovědět | Sbalit | Link | Blokovat | Admin
Nebylo by jednodušší použít příkaz "btrfs replace"? Šlo by to udělat online, s kratším časem atd.

Viz Btrfs: Working with multiple devices (LWN), Btrfs: Add device replace code (patch, LWN), manuálová stránka
26.1.2014 18:30 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Výměna SSD disků systémového disku s Btrfs v módu raid1
Asi bylo, ohledně multidevice nemám všechno odzkoušeno.
26.1.2014 19:24 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Výměna SSD disků systémového disku s Btrfs v módu raid1
Ještě k tomu replace - použil bych ho za předpokladu, že bych prováděl přesun v rámci počítače, který může mít připojených více disků. To však nebyl můj případ.

V blogpostu jsem to nezmínil, ale problém těch SSD OCZ-VERTEX3 je v tom, že jejich sériové číslo, které vypisuje smartctl na nich nikde není zapsané, takže nebylo možné provést online přesun na diskový oddíl nového SSD připojeného přes adaptér a teprve pak provést výměnu disků. Po vypnutí noteboku by se totiž nedalo jednoznačně určit, který z disků byl vlastně nahrazen.

Při postupu, který je popsaný v blogpostu bylo jasné, který disk je nově přidaný a který disk je připojen přes adaptér - vždy to bylo zařízení /dev/sdc1.

Jinak operace "replace" v podstatě pouze zkombinuje operace "add" a "delete". Časově to vyjde nastejno.

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.