4.5. Microsoft Azure 배포에 필요한 구성 변경

사용자 지정 기본 이미지를 Azure에 배포하기 전에 추가 구성 변경을 수행하여 가상 머신(VM)이 Azure에서 제대로 작동할 수 있는지 확인해야 합니다.

절차

  1. VM에 로그인합니다.
  2. VM을 등록하고 Red Hat Enterprise Linux 9 리포지토리를 활성화합니다.

    # subscription-manager register --auto-attach
    Installed Product Current Status:
    Product Name: Red Hat Enterprise Linux for x86_64
    Status: Subscribed
  3. cloud-inithyperv-daemons 패키지가 설치되어 있는지 확인합니다.

    # dnf install cloud-init hyperv-daemons -y
  4. Azure 서비스와의 통합에 필요한 cloud-init 구성 파일을 만듭니다.

    1. Hyper-V 데이터 교환 서비스(KVP)에 로깅할 수 있도록 하려면 /etc/cloud/cloud.cfg.d/10-azure-kvp.cfg 구성 파일을 만들고 해당 파일에 다음 행을 추가합니다.

      reporting:
          logging:
              type: log
          telemetry:
              type: hyperv
    2. Azure를 데이터 소스로 추가하려면 /etc/cloud/cloud.cfg.d/91-azure_datasource.cfg 구성 파일을 생성하고 해당 파일에 다음 행을 추가합니다.

      datasource_list: [ Azure ]
      datasource:
          Azure:
              apply_network_config: False
  5. 특정 커널 모듈이 자동으로 로드되지 않도록 차단하려면 /etc/modprobe.d/blocklist.conf 파일을 편집하여 해당 파일에 다음 행을 추가합니다.

    blacklist nouveau
    blacklist lbm-nouveau
    blacklist floppy
    blacklist amdgpu
    blacklist skx_edac
    blacklist intel_cstate
  6. udev 네트워크 장치 규칙을 수정합니다.

    1. 있는 경우 다음 영구 네트워크 장치 규칙을 제거합니다.

      # rm -f /etc/udev/rules.d/70-persistent-net.rules
      # rm -f /etc/udev/rules.d/75-persistent-net-generator.rules
      # rm -f /etc/udev/rules.d/80-net-name-slot-rules
    2. Azure의 Accelerated Networking이 의도한 대로 작동하도록 하려면 새 네트워크 장치 규칙 /etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules 를 생성하고 다음 행을 추가합니다.

      SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION=="add", ENV{NM_UNMANAGED}="1"
  7. 자동으로 시작되도록 sshd 서비스를 설정합니다.

    # systemctl enable sshd
    # systemctl is-enabled sshd
  8. 커널 부팅 매개변수 수정:

    1. /etc/default/grub 파일을 열고 GRUB_TIMEOUT 행에 다음 값이 있는지 확인합니다.

      GRUB_TIMEOUT=10
    2. GRUB_CMDLINE_LINUX 행 끝에 있는 경우 다음 옵션을 제거하십시오.

      rhgb quiet
    3. /etc/default/grub 파일에 지정된 모든 옵션이 있는 다음 행이 포함되어 있는지 확인합니다.

      GRUB_CMDLINE_LINUX="loglevel=3 crashkernel=auto console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300"
      GRUB_TIMEOUT_STYLE=countdown
      GRUB_TERMINAL="serial console"
      GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
    4. grub.cfg 파일을 다시 생성합니다.

      BIOS 기반 시스템에서 다음을 수행합니다.

      # grub2-mkconfig -o /boot/grub2/grub.cfg

      UEFI 기반 머신에서 다음을 수행합니다.

      # grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

      시스템에서 grub.cfg 에 대해 기본이 아닌 위치를 사용하는 경우 그에 따라 명령을 조정합니다.

  9. Windows Azure Linux Agent(WALinuxAgent)를 구성합니다.

    1. WALinuxAgent 패키지를 설치하고 활성화합니다.

      # dnf install WALinuxAgent -y
      # systemctl enable waagent
    2. 프로비저닝된 VM에서 스왑 파티션을 사용하지 않도록 하려면 /etc/waagent.conf 파일에서 다음 행을 편집합니다.

      Provisioning.DeleteRootPassword=y
      ResourceDisk.Format=n
      ResourceDisk.EnableSwap=n
  10. Azure 프로비저닝을 위한 VM을 준비합니다.

    1. Red Hat Subscription Manager에서 VM 등록을 취소합니다.

      # subscription-manager unregister
    2. 기존 프로비저닝 세부 정보를 정리합니다.

      # waagent -force -deprovision
      참고

      이 명령은 Azure가 VM 프로비저닝을 자동으로 처리하므로 예상되는 경고를 생성합니다.

    3. 쉘 기록을 정리하고 VM을 종료합니다.

      # export HISTSIZE=0
      # poweroff