apk-*-linux-rh 版本与下列操作系统 distro 兼容:
要安装 APK,您需要下面两项之一:
如果将使用 APK 提供的内核和 initrd 文件,则映像必须与 ext3 文件系统在一起。
重要信息! APK 的 Linux 版本支持 VMWare 和 XEN Hypervisor 的 HVM 启动。 CA AppLogic 提供的 PVM 内核是可选的。
下列步骤可能有所不同,具体取决于操作系统最初是如何安装的。 它们不会由 APK 设置脚本执行,而是会留待管理员处理,因为如果在实际系统上(而不是在正在准备的映像上)被意外完成的话,其中一些操作可能具有攻击性,甚至可能具有破坏性-因此在自动化脚本中运行它们可能是不可取的。 跳过任何不适当的步骤。
准备映像
如果操作系统安装为 ext2,请执行以下命令将映像转换为 ext3。
tune2fs -j
要使用 ext2(或除 ext3 之外的任何文件系统),需要重新构建 APK 附带的 initrd 文件。
rm /etc/sysconfig/network-scripts/ifcfg-eth*
如果安装程序发现根设备是由标签或 UUID 指定的,还将进行检查并显示警告。
rpm --root path/to/image -e --nodeps kernel
或者,如果在 vol manage shell 中执行这一操作:
chroot path/to/image rpm -e --nodeps kernel
注意:在清理之后,卷可能会缩小,从而为组件生成一个较小的启动卷映像,但是请确认至少剩余 10-15MB 的可用空间,从而有空间安装 XEN DomU 内核和 APK,并为日志文件、临时文件等留出一些净空。
此处提供的安装说明假定:正在通过安装干净的操作系统、将其关闭再创建启动磁盘映像,或者使用新版本的 APK 升级现有 CA AppLogic 组件,在一个并未实际运行、但已提前准备好的操作系统映像上执行 APK 安装。
也可以进行实际安装(在运行的操作系统上),并且可以与 CA AppLogic Service Pack 2.4.5 及更高版本中提供的 iso2class 实用工具一起使用。 不过请注意:iso2class 将为您创建 HVM 组件,且 APK 不会以 HVM 模式工作;必须在安装 APK 后将组件更改为并行虚拟化模式。 要安装在实际系统上,请遵循以下步骤,但是使用 / 作为所有操作的当前目录。 最好是在 XEN 虚拟机中完成这一操作(例如:使用 iso2class),在裸机系统上进行这一操作将导致计算机不可启动。
安装 APK
如果映像已在 CA AppLogic 网格上安装为卷,就可以使用 vol manage 命令访问此映像。
重要信息:APK 的操作需要 dhclient 程序包。 默认情况下它不会安装到 CentOS5 上。 安装 APK 前在您的映像上安装 dhclient 程序包。
使用 chroot,dhclient RPM 可以安装到非实际的操作系统映像上(例如:挂接到 vol manage shell 中)。 RPM 应该可用于任何 CentOS 镜像站点(例如: http://mirror.stanford.edu/yum/pub/centos/5.1/os/i386/CentOS/dhclient-3.0.5-7.el5.i386.rpm)
安装 dhclient 程序包
cd /mnt/vol tar -zxf tmp/domu-linux-2.6.18.8.386.tar.gz # ** 请看下面的备注! tar -zxf tmp/apk-2.0.14-rh.tar.gz
设置脚本将拆包到 ./tmp 目录中。
重要信息! 请使用与您的 distro 体系结构相对应的 domu-linux 存档。 无法在 64 位 distro 上安装 32 位内核。
tmp/apk-install
现在可通过执行以下命令删除设置脚本和 tar 文件(如果它们已复制到映像本身):
rm tmp/apk-install tmp/domu-linux-*.tar.gz tmp/apk-*.tar.gz
注意:APK 提供的 init 脚本不再支持 /appliance 内安装的组件特定脚本。 如果有这样的脚本存在,则安装脚本将停止并提示用户输入信息。 如果没有在此目录中进行组件特定的自定义(即,其内容与在 LUX 上找到的相同或相似),则可以放心地将其删除。 现在由 APK 提供所有用于在那里安装的标准功能。 否则,单击“保存到 /tmp”,并继续安装。
如果文件 /etc/sysconfig/applogic_init 存在,APK init 脚本会将其读取为 shell include 脚本(使用 "." 命令)。 下列参数可在 /etc/sysconfig/applogic_init 中定义:
|
APK_AUTH_KEY_PATH |
指定存储组件 SSH 访问公钥的位置。 3t comp ssh 命令使用匹配的私钥连接到组件。 默认值是 /root/.ssh。 设置为空字符串的密钥不会存储在任何位置。 |
|
APK_CONFIG_EXTIFC |
启用外部接口的自动 IP 配置(如果应用中已提供)。 将该值设置为 no 可禁用外部接口的 IP 配置。 该值还会导致某种 APK 行为,例如不支持先前版本的外部接口配置。 默认值:是 重要信息! 如果安装新 CA AppLogic 3.5 APK 的组件具有在 3.5 之前版本网格上运行的外部接口,请设置 APK_CONFIG_EXTIFC=no。 这些组件使用多个属性配置外部网络。 该设置对没有外部接口的组件不起作用。 |
|
APK_CONFIG_FILES |
指定要应用组件属性的文件列表(以空格分隔)。 这将替换在 GUI 的“修改边界”对话框中指定的配置文件列表(对于不使用 APK 的组件)。 配有 APK 的组件使用在此组件上找到的 APK_CONFIG_FILES 列表,而不是在 GUI 中指定的列表。 |
重要信息! /etc/sysconfig/applogic_init 文件是在检索或应用任何配置数据之前执行的,因此脚本不能依赖于组件的任何配置文件的存在。 不要使用此文件来执行初始化代码,而只能将其用于以上定义的配置变量。
示例 /etc/sysconfig/applogic_init:
APK_CONFIG_FILES=/etc/httpd/conf.d/myconfig.conf APK_AUTH_KEY_PATH=/root/.ssh/alternate_keys
如果文件 /etc/sysconfig/applogic_appliance 存在,APK late init 脚本会在组件上的所有服务都启动后将该文件读取为 shell include 脚本(使用 "." 命令)。 脚本的返回状态表示该组件将被视为启动成功还是失败。 如果脚本将消息输出至 stderr 并返回错误,则此消息的最后一行将被用作发送至控制器的错误消息。
Web 服务器组件的启动后检查文件示例-确认服务器已启动并响应主页的 HTTP GET:
if ! wget -q -O /dev/null http://localhost/ ; then echo "start failed - Web server is not responding" >&2 return 1 fi return 0
重要信息! 系统目录中的一些组件使用位于 /appliance 中的自定义脚本来初始化服务。 这不再受支持。 在安装 APK 时会显示警告,要求保持根目录结构简洁且符合文件系统层次结构标准。 可以将这些脚本中的代码移动到 /etc/sysconfig/applogic_appliance,以模仿旧的行为,但这不是启动后检查文件的意图,所以不建议这么做。 相反,已安装的服务应当有自己的 init 脚本,并且通常应当完全能在 CA AppLogic 以外工作。
| 版权所有 © 2012 CA。 保留所有权利。 |
|