čtvrtek 26. prosince 2013

Jak naklonovat disk

Po odchodu disku ze starého notebooku do věčných lovišť jsme museli vyřešit otázku, co s ním dál. Má cenu do něj kupovat nový disk, odvezeme ho do sběrného dvora, či ho prodáme přes nějaké webové tržiště? Zvítězila varianta první a tak jsem v czc.cz koupil nový 500GB disk. Aby to ale nebylo tak lehké, v novém notebooku se disk začal chovat podivně, budeme tedy disk chtít naklonovat.
Vědom si možnosti dd jsem chvíli googlil, než se mi podařilo najít skvělou utilitu, kterou Western Digital nabízí zdarma a je postavena na řešení Acronis. Utilitu jsem tedy stáhl, nový disk připojil přes USB redukci a těšil se, jak ho briskně naklonuji. Ale ouha, disk nešel zvolit jako cílové medium, zřejmě kvůli té USB redukci.
Pokusil jsem se vymontovat optickou mechaniku, abych zjistil, že disk stejně do šachty nestrčím a použité konektory jsou trochu jiné. Nakonec jsem se tedy vrátil k linuxovému dd. Nabootoval jsem z flashky KALI linux, v shellu si dobře zjistil, jaký disk je ten zabudovaný a po připojení příkazem dmesg to, jaký disk je ten externí. To je hodně důležité, pokud si místo kopie nechcete udělat ze starého disku prázdný ;)
Třikrát jsem vše překontroloval, než jsem spustil:
dd if=/dev/sda of=/dev/sdc
Když ani po dvou hodinách příkaz nekončil, nechal jsem počítač běžet a šel spát. Ráno bohužel pořád běžel. Pojal jsem podezření, které se bohužel potvrdilo, zapomněl jsem nastavit velikost přenášených bloků, standardně jde jen o 512kB, což je ukrutně málo. Dnešní disky s 16MB cachí jsou tímto nastavením hodně bržděny. Nastavil jsem tedy bloky na 16MB a spustil příkaz znovu: 
dd if=/dev/sda of=/dev/sdc bs=16M
Vrtalo mi ale hlavou, jak lidé vědí, v jakém stavu se kopírování nachází. Je na to úžasný příkaz, stačí poslat dd signál USR1 a vypíše, v jakém stavu se momentálně nachází. Nejprve tedy najdeme PID běžícího příkazu:
ps -ef | grep dd
kill -USR1  
DD pak vypíše, jak rychle kopíruje. Mě se nastavením bloků podařilo proces zrychlit z 5 na 25MB/s. Předpokládaný čas pro naklonování 500GB disku se tedy vyšplhal k 5 hodinám. Předpokládám, že kdybych oba disky napojil na desktopovou sběrnici, kopírování by bylo ještě rychlejší, možná i s jiným nastavením bloků by se povedlo proces zrychlit, ale jsou svátky, není kam spěchat. Rozmontovávat další počítač se mi navíc stejně nechce :)