dd命令安裝Linux

2020-07-16 10:04:45
面對大批次伺服器的安裝,人們往往熱衷於選擇“無人值守安裝”的方式,而此方式需要對伺服器進行過多的設定,並不適合初學者。

無人值守安裝(Kickstart),又稱全自動安裝,其工作原理是,建立一個名為 ks.cfg 的檔案記錄 Linux 系統在安裝過程中需要人工干預填寫的各種引數,當安裝過程中出現要填寫引數時,安裝程式會自行去 ks.cfg 檔案中查詢合適的引數,如果沒找到,還是需要手工干預。因此,在 ks.cfg 檔案涵蓋安裝過程所有可能需要填寫的引數的前提下,安裝者只需要告訴安裝程式 ks.cfg 檔案的位置,就可實現全自動安裝。

本節介紹使用 dd 命令實現硬碟複製,間接實現安裝 Linux 系統的方法,此方式類似 Windows 下用 GHOST 軟體進行硬碟克隆。

首先,我們先來系統了解一下  dd 命令。

對於初學者來說,本節內容可在掌握常用 Linux 命令後再行學習。

Linux dd 命令是什麼

dd 命令是用來複製檔案的命令,它可以用指定大小的資料塊複製一個檔案,並在複製的同時進行指定的轉換。簡單地理解,dd 命令可用於進行兩塊硬碟之間的複製(完整複製出一塊和原系統磁碟一樣的硬碟)。

dd 命令的格式如下:

[[email protected] ~]# dd if=輸入檔案 of=輸出檔案 bs=位元組數 count=個數


選項:
  • if=輸入檔案:指定原始檔或源裝置;
  • of=輸出檔案:指定目標檔案或目標裝置;
  • bs=位元組數:指定一次輸入/輸出多少位元組,即把這些位元組看作一個資料塊;
  • count=個數:指定輸入/輸出多少個資料塊;

【例 1】
[[email protected] ~]# dd if=/dev/zero of=/root/testfile bs=1k count=100000
#建立一個100MB大小的檔案testfile,/dev/zero是一個輸入裝置,可以使用它來初始化檔案,該裝置無窮盡地輸出0,可以理解為向testfile中不停地寫0,直到寫滿100MB;

【例 2】
[[email protected] ~]# dd if=/dev/sda of=/dev/sdb
#把第一塊硬碟中的資料複製到第二塊硬碟中

【例 3】
[[email protected] ~]# dd if=/dev/hda of=/root/image
#把第一塊硬碟中的資料複製到image檔案中

使用 dd 命令複製硬碟,需滿足以下兩個前提條件:
  1. 需要批次複製的伺服器硬體設定一致。通常,採購伺服器都是批次採購的,伺服器的設定都是一樣的。
  2. 複製硬碟的時候,需要手工更換被複製盤。伺服器上一般都是 SCSI 硬碟,SCSI 硬碟支援熱插拔,而且不需要拆卸機箱,更換被複製盤非常方便。

實際上,筆者當年維護大批次伺服器時採用的就是 dd 複製,而不是無人值守安裝。

dd命令安裝Linux詳細步驟

通過以上的學習我們知道,使用 dd 命令安裝 Linux,實際上就是硬碟之間的完整拷貝,其實現過程如下:
  1. 把母盤插入伺服器的第一個硬碟插口,把被複製盤插入伺服器的第二個硬碟插口,注意不要插反。
  2. 執行複制命令 dd if=/dev/sda of=/dev/sdb。在 dd 命令中,if 指定複製源,of 指定複製目標。/dev/sda 代表第一塊 SCSI 盤,/dev/sdb 代表第二塊 SCSI 盤。這條命令會把第一塊硬碟中的資料完整地複製到第二塊硬碟中。

經過以上兩步,即可實現將伺服器之間的複製。那麼,此方法的效率如何呢?由於複製的速度和伺服器的設定及安裝軟體的多少相關,因此每台伺服器的複製時間約為15?25分鐘,效率還可以接受。

選擇無人值守安裝的方式,也要受到伺服器端設定和網路頻寬的影響,而且硬碟複製也可以多台伺服器同時操作。