V tomto článku vám ukážem niektoré bežné spôsoby použitia servera dd príkaz v Linuxe. Na ukážku použijem Debian 9 Stretch. Malo by to však fungovať na akejkoľvek inej distribúcii Linuxu. Začnime.
Vytvorenie bootovacej jednotky USB pomocou programu dd:
Vytvorenie bootovacej jednotky USB vášho obľúbeného operačného systému pomocou dd príkaz je veľmi ľahký. Všetko, čo potrebujete, je USB disk a ISO alebo IMG obrázok operačného systému, z ktorého chcete vytvoriť bootovacie USB.
Predpokladajme, že ste si stiahli súbor ISO Obrázok Alpine Linux a súbor sa uloží do ~ / Súbory na stiahnutie adresár ako alpský štandard-3.8.0-x86_64.izo
Teraz môžete uviesť zoznam všetkých pripojených úložných zariadení alebo blokovať zariadenia pomocou nasledujúceho príkazu:
$ sudo lsblkAko vidíte, sú tu uvedené všetky pripojené úložné alebo blokovacie zariadenia. Tu, / dev / sdb je môj USB disk. Má dve priečky, / dev / sdb1 a / dev / sdb2. Ale keď vyrábate bootovacie jednotky USB, musíte použiť / dev / sdb, celé blokové zariadenie, nie žiadne oddiely.
Teraz vytvorte zavádzaciu jednotku USB systému Alpine Linux pomocou nasledujúceho príkazu:
$ sudo dd if = ~ / Downloads / alpine-standard-3.8.0-x86_64.iso = = / dev / sdb bs = 1M
Tu, ak =~ / Downloads / alpine-standard-3.8.0-x86_64.izo možnosť sa používa na zistenie dd že vstupný súbor je v ceste ~ / Downloads / alpine-standard-3.8.0-x86_64.izo a =/ dev / sdb možnosť sa používa na zistenie dd že výstupný súbor je v ceste / dev / sdb. Bs =1 mil povie dd čítať z ~ / Na stiahnutie / alpine-standard-3.8.0-x86_64.izo a napis / dev / sdb 1 megabajt dát naraz.
Ako vidíte, súbor ISO sa skopíruje do blokového zariadenia / dev / sdb. Teraz ho môžete použiť na inštaláciu Alpine Linux.
Tento príkaz je veľmi deštruktívny. The dd príkaz vymaže tabuľku oddielov a ďalšie metadáta, príznaky z blokového zariadenia. Musíte byť teda opatrní.
Zobrazenie ukazovateľa priebehu:
V predvolenom nastavení je dd príkaz nezobrazí žiadny indikátor priebehu. Ale dá sa povedať dd ukázať to pomocou stav = pokrok možnosť.
Napríklad na kopírovanie údajov z / dev / sda do / dev / sdb 1 megabajty súčasne a tiež zobrazte indikátor priebehu, spustite nasledujúci príkaz:
$ sudo dd if = / dev / sda of = / dev / sdb bs = 1M status = pokrok
Ako vidíte, zobrazuje sa lišta priebehu. Môžete vidieť, koľko údajov sa skopíruje a ako rýchlo sa kopírujú.
Meranie výkonu čítania a zápisu úložného zariadenia pomocou nástroja dd:
Môžete merať rýchlosť čítania a zápisu na pamäťové zariadenie pomocou dd veľmi ľahko. Samozrejme, existuje veľa grafických softvérov, ktoré tieto informácie poskytujú, ale milovníci príkazového riadku by ich považovali za veľmi zaujímavé.
Najskôr musíte do diskového systému pripojiť oddiel alebo úložné zariadenie. Ak na svojom úložnom zariadení nemáte oddiel, môžete ho kedykoľvek vytvoriť pomocou súboru fdisk a naformátujte ho na požadovaný súborový systém (napr FAT32, EXT4, NTFS, XFS atď). Tu predpokladám, že máte oddiel / dev / sdb1 a je naformátovaný ako EXT4.
Povedzme, že sa chcete pripojiť / dev / sdb1 oddiel do / mnt adresár, potom spustite nasledujúci príkaz:
$ sudo mount / dev / sdb1 / mnt
Ako vidíte, oddiel / dev / sdb1 je namontovaný na / mnt adresár.
$ df -h
Teraz vytvorme 1 GB súbor testrw v / mnt adresár s dd:
$ sudo dd if = / dev / zero of = / mnt / testrw bs = 1G count = 1 oflag = directTu, počet = 1 znamená, čítať bs = 1G čo je 1 gigabajt od / dev / nula, a napíš to / mnt / testrw spis.
The oflag = priamy možnosť slúži na zakázanie ukladania do pamäte cache disku. Ak je povolené ukladanie do pamäte cache pre disk, nebudete mať veľmi presné výsledky.
POZNÁMKA: Pamätajte, že pre túto operáciu musíte mať v počítači najmenej 1 GB voľnej pamäte alebo RAM. Ak si nemôžete dovoliť toľko voľnej pamäte RAM, zmenšite veľkosť bs. Napríklad nastaviť bs = 128 miliónov alebo ešte menej, bs = 64 miliónov.
Ako vidíte, rýchlosť zápisu na moju jednotku USB je asi 6.1 MB za sekundu.
Môžete tiež otestovať rýchlosť čítania z vášho úložného zariadenia pomocou nasledujúceho príkazu:
$ sudo dd if = / mnt / testrw of = ~ / Downloads / test bs = 1G počet = 1 oflag = priamy
Ako vidíte, môžem čítať o 4.3 MB za sekundu.
Testovanie latencie úložného zariadenia pomocou nástroja dd:
Latencia úložného zariadenia je čas, ktorý je potrebný na prístup k zariadeniu. Je to dôležitý parameter, ktorý môžeme určiť pomocou dd príkaz.
Na testovanie latencie môžeme X-krát zapísať alebo prečítať malé kúsky dát (asi 512 bajtov) naraz a zistiť, ako dlho to trvá. Potom môžeme vypočítať, ako dlho trvá veľmi ľahké prečítanie alebo zápis jedného bloku údajov. Toto sa nazýva latencia úložného zariadenia.
Povedzme napríklad, že chcete vypočítať latenciu zápisu. Teraz spustite nasledujúci príkaz a napíšte 512 bajtový blok asi 1000 krát:
$ sudo dd if = / dev / zero of = / mnt / testX bs = 512 count = 1000 oflag = direct
Ako vidíte, trvá to asi 16.4541 sekúnd na napísanie 1 000 kúsky 512 bajtové údaje. Teraz, aby sme napísali jeden kus dát, to trvá asi (16.4541s / 1000 = 0.0164 s) 0.0164 sekúnd. Takže latencia zápisu je asi 0.0164 sekúnd pre toto úložné zariadenie.
Rovnakým spôsobom môžete vypočítať latenciu čítania.
Takto teda používate dd a testujete s ním výkon I / O zariadenia. Ďakujeme, že ste si prečítali tento článok.