AIX rootvg介紹&引導區原理&故障恢複

來源:互聯網
上載者:User

特殊的卷組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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.