为导出前更新执行提升和倒班
通过更改原始源系统上的 VM,建议且有时有必要为 Private Cloud Appliance 准备 VM。在源系统的克隆而非原始 VM 上执行以下导出前更新步骤。
注意:
对源系统上的生产映像的克隆进行操作。这可以保护生产环境,并在需要重复该过程时提供已知的回退。使用源系统提供的克隆 VM 的方法。例如,在 Oracle VM 和 Private Cloud Appliance 2.4 中,在 Servers and VMs(服务器和 VM)选项卡中选择 VM,右键单击并选择 Clone(克隆)。在所有情况下,请停止源 VM 以确保克隆具有一致的磁盘内容。
连接到操作系统当前级别的补丁程序
将克隆 VM 更新到同一 OS 的当前修补程序级别。
指令取决于来宾操作系统。例如,yum update
到 Oracle Linux 7 或 8 的最新修补程序级别,或者 Solaris 11.4 上的 pkg update
,或者 Microsoft Windows 上的 Windows Update。打补丁后重新引导以确保打补丁后正确运行。
这样可以确保最新的设备驱动程序可用,并防止最近关闭的错误和安全风险。
注意:
如果您当前在 Oracle Linux 6 或更低版本上,Oracle 建议您执行以下操作:
- 迁移到当前的 Oracle Linux 版本,以确保安装了适用于 PCA X9-2 的相应设备驱动程序,并且包含 bug 修复和增强功能。
- 执行全新的 OS 安装,而不是升降装置和倒班。
将虚拟网络设备更改为 DHCP
在 Private Cloud Appliance 上安装来宾 VM 的虚拟网络后,可能需要进行多次更改才能正常工作。
专用云设备使用 DHCP 为新实例提供网络地址。由于可以从同一映像克隆多个实例,因此在创建每个实例时分配新的 MAC 和 IP 地址很有意义。
注意:
- 创建实例时由 DHCP 获取的 IP 地址是稳定的。
- 实例可见的 IP 地址是虚拟云网络 (VCN) 上的专用 IP 地址。可以使用网络地址转换 (Network Address Translation,NAT) 层从专用云设备外部访问实例。请参阅 Compute Enclave 实例说明中的 "Network"(网络)选项卡,了解专用和公共 IP 地址。
在 Linux 上,编辑文件 /etc/sysconfig/network-scripts/ifcfg-NICNAME
并删除 HWADDR
或 MACADDR
行并设置 BOOTPROTO="dhcp"
。或者,您可以使用随分发提供的图形工具。此外,删除文件 /etc/udev/rules.d/70-persistent-ipoib.rules
和 /etc/udev/rules.d/70-persistentnet.rules
(如果存在)。这些文件包含与新实例不匹配的 MAC 地址。如果需要,将自动重新创建它们。
删除 Exalogic 特定的工具和驱动程序
按照以下说明删除 Exalogic OS 组件。
如果您使用的是 WebLogic,请连接到 Oracle WebLogic Server 控制台,然后通过反转用于为 Exalogic 打开这些增强功能的步骤(尤其是禁用套接字直接协议 (Socket Direct Protocol,SDP))来关闭 Exalogic 增强功能。这是 Exalogic 的优秀实践,私有云设备不支持。请参阅 Explore More(浏览更多)部分中链接的 Oracle Fusion Middleware Enterprise Deployment for Exalogic 指南。
当 Exalogic VM 与 hostname
和 IP address
相同时,您可以停止 VM 并克隆它以供应用程序集群的其他成员使用。依次引导每个 VM 以更改其 hostname
和 address
以使其唯一。
为 Private Cloud Appliance 安装 Linux 内核和驱动程序功能
操作系统可能需要在引导时显式包含 VirtIO 设备驱动程序。
注意:
如果源虚拟机管理程序是 KVM,则您已经拥有适用于 Private Cloud Appliance 的驱动程序。- 您可以选择在运行
dracut
之前备份内核。例如:mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
- 使用
dracut
命令将设备驱动程序添加到initramfs
。例如:dracut --force -N
或dracut -N --regenerateall
。-N
选项禁用仅主机模式,该模式仅为当前主机创建initramfs
。此选项将生成一个通用映像。- 如果您在不具有
-N
选项的非常旧版本的 Linux 上运行,请特别列出 Private Cloud Appliance X9-2 所需的内核模块。例如:dracut --add-drivers 'sg sd_mod virtio virtio_pci virtio_ring virtio_scsi'
。 --regenerate-all
选项为/boot
中的所有内核版本重新生成initramfs
,而不仅仅是当前引导的版本。这对于 Oracle Linux 有用,可确保 UEK 和 RHCK 内核都能获得所需的驱动程序,无论当前引导的是哪个驱动程序。- 选项
--force
会覆盖当前已存在的initramfs
文件。
您可以在 /boot
中看到更新的 initramfs
文件。由于添加了设备驱动程序,它们将比以前的版本大。
如果省略 dracut
步骤,则可以在首次在专用云设备 X9-2 上启动实例时执行该步骤。
- 登录到计算区。
- 选择实例并连接到控制台。
- 在 Grub 菜单中选择挽救行。
- 如果在选择挽救引导之前引导失败,请从计算区对实例运行重置操作。
- 实例引导后,登录并运行
dracut
命令。
(可选)安装初始化工具包
建议您安装 cloud-init
(Linux) 工具包。
这些工具包是用于跨平台实例初始化的行业标准供应商无关方法。它们有助于识别云实例在引导期间运行,从云中读取提供的任何 metadata
,并相应地初始化系统。它们能够从基于密码的 ssh
转换为使用密钥对交换。有关详细信息,请参阅 Oracle Private Cloud Appliance 用户指南的第 6.4 部分。
在 Oracle Linux 上,安装适用于 Linux 发行版的 cloud-init
和 oci-utils
软件包。对 Oracle Linux 8 使用以下命令:
# dnf install yum-utils
# yum-config-manager --enable ol8_addons
# dnf install cloud-init oci-utils
然后,使用引用的引用中所述的密钥对交换,使用 userid
opc
(不带密码)将 ssh
添加到已启动的实例中。
准备启动和文件系统
该映像仅包含引导磁盘,因此请禁用任何引导时服务和需要其他磁盘的应用程序。
对非引导文件系统的引用必须删除,直到稍后重新创建。如果引导映像引用其他磁盘进行交换,即 /tmp
或 /var/logs
,则必须将其临时移动到引导卷。
在 Linux 上执行以下步骤:
- 编辑
/etc/fstab
。 - 删除不在引导磁盘上的文件系统挂载的条目。
- 确保任何引导磁盘分区未被设备名称(如
/dev/xvda
)直接引用。 - 请改用 LABEL= 或 UUID=。
- 如果您引用引导磁盘,则无需修改对 LVM 设备的引用。
- 运行
pvs
命令以确保唯一的 LVM 物理卷 (physical volume,PV) 是引导卷。 - 如果卷组 (Volume Group,VG) 位于其他物理卷上,则应在 /etc/fstab 中对其进行注释。
如果逻辑卷由引导磁盘和其他磁盘组成,则迁移会更加复杂,并且超出此解决方案的范围。
禁用在引导时启动并需要完全配置的任何服务或应用程序,因为在专用云设备 X9-2 上初始启动时将没有完整的运行环境。