10.16. 云环境中的 RHEL
kdump 有时不会在 Azure 和 Hyper-V 上启动
在托管在 Microsoft Azure 或 Hyper-V hypervisor 上的 RHEL 8 客户机操作系统中,启动 kdump
内核在某些情况下会在启用执行后通知程序时失败。
要临时解决这个问题,请禁用 crash kexec post notifiers:
# echo N > /sys/module/kernel/parameters/crash_kexec_post_notifiers
(BZ#1865745)
在 VMWare 主机的 RHEL 8 虚拟机中设置静态 IP 无法正常工作
目前,当在 VMWare 主机中使用 RHEL 8 作为虚拟机(VM)的客户机操作系统时,DatasourceOVF 功能无法正常工作。因此,如果您使用 cloud-init
实用程序将虚拟机的网络设置为静态 IP,然后重启虚拟机,则虚拟机的网络将更改为 DHCP。
内核转储带有特定 NIC 的 RHEL 8 虚拟机到 Azure 的远程机器所需的时间比预期的时间要长
目前,虚拟机使用启用了加速网络的 NIC 时,用 kdump
实用程序将 RHEL 8 虚拟机(VM)的内核转储保存到远程机器上无法正常工作。因此,转储文件会在大约 200 秒后保存,而不是立即保存。另外,在保存转储文件前会在控制台中记录以下出错信息。
device (eth0): linklocal6: DAD failed for an EUI-64 address
(BZ#1854037)
nm-cloud-setup
工具 在 Microsoft Azure 上设置了一个不正确的默认路由
在 Microsoft Azure 上,nm-cloud-setup
工具无法检测云环境的正确网关。因此,实用程序会设置不正确的默认路由,并破坏连接性。目前还没有可用的临时解决方案。
当使用多个客户机磁盘引导 Hyper-V 虚拟机时,SCSI 主机地址有时会改变
目前,当在 Hyper-V hypervisor 上引导 RHEL 8 虚拟机时,主机部分的主机 、Bus、Target、Lun(HBTL)SCSI 地址在某些情况下发生了变化。因此,使用虚拟机中的 HBTL SCSI 识别或者设备节点设置的自动任务无法持续工作。如果虚拟机有多个磁盘,或者磁盘大小不同,会出现这种情况。
要临时解决这个问题,使用以下方法之一修改 kickstart 文件:
方法 1:对 SCSI 设备使用持久性标识符。
您可以使用以下 powershell 脚本来确定具体设备标识符:
# Output what the /dev/disk/by-id/<value> for the specified hyper-v virtual disk. # Takes a single parameter which is the virtual disk file. # Note: kickstart syntax works with and without the /dev/ prefix. param ( [Parameter(Mandatory=$true)][string]$virtualdisk ) $what = Get-VHD -Path $virtualdisk $part = $what.DiskIdentifier.ToLower().split('-') $p = $part[0] $s0 = $p[6] + $p[7] + $p[4] + $p[5] + $p[2] + $p[3] + $p[0] + $p[1] $p = $part[1] $s1 = $p[2] + $p[3] + $p[0] + $p[1] [string]::format("/dev/disk/by-id/wwn-0x60022480{0}{1}{2}", $s0, $s1, $part[4])
您可以在 hyper-v 主机上使用此脚本,如下所示:
PS C:\Users\Public\Documents\Hyper-V\Virtual hard disks> .\by-id.ps1 .\Testing_8\disk_3_8.vhdx /dev/disk/by-id/wwn-0x60022480e00bc367d7fd902e8bf0d3b4 PS C:\Users\Public\Documents\Hyper-V\Virtual hard disks> .\by-id.ps1 .\Testing_8\disk_3_9.vhdx /dev/disk/by-id/wwn-0x600224807270e09717645b1890f8a9a2
之后,可在 kickstart 文件中使用磁盘值,如下所示:
part / --fstype=xfs --grow --asprimary --size=8192 --ondisk=/dev/disk/by-id/wwn-0x600224807270e09717645b1890f8a9a2 part /home --fstype="xfs" --grow --ondisk=/dev/disk/by-id/wwn-0x60022480e00bc367d7fd902e8bf0d3b4
因为这些值特定于每个虚拟磁盘,因此需要为每个虚拟机实例进行配置。因此,使用 %include
语法将磁盘信息放在单独的文件中可能会很有用。
方法 2:按大小设置设备选择。
根据大小配置磁盘选择的 kickstart 文件必须包含类似如下的行:
... # Disk partitioning information is supplied in a file to kick start %include /tmp/disks ... # Partition information is created during install using the %pre section %pre --interpreter /bin/bash --log /tmp/ks_pre.log # Dump whole SCSI/IDE disks out sorted from smallest to largest ouputting # just the name disks=(`lsblk -n -o NAME -l -b -x SIZE -d -I 8,3`) || exit 1 # We are assuming we have 3 disks which will be used # and we will create some variables to represent d0=${disks[0]} d1=${disks[1]} d2=${disks[2]} echo "part /home --fstype="xfs" --ondisk=$d2 --grow" >> /tmp/disks echo "part swap --fstype="swap" --ondisk=$d0 --size=4096" >> /tmp/disks echo "part / --fstype="xfs" --ondisk=$d1 --grow" >> /tmp/disks echo "part /boot --fstype="xfs" --ondisk=$d1 --size=1024" >> /tmp/disks %end
(BZ#1906870)
RHEL 8 虚拟机在 AWS ARM64 实例上的网络性能较低
当在 Amazon Web Services(AWS) ARM64 实例上运行的虚拟机(VM)中使用 RHEL 8 作为操作系统时,当使用iommu.strict=1
内核参数或 未定义iommu.strict
参数时,VM的网络性能会低于预期。
要临时解决这个问题,将参数改为iommu.strict=0
。但是,这也会降低虚拟机的安全性。
(BZ#1836058)
启用 FIPS 模式时,休眠 RHEL 8 虚拟机会失败
目前,如果虚拟机使用 FIPS 模式,则无法休眠使用 RHEL 8 作为其客户机操作系统的虚拟机。
(BZ#1934033, BZ#1944636)
从备份 AMI 创建的 EC2 实例上未正确生成 SSH 密钥
目前,当从备份 Amazon Machine Image(AMI)创建新的 RHEL 8 的 Amazon EC2 实例时,cloud-init
会删除虚拟机上现有的 SSH 密钥,但不会创建新密钥。因此,在某些情况下虚拟机无法连接到主机。
要临时解决这个问题,请编辑 cloud.cgf
文件,并将"ssh_genkeytypes:~"那行改为 ssh_genkeytypes: ['rsa', 'ecdsa', 'ed25519']
。
当在上述的情形中创建 RHEL 8 虚拟机时,可以正确删除并生成 SSH 密钥。
从备份 AMI 创建的 EC2 实例上未正确生成 SSH 密钥
目前,当从备份 Amazon Machine Image(AMI)创建新的 RHEL 8 的 Amazon EC2 实例时,cloud-init
会删除虚拟机上现有的 SSH 密钥,但不会创建新密钥。因此,在某些情况下虚拟机无法连接到主机。
要临时解决这个问题,请编辑 cloud.cgf
文件,并将"ssh_genkeytypes:~"那行改为 ssh_genkeytypes: ['rsa', 'ecdsa', 'ed25519']
。
当在上述的情形中创建 RHEL 8 虚拟机时,可以正确删除并生成 SSH 密钥。