O OSDVT é um projeto que tem o objetivo de oferecer uma estrutura de virtualização de desktops, usando o KVM como Hypervisor, o SPICE como protocolo de acesso remoto e uma interface Python/GTK para que o cliente gerencie suas VMs. Todo o código é licenciado sob GPL.
Arquitetura:

Nesse artigo iremos percorrer todo o processo de instalação da última versão, a 0.2.2, em um servidoor Fedora 15.
Preparação
Para esse artigo, usaremos o Fedora 15. O OSDVT 0.2.2 necessita do Spice versão 0.8 para funcionar. No moento que escrevo, as únicas distribuições que possuem essa versão do Spice em seus repositórios são:
- Fedora 15
- Red Hat Enterprise Linux 6
- Fedora 14 usando repositório virt-preview.
O CentOS 6 ainda está com Spice v0.4 em seus repositórios, mas o update para 0.8 deve sair em breve.
O spice-server só funciona em servidores x86_64.
SERVIDOR
Vamos parar temporariamente o iptables:
service iptables stop
Pacotes
Instale os pacotes necessários:
yum install qemu-kvm qemu-img spice-server \
mysql-server MySQL-python python-ldap \
bridge-utils tunctl Django httpd \
mod_ssl mod_python
Banco de dados
Inicialize o MySQL:
service mysqld start
Defina senha de root do MySQL:
mysqladmin -u root password 'osdvt'
Configure o serviço para inicializar no boot:
chkconfig mysqld on
Crie o banco de dados:
mysql --user=root --password=osdvt -e "create database db_osdvt"
OSDVT Server
Baixe e extraia o pacote do OSDVT Server:
cd /usr/local/ wget http://www.ucs.br/projetos/osdvt/download/osdvt-server-0.2.2.tgz tar xvfz osdvt-server-0.2.2.tgz
Server Web Admin
Entre no diretório do Web Admin
cd /usr/local/osdvt/osdvtweb
Ajuste o arquivo “settings.py” com as informações do seu banco de dados, caso você tenha host/db/user/pass diferentes do default.
Depois disso, crie a estrutura do banco de dados. Durante esse passo, você poderá definir a senha de root do Django Admin, caso seja a primeira vez que você executa esse comando:
python manage.py syncdb
Teste se o Django Admin está funcionando usando o webserver do Django. Isso é apenas um teste, pois iremos usar o Apache para rodar o Django Admin.
python manage.py runserver 0.0.0.0:8000
Acesse a URL do Django Admin pelo seu browser (http://server:8000/admin/). Após efetuar o login, você deverá ver uma página como esta:
Use “Ctrl+c” para encerrar o webserver do Django.
Server Daemon
Entre no diretório raiz do daemon:
cd /usr/local/osdvt/server/
Edite o arquivo “etc/osdvt.conf”. Toda a comunicação entre o cliente e o servidor OSDVT é criptografada com SSL. Um certificado autoassinado é fornecido, mas você pode usar o seu.
Adicionalmente, você pode desabilitar a autenticação LDAP para efetuar testes.
Copie o script de inicialização para o diretório “init.d”:
cp /usr/local/osdvt/server/osdvtd /etc/init.d/
Adicione o osdvtd ao chkconfig:
chkconfig --add osdvtd
Agora, copie o arquivo de configuração do apache para o diretório adequado:
cp /usr/local/osdvt/server/osdvt.conf /etc/httpd/conf.d/
Caso você esteja usando o Red Hat 6 ou CentOS 6, você precisa alterar o caminho do Django Media, pois a versão do Python nessas distribuição é a 2.6:
Alias /media/ /usr/lib/python2.7/site-packages/django/contrib/admin/media/
Para:
Alias /media/ /usr/lib/python2.6/site-packages/django/contrib/admin/media/
Configure o httpd para inicializar no boot:
chkconfig httpd on
Inicialize o httpd:
service httpd start
Agora, abra o “Django Admin” via browser: https://server/osdvtweb/admin/ (para usar o https você precisa ter isntalado o pacote “mod_ssl” ).
Crie uma bridge, que será usada para conectar as VMs na sua rede local. Edite o arquivo “/etc/sysconfig/network-scripts/ifcfg-eth0″, deixando somente as linhas abaixo:
DEVICE=eth0 ONBOOT=yes BRIDGE=br0
Agora, crie o arquivo “/etc/sysconfig/network-scripts/ifcfg-br0″, com suas configurações de rede:
DEVICE=br0 ONBOOT=yes BOOTPROTO=dhcp TYPE=Bridge NAME="bridge"
Reinicie o serviço “network”:
service network restart
Firewall
Inicie o iptables:
service iptables start
Libere o acesso http e https:
iptables -I INPUT -p tcp --dport 80 -j ACCEPT iptables -I INPUT -p tcp --dport 443 -j ACCEPT
Libere o acesso ao Daemon do OSDVT:
iptables -I INPUT -p tcp --dport 6970 -j ACCEPT
Libere as portas que serão usadas pelo SPICE:
iptables -I INPUT -p tcp --dport 5930:5999 -j ACCEPT
Salve as regras criadas:
service iptables save
Osdvt service
Finalmente, podemos iniciar o serviço osdvt:
service osdvtd start
CLIENTE
Os passos a seguir deverão ser efetuados na estação que acessará as máquinas virtuais. Aqui os testes foram feitos em uma estação com Fedora 15.
Packages
yum install spice-client python-dialog
OSDVT Client
Baixe e extraia o pacote com o cliente do OSDVT:
cd ~ wget http://www.ucs.br/projetos/osdvt/download/osdvt-clients-0.2.2.tgz tar xvfz osdvt-clients-0.2.2.tgz
Execute o cliente:
python ~/osdvt/osdvt-client.py
ou, ajuste o arquivo “osdvt-labs-client.py”…
interface = "eth0" server = "192.168.0.1" port = 6970
… e execute o “Labs Client”, que será autenticado pelo IP local em vez de usuário/senha:
python ~/osdvt/osdvt-labs-client.py
No próximo artigo mostrarei como criar e usar sua primeira máquina virtual.
Referência: http://www.ucs.br/projetos/osdvt/index.php/Documentation







No Comments »
