A.11. 使用 VDSM hook
		为了改变一个虚拟机的 VDSM 定义,
before_vm_start 脚本可以在 libvirt 前修改 domain XML。如需这样做,您需要非常的小心。hook 脚本可能会影响到 VDSM 的正常运行,一个有 bug 的脚本可能会导致整个 Red Hat Enterprise Virtualization 环境出现故障。特别需要注意的是,永远不要更改域的 UUID;在没有足够背景知识的情况下不要试图从域中删除一个设备。
	before_vdsm_start 和 after_vdsm_stop hook 脚本都是以 root 用户执行的。如果其它的 hook 脚本需要系统的 root 权限,您需要使用 sudo 命令来升级权限。因为 hook 脚本是以非交互的形式被运行的,您必须配置您的 /etc/sudoers 来允许 vdsm 用户在不需要重新输入密码的情况下使用 sudo。
	例 A.4. 为 VDSM hook 配置 sudo
			在这个实例中,
sudo 命令被配置为允许 vdsm 用户以 root 的身份运行 /bin/chown 命令。
		- 使用
root用户登录到虚拟主机。 - 在文本编辑器中打开
/etc/sudoers。 - 把以下行添加到文件中:
vdsm ALL=(ALL) NOPASSWD: /bin/chown
vdsm ALL=(ALL) NOPASSWD: /bin/chownCopy to Clipboard Copied! Toggle word wrap Toggle overflow 它设定了vdsm用户可以以root用户的身份运行/bin/chown命令。NOPASSWD参数指定了在调用sudo时,用户不会被提示输入密码。 
			在进行完这个配置后,VDSM hook 就可以使用 
sudo 命令来以 root 用户的身份运行 /bin/chown。以下的这段 Python 代码在 /my_file 文件中使用 sudo 来以 root 用户的身份执行 /bin/chown。
		retcode = subprocess.call( ["/usr/bin/sudo", "/bin/chown", "root", "/my_file"] )
retcode = subprocess.call( ["/usr/bin/sudo", "/bin/chown", "root", "/my_file"] )
		hook 脚本的标准错误输出会被保存在 VDSM 的日志文件中。这些信息可以被用来进行故障排除。