因为 备用磁盘安装过程涉及到把一个现有的 rootvg 克隆到目标备用磁盘上,所以该目标备用磁盘必须是还没有分配过卷组的。
在此情形中,您要完成以下这几件事:
- 为备用磁盘安装作准备
- 进行备用磁盘的安装与定制
- 从备用磁盘上引导
- 验证操作
步骤 1. 准备备用磁盘安装
- 检查您系统上的物理磁盘的状态。请输入:
# lspv
输出类似于下面所示内容:hdisk0 0009710fa9c79877 rootvg active hdisk1 0009710f0b90db93 None
我们可以把 hdisk1 用作备用磁盘,因为没有给此物理磁盘分配卷组。 - 通过运行以下命令检查是否已经安装了 alt_disk_copy 文件集:
# lslpp -L bos.alt_disk_copy.rte
如果还没有安装 alt_disk_copy 文件集,那么将显示与以下内容类似的输出:lslpp: 0504-132 Fileset bos.alt_disk_copy.rte not installed.
- 使用 AIX 安装介质的第一个卷,运行以下命令安装 alt_disk_copy 文件集:
# geninstall -d/dev/cd0 bos.alt_disk_copy.rte
输出类似于下面所示内容:+-----------------------------------------------------------------------------+ Summaries: +-----------------------------------------------------------------------------+ Installation Summary -------------------- Name Level Part Event Result ------------------------------------------------------------------------------- bos.alt_disk_copy.rte 5.3.0.0 USR APPLY SUCCESS
- 创建一个用户定义的捆绑程序(叫做 /usr/sys/inst.data/user_bundles/MyBundle.bnd),其中包含下列文件集:
I:bos.content_list I:bos.games
- 创建 /home/scripts 目录:
mkdir /home/scripts
- 在 /home/scripts 目录中创建一个称为 AddUsers.sh 的用户定义的定制脚本:
touch /home/scripts/AddUsers.sh chmod 755 /home/scripts/AddUsers.sh
- 编辑 /home/scripts/AddUsers.sh 以包含以下行:
mkuser johndoe touch /home/johndoe/abc.txt touch /home/johndoe/xyz.txt
步骤 2. 执行备用磁盘安装和定制
- 要把 rootvg 克隆到一个备用磁盘上,请在命令行输入以下命令以打开 SMIT 菜单:
# smit alt_clone
- 请在 Target Disk to Install 字段中选择 hdisk1。
- 请在 Bundle to Install 字段中选择 MyBundle 捆绑程序。
- 插入安装介质的卷一。
- 请在 Directory or Device with images 字段中输入 /dev/cd0。
- 请在 Customization script 字段中输入 /home/scripts/AddUsers.sh。
- 按 Enter 键启动备用磁盘安装。
- 通过运行以下命令检查是否已创建了备用磁盘:
# lspv
输出类似于下面所示内容:hdisk0 0009710fa9c79877 rootvg hdisk1 0009710f0b90db93 altinst_rootvg
步骤 3. 从备用磁盘引导
- 缺省情况下,备用磁盘安装过程将引导列表更改为备用磁盘。要检查这一点,请运行以下命令:
# bootlist -m normal -o
输出类似于下面所示内容:hdisk1
- 重新引导系统。请输入:
# shutdown -r
系统从备用磁盘(hdisk1)上的引导映像进行引导。
步骤 4. 验证操作
- 在系统重新引导时,它将在备用磁盘外运行。要核实这一点,请输入以下:
# lspv
输出类似于下面所示内容:hdisk0 0009710fa9c79877 old_rootvg hdisk1 0009710f0b90db93 rootvg
- 通过输入以下命令来验证定制脚本确实正确的运行了:
# find /home/johndoe -print
输出类似于下面所示内容:/home/johndoe /home/johndoe/.profile /home/johndoe/abc.txt /home/johndoe/xyz.txt
- 通过输入以下命令来验证您的软件包的内容确实都已安装了:
# lslpp -Lb MyBundle
输出类似于下面所示内容:Fileset Level State Description ---------------------------------------------------------------------------- bos.content_list 5.3.0.0 C AIX Release Content List bos.games 5.3.0.0 C Games