A.9. 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 사용자로 실행할 수 있음을 지정합니다.NOPASSWD
매개 변수는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의 로그에 수집됩니다. 이 정보는 후크 스크립트를 디버깅하는 데 사용됩니다.