Xen Management API Rafael dos Santos Alves Visão geral • Gerenciamento de sistemas Xen • Baseado em chamadas XML-RPC • Implementações – – – – Python C Java Perl • Daemon xend espera por chamadas XML-RPC e executa operações administrativas • Executa as mesmas operações que a ferrmamenta xm Ciclo de vida das VMs Classes Configuração • Arquivo /etc/xen/xend-config.sxp (xen-api-server ((9363 none '^localhost$ gta\\.ufrj\\.br$') (unix))) Exemplo from xen.xm.XenAPI import Session session = Session('http://itaipava:9363/') session.login_with_password(' ', ' ') for vm_uuid in session.xenapi.VM.get_all(): if "xenvm1.gta.ufrj.br" == session.xenapi.VM.get_name_label(vm_uuid): vm = vm_uuid session.xenapi.VM.migrate(vm,'floresta',True,{}) Exemplo 2 Python session = session.login_with_password("user", "passwd“) XML <?xml version=‘1.0’?> <methodCall> <methodName>session.login_with_password</methodName> <params> <param> <value><string>user</string></value> </param> <param> <value><string>passwd</string></value> </param> </params> </methodCall> Concorrente • Libvirt – Suporte • Xen, QEMU, KVM Linux, LXC Linux, OpenVZ, User Mode Linux e VirtualBox – Configuração • Arquivo /etc/xen/xend-config.sxp (xend-unix-server yes) – Exemplo import libvirt conn = libvirt.open('xen:///') vm = conn.lookupByName('winxp') dconn = libvirt.open('xen+ssh://floresta/') vm.migrate(dconn,1,None,None,0)