组件工具包 › 如何升级应用以使用新的组件工具包 (APK) › 升级组件以使用 DHCP 配置模式
升级组件以使用 DHCP 配置模式
按照下列说明,将现有的 Linux 组件从 volfix 配置模式升级到 DHCP 配置模式(目录类或者单例)。
升级组件以使用 DHCP 配置模式
- 使应用包含要升级的组件的单例副本:
- 如果组件在目录中,创建包含目录类实例的新应用,并分支实例以创建单例。
- 如果组件为单例:
- 如果包含单例的应用正在运行,则必须停止该应用。
- 使用 app copy 命令复制包含单例的应用。 单例应在自己的应用中升级,这样,如果发生故障,会保留原始单例。 该部分中所有剩余步骤应在应用的新副本上执行。
- 注意:如果由于应用具有非常大的卷,因而不想创建应用的副本,则可以将单例转换为目录类,并在新应用中实例化该类的实例。
- 在新的应用中,将单例连接到 NET 组件以获取外部网络访问权限(仅当组件未启用及配置其外部接口时,才需要执行此操作):
- 如果需要,在 CA 3Tera AppLogic 编辑器中将网络终端添加到单例,并将该终端标记为组件边界中的网关接口
- 将单例的网络终端连接到 NET 组件实例的终端
- 使用适当的网络设置配置 NET 组件
- 如果单例具有驻留在普通只读卷上的只读启动卷或任何启动卷文件夹(即 /usr),则这些卷必须转换为读/写卷。 需要此操作,因为组件上的各种软件包的安装可能需要这些卷的更新:
- 在 CA 3Tera AppLogic GUI 中打开新的应用。 右键单击单例,然后选择“修改边界”菜单项。
- 选择“卷”选项卡。
- 查看“类型”和“选项”列,以查看是否有任何普通的只读卷。 如果没有该类型的卷,转到下一步。
- 对于所有普通的只读卷,取消选中只读按钮(只读按钮上具有一个眼镜图形)。
- 配置单例的所有强制属性和卷,并以调试模式启动应用(使用 --debug 选项)。
- 在单例上安装 dhclient 包(这是 APK 的依赖关系)。 例如:在基于 CentOS 的组件上:
- 通过 ssh 进入正运行的单例组件
- 执行:yum install dhclient
- 在正运行的单例中将相应的 APK 复制到 /tmp:
- 为单例组件的内部接口获取 DHCP 服务器的 IP 地址:
- 使用 wget 将相应的 APK 下载到您的组件中:
- wget http://10.47.255.254:8080/download(这将下载包含可从网格控制器下载的文件列表的 index.html;为了方便起见,您也可以使用基于文本的浏览器)
- cat index.html;注意 APK 包的最新版本(例如:apk-2.0.20-linux-rh.tar.gz; 2.0.20 是自 CA 3Tera AppLogic 2.7 起的最新版本)
- cd /tmp
- wget http://10.47.255.254:8080/download/apk-2.0.20-linux-rh.tar.gz(确保使用正确的 IP 和 APK 包)
- cd /
- 遵循相应的 APK 安装说明。 无需替换 domU 内核。 不要删除 /appliance 目录。
- 如果要升级基于 CentOS 的组件,请执行以下命令:
- cd /
- mv /appliance /appliance_save
- tmp/apk-install
- rm -f /tmp/apk-install /tmp/apk-2.0.18-linux-rh.tar.gz
- mv /appliance_save /appliance
- mkdir /var/log/appliance
- 对于除 CentOS 以外的其他操作系统,请参阅《组件开发人员指南》中的“适用于 RedHat 或 Ubuntu 分发的 APK 安装”一节了解详细说明。
- 如果单例通常允许进行基于密码的 ssh 身份验证(例如:在 VDS 应用单例中),请编辑 /etc/ssh/sshd_config 并修改以下内容:
- 将 PermitRootLogin without-password 更改为 PermitRootLogin yes
- 删除 ChallengeResponseAuthentication no
- 使原始 /appliance/appliance.sh 脚本在组件启动时执行:
- 使用模式 644 创建包含以下文本的文件 /etc/sysconfig/applogic_appliance:/appliance/appliance.sh $@
- 在 CA 3Tera AppLogic 应用编辑器中,查看单例边界,并注意“配置文件”选项卡中所列的任何文件,例如:/etc/httpd/conf.d/appl.conf
- 如果此选项卡上没有列出任何配置文件,转到下一步。
- 在组件中,使用模式 644 创建包含以空格分隔的配置文件列表(以双引号引起)的文件 /etc/sysconfig/applogic_init,例如:
- APK_CONFIG_FILES="/etc/httpd/conf.d/appl.conf /etc/httpd/conf.d/bnna.conf"
- 停止应用。 在 CA 3Tera AppLogic 编辑器中,修改单例边界:
- 在“配置文件”选项卡中,删除所有条目
- 在“常规”选项卡中,单击“虚拟模式选项”按钮,并执行以下操作:
- 清除内核路径和 Initrd 路径条目
- 将“配置模式”从 volfix 更改为 dhcp
- 保存应用
- 以调试模式启动应用(使用 --debug 选项)。 它应在没有错误的情况下启动。 如果无法启动应用,检查网格控制器系统日志来获取详细信息(日志列表)。 测试组件,确认它运行。
- 如果升级的组件具有在第 3 步中转换为读/写卷的普通只读卷,请确认这些卷被转换回只读卷。
- 现在组件升级为使用 APK 和 DHCP 配置模式。 如果升级的组件是单例,则升级过程已完成。 如果您的组件是目录类,有关如何升级 CA 3Tera AppLogic 应用以使用升级的组件的信息,请参阅升级应用以使用基于 DHCP 的新组件。