Kimchi/Wok para gerenciamento de VM no Debian 9
Neste tutorial, faremos nosso próprio Hypervisor no Debian 9 instalando o KVM (Kernel-based Virtual Machine), assim como o Kimchi, que é uma plataforma de gerenciamento de virtualização baseada na web de código aberto para que possamos gerenciar nosso hipervisor facilmente através do navegador da web.
Distribuição usada: Debian 9 (Instalação limpa)
Primeiramente vamos adicionar ao repositório os componentes contrib e non-free
vim /etc/apt/sources.list
deb http://ftp.br.debian.org/debian/ stretch main contrib non-free deb-src http://ftp.br.debian.org/debian/ stretch main contrib non-free deb http://security.debian.org/debian-security stretch/updates main contrib non-free deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free # stretch-updates, previously known as 'volatile' deb http://ftp.br.debian.org/debian/ stretch-updates main contrib non-free deb-src http://ftp.br.debian.org/debian/ stretch-updates main contrib non-free
Atualize o repositório e instale as atualizações.
apt update ; apt upgrade -y
Instale os pacotes necessários.
# apt install firmware-linux-nonfree firmware-realtek nginx-full build-essential
Reinicie para que o novo modulo do kernel seja interpretado.
reboot
Baixe os pacotes necessários. (https://github.com/kimchi-project/kimchi/releases/latest)
# mkdir kimchi-project # cd kimchi-project # wget http://kimchi-project.github.io/gingerbase/downloads/latest/ginger-base.noarch.deb # wget https://github.com/kimchi-project/kimchi/releases/download/2.5.0/wok-2.5.0-0.noarch.deb # wget https://github.com/kimchi-project/kimchi/releases/download/2.5.0/kimchi-2.5.0-0.noarch.deb
No Debian 9 o pacote libvirt-bin requisito não está mais presente, foram substituidos pelos libvirt-daemon-system, libvirt-dev, libvirt-clients.
Portanto vamos precisar abrir nosso pacote .DEB e altera-lo. Vamos “hackear” eles 😛
Vamos criar um diretório tmp e extrai-lo
# mkdir tmp # cd tmp # ar p ../kimchi-2.5.0-0.noarch.deb control.tar.gz | tar -xz
Agora edite os arquivos controll & controll.in alterando “libvirt-bin,” para “libvirt-daemon-system, libvirt-dev, libvirt-clients,”
vim controll
Altere
libvirt-bin,
Por:
libvirt-daemon-system,
libvirt-dev,
libvirt-clients,
Package: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ Section: base Priority: optional Architecture: all Depends: wok (>= 2.1.0), python-imaging, python-configobj, novnc, python-jsonschema (>= 1.3.0), python-libvirt, gettext, - libvirt-bin, + libvirt-daemon-system, + libvirt-dev, + libvirt-clients, nfs-common, qemu-kvm, python-parted, python-psutil (>= 0.6.0), python-ethtool, sosreport, python-ipaddr, python-lxml, open-iscsi, python-guestfs, libguestfs-tools, spice-html5, python-magic, python-paramiko Build-Depends: xsltproc, gettext, python-lxml Maintainer: Aline Manera <alinefm@br.ibm.com> Description: Kimchi web application
Faça o mesmo para o controll.in
# vim controll.in
Agora vamos empacota-lo novamente com o nome kimchi-2.5.0-0.deb9.noarch.deb
# cp ../kimchi-2.5.0-0.noarch.deb ../kimchi-2.5.0-0.deb9.noarch.deb # tar czf control.tar.gz *[!z] # ar r ../kimchi-2.5.0-0.deb9.noarch.deb control.tar.gz # cd ..
Verifique se o arquivo kimchi-2.5.0-0.deb9.noarch.deb foi criado
# ls -lh
Vamos a instalação dos nossos arquivos .deb
# apt install ./wok-2.5.0-0.noarch.deb # apt install ./ginger-base.noarch.deb # apt install ./kimchi-2.5.0-0.deb9.noarch.deb
Fix Bug erro KCHTMPL0020E / KCHIMG0001E
Este é um bug na versão estável atual que ainda não foi corrigido, você verá o erro abaixo quando isso ocorrer.
KCHTMPL0020E: Unable to create template due error: KCHIMG0001E: Error probing image OS information: part_list: parted print: /dev/sda
Edite o arquivo templates.py (Se tiver dificuldade baixe o arquivo já alterado aqui para visualizar)
# vim /usr/lib/python2.7/dist-packages/wok/plugins/kimchi/model/templates.py
Remova a linha com “–” e adiciona a com “+“.
[...] - -ISO_TYPE = "ISO 9660 CD-ROM" + +ISO_TYPE = ["DOS/MBR", "ISO 9660 CD-ROM"] [...] # cdrom - if ISO_TYPE in ftype: + iscdrom = [t for t in ISO_TYPE if t in ftype] + if iscdrom: [...]
Reinicie
# reboot
Abra em seu navegador a https://IP:8001. Acesse com seu usuário e senha do sistema (“root”).
Antes de criar a VM vc precisará criar um modelo, a ISO de sua VM deve ser salva em /var/lib/kimchi/isos/
Exemplo baixando a ISO do Debina 9.5 Netinst
# wget -q http://ftp.br.debian.org/debian-cd/current/amd64/iso-cd/debian-9.5.0-amd64-netinst.iso -O /var/lib/kimchi/isos/
A interface é bem intuitiva, acredito que não terá dificuldade.
Para ativar a inicialização automática de uma VM ou desabilitar use os comandos:
# virsh autostart NomeVM # virsh autostart NomeVM --disable
Removendo Kimchi
# apt purge kimchi ginger-base build-essential nginx-full pep8 pyflakes python-requests python-mock wok libvirt* python-libvirt # qemu-* # rm /var/lib/gingerbase/ -rf # rm /var/lib/kimchi/ -rf # rm /var/lib/libvirt/ -rf # rm /etc/libvirt/ -rf # apt autoremove
Curtiu? Deixe seu comentário ficarei feliz em saber que lhe ajudei, e se tiver qualquer pergunta deixe-a também.
Fontes:
https://github.com/kimchi-project/kimchi
https://github.com/kimchi-project/kimchi/issues
Como eu posso fazer a instalação do Kimchi/Wok no Debian 10? O tutorial acima não está funcionando para a nova versão do Debian