linux dd命令實戰

來源:互聯網
上載者:User

1. linux dd讀取寫入磁碟速度

time有計時作用,dd用於複製,從if讀出,寫到of。if=/dev/zero不產生IO,因此可以用來測試純寫速度。同理of=/dev/null不產生IO,可以用來測試純讀速度。bs是每次讀或寫

  的大小,即一個塊的大小,count是讀寫塊的數量。

  指定出讀取,寫入檔案到硬碟的速度

  1.測/目錄所在磁碟的純寫速度:

  [root@base-dmz1 /]# time dd if=/dev/zero bs=1024 count=1000000 of=/1Gb.file

  1000000+0 records in

  1000000+0 records out

  1024000000 bytes (1.0 GB) copied, 2.57314 seconds, 398 MB/s

  real    0m2.787s

  user    0m0.920s

  sys     0m1.867s

  以上是因為使用了time才顯示的,linux5中不需要使用,在linux4中是不會有(1024000000 bytes (1.0 GB) copied, 2.57314 seconds, 398 MB/s)部分,因此需要time命令來計

  算複製的時間。

  2.測/目錄所在磁碟的純讀速度:

  dd if=/kvm/ftp/other/1Gb.file bs=64k |dd of=/dev/null

  382860+0 records in

  382860+0 records out

  3136389120 bytes (3.1 GB) copied, 68.38 seconds, 45.9 MB/s

  real    1m8.406s

  user    0m0.039s

  sys     0m4.573s

  3.測讀寫速度(這是什麼):

  dd if=/vat/test of=/oradata/test1 bs=64k

  dd: writing `/oradata/test1': No space left on device

  5025+0 records in

  5024+0 records out

  329261056 bytes (329 MB) copied, 23.8813 seconds, 13.8 MB/s

  註:理論上複製量越大測試越準確。

2. 使用Linux dd命令作硬碟複製

來源硬碟:IBM 20G 5400RPM FAT16分區1;Linux native分區1;FreeBSD分區1,內又分為一個主Sillice和一個Swap Sillice;擴充分區1,4個邏輯分區,其中最後一個是Linux Swap分區。IDE1 Master 
目標盤:西部資料30G 7200RPM,空白盤。IDE2 Master 
進入Linux,運行: dd if=/dev/hda of=/dev/hdc 
dd就是Linux/Unix下通用的複製、鏡像程式,if=輸入的檔案 of=輸出的檔案。由於在Linux下所有的硬體都表示為檔案,所以可以進行任何複製、複製。比如還可以把/dev/hda複製到MO、磁帶以及映像檔案中,當然,目標“檔案”必須比原“檔案”大,不然就會溢出。 
20G的硬碟複製了大約不到2個小時,在整個過程中,使用K6-2 500CPU,UDMA2開啟的情況下,CPU佔用率只有18%-19%,從來沒有超過20%。在此期間還可以玩玩掃雷、國際象棋等遊戲,也可以看看文檔、協助什麼的,但是最好不要作寫操作。當然你可以估計時間,在複製進程還沒有到Linux分區,或者已經過了Linux分區的時候,也可以進行寫操作,但是要當心! 
最後,dd會報告一共複製了多少位元組,這就是來源硬碟的實際大小。完成以後,30G的西部資料硬碟就跟原來的IBM硬碟“一模一樣”了,只不過是後面有10G的空空間,你可以在份一個分區(我的硬碟不能在分主要磁碟分割了,因為4個Primray分區已滿,只能在芬邏輯分區),或者用PQ、Fips擴大原有的分區。如果你什麼都不做,那麼從新啟動Win98以後,跟原來是一模一樣的。如果啟動Linux,就有了一些問題,因為對於新硬碟來說,相當於運行完了dd程式就切斷了電源,因此檔案系統處於un
clean狀態,在啟動的時候會報錯,不要怕,輸入root密碼,然後運行:fsck / 這就啟動了檔案系統檢測程式,相當於Windows下的磁碟檢測,對於所有的問題都回答“y”,大部分都是/tmp的問題,無關緊要的。修複完畢,輸入:reboot就可以安全的啟動Linux了! 

總的來說,Linux下的dd相對於Ghost各有所長。dd的複製是完全基於二進位的物理複製,從硬碟的第一個位元組道最後一個位元組,完全一樣的複製了一邊,所以是最保險、最準確的。而且由於dd是物理複製,所以只要是硬碟上存在的分區,無論Linux是否認識,甚至是Linux認不出是什麼的一段資料,都可以原原本本的複製,例如FreeBSD分區、其他動作系統的分區,甚至加密扇區什麼的,就連邏輯壞塊也原樣複製!因此除非出現物理問題,不然dd是絕對不會出錯的!而Ghost則比較“進階”一些,可以在複製的時候改變分區大小(他認識的分區格式),壓縮映像檔案(dd本身不具有壓縮功能,但是可以用gzip、bzip2等工具壓縮產生的檔案),在Windows下還有explore軟體可以單獨提取檔案出來,還有網路功能,而且速度也要比dd快一些(好像Ghost使用了較大的緩衝)。另外一點dd的優勢在於,在複製的同時還可以幹些別的事情,不像Ghost那樣只能乾等。因此從這方面來看,dd的速度又要比Ghost快,因為它完全佔用系統的時間是零! 
其它Unix下的dd操作跟Linux下的雷同,只不過是/dev/hda的稱謂變化一下。我 

在FreeBSD4.2下實驗過,效果跟Linux下完全相同,時間稍微長一點點,但是在FreeBSD下,dd的CPU佔用率有時會達到30%以上。 
如果你的來源硬碟是IDE,而目標盤是SCSI的,這時要注意了,雖然對於硬體來說是沒有什麼問題,因為現在的Linux還是FreeBSD都支援隨插即用;但是,/etc/fstab檔案需要修改,在dd之前要把所有的hda改成sda,然後再改回來^_^


來源:

http://news.newhua.com/news1/Skills_System/2010/76/1076143929KD4FCHE9CDKAK2GEH64F1109GA213EDA8EHH0BE44K90J.html

http://blog.21ic.com/user1/3108/archives/2008/46201.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.