1. 程式人生 > >在機房內通過網路安裝方法和Ghost安裝Solaris的介紹

在機房內通過網路安裝方法和Ghost安裝Solaris的介紹

在機房內通過網路安裝方法和Ghost安裝Solaris的介紹

隨著Solaris的安裝越來越簡單,在單機上安裝Solaris只需要有一個DVD光碟機,點一點滑鼠就可以完成。但是對於機房動輒幾十臺上百臺的機器來說,裝機是一件非常痛苦的事情。本文介紹網路安裝Solaris的方法和通過Ghost安裝Solaris,可以提高裝機的效率。

網路PXE安裝Solaris

網路安裝Solaris在網站上和電子書都有非常詳細的敘述,詳細內容可以查閱:

http://docs.sun.com/app/docs/doc/819-0325/ejurp?l=zh&a=view

下面以我在機房裝機的過程,簡單的把重要的步驟列出來,僅供參考:

我所安裝機房的機器配置是x86機器,P4 2.8G1G記憶體,百兆的乙太網,欲安裝B80。網路安裝最重要的就是配置伺服器以及網路環境,按照手冊裡面所說,名稱伺服器,安裝伺服器,引導伺服器都應該是不同的節點,但由於資源有限,我就將這幾個伺服器在同一個節點上實現。

首先是要將每臺機子連到同一個區域網內,然後可以選擇區域網內任何一臺機子作為伺服器。注意:建議選一臺有高速IO和高速乙太網出口的機子作為區域網內的伺服器,否則網路會成為瓶頸。而且還要保證機房的每一臺機器都可以通過網路引導,即支援PXE。選擇好伺服器,然後安裝上DVD光碟機,把Solaris B80DVD盤放入。在Solaris中識別到即可。

建立安裝檔案映象目錄

# mkdir -p install_dir_path

install_dir_path表示要將光碟上的內容拷到硬碟上的目標目錄,至少要有4.3G的剩餘空間。

找到到光碟所在的目錄,進入到 /Solaris_11/Tools/目錄。執行下面的命令將驅動器中的 DVD 映像複製到安裝伺服器的硬碟上。

# ./setup_install_server install_dir_path

啟動nfs

如果nfs沒有啟動,需要按照以下步驟啟動nfs

將下面一句新增到 /etc/dfs/dfstab檔案,使安裝伺服器可用於引導伺服器。

share -F nfs -o ro,anon=0 -d "install server directory" install_dir_path

使用smf啟動nfs服務並開啟共享:

# svcadm enable svc:/network/nfs/server

# shareall

以上的步驟是非常簡單的,而且不會出什麼差錯。

下面的步驟很關鍵,就是新增客戶端和對DHCP的設定:

新增客戶端

# ./add_install_client -d -s install_server_ip: install_dir_path SUNW.i86pc i86pc

以上命令就是表示將新增子網內的客戶端。

對於以上引數的解釋如下:

-d指定客戶機使用 DHCP 來獲取網路安裝引數。

-s install_server:install_dir_path

指定安裝伺服器的名稱和路徑。

install_server是安裝伺服器的主機名。nstall_dir_path Solaris 10 DVD 映像的絕對路徑。

client_name

是要從網路安裝的系統的名稱。就是命令列中的SUNW.i86pc

platform_group

是要安裝的系統的平臺組。就是命令中的i86pc

配置DHCP

要想讓上一步的命令生效,需要對DHCP伺服器進行配置。首先將區域網內的其他DHCP伺服器關閉,在本機啟動DHCP管理器:

/usr/sadm/admin/bin/dhcpmgr

按照嚮導一步一步先將DHCP伺服器建立完成,然後看看區域網內的機器能不能分配到ip地址(這一步可以在其他作業系統中進行)。如果DHCP沒有問題則需要配置DHCP伺服器,供應商選項SinstNM, SinstIP4, SinstPTH, SrootNM, SrootIP4, SrootPTH, SbootURI是一定要配置的。

開啟DHCP管理器的選項卡,然後逐一建立選項,具體的數值請參考手冊中的介紹,然後選擇供應商,型別選擇SUNW.i86pc

配置好選項後需要建立一個SUNW.i86pc的巨集(macro)。建立好巨集之後,填入以下引數:

Install server(SinstNM): install_server_ip

Install server IP(SinstIP4) : install_server_ip

Install server path (SinstPTH) : install_dir_path

Root server name(SrootNM): Solaris

Root server IP(SrootIP4) : install_server_ip

Root server path(SrootPTH) : install_dir_path/Solaris_10.1/Tools/Boot

Boot file(BootFile) : nbp.SUNW.i86pc

在上一步新增客戶端的過程中,執行完命令列後會有一段類似的文字:

If not already configured, enable PXE boot by creating

a macro called PXEClient:Arch:00000:UNDI:002001

which contains the following values:

Boot server IP(BootSrvA) : 192.168.1.200

This macro will be explicitly requested by the PXE boot.

所以我們還需要建立一個PXEClient的巨集。巨集的名稱就是這段文字中的PXEClient:Arch:00000:UNDI:002001,具體請參考各自伺服器的輸出。巨集的內容與SUNW.i86pc的內容一樣。

這樣我們主要的工作就已經做完了。這時候選擇一臺區域網內的機器,重啟然後選擇網路啟動,可以看到只要能夠分配到ip並且讀取到boot file那麼就可以順利進行安裝了。安裝的過程與光碟安裝有少少不同,不過全部都是基於GUI介面安裝的,非常方便。

可以參考另外一個非常完整的手冊,不過是英文的:

Ghost安裝Solaris

對於機房來說,Ghost是最常使用的軟體。通過嘗試,可以使用Ghost來批量安裝Solaris。主要原理就是利用機房的機器配置完全一樣的特點,我們對每一臺機器都採用了相同的分割槽結構,這樣在一臺機子上面安裝好之後,將整個Solaris所在硬碟分割槽進行克隆。然後在其他的機子上進行恢復。Ghost可以將分割槽直接寫為UFS,標記為BF。我們所需要做的工作就是安裝Grub

隨便找一張Solaris安裝盤,看到啟動後的Grub選單按c,進入grub>

找到硬碟上已安裝的Solaris系統的位置

grub>find  /platform/i86pc/multiboot

(hd0,2,a) ----上條語句的執行結果,顯示Solaris系統啟動分割槽。

我們也可以查詢另一個檔案:find /boot/grub/menu.lst

執行以下命令即可手動啟動Solaris

grub>root (hd0,2,a)

Filesystem type is ufs, partition type 0x000000bf

grub>kernel$ /platform/i86pc/kernel/unix

grub>module$ /platform/i86pc/boot_archive

grub>boot

進入Solaris後,使用root身份安裝grub,最後重新啟動系統

#cd /usr/sbin

#installgrub -m /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0d0s0 (重新安裝grub

輸出:Updating master boot sector destorys existing boot managers (if any) Continue (y/n)? y

stage1 written to partition 1 sector 0 (abs 31455270)

stage2 written to partition 1, 233 sectors starting at 50 (abs 31455320)

stage1 written to master boot sector

重啟之後Grub就應該可以使用了。

但是在我所安裝的機房出現一個特別有意思的情況,就是無論用什麼方式安裝完Solaris之後都無法出現Grub選單,啟動系統後只能看到黑屏的左上角有大寫的GRUB,然後就是一個閃閃的游標。這樣的問題我遇到過幾次,通過總結可能是因為硬碟分割槽表的問題,也就是說Grub在安裝的時候並沒有寫入到MBR裡面去。通過摸索,執行以下幾條命令即可修復:

grub>root (hd0,2,a)

grub>setup (hd0)

grub>install /boot/grub/stage1 (hd0) /boot/grub/stage2 /boot/grub/menu.lst

grub>setup (hd0,2,a)