天天看點

2.6 使用dd指令安裝Linux系統

面對大批量伺服器的安裝,人們往往熱衷于選擇“無人值守安裝”的方式,而此方式需要對伺服器進行過多的配置,并不适合初學者。

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

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

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

對于初學者來說,本節内容可在掌握常用 Linux 指令後再行學習。

Linux dd 指令是什麼

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

dd 指令的格式如下:

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

選項:

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

【例 1】

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

【例 2】

[root@localhost ~]# dd if=/dev/sda of=/dev/sdb
#把第一塊硬碟中的資料複制到第二塊硬碟中      

【例 3】

[root@localhost ~]# 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分鐘,效率還可以接受。

選擇無人值守安裝的方式,也要受到伺服器端配置和網絡帶寬的影響,而且硬碟複制也可以多台伺服器同時操作。

十年磨一劍

繼續閱讀