8.3. Redfish API를 사용하여 HTTP 호스팅 ISO 이미지에서 부팅

Redfish BMC(Baseboard Management Controller) API를 사용하여 설치한 ISO를 사용하여 네트워크에서 호스트를 프로비저닝할 수 있습니다.

사전 요구 사항

  • 설치 RHCOS(Red Hat Enterprise Linux CoreOS) ISO를 다운로드합니다.

절차

  1. ISO 파일을 네트워크에서 액세스할 수 있는 HTTP 서버에 복사합니다.
  2. 호스트된 ISO 파일에서 호스트를 부팅합니다. 예를 들면 다음과 같습니다.

    1. 다음 명령을 실행하여 호스팅된 ISO를 VirtualMedia 부팅 미디어로 설정하려면 redfish API를 호출합니다.

      $ curl -k -u <bmc_username>:<bmc_password> \
      -d '{"Image":"<hosted_iso_file>", "Inserted": true}' \
      -H "Content-Type: application/json" \
      -X POST <host_bmc_address>/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD/Actions/VirtualMedia.InsertMedia

      다음과 같습니다.

      <bmc_username>:<bmc_password>
      는 대상 호스트 BMC의 사용자 이름 및 암호입니다.
      <hosted_iso_file>
      호스트 설치 ISO의 URL입니다(예: http://webserver.example.com/rhcos-live-minimal.iso ). 대상 호스트 시스템에서 ISO에 액세스할 수 있어야 합니다.
      <host_bmc_address>
      대상 호스트 시스템의 BMC IP 주소입니다.
    2. 다음 명령을 실행하여 VirtualMedia 장치에서 부팅하도록 호스트를 설정합니다.

      $ curl -k -u <bmc_username>:<bmc_password> \
      -X PATCH -H 'Content-Type: application/json' \
      -d '{"Boot": {"BootSourceOverrideTarget": "Cd", "BootSourceOverrideMode": "UEFI", "BootSourceOverrideEnabled": "Once"}}' \
      <host_bmc_address>/redfish/v1/Systems/System.Embedded.1
    3. 호스트를 재부팅합니다.

      $ curl -k -u <bmc_username>:<bmc_password> \
      -d '{"ResetType": "ForceRestart"}' \
      -H 'Content-type: application/json' \
      -X POST <host_bmc_address>/redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset
    4. 선택 사항: 호스트의 전원이 꺼지면 {"ResetType": "On"} 스위치를 사용하여 부팅할 수 있습니다. 다음 명령을 실행합니다.

      $ curl -k -u <bmc_username>:<bmc_password> \
      -d '{"ResetType": "On"}' -H 'Content-type: application/json' \
      -X POST <host_bmc_address>/redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset