1、裝置管理介紹
AIX 中的裝置按照分層方式管理。
位於頂層的是功能分類,即按相同的準系統分組,例如,所有的適配卡都屬adapter 類。
下一級為功能子類,根據更明確的具體性質加以劃分,例如標準的輸入 /輸出適配卡和微通道適配卡,標準的輸入 /輸出適配卡屬於的 sio 功能子類,而微通道適配卡屬於 mca 功能子類。
最後一級為類型子類,即按類型和製造商區分裝置。例如,在sio功能子類下有8fba標準的 SCSI I/O控制卡) ,fda_2標準的 I/O磁碟適配卡),和 ient_6內建乙太網路適配卡) 等類型。在 mca 功能子類下有 sio_2微通道 I/O 主板)裝置類型。
下面的命令說明了這種裝置分類方式:
# lsdev -C -F "class subclass type description" | sort
adapter buc 4006 GXT150L Graphics Adapter
adapter mca sio_2 Standard I/O Planar
adapter sio 8fba Standard SCSI I/O Controller
adapter sio fda_2 Standard I/O Diskette Adapter
adapter sio ient_6 Integrated Ethernet Adapter
adapter sio keyboard_2 Keyboard Adapter
adapter sio mouse Mouse Adapter
adapter sio ppa Standard I/O Parallel Port Adapter
adapter sio s1a Standard I/O Serial Port 1
adapter sio s2a Standard I/O Serial Port 2
adapter sio tablet_2 Tablet Adapter
aio node aio Asynchronous I/O
bus sys mca Microchannel Bus
cdrom scsi scsd SCSI Multimedia CD-ROM Drive
disk scsi 2000mb 2.0 GB SCSI Disk Drive
diskette siofd fd Diskette Drive
if EN en Standard Ethernet Network Interface
if EN ie3 IEEE 802.3 Ethernet Network Interface
if LO lo Loopback Network Interface
ioplanar sys ioplanar_2 I/O Planar
keyboard std_k kb101 United States keyboard
lft node lft Low Function Terminal Subsystem
logical_volume lvsubclass lvtype Logical volume
logical_volume lvsubclass lvtype Logical volume
logical_volume lvsubclass lvtype Logical volume
logical_volume lvsubclass lvtype Logical volume
logical_volume lvsubclass lvtype Logical volume
logical_volume lvsubclass lvtype Logical volume
logical_volume lvsubclass lvtype Logical volume
logical_volume lvsubclass lvtype Logical volume
logical_volume vgsubclass vgtype Volume group
lvm lvm lvdd LVM Device Driver
memory sys simm 32 MB Memory SIMM
memory sys simm 32 MB Memory SIMM
memory sys simm 32 MB Memory SIMM
memory sys simm 32 MB Memory SIMM
mouse std_m mse_3b 3 button mouse
planar sys sysplanar3 System Planar
processor sys proc1 Processor
pty pty pty Asynchronous Pseudo-Terminal
rcm node rcm Rendering Context Manager Subsystem
sys node sys1 System Object
sysunit sys sysunit System Unit
tape scsi 8mm5gb 5.0 GB 8mm Tape Drive
tcpip TCPIP inet Internet Network Extension
下層的裝置依賴於上層的裝置,例如:8mm5gb 類型的裝置取決於 SCSI 功能子類
的配置。在 AIX 內的分層和依存關係儲存在 ODM 資料庫中。
2、對象資料庫
ODMObject Database Management)是指物件導向的資料庫管理,負責管理和存放系統資訊,裝置設定資料庫也在其管理範圍內。ODM 是按資料庫→對象類→對象分層實現管理的,例如:裝置設定資料庫由 predefined 和 customized 兩個對象類組成。預定義對象predefined)包含了 AIX 所有支援的裝置對象,使用者定義對象類customized)則包含系統中實際存在的裝置對象。
1)對象類
對象類是具有相同定義的對象集合,這種定義類似於 C 語言的結構定義。對象類通常存放在/etc/objrepos對象倉庫的縮寫)目錄,或 ODMDIR環境變數所指定的目錄下。例如:系統實際串連裝置對象的配置資訊儲存在/etc/objrepos/CuDv 檔案中,可以使用 odmshow 命令顯示出其定義。
# odmshow CuDv
class CuDv {
char name[16];
short status;
short chgstatus;
char ddins[16];
char location[16];
char parent[16];
char connwhere[16];
link PdDv PdDv uniquetype PdDvLn[48];
};
CuDv 對象類中的每一項均為一個描述符。當一個對象添加到 CuDv 對象類時,將對每一個描述符賦值。例如:帶有 00-00-0S-00 位置碼的 SCSI 硬碟將把該碼存放在 location 描述符中。
2)對象
對象是對象類中具體的一項。每個對象有一組相應於對象類中所定義描述符的配置參數。例如:要看 CuDv 對象類中的對象和它們的相應值,輸入下列命令:
# odmget CuDv
CuDv:
name = "hdisk0"
status = "1"
chgstatus = "2"
ddins = "scdisk"
location = "00-00-0S-00"
parent = "scsi0"
connwhere = "00"
PdDvLn = "disk/scsi/1000mb"
上面的每一行對應於 CuDv 對象類中定義的描述符。最後一行十分重要,它顯示出該裝置的階層,disk 是功能類,scsi 是功能子類,而 1000mb 是類型子類。
3、添加裝置命令列)
添加和刪除裝置時,ODM 會修改裝置設定資料庫。如果使用諸如 mkdev、rmdev、lsdev、lsattr 和 chdev 之類的 AIX 裝置管理命令配置裝置,就必須熟悉裝置分層結構和 ODM。然而,有兩個工具能大大簡化這些工作,它們是:cfgmgr 命令和 SMIT。
cfgmgr 命令,即組態管理員,可用來自動設定系統中的裝置。在系統啟動時會調用該命令,也能在命令列執行。在運行時,它從 Config_Rules 對象類中讀取規則,實際上就是一些用於配置裝置的命令,通過建立裝置檔案和安裝驅動程式使裝置變為可用。可以用 odmget Config_Rules 命令查看這些規則。因此,一種添加 5GB 8mm SCSI 磁帶機的方法是:
1.主機下電
2.串連裝置
3.裝置加電
4.啟動主機
在系統引導過程中,cfgmgr 將自動識別新裝置,並把它變為可用。如果你輸入下列命令,將能看到磁帶機已經配置好:
# lsdev -C -c tape
rmt0 Available 00-00-0S-1,0 5.0 GB 8mm Tape Drive
“available”是磁帶機的狀態。一個裝置只能處於三種狀態之一:undefined、defined和 available。如果磁帶機處於 undefined 狀態,那麼它尚未被 cfgmgr 配置出來;如果處於 defined 狀態,那麼它的配置資料已儲存在使用者定義資料庫中,但還不可使用。一旦一個已定義的裝置綁定到核心中,它將處於 available 狀態。cfgmgr 將首先確保你的裝置是已定義的,然後再把它變為可用。
cfgmgr 也能在命令列執行。如果你把類似磁帶機的一個裝置添加到正在啟動並執行系統中,你可以運行 cfgmgr 命令使其變為可用。或者,你有一個可用的裝置,但在啟動時沒開啟電源, cfgmgr 會把它設定成 defined 狀態。如果要使它變為可用,可以開啟裝置電源,重新運行 cfgmgr 命令。
4、添加裝置SMIT)
把裝置連到系統,開啟電源,然後運行 SMIT 配置它。在命令列輸入 smit device,你將看到:
Devices
Move cursor to desired item and press Enter.
Install/Configure Devices Added After IPL
Printer/Plotter
TTY
Asynchronous Adapters
PTY
Console
Fixed Disk
Disk Array
……
……
選擇你想要的項然後按 Enter 鍵。如果你想通過這種方法添加 8mm 磁帶機,就選
擇 Tape Drive。接下來的螢幕輸出如下:
Tape Drive
Move cursor to desired item and press Enter.
List All Defined Tape Drives
List All Supported Tape Drives
Add a Tape Drive
Change / Show Characteristics of a Tape Drive
Remove a Tape Drive
Configure a Defined Tape Drive
Generate Error Report
Trace a Tape Drive
選擇 Add a Tape Drive。將出現一張所支援磁帶機的列表,與下面的顯示類似:
Tape Drive Type
Move cursor to desired item and press Enter.
1200mb-c scsi 1.2 GB 1/4-Inch Tape Drive
150mb scsi 150 MB 1/4-Inch Tape Drive
3490e scsi 3490E Autoloading Tape Drive
48
4mm2gb scsi 2.0 GB 4mm Tape Drive
……
……
這張表來自預定義裝置對象類。如果要添加一個非 IBM 的 SCSI 磁帶機,選擇 ostscsi Other SCSI Tape Drive,該項是通用的 SCSI 選項。在例子中,選擇 8mm5gb scsi5.0 GB 8mm Tape Drive。接著將出現一個詢問父適配卡的對話方塊:
Parent Adapter
Move cursor to desired item and press Enter.
scsi0 Available 00-00-0S Standard SCSI I/O Controller
選擇 scsi0 Available 00-00-0S Standard SCSI I/O Controller。
最後,你將得到下面的螢幕輸出:
Add a Tape Drive
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
[Entry Fields]
Tape Drive type 8mm5gb
Tape Drive interface scsi
Description 5.0 GB 8mm Tape Drive
Parent adapter scsi0
* CONNECTION address [] +
BLOCK size 0=variable length) [1024] +#
Use DEVICE BUFFERS during writes yes +
Use EXTENDED file marks no +
DENSITY setting #1 140 +
DENSITY setting #2 20 +
Use data COMPRESSION yes +
這裡唯一必須填寫的項是 CONNECTION address,指你的 SCSI 地址。其他參數你可根據需要修改。使用 SMIT 添加裝置的優點在於:你可以根據需要裁剪你的配置,而 cfgmgr 將按預設屬性添加裝置。如果本例中磁帶機的 SCSI ID 設為 6,你應該在 CONNECTIONaddress 欄位上填入 6,0。按 Enter鍵,SMIT 將調用 mkdev 命令,並把磁帶機配為可用狀態。
5、ODM 未定義的裝置
預定義對象類支援所有類型的裝置,絕大多數是 IBM 的產品。然而,其中也有通用的裝置對象。要想看這類對象的列表,輸入下列命令:
# lsdev -P | grep -i other
printer osp rs232 Other serial printer
printer osp rs422 Other serial printer
printer opp parallel Other parallel printer
tape ost scsi Other SCSI Tape Drive
cdrom oscd scsi Other SCSI CD-ROM Drive
cdrom scsd scsi Other SCSI CD-ROM Drive
disk osdisk scsi Other SCSI Disk Drive
disk scsd scsi Other SCSI Disk Drive
rwoptical osomd scsi Other SCSI Read/Write Optical
rwoptical scsd scsi Other SCSI Read/Write Optical
如果你的裝置不在預定義對象類中,但與上面列出的對象相似,那麼在 SMIT 添加裝置時選擇這類對象會工作得很正常,通常 cfgmgr 在碰到不認識的裝置時也是這樣做的。如果裝置無法正常工作,那麼只有修改預定義對象類,編寫必要的裝置程式,有時還要編寫裝置驅動程式,安裝用於支援該裝置的軟體。要擷取更多的資訊請參閱《Kernel Extensions and Device Programming Concepts》。
6、刪除裝置
當你從系統中移走一個裝置,或使其處於關電狀態,cfgmgr 將會在系統下一次重新啟動時把該裝置置為 defined 狀態。如果你不想看到這些變成 defined 狀態的裝置,可以使用 rmdev 命令刪除它們。rmdev 的文法為:
# rmdev -l Name
Name 指裝置的邏輯名。lsdev –C 命令輸出的第一列即裝置的邏輯名。所以要刪除剛才的 8mm 磁帶機,輸入下列命令:
# rmdev -l rmt0
這條命令會把rmt0裝置配置資訊保留在使用者定義資料庫,而把它的狀態變為defined。要想把磁帶機從使用者定義資料庫中徹底刪除,輸入:
# rmdev -d -l rmt0
上述操作也可以通過 SMIT 實現。只要輸入 smit device,選擇正確的菜單選項就可以刪除選擇的裝置,其中包含是否將裝置保留在使用者定義資料庫的選項。
oracle視頻教程請關注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html