Red Hat Training

A Red Hat training course is available for Red Hat Virtualization

A.11. VDSM 후크 실행

before_vm_start 스크립트는 도메인 XML을 편집하여 libvirt에 도달하기 전 가상 머신의 VDSM 정의를 변경할 수 있습니다. 이러한 과정을 실행할 때 주의해야 합니다. 후크 스크립트는 VDSM의 동작을 방해할 수 있으며 버그 스크립트로 인해 Red Hat Virtualization 환경이 중단될 수 있습니다. 특히 도메인의 UUID를 변경해서는 안되며 충분한 배경 지식 없이 도메인에서 장치를 삭제해서는 안됩니다.
before_vdsm_startafter_vdsm_stop 후크 스트립트 모두 root 사용자로 실행됩니다. 시스템에 root 액세스가 필요한 다른 후크 스크립트는 권한 에스컬레이션을 위해 sudo 명령을 사용하도록 작성해야 합니다. 이를 지원하려면 /etc/sudoers를 업데이트하여 vdsm 사용자가 암호를 다시 입력하지 않고 sudo를 사용할 수 있게 합니다. 후크 스크립트는 대화형이 아닌 방식으로 실행되므로 이러한 설정이 필요합니다.

예 A.4. VDSM 후크에 sudo 설정

다음 예에서는 vdsm 사용자가 root/bin/chown 명령을 실행하기 위해 sudo 명령을 설정합니다.
  1. root로 가상화 호스트에 로그인합니다.
  2. 텍스트 편집기에서 /etc/sudoers 파일을 엽니다.
  3. 파일에 다음 행을 추가합니다:
    vdsm ALL=(ALL) NOPASSWD: /bin/chown
    이는 vdsm 사용자가 root 사용자로 /bin/chown 명령을 실행할 수 있는 기능을 지정합니다. NOPASSWD 매개 변수를 사용하여 sudo 호출 시 사용자에게 암호를 입력하라는 메세지가 나타나지 않도록 합니다.
설정이 변경되면 VDSM 후크는 sudo 명령을 사용하여 root/bin/chown을 사용할 수 있게 됩니다. Python 코드는 sudo를 사용하여 파일 /my_file에서 root/bin/chown을 실행합니다.
retcode = subprocess.call( ["/usr/bin/sudo", "/bin/chown", "root", "/my_file"] )
후크 스크립트의 표준 오류 스트림은 VDSM 로그에서 수집됩니다. 이러한 정보는 후크 스크립트를 디버그하는데 사용됩니다.