Sun工作站技術文檔
華勝天成
目 錄
1、用戶忘記root口令,如何解決?
在Solaris啓動前,按<STOP+A>進入監控狀態(OK狀態),將Solaris引導光盤放入光驅中。
在OK狀態下發命令從光盤引導系統
OK boot cdrom -s
#fsck -y /dev/rdsk/c0t0d0s0 (取決於根分區的設備)
# mount -F ufs /dev/dsk/c0t0d0s0 /mnt
#TERM=vt100; export TERM (如果直接用vi正常,就不要此句)
# vi /mnt/etc/shadow
將root後的第一個冒號和第二個冒號之間的字符刪除,這樣就將root用 戶的口令刪除了。 (建議操作前作個備份)
# umount /mnt
# reboot
2、使用ftp時無法以root用戶登錄系統
以root用戶登錄,編輯/etc/ftpusers文件,找到並標記root用戶這一行,保存後退出,就可以在使用ftp時以root用戶身份登錄了。安全考慮,建議使用完後,取消root用戶的ftp權限。
3、使用telnet時無法用root用戶登錄系統
以root用戶登錄,編輯/etc/default/login文件,找到並註釋CONSOLE=/dev/console這一行,保存後退出,就可以在使用telnet時以root用戶身份登錄了。安全考慮,建議使用完後,取消root用戶的telnet權限。
4、工作站異常關機後不能正常進入操作系統怎麼辦?
Solaris系統異常關機可能造成文件系統的損壞。在系統的重新引導過程中,系統將自動調用fsck命令對文件系統進行檢查修復。系統引導完成後仍然需要執行fsck命令對文件系統進行檢查。首先,取得超級用戶權限,執行如下命令:
#fsck -y
5、如何安全的關閉工作站。
理想的關機方式應該是先停止應用,關閉數據庫服務器,執行sync,再執行shutdown -y -g0 -i5關機。
6、如何修改Sun工作站的主機名
修改主機名要修改三個文件:
/etc/hostname.hme0 // hme0 爲網絡接口名,因機器類型的不同,可能會有所不同。
/etc/hosts
/etc/nodename
將三個文件中的原來的主機名改爲要修改的主機名。重新啓動工作站生效。
7、新裝一臺機器,圖形界面起不來,顯卡爲XVR-100。
新型顯卡solaris 8 02/02版本沒有集成它的驅動程序,可以在字符界面安裝完系統後,安裝顯卡的驅動程序,並打patch。
8、如何更改顯示器分辨率
在Solaris 8 系統環境中,fbconfig是配置顯示卡的唯一的程序接口,每個顯示卡有自己的專用配置工具。在Solaris 8 軟件中,通過有規則的命名方式來與/dev/fbs下的設備名對應
. ffbconfig Creator, Creator3D
. afbconfig Elite3D
. ifbconfig Expert3D, Expert3Dlite
. m64config PGX24 (onboard U5, U10), PGX64
. gfxconfig PGX32
在下面的內容中,只提及fbconfig,其他命令的參數都是一樣的。如果沒有在配置中把某個設備指定給某個顯示卡,fbconfig工作在默認的顯示卡(接主屏幕的顯示卡)。
fbconfig -res /? 這條命令將列出該顯示卡支持的分辨率,指定的分辨率可以"剪切&拷貝" 到下面命令裏面
fbconfig -res "1280x1024x86" -try -now -try和-now都是選項。-try將只會改變10秒鐘的分辨率。可以使用這個方法測試顯示器和改變之後的視頻信號是否同步。
9、Xsun進程佔用cpu 100%
xvr-100 顯卡沒有安裝patch,打patch 114537(Solaris 8);114538(Solaris 9)
10、如何獲取補丁文件?
11、爲遠程LOGIN做超時退出設置
背景:爲了安全設置鍵盤空閒時的超時,保證與所登陸的主機斷開。
這篇文檔闡述兩個不同的靜止超時:
Ø 登錄階段的靜止超時,自動斷開,終止登錄:
這是在你登錄之前的Login:提示下。
Ø 在SHELL階段的靜止超時,即已經登錄到系統中的靜止超時,自動斷開:
這是在你登錄之後的Shell的提示符下。
使用範圍:適用於簡單的遠程的登錄(即telnet, rlogin),對Openwin和CDE的登錄失效。
解決方案:
Ø 登錄階段的靜止超時設置:
修改/etc/default/login文件:
將# timeout = 300前的“#”號去掉。
# TIMEOUT sets the number of seconds (between 0 and 900) to wait before
# abandoning a login session.
#
#TIMEOUT=300
超時的缺省值是300秒,即在提示你登錄時,若在300秒內沒有從鍵盤輸入登錄名(或密碼)則自動將登錄斷開連接,終止登錄。
Ø 在SHELL階段的靜止超時設置:
條件:僅適用於Korn和bash 的shell環境:/usr/bin/ksh, /usr/bin/bash。
TMOUT是控制korn和bash SHELL靜止超時的環境變量。如果此值沒有設置或值爲0則沒有靜止超時控制;如果值大於0,則在此指定的時間內沒有輸入,則自動斷開連接。
TMOUT在/etc/profile中爲所有用戶設置;在$HOME/.profile中爲本用戶設置。
12、如何打印純中文文本
一、使用xetops打印中文純文本文件
可使用簡體中文 Solaris 的 xetops 實用程序在 PostScript 打印機上打印含有中文字符的文件。
xetops 實用程序把中文文本轉換爲位圖圖形打印圖像。可打印出一個含有中文字符、可含也可不含 ASCII 英語字符的名爲 filename 的文件:
system% pr filename | xetops | lp
將 filename 作爲要打印的文件名稱。這個文件可以含有 ASCII 英語字符和中文字符。有關的詳細信息,請參見 xetops (1) 的手冊頁。
system% xetops -h
Ø 下列指令格式信息出現:
xetops [-r] [-B|[-T [-t S|F|K|H] [-s [i]|m|c] [-p A3|A4|A5|B5|USLtr|USLgl] [-o length=i|c| [,width=i|c]] [filename]
xetops 實用程序的選項如下:
-r:以橫向模式打印文件。
-B:使用位圖字體打印文件。 (缺省值是 TrueType 宋體字體。)
-T:使用 TrueType 字體打印文件。
-t:使用該選項來指定多至四種鉛印字體。S 表示宋體,F 表示仿宋體,K 表示楷體,而 H 表示黑體。
-s:指定每個字符的尺寸。i 表示英寸,m 表示毫米,c 表示釐米。 (缺省值是英寸。)
-p:指定紙張的規格 (A3、A4、A5、B5、US Letter,或 US Legal)。
-o:指定紙張的長和寬。i 表示英寸,c 表示釐米。 (缺省值是行數。)
Ø 一些使用 pr 命令和 xetops 實用程序的實例。
u 以下指令:
system% pr filename | xetops | lp
將使用宋體 TrueType 字體打印出文件。打印出的字符的尺寸是 4mm。
u 以下指令:
system% pr filename | xetops -t K -s 8m | lp
將使用楷體 TrueType 字體打印出文件。打印出的字符的尺寸是 8mm。
u 以下指令:
system% xetops -t H -s 1.2 filename | lp
將使用黑體 TrueType 字體打印出文件。打印出的字符的尺寸是 1.2 英寸。
u 以下指令:
system% xetops -B filename | lp
將使用位圖字體打印出文件。
二、使用 mp 公用程序打印
Solaris 8 環境中提供新的、增強的 mp(1) 打印過濾器,可用來打印各種輸入文件格式,包括用 UTF-8 寫的純本文件。它使用 Solaris 系統提供的 TrueType 和 Type 1 可縮放字體和 X11 位圖字體。
13、Solaris中的logging功能的應用
在Solaris7及其以後版本的系統中有一種稱爲logging的功能。它不但易於安裝和使用,並且對於數據安全非常有用。
UFS是存在於Sun工作站的幾乎所有硬盤分區(swap等個別分區除外)上的一種標準的文件系統類型。而logging功能是UFS文件系統的一個掛接選項,它可以被設置在包括/在內的各個硬盤分區上。
Solaris的UFS logging通過使用系統中的空白數據塊來工作。所有對文件系統數據(metadata,或稱爲元數據)的修改都被寫在這些空白的區域。這些Metadata包括目錄和inode信息,不包括文件中的數據本身。比如創建文件時,目錄結構被修改並且系統爲這個新文件分配一個新的inode。以上這些行爲被寫入做logging的空間中。一旦數據的修改行爲被寫入做logging的區域,系統就可以接着對文件系統做其它的操作了。在後臺,存在於logging中的信息將被同步到文件系統中,並自動更新相應的目錄和I節點,最終完成文件系統的操作。數據也陸續被寫入硬盤。因此這種做logging並在後臺寫入數據,比通過隨機的I/O訪問直接對分佈在硬盤上的各種管理信息進行修改的方式速度要快得多。用來做logging的空間的大小取決於文件系統的大小。每1GB磁盤分區空間的logging空間爲1MB,最多不超過64MB。這部分logging空間被循環使用:當log空間即將裝滿時,暫停新的metadata數據寫入,直至log空間被清空。當log中記錄的關於文件系統的修改都被應用於文件系統後,那部分空間又重新可以作爲log空間來存放新的metadata數據了。
通常對於UFS來說,如果操作系統在任何文件系統操作中崩潰,整個文件系統都需要用fsck命令做一致性檢查。這個命令的執行可能需要幾分鐘的時間,因爲它需要檢測所有的metadata和文件的數據以確認文件系統的完整性:包括當前已經用的空間、未用的、inode的數量等,修復其中不一致的地方。出現比較大的問題時還需要人工干預。在做檢查的過程中有可能會丟失文件,甚至目錄。這決定於crash發生時,該操作進行到了哪種程度。如果採用logging功能,情況就完全不同。因爲metadata的修改首先被寫在log空間而不是文件系統中。如果系統崩潰,對文件系統一致性的檢測可以僅僅限於log中記錄的那部分,這樣會更簡單、更有效。系統檢查logging的數據,以決定在上一次的文件系統中,哪種修改已經做過了,哪種修改即將做,哪種修改正在做,做過的和即將做但還沒有做的操作被系統從log中刪掉, 而那些做了一部分的會被接着做完或完全取消掉。如果在log中記錄了足夠的數據來完成這一操作,該操作會被繼續完成。否則,這種改變會被取消。熟悉數據庫操作的用戶會發現這和數據庫軟件中的事務處理過程非常相似。最終的結果是:文件系統能夠最大限度地保持一致,不需要進行徹底的文件系統檢測,整個文件系統檢測過程只需要花幾秒鐘時間。從Solaris 7開始, mount命令和/etc/vfstab文件中也有了一個新的logging選項。
爲了驗證logging選項對系統性能的貢獻,我們做一個腳本文件,它要創建1000個目錄。這種操作將對系統中的metadata的處理帶來非常大的壓力。實驗在一臺運行Solaris7的Ultra 5機器上進行:
# more logging-test
#!/bin/ksh
# Test ufs logging performance
# Get to the right place and make a test directory
cd /big
mkdir test
# Create 1000 directories
integer i=0
while ((i < 1000))
do
mkdir test/test${i}
i=i+1
done
# chmod a+x logging-test 給文件加上執行權限
第一次做實驗時不採用logging選項(Solaris 7和8的文件系統缺省狀態下都不採用這種選項)。
# time ./logging-test 用此命令測一下整個執行時間
real 27.7
user 2.0
sys 4.9
# time rm -rf /big/test
real 8.0
user 0.0
sys 0.3
結果創建和刪除目錄共需要35.7秒時間。第二次採用logging選項,再做一次測試:
# umount /big
# mount -o logging /big
# time ./logging-test
real 13.2
user 1.7
sys 5.4
# time rm -rf /big/test
real 0.8
user 0.0
sys 0.2
同樣的命令在採用UFS logging以後只需要14秒的時間,性能提高非常明顯。下一個測試更有趣。不採用logging,並在上面的腳本執行過程中關機,那麼下一次啓動時,系統要求進入單用戶狀態手工執行fsck來修復系統,在修復過程中也報了很多錯。修復了以後,系統可以引導起來。採用了logging功能後,同樣的實驗過程卻得到了令人鼓舞的結果:系統僅僅提示:
/dev/c0t1d0s3: is logging
沒有其它的報錯信息給出。
但是UFS logging最初會有一些bug,在採用UFS logging之前,需要打最新的系統核心patch,並且最好在另一個非生產環境進行測試。
還有另一種比較新的而且很有用的mount選項:noatime。如果沒有noatime選項,每個文件每次被訪問,它的I節點中的訪問時間的值都會被更新。這樣,用ls –lu命令可以看出文件最近一次被“讀”的時間。但是有些情況下我們並不關心文件什麼時候被讀過,比如Web server 的內容,但是他們增加很多的IO負載,從而影響性能。使用noatime會減少訪問時間被更新的頻率,它使系統只有在該文件的其它I節點屬性同時修改時才更新文件的訪問時間。在我們不關心訪問時間的文件系統中,這不會對系統造成什麼損害。
14、關於Sun系統中的設備管理
Sun系統中的設備驅動程序
一個計算機系統可以使用很大範圍的各種外設和存儲設備。比如,你的系統中可能包含SCSI磁盤、鍵盤、鼠標、磁帶機等。還有其它常用設備如:CDROM、打印機、繪圖儀、觸摸屏、數字化儀等。
Solaris軟件不直接和這些設備通信,因爲每種設備類型要求不同的數據格式、協議和傳輸速率。操作系統通過設備驅動程序這種底層的程序與具體的設備通信,也就是設備驅動程序充當操作系統和設備之間的翻譯。
系統kernel包括一個很小的與平臺有關的核心和一系列模塊。核心模塊是在系統中完成某一特定任務的軟件或硬件組件。核心模塊可以在Solaris環境中被動態加載。一個可加載的核心模塊的例子就是設備驅動程序。當設備被訪問時,設備的驅動程序被加載。
在Solaris中,與平臺無關的操作系統核心是 /kernel/genunix。適合於特定平臺的系統組件是 /platform/`uname –m`/kernel/unix。
啓動時系統測定所連設備,核心動態的作自我配置,把需要的模塊加載到內存。磁帶機和磁盤等設備在第一次被訪問時加載相應驅動。
可以通過修改/etc/system文件來改變核心模塊被加載的方式。
/etc/system文件中與模塊加載有關的有3處:
moddir
用moddir來指明各模塊的加載路徑。文件中給出了格式爲:
moddir: /kernel /usr/kernel /other/modules
exclude
用exclude指明在moddir的路徑中哪些模塊即使在使用時也不加載。格式爲:
exclude:module_name
forceload
用forceload指明哪些模塊在啓動時就加載,而不是在該模塊第一次被使用時加載。格式爲:
forceload: module_name
被指明需要強制加載的模塊如果不存在,在啓動時會有報警信息給出。如果該模塊對系統不重要,可以不理睬該報警。
Solaris環境中已經包含很大範圍的標準設備的驅動程序,存放在 /kernel/drv 和 /platform/`uname –m`/kernel/drv 目錄中。因此安裝很多設備時並不需要同時安裝驅動程序。但是如果購買了不被Solaris系統直接支持的設備,設備的生產廠家應該提供對該設備進行正確安裝、維護和管理所需的軟件。在他們提供的軟件中至少應包含設備驅動程序和相應的配置文件(.conf文件)。如果該設備與Solaris中的工具、應用不兼容,需要和設備提供商聯繫對設備、軟件等進行調整,而不是考慮對Sun操作系統本身進行什麼修改。
顯示設備配置信息
我們經常使用prtconf、sysdef和dmesg命令來察看系統和設備信息。
prtconf顯示系統中設備的樹狀互連結構。此命令的輸出中表示設備時,用設備的instant name。用此命令不但能看出系統中有哪些設備,而且能看出每個設備是通過哪些總線、哪些控制器連接到系統中,每個設備的邏輯設備號。
sysdef命令可以顯示更詳細的系統信息,包括hostid、核心結構、設備樹、系統中的可加載模塊、系統核心參數、部分可調參數的值等。其中也包含prtconf的輸出。
prtconf和sysdef命令的輸出與機型有關。
dmesg從系統日誌中搜集錯誤信息並輸出。
設備名稱
Solaris中使用3種名稱來表示某一設備:物理設備名、邏輯設備名和instance name。
物理設備名按照設備的樹裝互連結構表示設備本身的全路徑,是系統對設備的真正訪問路徑。物理設備名存放在/devices目錄下。
邏輯設備名是系統管理員和大部分系統命令使用的。邏輯設備名存放在/dev目錄下,並符號鏈接至/devices目錄下的相應文件。
Instance name是核心表示系統中可能存在的每個設備的簡單的名字,比如用sd0、sd1等表示磁盤。Instance name與物理設備名的映射關係記錄在/etc/path_to_inst文件中。
15、SUN主機配置第二塊網卡
1、 物理上將第二塊網卡擴入主機相應槽位
2、 臨時的網卡配置(重新啓動後配置消失):
b) 啓動機器以root身份登錄操作系統
c) #ifconfig hme0 plumb *驅動hme0網口
#ifconfig hme0 IPaddress netmask netmask up *配置IP地址和掩碼
#route add destination gateway *手工增加路由
3、永久的網卡配置
(1)#vi /etc/hosts *增加新加網卡主機名和IP地址的對應關係
(2)#vi /etc/hostname.hme0 *創建該文件,文件內容爲新加網卡的主機名
(3)#vi /etc/netmasks *增加新的網段掩碼,注意網段爲未劃分子網前的網段
(4)#vi /etc/rc2.d/S99routeadd *創建該文件,內容爲手工增加路由的一段
16、如何處理安裝系統時不能分配交換區
背景:
1、使用“Operating Environment”光盤啓動安裝Solaris 2.5.1 11/97 or Solaris 2.6 5/98系統時。
2、使用“Solaris 8 Installation”光盤啓動安裝Solaris 8系統時。
有時會出現:
Enter a swap partition size between 320Mb and 4294967295Mb, default = 512Mb [?]<cr>
The swap size, 512Mb, is too large.
我們將無法進行安裝。
處理方法:
1. 用光盤啓動進入單用戶:
OK boot cdrom –s
2. 在單用戶提示符下,鍵入format:
# format
3. 選擇恰當的硬盤,一般爲0號盤。
4. 從format的提示符下,選擇:partition
format> partiton
5. 從partition的提示符下,選擇:print
當前的分區表爲:
Total disk cylinders available: 17660 + 2 (reserved cylinders)
Part Tag Flag Cylinders Size Blocks
0 unassigned wm 0 - 4161 2.00GB (4162/0/0) 4195296
1 swap wu 4162 - 5202 512.37MB (1041/0/0) 1049328
2 unassigned wm 0 0 (0/0/0) 0
3 root wm 5203 - 15605 5.00GB (10403/0/0) 0486224
4 unassigned wu 0 0 (0/0/0) 0
5 unassigned wu 0 0 (0/0/0) 0
6 unassigned wu 0 0 (0/0/0) 0
7 unassigned wm 15606 - 17659 1010.95MB (2054/0/0) 2070432
6. 以下面步驟改變第二分區(整個硬盤容量)
注意:第二分區是其他分區的和。
Ø 4195296+1049328+10486224+2070432=17801280
Ø 這個數也可以通過輸入?計算而來:
Enter partition size[0b, 0c, 0.00mb, 0.00gb]: ?
Expecting up to 17801280 blocks...
partition> 2
Part Tag Flag Cylinders Size Blocks
2 unassigned wm 0 0 (0/0/0) 0
Enter partition id tag[unassigned]: backup
Enter partition permission flags[wm]:
Enter new starting cyl[0]:
Enter partition size[0b, 0c, 0.00mb, 0.00gb]: 17801280b
partition>
Ø 列出修改後的分區表:
partition> pr
Current partition table (unnamed):
Total disk cylinders available: 17660 + 2 (reserved cylinders)
Part Tag Flag Cylinders Size Blocks
0 unassigned wm 0 - 4161 2.00GB (4162/0/0) 4195296
1 swap wu 4162 - 5202 512.37MB (1041/0/0) 1049328
2 backup wm 0 - 17659 8.49GB (17660/0/0) 17801280
3 root wm 5203 - 15605 5.00GB (10403/0/0) 10486224
4 unassigned wu 0 0 (0/0/0) 0
5 unassigned wu 0 0 (0/0/0) 0
6 unassigned wu 0 0 (0/0/0) 0
7 unassigned wm 15606 - 17659 1010.95MB (2054/0/0) 2070432
partition>
7、修正硬盤卷表:
partition> label
Ready to label disk, continue? y
partition>
8、退出partiton菜單及format程序,關機:
partition> quit
format> quit
# halt
17、如何單獨安裝SUN系統信息收集包SUNWexplo
1、請將附件的壓縮包用bin模式傳到主機某個目錄下,然後cd到該目錄下執行
#gunzip SUNWexplo.tar.gz
#tar xvf SUNWexplo.tar
#pkgadd -d . SUNWexplo
(以上三條命令爲解開sun公司系統採集包SUNWexplo並安裝,如果本主機已安裝過該軟件包則系統會有提示並忽略安裝)
2、執行如下命令採集信息
#cd /opt/SUNWexplo/bin
#./explorer
請耐心等待命令執行完畢,命令執行完畢之後會將信息輸出到/opt/SUNWexplo/output下生成一個.gz的壓縮文件
此壓縮文件包含系統信息
18、如何改動var分區
1. init 1 (必須在1下,因爲0下不能創建文件,read-only file system)
who -r
2. 查看現有分區,磁盤信息
mount
df -k
format
3. 備份要改動的分區下的數據
tar cvf var.tar /var
tar cvf home.tar /export/home
mv var.tar /usr
mv home.tar /usr
4. 重新分區
umount /export/home
注意: /var現在不能被umount
format
p
p
6, 7
name
label
save
label
5.新建6,7分區的文件系統
fsck /dev/rdsk/c0t0d0s7
提示出錯,需要新建文件系統
newfs /dev/rdsk/c0t0s0s7
fsck /dev/rdsk/c0t0s0s7
註釋掉/etc/vfstab中關於 /dev/rdsk/c0t0s0s6的一句, 以便使/var不被mount
init s
fsck /dev/rdsk/c0t0d0s6
newfs /dev/rdsk/c0t0d0s6
fsck /dev/rdsk/c0t0d0s6
手工mount var
mount /dev/dsk/c0t0d0s6 /var
恢復備份數據 (這樣才能恢復vi的使用)
tar xvf var.tar /var
手工mount /export/home
mount /dev/dsk/c0t0d0s7 /export/home
恢復備份數據
tar xvf home.tar /export/home
調用VI, 取消對/etc/vfstab中關於 /dev/rdsk/c0t0s0s6的一句的註釋。
查看是否達到預期的目的
mountall -l
df -k
6 重起機器
init 6
19、FTP常用命令詳解
1.控制文件傳輸格式的命令
ascii 設定以ASCII方式傳送文件(缺省值)
binary 設定以二進制方式傳送文件
type [binary|ascii] 顯示或修改當前文件傳輸模式
說明:在微機和工作站之間傳輸的大部份文件需要採用“二進制”形式傳輸。比如unix的可執行文件、tar文件、pc的word文檔等。
ftp命令支持簡略格式。比如:ascii可以用aci。
2.控制連接的打開和關閉的命令
open host [port] 重新建立一個新的連接.
bye 終止主機FTP進程,並退出FTP管理方式.
quit 同bye.
close 終止遠端的FTP進程,返回到FTP命令狀態,所有的宏定義都被刪除.
disconnect 同close.
user user-name [password] [account] 重新以別的用戶名登錄遠端主機.
3.瀏覽和查看文件的命令
lcd 改變當前本地主機的工作目錄,如果缺省,就轉到當前用戶的HOME目錄.
cd 同UNIX的cd命令.
pwd 列出遠端主機當前目錄名.
dir [remote-directory] [local-file] 列出遠端主機當前目錄中的文件.
ls [remote-directory] [local-file] 同DIR.
4.傳輸文件的命令
chmod 改變遠端主機的文件權限.
put local-file [remote-file] 將本地一個文件傳送至遠端主機中.
mput local-files 將本地主機中一批文件傳送至遠端主機.這時允許使用統配符.
get [remote-file] [local-file] 從遠端主機中傳送至本地主機中.
mget [remote-files] 從遠端主機接收一批文件至本地主機.
recv remote-file [local-file] 同get.
send local-file [remote-file] 同put.
說明:get remote-file - 可以不傳遞遠程文件到本地,只查看文件的內容.
5.控制ftp會話過程的命令
bell 每完成一次文件傳送,報警提示.
prompt 交互提示模式.
status 顯示當前FTP會話參數的狀態.
說明:缺省情況下系統要傳遞大批文件時,每傳遞一個文件都需要用戶確認。執行prompt後,就不再提示了。
6.創建刪除文件或目錄,修改文件屬性
delete 刪除遠端主機中的文件.
mdelete [remote-files] 刪除一批文件.
mkdir directory-name 在遠端主機中建立目錄.
rename [from] [to] 改變遠端主機中的文件名.
rmdir directory-name 刪除遠端主機中的目錄.
help [command] 輸出對命令的解釋.
? 同HELP.
20、關於solaris8中ipmp的應用
一.原理:
在solaris8操作系統中,由in.mpathd (/sbin/in.mpathd)後臺進程(daemon)負責故障檢測,並根據不同的策略實現了failover和failback。
1檢測物理接口的失敗:in.mpathd所管理的主機系統的全部和部分網絡接口組織成一個multipathing interface group,其中的每一個網絡接口分別賦予了測試地址(test address)。在正常情況下,後臺進程 in.mpathd不斷地通過組中每個網絡接口的測試地址向目標主機(target)發送ICMP ECHO包來檢測相關網絡接口的連通性。其中,目標主機一般選爲本網絡路由器(router),如果路由器不存在,那麼,將選擇網絡中的主機作爲仲裁主機(arbitrary hosts)。在選擇仲裁主機時,in.mpathd向網絡上的所有主機發送multicast 數據包,第一臺返回響應數據包的主機將被認爲是仲裁主機,此仲裁主機就是用來測試interface group中網絡連通性的目標主機。在in.mpathd測試主機網絡連通性的過程中,如果目標主機連續5次沒有響應,in.mpathd認定相關連接已經失敗,每次錯誤檢測的缺省時間是10秒,也即大約每兩秒檢測一次。如果在multipathing interface group中配置了備用網口(standby),那麼所有的網絡訪問將自動切向standby網絡接口。
2檢測物理接口的恢復:爲了檢測失敗的網絡接口是否已經被修復,in.mpathd不斷嘗試通過該網口的測試地址向目標主機發送檢測包,如果能夠連續10次收到響應數據包,那麼in.mpathd daemon認定該網口已經被修復,隨後,所有被轉移到備用網口(standby)的服務將自動恢復回原網口。
二.下面以具體的例子來說明ipmp的配置及使用情況:
1.啓動腳本的編輯
# cd /etc/rc2.d
# touch S99mpath_test
# chmod 755 S99mpath_test
# vi S99mpath_test
/usr/sbin/ifconfig hme1 plumb
/usr/sbin/ifconfig hme0 group out_test
/usr/sbin/ifconfig hme1 group out_test
/usr/sbin/ifconfig hme0 addif 172.16.1.29 -failover deprecated up
/usr/sbin/ifconfig hme1 172.16.1.30 deprecated -failover standby up
其中 172.16.1.29,172.16.1.30 爲hme0,hme1的測試ip, hme1爲standby的方式。
2.配置好後,用ifconfig -a 看正常的狀態如下:
# ifconfig -a
lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 218.30.16.9 netmask ffffffc0 broadcast 218.30.16.63
groupname out_test
ether 8:0:20:e9:2f:aa
hme0:1: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2
inet 172.16.1.29 netmask ffff0000 broadcast 172.16.255.255
hme1: flags=69040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,STANDBY,INACTIVE> mtu 1500 index 3
inet 172.16.1.30 netmask ffff0000 broadcast 172.16.255.255
groupname out_test
ether 8:0:20:e9:2f:aa
注:218.30.16.9 爲hme0的正式ip,也就是對外提供服務的ip。
3.當hme0 down掉(可能是網卡,網線,網絡)時的狀態如下:
# ifconfig -a
lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
hme0: flags=19000842<BROADCAST,RUNNING,MULTICAST,IPv4,NOFAILOVER,FAILED> mtu 0 i
ndex 2
inet 0.0.0.0 netmask 0
groupname out_test
ether 8:0:20:e9:2f:aa
hme0:1: flags=19040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER
,FAILED> mtu 1500 index 2
inet 172.16.1.29 netmask ffff0000 broadcast 172.16.255.255
hme1: flags=29040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,S
TANDBY> mtu 1500 index 3
inet 172.16.1.30 netmask ffff0000 broadcast 172.16.255.255
groupname out_test
ether 8:0:20:e9:2f:aa
hme1:1: flags=21000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,STANDBY> mtu 1500 ind
ex 3
inet 218.30.16.9 netmask ffffffc0 broadcast 218.30.16.63
注:可以看出:當hme0 down掉後,服務ip 218.30.16.9自動切換到hme1的子網口上。
其中:參考點的IP選擇每個網口的測試IP
LDAP 1 172.16.1.11 172.16.1.12 218.30.16.32
LDAP 2 172.16.1.13 172.16.1.14 218.30.16.33
POP 1 172.16.1.15 172.16.1.16 218.30.16.5
POP 2 172.16.1.17 172.16.1.18 218.30.16.6
INBOUND 1 172.16.1.23 172.16.1.24 218.30.16.7
INBOUND 2 172.16.1.25 172.16.1.26 218.30.16.8
OUTBOUND 1 172.16.1.27 172.16.1.28 218.30.16.9
OUTBOUND 2 172.16.1.29 172.16.1.30 218.30.16.10
netmask 255.255.0.0 255.255.0.0 255.255.255.192