Menu Close

10.17. 클라우드 환경의 RHEL

VMware 호스트의 RHEL 8 가상 머신에서 고정 IP를 설정할 수 없습니다.

현재 RHEL 8을 VMware 호스트에서 VM(가상 머신)의 게스트 운영 체제로 사용할 때 DatasourceOVF 기능이 제대로 작동하지 않습니다. 결과적으로 cloud-init 유틸리티를 사용하여 VM의 네트워크를 고정 IP로 설정한 다음 VM을 재부팅하면 VM의 네트워크가 DHCP로 변경됩니다.

(BZ#1750862)

Kdump가 Azure 및 Hyper-V에서 시작되지 않는 경우가 있습니다.

Microsoft Azure 또는 Hyper-V 하이퍼바이저에서 호스팅되는 RHEL 8 게스트 운영 체제에서는 실행 후 알림기를 활성화하면 kdump 커널을 시작할 수 없는 경우가 있습니다.

이 문제를 해결하려면 크래시 kexec 후 알림기를 비활성화합니다.

# echo N > /sys/module/kernel/parameters/crash_kexec_post_notifiers

(BZ#1865745)

여러 게스트 디스크로 Hyper-V VM을 부팅할 때 SCSI 호스트 주소가 변경될 수 있습니다.

현재 Hyper-V 하이퍼바이저에서 RHEL 8 가상 머신(VM)을 부팅할 때 일부 경우 호스트 , 버스, 대상, LBTL(Lun) SCSI 주소의 호스트 부분이 변경됩니다. 결과적으로 VM의 HBTL SCSI 식별 또는 장치 노드로 설정된 자동화된 작업이 일관적으로 작동하지 않습니다. VM에 디스크가 두 개 이상 있거나 디스크에 크기가 다른 경우 발생합니다.

문제를 해결하려면 다음 방법 중 하나를 사용하여 킥스타트 파일을 수정하십시오.

방법 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

이러한 값은 각 가상 디스크에 고유하므로 각 VM 인스턴스에 대해 구성을 수행해야 합니다. 따라서 %include 구문을 사용하여 디스크 정보를 별도의 파일에 배치하는 것이 유용할 수 있습니다.

방법 2: 장치 선택을 크기별로 설정합니다.

크기를 기반으로 디스크 선택을 구성하는 킥스타트 파일에 다음과 유사한 행이 포함되어야 합니다.

...

# 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)