在機房內通過網路安裝方法和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.8G,1G記憶體,百兆的乙太網,欲安裝B80。網路安裝最重要的就是配置伺服器以及網路環境,按照手冊裡面所說,名稱伺服器,安裝伺服器,引導伺服器都應該是不同的節點,但由於資源有限,我就將這幾個伺服器在同一個節點上實現。
首先是要將每臺機子連到同一個區域網內,然後可以選擇區域網內任何一臺機子作為伺服器。注意:建議選一臺有高速IO和高速乙太網出口的機子作為區域網內的伺服器,否則網路會成為瓶頸。而且還要保證機房的每一臺機器都可以通過網路引導,即支援PXE。選擇好伺服器,然後安裝上DVD光碟機,把Solaris B80的DVD盤放入。在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)