AIX rootvg介绍&引导区原理&故障恢复

特殊的卷组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
参与0

0同行回答

“答”则兼济天下,请您为题主分忧!

提问者

deadman
擅长领域: 服务器存储Unix

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2011-01-30
  • 关注会员:0 人
  • 问题浏览:3001
  • X社区推广