A.11. VDSM 후크 실행
before_vm_start 스크립트는 libvirt에 도달하기 전에 가상 머신의 VDSM 정의를 변경하기 위해 도메인 XML을 편집할 수 있습니다. 그렇게 할 때 주의를 기울여야 합니다. 후크 스크립트는 VDSM 작업을 중단할 가능성이 있으며 버그 스크립트로 인해 Red Hat Virtualization 환경이 중단될 수 있습니다. 특히 도메인의 UUID를 변경하지 말고 충분한 배경 지식이 없는 도메인에서 장치를 제거하지 않도록 합니다.
before_vdsm_start 및 after_vdsm_stop 후크 스크립트는 모두 root 사용자로 실행됩니다. 권한 에스컬레이션에 sudo
명령을 사용하려면 시스템에 대한 루트 액세스 권한이 필요한 기타 후크 스크립트를 작성해야 합니다. 이를 지원하려면 vdsm 사용자가 암호를 다시 입력하지 않고 sudo
를 사용할 수 있도록 /etc/sudoers 를 업데이트해야 합니다. 후크 스크립트가 대화형으로 실행되므로 이 작업이 필요합니다.
예 A.4. VDSM 후크의 sudo
설정
이 예제에서는 vdsm 사용자가 /bin/chown
명령을 root 로 실행할 수 있도록 sudo
명령이 구성됩니다.
- 가상화 호스트에 root 로 로그인합니다.
- 텍스트 편집기에서 /etc/sudoers 파일을 엽니다.
다음 줄을 파일에 추가합니다.
vdsm ALL=(ALL) NOPASSWD: /bin/chown
이는 vdsm 사용자가
/bin/chown
명령을 root 사용자로 실행할 수 있음을 나타냅니다. NOWD 매개변수
는sudo
를 호출할 때 암호를 입력하라는 메시지가 표시되지 않음을 나타냅니다.
이 설정을 변경하면 VDSM 후크가 sudo
명령을 사용하여 /bin/chown
을 root 로 실행할 수 있습니다. 이 Python 코드는 sudo
를 사용하여 /bin/chown
파일을 /my_file 파일에서 root 로 실행합니다.
retcode = subprocess.call( ["/usr/bin/sudo", "/bin/chown", "root", "/my_file"] )
후크 스크립트의 표준 오류 스트림은 VDSM의 로그에 수집됩니다. 이 정보는 후크 스크립트를 디버깅하는 데 사용됩니다.