3.10. bootupd를 사용하여 RHCOS 노드에서 부트 로더 업데이트


bootupd 를 사용하여 RHCOS 노드에서 부트 로더를 업데이트하려면 RHCOS 머신에서 bootupctl update 명령을 수동으로 실행하거나 systemd 장치를 사용하여 머신 구성을 제공해야 합니다.

grubby 또는 기타 부트 로더 툴과 달리 bootupd 는 커널 인수 전달과 같은 커널 공간 구성을 관리하지 않습니다. 커널 인수를 구성하려면 노드에 커널 인수 추가를 참조하십시오.

참고

bootupd 를 사용하여 부트 로더를 업데이트하여 BootHole 취약점으로부터 보호할 수 있습니다.

3.10.1. 수동으로 부트 로더 업데이트

bootupctl 명령줄 툴을 사용하여 시스템 상태를 수동으로 검사하고 부트 로더를 업데이트할 수 있습니다.

  1. 시스템 상태를 검사합니다.

    # bootupctl status

    x86_64출력 예

    Component EFI
      Installed: grub2-efi-x64-1:2.04-31.el8_4.1.x86_64,shim-x64-15-8.el8_1.x86_64
      Update: At latest version

    aarch64의 출력 예

    Component EFI
      Installed: grub2-efi-aa64-1:2.02-99.el8_4.1.aarch64,shim-aa64-15.4-2.el8_1.aarch64
      Update: At latest version

  1. 초기 버전 4.4 이상에 OpenShift Container Platform 클러스터는 명시적 채택 단계가 필요합니다.

    시스템 상태가 Adoptable인 경우 채택을 수행합니다.

    # bootupctl adopt-and-update

    출력 예

    Updated: grub2-efi-x64-1:2.04-31.el8_4.1.x86_64,shim-x64-15-8.el8_1.x86_64

  2. 업데이트를 사용할 수 있는 경우 다음 재부팅에 변경 사항이 적용되도록 업데이트를 적용합니다.

    # bootupctl update

    출력 예

    Updated: grub2-efi-x64-1:2.04-31.el8_4.1.x86_64,shim-x64-15-8.el8_1.x86_64

3.10.2. 머신 구성을 통해 부트로더 자동 업데이트

bootupd 를 사용하여 부트 로더를 자동으로 업데이트하는 또 다른 방법은 모든 부팅에 필요에 따라 부트 로더를 업데이트하는 systemd 서비스 장치를 생성하는 것입니다. 이 장치는 부팅 프로세스 중에 bootupctl update 명령을 실행하고 머신 구성을 통해 노드에 설치됩니다.

참고

업데이트 작업이 예기치 않은 중단으로 인해 부팅 불가능한 노드가 발생할 수 있으므로 이 구성은 기본적으로 활성화되어 있지 않습니다. 이 구성을 활성화하면 부트 로더 업데이트가 진행되는 동안 부팅 프로세스 중에 노드가 중단되지 않도록 합니다. 부트 로더 업데이트 작업은 일반적으로 빠르게 완료되므로 위험이 낮습니다.

  1. bootupctl-update.service systemd 장치의 내용을 포함하여 Butane 구성 파일 99-worker-bootupctl-update.bu 를 생성합니다.

    참고

    Butane에 대한 자세한 내용은 “Butane 을 사용하여 머신 구성 생성”을 참조하십시오.

    출력 예

    variant: openshift
    version: 4.17.0
    metadata:
      name: 99-worker-chrony 1
      labels:
        machineconfiguration.openshift.io/role: worker 2
    systemd:
      units:
      - name: bootupctl-update.service
        enabled: true
        contents: |
          [Unit]
          Description=Bootupd automatic update
    
          [Service]
          ExecStart=/usr/bin/bootupctl update
          RemainAfterExit=yes
    
          [Install]
          WantedBy=multi-user.target

    1 2
    컨트롤 플레인 노드에서 두 위치에 있는 masterworker로 대체합니다.
  2. Butane을 사용하여 노드에 전달할 구성이 포함된 MachineConfig 파일 99-worker-bootupctl-update.yaml 을 생성합니다.

    $ butane 99-worker-bootupctl-update.bu -o 99-worker-bootupctl-update.yaml
  3. 다음 두 가지 방법 중 하나로 설정을 적용하십시오.

    • 클러스터가 아직 실행되지 않은 경우 매니페스트 파일을 생성한 후 <installation_directory>/openshift 디렉터리에 MachineConfig 개체 파일을 추가한 다음 클러스터를 계속 작성합니다.
    • 클러스터가 이미 실행중인 경우 다음과 같은 파일을 적용합니다.

      $ oc apply -f ./99-worker-bootupctl-update.yaml
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.