特殊的卷組rootvg
AIX也用邏輯卷管理技術管理自身的代碼和設定檔,這個特殊的卷組就是rootvg,也就是說所有的AIX作業系統都有一個rootvg(無盤工作站除外,但也有一個虛擬rootvg),也就是說所有的AIX作業系統都有一個rootvg(無盤工作站除外,但也有一個虛擬rootvg)。通常rootvg 內含有的邏輯卷(內容)如下:
LV NAME TYPE SIZE(MB) MOUNT TYPE
hd5 boot 32 N/A ->引導區
hd6 paging 512 N/A ->系統交換區
lg_dumplv sysdump 512 N/A ->用於儲存系統dump
hd8 jfslog 32 N/A ->rootvg中所有檔案系統的log
hd4 jfs 64 /
hd2 jfs 64 /usr
hd9var jfs 128 /var
hd3 jfs 128 /tmp
hd1 jfs 32 /home
usrlocallv jfs 128 /usr/local
hd10pt jfs 256 /opt
/usr檔案系統(目錄)存放AIX安裝的軟體,當使用smit installp命令進行安裝時,其大小可以根據安裝軟體需要的空間大小自動擴充;/opt 檔案系統(目錄)存放linux toolbox CD 軟體(僅包括通過rpm安裝的軟體) ,以及其他商業軟體(並非必須,隨軟體自身要求不同而不同);
hd5是引導分區,內含啟動image命令,因此在安裝作業系統核心軟體或者關鍵的裝置驅動程式(例如磁碟、磁帶機的驅動程式)之後,需要重建引導記錄:
#bosboot -a -d hdiskx
hdiskx是包含hd5的磁碟,察看hd5所在磁碟的命令是:
$lslv -l hd5
同時也要將此磁碟(包括hd5的磁碟)列為可引導磁碟,命令是:
#bootlist -m normal hdiskx
注意:如果hd5被鏡像,則需要對兩個包含hd5鏡像的磁碟都執行一次上述操作。
hd6是系統的交換區(paging space),關於交換區的詳細介紹參考本書關於記憶體一章的內容。
lg_dumplv 是系統的dump區,關於dump相關的介紹請參考本書CPU一章的內容.
hd8 是rootvg 的JFS log,它通常佔用一個PP的空間(無論PP有多大) 。每個卷組中至少有一個log,在同一卷組中也可以為每個檔案系統建立一個自己的log,用以提高效能(與檔案系統分別儲存在不同的磁碟/PV)。有大量檔案操作的時候,JFS log也會被頻繁訪問,因此最好將此邏輯卷放在較高速的磁碟上(只能在同一個VG內),或者磁碟上的高速位置(磁碟外角out edger)。如果是JFS2檔案系統,也可以建立inline log,Inline JFS log 的大小一般設定成 1/1000檔案系統大小,並以256MB 為限。通過smit 命令可以建立inline log。當用smit功能表命令建立JFS2 檔案系統時,預設日誌是放在本VG共用的日誌裝置上的,將“inline log" 選項設定為 "YES",則建立了使用inline log的JFS2 檔案系統。
磁碟引導boot
AIX 可以通過磁碟、光碟片、磁碟或網路引導,通過bootlist 命令可以控制引導序列。
#bootlist -m normal -o ->顯示正常啟動引導序列
#bootlist -m normal hdisk0 hdisk1 ->引導順序是先hdisk0,如果失敗則hdisk1
#bootlist -m service cd0 rmt0 ->維護模式下先CD-ROM,再磁帶
磁碟引導區結構如下:
boot record | VGDA |SOFTROS |bootexpand|compressed kernel |compressed RAM filesystem |base ODM |rest of the root disk(hd2,hd4,hd9var,etc)
Boot record:引導記錄。是512位元組的記錄,記載著引導映像(boot image)程式的大小和位置。ROS(ROM Operation System)程式將控制權交給SOFTROS(即引導記錄所指向的程式),完成更複雜的引導任務。
SOFTROS:繼續完成系統初始化工作,依次載入bootexpand執行。引導程式、壓縮的核心(compressed kernel),壓縮的一個虛擬/臨時檔案系統(compressed RAM filesystem),Base ODM(基本ODM資料)
bootexpand:bootexpand 負責解壓縮Kernel 和RAM file system(這兩個記錄被稱為BLV,Boot Logical Volume)。通過壓縮BLV,可以減少BLV的大小,以便容納更多的內容。解壓縮完成後,控制權繼續傳遞給(被解壓縮出來的)Kernel程式。也可以建立不壓縮的BLV(如果裝得下,在AIX5版本以後,幾乎不可能不壓縮BLV),那麼就不需要bootexpand.
Kernel:Kernel 自己完成初始化,並執行RAM File System 中的 /etc/init。這個Kernel 即使到引導完成也不會被提花,會一直作為系統的Kernel程式在系統中執行。因此/unix所連結的Kernel僅僅是為了系統管理方便,真正執行的並不是它,而是BLV中的Kernel,如果系統核心被改變,一定要重新執行
bosboot -ad /dev/ipldevice,重新建立BLV。
RAM File System:一個極小化的root 檔案系統映像,直接掉到記憶體中還原,供初始的Kernel使用。Kernel 利用這個檔案系統,進行裝置的初始化。
不同的引導方式,RAM FS中的內容也稍有不同,如表4-21所示。
不同引導方式下RAM FS的內容
引導方式 RAM FS內容
硬碟引導 包含訪問rootvg所必須的程式、資料,其他AIX引導程式
安裝CD 包含安裝AIX或者執行軟體維護所必須的程式
診斷CD 包含執行單使用者診斷程式所必須的程式和資料
Base ODM: 這是作業系統ODM的一個簡化版本,包含當前系統最基本的裝置資訊,這些裝置資訊用來訪問root磁碟,當rootvg裡的檔案系統被mount後,Kernel就會直接使用rootvg 裡的ODM.
建立引導映像:
bosboot 命令可以用來建立引導映像,它完成了一下幾個工作:
(1)從磁碟檔案建立引導映像(boot image),具體操作是從當前系統的ODM產生Base ODM,建立RAM FS,壓縮Kernel 和RAM FS;
(2) 將引導映像(以上各項內容)複製到BLV對應地區
(3) SOFTROS,使用的是 /usr/lib/boot/aixmon_rspc代碼;
(4) 放置入BLV的Kernel 就是由 /unix檔案壓縮出來的映像;
(5) 從當前 ODM 產生Base ODM:
(6) 裝載必須放置到RAM FS中的程式(如裝置驅動)。Bosboot根據一個原型檔案來選擇裝置。不同的啟動裝置用不同的原型檔案
磁碟引導: /usr/lib/boot/chrp.disk.proto
CD-ROM引導: /usr/lib/boot/chrp.cd.proto
磁碟引導: /usr/lib/boot/rspc.tape.proto
(7)更新引導記錄 boot record
bosboot 命令雖然做很多事情,執行卻很簡單:
#bosboot -ad hdisk0
在一些版本的AIX中,BLV過於龐大(添加了過多的裝置驅動程式)。如果BLV 超過12MB,SOFTROS和bootexpand由於無法正確處理過大的BLV,將無法啟動,需要通過打補丁,升級SOFTROS和bootexpand程式(先用光碟片啟動、打補丁後重新bosboot 建立引導映像)系統修複、單一使用者模式如果忘記了root password,或者rootvg 發生故障,將無法引導系統,只有通過光碟片(或磁帶)引導,進入單使用者、維護模式才能進行修複。
從光碟片或者磁帶啟動後,在Installation/Maint菜單中,選擇第3項 Start Maintainance Mode for System Recovery,然後選擇如下選項。
1、ACCESS THIS VOLUME GROUP AND START A SHELL
選擇此選項,系統將啟用rootvg,並且mount rootvg上的檔案系統,由於原有光碟片系統建立的是RAM FS,新mount 的檔案系統將覆蓋 RAM FS。通過此選項可以進行:
修改root 密碼
修改/etc/inittab檔案
重新建立BLV
2、ACCESS THIS VOLUME GROUP AND START A SHELL BEFORE MOUNTING FILESYSTEMS
選擇此項,依然是用RAM FS,沒有啟用rootvg,所以可以用來:
使用fsck 命令修複有故障的rootvg上的檔案系統
修複有故障的rootvg的JFS log (導致rootvg上的檔案系統無法mount)。
修複有故障的ODM
為了完成修複,可能需要先啟用rootvg的檔案系統。
修複有故障的rootvg 的JFS log (導致rootvg 上的檔案系統無法mount)
修複有故障的ODM
為了完成修複,可能需要先啟用rootvg的檔案系統mount RAMFS的一個空目錄,然後再進行修複。具體的修複命令與正常的管理命令相同:
修改root密碼
#password
修改inittab
#vi inittab
注意,可能無法使用vi命令(其他不可執行檔命令處理方式類似),此時要使用絕對路徑,例如 rootvg杯直接mount 到/mnt,/usr檔案系統被mount 到/mnt/usr (注意先後順序),則需要敲/mnt/usr/bin/vi /mnt/etc/inittab
建立 BLV
#bosboot -ad hdisk0
修複檔案系統
#fsck -y /dev/hd2
修複JFS log
#logform /dev/jfslog
修複ODM
#savebase