Virtualização · 7 min read · Jan 31, 2026
Virtualização KVM Com Enomalism 2 Em Um Servidor Fedora 10
Virtualização KVM Com Enomalism 2 Em Um Servidor Fedora 10
Versão 1.0
Autor: Falko Timme
Enomalism ECP (Elastic Computing Platform) fornece um painel de controle baseado na web que permite projetar, implantar e gerenciar máquinas virtuais em um ou mais sistemas host (no caso de múltiplos sistemas, falamos de um cluster ou nuvem). Este artigo mostra como você pode usar o Enomalism (também conhecido como Enomaly) para gerenciar convidados KVM em um servidor Fedora 10.
Não dou nenhuma garantia de que isso funcionará para você!
1 Nota Preliminar
Estou usando um servidor Fedora 10 com o nome do host server1.example.com e o endereço IP 192.168.0.100 aqui como meu host KVM. O servidor está localizado em uma rede privada com um servidor DHCP (no roteador, IP 192.168.0.1). O uso do Enomalism pode ser diferente se você usá-lo em uma rede pública.
Antes de começarmos, execute
system-config-firewalle desative o firewall.
Além disso, certifique-se de que o SELinux esteja desativado. Abra /etc/selinux/config…
vi /etc/selinux/config… e defina SELINUX como desativado:
| # Este arquivo controla o estado do SELinux no sistema. # SELINUX= pode assumir um destes três valores: # enforcing - A política de segurança do SELinux é aplicada. # permissive - O SELinux imprime avisos em vez de aplicar. # disabled - Nenhuma política do SELinux é carregada. SELINUX=disabled # SELINUXTYPE= pode assumir um destes dois valores: # targeted - Processos direcionados são protegidos, # mls - Proteção de Segurança de Múltiplos Níveis. SELINUXTYPE=targeted |
Execute
setenforce 0… para que a alteração tenha efeito.
Por favor, verifique se sua CPU suporta virtualização por hardware - se este for o caso, o comando
egrep '(vmx|svm)' --color=always /proc/cpuinfodeve exibir algo, por exemplo, assim:
[root@server1 ~]# egrep '(vmx|svm)' --color=always /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall
nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good nopl pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall
nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good nopl pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
[root@server1 ~]#Se nada for exibido, então seu processador não suporta virtualização por hardware, e você deve parar aqui.
2 Instalando Enomalism 2
Primeiro faça isso:
wget http://downloads.sourceforge.net/enomalism/enomalism.public
rpm --import enomalism.publicwget http://downloads.sourceforge.net/enomalism/enomalism001.pubkey.asc
rpm --import enomalism001.pubkey.ascPara instalar KVM e Qemu, executamos
yum install libvirt libvirt-python kvm qemuln -s /usr/bin/qemu-kvm /usr/bin/kvmEntão inicie o daemon libvirt:
/etc/init.d/libvirtd startPara verificar se o KVM foi instalado com sucesso, execute
virsh -c qemu:///system listDeve exibir algo como isto:
[root@server1 ~]# virsh -c qemu:///system list
Id Name State
----------------------------------
[root@server1 ~]#Se exibir um erro em vez disso, então algo deu errado.
Em seguida, precisamos configurar uma ponte de rede em nosso servidor para que nossas máquinas virtuais possam ser acessadas de outros hosts como se fossem sistemas físicos na rede.
Para fazer isso, instalamos o pacote bridge-utils…
yum install bridge-utils… e configuramos uma ponte. Exclua os links de inicialização do sistema para o NetworkManager e crie links de inicialização do sistema para a rede:
chkconfig --del NetworkManager
chkconfig --levels 235 network onEntão crie o arquivo /etc/sysconfig/network-scripts/ifcfg-virbr0 (por favor, use os valores de BOOTPROTO, DNS1 (mais quaisquer outras configurações de DNS, se houver), GATEWAY, IPADDR, NETMASK e SEARCH do arquivo /etc/sysconfig/network-scripts/ifcfg-eth0):
vi /etc/sysconfig/network-scripts/ifcfg-virbr0| DEVICE=virbr0 TYPE=Bridge BOOTPROTO=static DNS1=145.253.2.75 GATEWAY=192.168.0.1 IPADDR=192.168.0.100 NETMASK=255.255.255.0 ONBOOT=yes SEARCH="example.com" |
Modifique /etc/sysconfig/network-scripts/ifcfg-eth0 da seguinte forma (comente BOOTPROTO, DNS1 (e todos os outros servidores DNS, se houver), GATEWAY, IPADDR, NETMASK e SEARCH e adicione BRIDGE=virbr0):
vi /etc/sysconfig/network-scripts/ifcfg-eth0| # nVidia Corporation Desconhecido (0x0760) DEVICE=eth0 #BOOTPROTO=static #DNS1=145.253.2.75 #GATEWAY=192.168.0.1 HWADDR=00:1e:90:f3:f0:02 #IPADDR=192.168.0.100 #NETMASK=255.255.255.0 ONBOOT=yes #SEARCH="example.com" BRIDGE=virbr0 |
Então reinicie o sistema:
rebootApós o reinício, execute
ifconfigAgora deve mostrar a ponte de rede (virbr0):
[root@server1 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:1E:90:F3:F0:02
inet6 addr: fe80::21e:90ff:fef3:f002/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1611 errors:0 dropped:0 overruns:0 frame:0
TX packets:1986 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:133898 (130.7 KiB) TX bytes:2092110 (1.9 MiB)
Interrupt:22 Base address:0xa000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:17 errors:0 dropped:0 overruns:0 frame:0
TX packets:17 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1040 (1.0 KiB) TX bytes:1040 (1.0 KiB)
virbr0 Link encap:Ethernet HWaddr 00:1E:90:F3:F0:02
inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::21e:90ff:fef3:f002/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1533 errors:0 dropped:0 overruns:0 frame:0
TX packets:1936 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:95507 (93.2 KiB) TX bytes:2076556 (1.9 MiB)
[root@server1 ~]#Além disso, o módulo do kernel KVM agora deve estar carregado:
lsmod | grep -i kvm[root@server1 ~]# lsmod | grep -i kvm
kvm_amd 37644 2
kvm 137976 1 kvm_amd
[root@server1 ~]#(Esta saída é de um sistema com um processador AMD-V. Se seu sistema usar uma CPU Intel VT, deve exibir algo como kvm_intel.)
Agora baixamos o pacote Enomalism.rpm mais recente de http://sourceforge.net/project/showfiles.php?group_id=164855&package_id=186866&release_id=667675, por exemplo, da seguinte forma (por favor, certifique-se de pegar o pacote PY2.5, não PY2.4!):
wget http://dfn.dl.sourceforge.net/sourceforge/enomalism/enomalism2-2.2.3.noarch.PY2.5.rpmApós o download ter terminado, instalamos o Enomalism da seguinte forma:
yum install enomalism2-2.2.3.noarch.PY2.5.rpmEntão criamos os links de inicialização do sistema para o MySQL (para que o MySQL inicie automaticamente sempre que o sistema for inicializado) e iniciamos o servidor MySQL:
chkconfig --levels 235 mysqld on
/etc/init.d/mysqld startExecute
mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpasswordpara definir uma senha para o usuário root (caso contrário, qualquer um pode acessar seu banco de dados MySQL!).
Se o último comando gerar um erro para você…
[root@server1 named]# mysqladmin -h server1.example.com -u root password yourrootsqlpassword
mysqladmin: connect to server at 'server1.example.com' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
[root@server1 named]#… podemos definir a senha da seguinte forma: conecte-se ao MySQL:
mysql -u root -pDigite a senha para o usuário root do MySQL. Então, no shell do MySQL, faça isso:
mysql> USE mysql;mysql> UPDATE user SET Password = password('yourrootsqlpassword') WHERE Host = 'server1.example.com' AND User = 'root';mysql> UPDATE user SET Password = password('yourrootsqlpassword') WHERE Host = '127.0.0.1' AND User = 'root';Execute
mysql> SELECT * FROM user;para ter certeza de que todas as linhas onde o usuário é root têm uma senha.
Se tudo estiver ok, execute
mysql> FLUSH PRIVILEGES;… e saia do shell do MySQL:
mysql> quit;Agora devemos configurar o Enomalism. Execute
cd /opt/enomalism2
scripts/init-db.sh yourrootsqlpassword enomalism enomalismpasswordSubstitua yourrootsqlpassword pela sua senha root do MySQL. enomalism é o nome do usuário do banco de dados que o Enomalism usará para se conectar ao banco de dados MySQL, e enomalismpassword é a senha do banco de dados para o usuário enomalism. Substitua ambos por um nome de usuário/senha de sua escolha.
No diretório /opt/enomalism2, deve haver um arquivo chamado server1.example.com.cfg. Copiamos esse arquivo para o diretório /opt/enomalism2/config:
cp server1.example.com.cfg config/server1.example.com.cfgExecute
uuidgene anote o ID que o comando gera (precisamos dele na próxima etapa onde modificamos /opt/enomalism2/config/server1.example.com.cfg):
[root@server1 enomalism2]# uuidgen
2d54480f-66c6-4c15-aafc-7242208456e0
[root@server1 enomalism2]#Agora editamos /opt/enomalism2/config/server1.example.com.cfg:
vi config/server1.example.com.cfgPor favor, ajuste os seguintes quatro valores:
| [...] sqlobject.dburi="mysql://enomalism:enomalismpassword@localhost:3306/enomalism2" [...] enomalism2.baseurl="http://192.168.0.100:8080/rest/" [...] enomalism2.ip_addr="192.168.0.100" [...] enomalism2.self="2d54480f-66c6-4c15-aafc-7242208456e0" [...] |
Certifique-se de usar o usuário e a senha corretos do banco de dados para o banco de dados MySQL e o endereço IP correto para as próximas duas configurações. Na linha enomalism2.self, você deve usar o ID gerado pelo uuidgen.
Você também encontrará as configurações enomalism2.drivestorage=’file’ e enomalism2.storagetarget=’file:///xen/‘ nesse arquivo. Atualmente, o Enomalism não suporta LVM, então você não deve alterar essas configurações!
Em seguida, edite /etc/libvirt/qemu.conf…
vi /etc/libvirt/qemu.conf… e descomente a linha vnc_listen = “0.0.0.0”:
| [...] vnc_listen = "0.0.0.0" [...] |
(Do contrário, você não poderá se conectar aos convidados KVM via VNC de uma máquina remota!)
Reinicie o libvirtd depois:
/etc/init.d/libvirtd restartAgora criamos os links de inicialização do sistema para o Enomalism e o iniciamos:
chkconfig --levels 235 enomalism2.sh on
/etc/init.d/enomalism2.sh startAgora abra um navegador e vá para http://192.168.0.100:8080. Isso deve finalizar a instalação do Enomalism:

Clique no link Clique aqui para usar o Enomalism2!

Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.