下面我們共同探討一下Solaris 2.x的啟動(dòng)和關(guān)機。Solaris 2.x采用了基于Unix系統System V Release 4.0標準的靈活的啟動(dòng)過(guò)程,這就使得可以很容易地產(chǎn)生和定制在各個(gè)主機和系統上都通用的啟動(dòng)和關(guān)機過(guò)程,這與Solaris 1.x所用的簡(jiǎn)單的BSD風(fēng)格的啟動(dòng)過(guò)程形成了鮮明的對比,后者缺少針對不同的系統狀態(tài)啟動(dòng)腳本的不同組織形式。
談到啟動(dòng),首先要介紹一下Sun Sparc平臺下的EEPROM OpenBoot固件監視系統,它類(lèi)似于PC BIOS的芯片程序,其職責在于識別分區,文件系統和加載內核。在Solaris系統中,默認的內核文件存放在/platform/arch/kernel/unix位置,根據版本的不同可能略有差別。arch指令是指明系統的硬件結構體系,例如sun4u (sun ultrasparc)、i86pc(intel IA32)等。由于PC廠(chǎng)商有不同的BIOS系統,Sun Solaris X86版很難做到在其系統中有OpenBoot固件監控系統,只是提供了一個(gè)模擬EEPROM引導程序來(lái)負責內核的定位和加載。下面談到的 OpenBoot固件監視系統功能都是針對Sparc硬件平臺而言。
EEPROM OpenBoot固件監視系統(簡(jiǎn)稱(chēng)OBP),主要功能如下。
調整啟動(dòng)設備和啟動(dòng)參數
通過(guò)對命令對boot-device參數的設置,確定啟動(dòng)的設備及啟動(dòng)設備順序的調整。Sun SDS對根盤(pán)進(jìn)行鏡像后的設置和Vertias VxVm等卷管理軟件對根盤(pán)進(jìn)行封裝之后都需要在OBP進(jìn)行設置。參數設置如下所示:
檢測硬件故障
OBP中提供了簡(jiǎn)單的硬件檢測命令和模式。例如,檢測SCSI總線(xiàn)的終結狀態(tài),或者執行稱(chēng)為“上電自檢”的POST(Power-On Self Test,POST)檢測。OBP中提供了一些診斷工具以便測試系統中所安裝的硬件,ok help diag命令可以查看可用的test命令,部分命令如下所示:
編寫(xiě)啟動(dòng)程序
和許多Linux版本自帶的LILO Linux 、GRUB linux等加載器不一樣,OpenBoot不僅僅是一個(gè)簡(jiǎn)單的操作系統加載器,它還允許在啟動(dòng)進(jìn)程開(kāi)始前寫(xiě)入、加載和運行使用基于堆棧的Forth編程語(yǔ)言編寫(xiě)的程序。當為一個(gè)大企業(yè)定制服務(wù)器時(shí),通常要求在啟動(dòng)時(shí)顯示公司的標志而不是缺省的Sun標志,這時(shí),OpenBoot的這一特性就非常有用了??梢陨梢粋€(gè)用合適的像素構成的Forth數組,然后運行oem-logo命令。另外,在單用戶(hù)和多用戶(hù)init狀態(tài)中,也可以在啟動(dòng)后對變量的值進(jìn)行設定,這可以通過(guò)以超級用戶(hù)的身份運行eeprom命令實(shí)現。
OBP用戶(hù)界面(熟稱(chēng)OK態(tài))
可通過(guò)如下方式進(jìn)入OBP界面:
OBP中提供了幾個(gè)命令來(lái)顯示系統的信息,通過(guò)這些命令就可以大概了解系統的配置信息,如下所示:
設備樹(shù)與設備別名
設備樹(shù)的命名規則與Solaris設備的物理命名方式相同。顯示設備樹(shù)所用的命令如下所示:
在日常應用中,設備名的格式(/sbus@1f,0/esp@0,40000/sd@3,0:a)導致其在使用上很不方便,而使用設備別名卻是解決方法之一,如下所示的命令可以對設備別名進(jìn)行操作:
OBP啟動(dòng)順序
獲取在線(xiàn)幫助
在ok提示符下可以使用下面的命令獲取幫助:
從OpenBoot啟動(dòng)后,Solaris有幾個(gè)不同的操作模式,稱(chēng)為“運行等級”或“init狀態(tài)”。對于大多數系統來(lái)說(shuō),缺省的運行等級是init 3,它允許多個(gè)用戶(hù)登錄,并可運行各種程序,包括NFS。然而,要從OpenBoot轉入這個(gè)狀態(tài),需要經(jīng)過(guò)一系列預先規定的init狀態(tài)轉移,從單用戶(hù)(1,S)到多用戶(hù) (2 , 3)運行狀態(tài)。
Solaris軟件環(huán)境提供了一系列詳細的運行控制腳本,來(lái)控制運行等級的轉換,每一個(gè)運行等級都在/sbin目錄下有一個(gè)相關(guān)的rc腳本,它們也分別鏈接到/etc目錄: rc0, rc1, rc2, rc3, rc5, rc6, rcS。
Solaris的啟動(dòng)進(jìn)程是按照SYS V格式控制的,當系統內核運行完畢,加載好所有的驅動(dòng)之后,就會(huì )把控制權移交給/sbin/init進(jìn)程(PID:1) ——即所有進(jìn)程的父進(jìn)程——然后由init讀取/etc/inittab,依次執行/etc/rc1(2,3)啟動(dòng)腳本,最終到達inittab中指定的默認運行級別。整個(gè)系統啟動(dòng)過(guò)程如下:
下面是/etc中所有的啟動(dòng)運行腳本簡(jiǎn)要說(shuō)明:
rc0.d: eeprom OpenBoot狀態(tài),可以進(jìn)入硬件維護模式或關(guān)閉機器。
rc1.d: 單用戶(hù)模式,可以對系統進(jìn)行軟件維護。
S01MOUNTFSYS +加載文件系統。
S10lu =當運行live update后清理系統。
rc2.d: 多用戶(hù)模式,啟動(dòng)網(wǎng)絡(luò )工作站服務(wù)(最后會(huì )啟動(dòng)dtlogin允許圖形界面工作站)。
S01MOUNTFSYS
S05RMTMPFILES + 清空/tmp文件系統。
/tmp是系統緩存文件目錄,和swap分區共享空間,如果分區滿(mǎn)的話(huà)會(huì )對系統性能造成很大影響。
S10lu =
S20sysetup + 設置系統初始參數。
設置hostname等
S21perf = 性能記賬服務(wù)(無(wú)效)
開(kāi)啟accton記賬服務(wù),默認無(wú)效。
S30sysid.net + 配置基本網(wǎng)絡(luò )參數
設置系統IP地址
S40llc2 + 啟動(dòng)Class II logical link control driver
邏輯鏈路控制程序驅動(dòng)
S42ncakmod = 啟動(dòng)Solaris Network Cache and Accelerator (NCA)
NCA網(wǎng)絡(luò )緩存加速驅動(dòng),可以提高HTTP Server吞吐率。
S47pppd - 啟動(dòng)撥號訪(fǎng)問(wèn)服務(wù)器進(jìn)程
串行線(xiàn)撥號訪(fǎng)問(wèn)服務(wù)器
S69inet = 啟動(dòng)inetd進(jìn)程
Internet服務(wù)超級進(jìn)程,配置文件/etc/inetd.conf,啟動(dòng)一系列服務(wù)。
s70uucp - 啟動(dòng)uucp
S71rpc + 啟動(dòng)rpcbind服務(wù)
rpcbind (RPC Portmap服務(wù)),如果需要CDE的話(huà),這個(gè)進(jìn)程是必需的。
S71sysid.sys + 配置一些系統參數
S71ldap.client - 啟動(dòng)LDAP客戶(hù)端
S72directory - 啟動(dòng)目錄服務(wù)
S72inetsvc + 啟動(dòng)inet server
包含named/nis啟動(dòng)名字解析服務(wù),包含named和nis兩部分。
s72slpd - 啟動(dòng)slpd
打印服務(wù)系統的一部分。
S72autoinstall = 啟動(dòng)自動(dòng)安裝守護進(jìn)程
S73cachefs.daemon - 啟動(dòng)cachefsd
NFS緩存服務(wù),可以提高NFS吞吐率。
S73nfs.client = 啟動(dòng)nfs客戶(hù)端
S74syslog + 啟動(dòng)syslog
系統日志守護進(jìn)程。
s74autofs - 啟動(dòng)auto mount fsd
s74xntpd - 啟動(dòng)網(wǎng)絡(luò )時(shí)間同步服務(wù)
S75cron + 啟動(dòng)crontab服務(wù)
S75savecore +
S76nscd + 啟動(dòng)nscd,名字服務(wù)緩存
S80kdmconfig = 啟動(dòng)kdmconfig
S80spc - 啟動(dòng)lpd打印守護進(jìn)程
s80lp - 啟動(dòng)lpd打印調度守護進(jìn)程
S85lmgrd + 啟動(dòng)flexlm license服務(wù)器
Solaris License管理服務(wù)器
S85power + 啟動(dòng)電源守護進(jìn)程
S88utmpd + 啟動(dòng)utmpd
s88sendmail - 啟動(dòng)sendmail
S89PRESERVE =“保留,無(wú)效”
S90wbem = 啟動(dòng)wbem
S93cacheos.finish -
S94ncalogd = 啟動(dòng)Solaris Network Cache and Accelerator LOGd
S95IIim + 啟動(dòng)輸入法守護進(jìn)程
Solaris國際化支持的一部分,啟動(dòng)東亞語(yǔ)言輸入法
S95svm.sync + 啟動(dòng) devfsadm ,devfs同步進(jìn)程。
S99audit + 啟動(dòng)BSM審計進(jìn)程
Solaris Base Securiey Modula,啟動(dòng)Solaris C2安全審計(默認未啟動(dòng))。
S99dtlogin = 啟動(dòng)CDE登錄進(jìn)程
rc3.d: 多用戶(hù)模式,啟動(dòng)網(wǎng)絡(luò )服務(wù)器模式
S15nfs.server - 啟動(dòng)nfs服務(wù)器
S13kdc.master - 啟動(dòng)Kerberos服務(wù)器
S14kdc - 啟動(dòng)Kerberos服務(wù)器
S16boot.server - 啟動(dòng)bootp服務(wù)器
S34dhcp = 啟動(dòng)dhcp
S50apache - 啟動(dòng)apache服務(wù)器
S76snmpdx - 啟動(dòng)snmp服務(wù)器
啟動(dòng)snmp,允許遠程網(wǎng)絡(luò )管理
S77dmi - 啟動(dòng)snmp - dmi服務(wù)
S89sshd + 啟動(dòng)sshd服務(wù)器
S80mipagent - 啟動(dòng)Mobile IP 代理
S90samba - 啟動(dòng)samba服務(wù)器
注:+代表必須服務(wù),系統正常運行必須;=代表可選服務(wù),由用戶(hù)環(huán)境決定;-代表無(wú)效,不必要或不安全的服務(wù)。
聯(lián)系客服