Documentação em russo para Ubuntu. Usando KVM para criar máquinas virtuais em um servidor Instalação de virtualização Kvm

Lar / Instalando programas

Hoje, muitas tarefas que tradicionalmente exigiam vários servidores físicos estão migrando para ambientes virtuais. As tecnologias de virtualização também são procuradas pelos desenvolvedores de software, pois permitem testes abrangentes de aplicativos em diversos sistemas operacionais. Ao mesmo tempo, embora simplifique muitas questões, os próprios sistemas de virtualização precisam ser gerenciados, e isso não pode ser feito sem soluções especiais.

Vagabundo

Virtual Máquina VirtualBox merecidamente goza de popularidade entre administradores e desenvolvedores, permitindo que você crie rapidamente os ambientes desejados usando GUI ou interface linha de comando. Se o número de VMs não exceder três, não surgirão dificuldades na implantação e no gerenciamento, mas os projetos modernos tendem a ficar repletos de configurações, e o resultado é uma infraestrutura muito complexa, que se torna difícil de lidar. Este é o problema que o gerenciador de ambiente virtual Vagrant foi projetado para resolver, permitindo criar cópias máquinas virtuais com uma configuração predefinida e redistribuir dinamicamente os recursos da VM (provisionamento) conforme necessário. No pacote básico, o Vagrant funciona com VirtualBox, mas o sistema de plugins permite conectar outro sistema de virtualização. Hoje, o código para plugins para AWS e Rackspace Cloud está aberto; Suporte VMware Fusão/estação de trabalho.

O Vagrant não cria uma máquina virtual do zero. Para maior comodidade, o projeto oferece diversas imagens básicas (caixas), que são importadas e posteriormente utilizadas para implantação rápida sistema, um sistema operacional convidado com a configuração necessária é montado com base em caixas.

Para simplificar a implantação de aplicativos, as caixas vêm pré-instaladas com Chef e Puppet. Além do mais, configurações necessárias pode ser definido usando o shell. Os ambientes incluem um conjunto completo para execução e desenvolvimento de aplicações em Ruby. SSH é usado para acessar a troca de arquivos da VM por meio de um diretório compartilhado;

O Vagrant é escrito em Ruby e pode ser instalado em qualquer plataforma que possua componentes VirtualBox e Ruby. Pacotes para Windows, Linux (deb e rpm) e OS X estão disponíveis na página de download.

O processo de instalação e uso no Ubuntu é simples. Baixe os pacotes VirtualBox e Vagrant e instale:

$ sudo dpkg -i virtualbox-4.2.10_amd64.deb $ sudo dpkg -i vagrant_1.2.2_x86_64.deb

No momento em que escrevo este artigo, as últimas versão atual O VirtualBox 4.2.14 teve problemas ao executar o Vagrant, então por enquanto é melhor usar o 4.2.12 ou o teste 4.2.15. Alternativamente, você pode fazer:

$ cd ~/.vagrant.d/boxes/BoxName/virtualbox $ openssl sha1 *.vmdk *.ovf > box.mf

Eu vou trazer você opção alternativa Instalações do Vagrant - usando Ruby:

$ sudo apt-get install ruby1.8 ruby1.8-dev rubygems1.8 $ sudo gem install vagrant

Todas as configurações do projeto são feitas em arquivo especial Vagrantfile. Para evitar a criação manual do modelo, você pode gerá-lo da seguinte maneira:

$ projeto mkdir $ projeto cd $ vagrant init

Agora você pode examinar o arquivo de configurações criado e preencher: Configurações da VM (config.vm. ), opções de conexão SSH (config.ssh.), parâmetros do próprio Vagrant (config.vagrant). Todos eles estão bem documentados, o significado de alguns é claro sem explicação.

Na verdade, vários desses arquivos são usados ​​na inicialização, cada um subsequente substituindo o anterior: integrado ao Vagrant (não pode ser alterado), fornecido com caixas (empacotadas usando a opção "--vagrantfile"), localizadas em ~/.vagrant .d e o arquivo do projeto . Essa abordagem permite usar configurações padrão, substituindo apenas o que é necessário em um projeto específico.


Todas as instalações são realizadas usando o comando vagrant; a lista de chaves disponíveis pode ser visualizada usando "-h". Após a instalação, não temos uma única imagem, a execução da lista de caixas vagrant será exibida lista vazia. A caixa finalizada pode estar localizada no sistema de arquivos local ou em um servidor remoto, seu nome é definido como parâmetro, ao qual nos referiremos nos projetos. Por exemplo, usamos o Box Ubuntu 12.04 LTS oficial, oferecido pelos desenvolvedores do Vagrant.

$ vagrant box adicionar precise64 http://files.vagrantup.com/precise64.box

Agora ele pode ser acessado no Vagrantfile:

Config.vm.box = "precise64"

Embora seja mais fácil especificá-lo imediatamente ao inicializar o projeto:

$vagrant inicialização precisa64

A maneira mais fácil, que não requer o aprendizado de Chef e Puppet, é usar comandos shell padrão para configurar a VM, que podem ser escritos diretamente no Vagrantfile ou, melhor ainda, combinados em um script conectado assim:

Vagrant.configure("2") do |config|

Agora todos os comandos especificados em script.sh serão executados quando a VM for iniciada. Ao iniciar o projeto, um arquivo ovf é criado; suas configurações podem ser visualizadas através da interface gráfica do VirtualBox ou do comando VBoxManage:

$ VBoxManage import /home/user/.vagrant.d/boxes/precise64/virtualbox/box.ovf Sistema virtual 0: 0: Tipo de sistema operacional sugerido: "Ubuntu_64" (alterar com "--vsys 0 --ostype "; use "list ostypes" para listar todos os valores possíveis) 1: Nome sugerido da VM "precise64" (alterar por "--vsys 0 --vmname ") 2: Número de CPUs: 2 (alterar com "--vsys 0 --cpus ") 3: Memória de convidado: 384 MB (alterar com "--vsys 0 --memory ")

Eles nem sempre atendem às condições especificadas, mas usando as configurações do provedor, você pode alterar facilmente as configurações de uma VM específica (consulte as dicas “alterar com ...”):

Config.vm.provider:virtualbox do |vb|

vb.customize ["modifyvm", :id, "--memory", "1024"] fim

Inicie e conecte-se ao sistema via SSH:

$vagrant up $vagrant ssh

Para parar a VM, use o parâmetro halt ou destroy (o segundo - com a limpeza de todos os arquivos, na próxima vez todas as operações serão executadas desde o início), se precisar colocá-la em hibernação - vagrant suspend , return - vagrant resume . Para obter um exemplo de trabalho com o Chef, você pode usar uma receita pronta para configurar o APT e o Apache2:

Config.vm.provision:chef_solo do |chef|

chef.recipe_url = "http://files.vagrantup.com/getting_started/cookbooks.tar.gz" chef.add_recipe("vagrant_main") fim

Para acessar a VM “de fora”, você precisará configurar o encaminhamento de porta. Por padrão, o encaminhamento é 22 -> 2222, permitindo a conexão via SSH. Adicione ao Vagrantfile:

Vagrant::Config.run do |config|

config.vm.forward_port 80, 1111 fim

O servidor web agora pode ser acessado em http://127.0.0.1:1111/. Para não configurar o ambiente todas as vezes, é melhor montar um pacote pronto baseado nele.

$ pacote vagrant --vagrantfile Vagrantfile --output project.box Agora o arquivo project.box pode ser distribuído para outros administradores, desenvolvedores ou usuários comuns que irão conectá-lo usando o comando vagrant box add project.box.: iniciar, parar, criar snapshots, controlar e redistribuir recursos, conectar-se a uma VM via VNC, automatizar tarefas de administração. A tecnologia Ajax torna a interface interativa e semelhante a um aplicativo de desktop. Por exemplo, você pode simplesmente arrastar e soltar uma VM de um servidor para outro. A interface não é localizada, mas os controles são intuitivos.


O pooling de servidores possibilita configurar e controlar máquinas virtuais e recursos no nível do pool de servidores, em vez de no nível do servidor individual. Nenhum agente é instalado em sistemas virtuais; apenas o pacote convert-tool é necessário no servidor físico. Isso simplifica a administração e a implantação.

Assim que um novo servidor for adicionado, o ConVirt coletará automaticamente seus dados de configuração e desempenho, fornecendo informações resumidas em vários níveis - desde a máquina virtual individual, o servidor físico, até todo o pool. Os dados coletados são usados ​​para hospedar automaticamente novos hóspedes. Essas informações também são exibidas na forma de gráficos visuais.

Para criar máquinas virtuais, são utilizados templates - descrições das configurações da máquina virtual, contendo dados sobre os recursos alocados, o caminho para os arquivos do SO e configurações adicionais. Após a instalação existem vários disponíveis modelos prontos, mas se necessário, eles são fáceis de criar você mesmo.

Todas as tecnologias são suportadas: balanceamento de carga, migração a quente, discos virtuais com capacidade crescente, permitindo usar recursos conforme necessário, e muitos outros recursos implementados em Xen e KVM. A VM não precisa ser parada para realocar recursos.

Implementada a capacidade de gerenciar um ambiente virtual para diversos administradores com capacidade de auditar e controlar suas ações.

O ConVirt está sendo desenvolvido pela empresa Convirture, e utiliza o conceito de núcleo aberto, quando apenas um conjunto básico de funções é distribuído gratuitamente junto com o código-fonte, o restante está disponível em versão comercial. A versão de código aberto carece de suporte de alta disponibilidade, integração de VLAN, backup e recuperação, gerenciamento de linha de comando, notificações e suporte oficial.

Durante o desenvolvimento foi utilizado o framework TurboGears2, bibliotecas ExtJs e FLOT, MySQL foi utilizado para armazenar informações, dnsmasq foi utilizado como servidor DHCP e DNS. Pacote necessário pode ser encontrado nos repositórios de distribuições populares do Linux.

Karesansui

Todos os recursos de gerenciamento de ambientes virtuais estão implementados: instalação do SO, criação de configurações do subsistema de disco e placas de rede virtuais, gerenciamento de cotas, replicação, congelamento de VMs, criação de snapshots, visualização estatísticas detalhadas e registrar dados, monitoramento de download. A partir de um console você pode gerenciar vários servidores físicos e máquinas virtuais hospedadas neles. O trabalho multiusuário com direitos compartilhados é possível. Como resultado, os desenvolvedores conseguiram implementar um ambiente virtual no navegador que lhes permite gerenciar totalmente os sistemas.

Postado por Karesansui em Linguagem Python, SQLite é usado como DBMS para um sistema de nó único. Se você planeja gerenciar instalações Karesansui localizadas em vários servidores físicos, você deve usar MySQL ou PostgreSQL.

Você pode implantar o Karesansui em qualquer Linux. Os próprios desenvolvedores preferem o CentOS (para o qual o site possui instruções detalhadas), embora Karesansui funcione bem tanto no Debian quanto no Ubuntu. Antes da instalação, você deve completar todas as dependências especificadas na documentação. Em seguida, o script de instalação é iniciado e o banco de dados é inicializado. Se uma configuração multiservidor for usada, basta especificar o banco de dados externo.

O trabalho subsequente compensará totalmente a inconveniência da instalação. Todas as configurações estão divididas em sete guias, cuja finalidade fica clara pelo nome: Convidado, Configurações, Trabalho, Rede, Armazenamento, Relatório e Log. Dependendo da função do usuário, nem todas estarão disponíveis para ele.

Você pode criar uma nova VM a partir de um arquivo ISO local ou especificando um recurso HTTP/FTP com imagens de instalação. Você também precisará definir outros atributos: o nome do sistema que será exibido na lista, o nome da rede (hostname), a tecnologia de virtualização (Xen ou KVM), o tamanho da RAM e disco rígido(Tamanho da memória e tamanho do disco) - e selecione uma imagem que corresponda ao SO virtual, simplificando sua rápida seleção visual no console.

WebVirtMgr

As capacidades das soluções descritas são muitas vezes redundantes e a sua instalação nem sempre é clara para um administrador com pouca experiência. Mas também há uma saída aqui. O serviço de gerenciamento centralizado de máquinas virtuais WebVirtMgr foi criado como um simples substituto do virt-manager, que proporcionará um trabalho confortável com VMs usando um navegador com plug-in Java instalado. O gerenciamento de configurações KVM é suportado: criação, instalação, configuração, lançamento de VMs, snapshots e backup de máquinas virtuais. Fornece gerenciamento de pool de rede e pool de armazenamento, trabalho com ISO, clonagem de imagens, visualização de carga de CPU e RAM. A máquina virtual é acessada via VNC. Todas as transações são registradas em logs. Você pode gerenciar vários servidores KVM com uma única instalação do WebVirtMgr. Para conectar-se a eles, use RPC libvirt (TCP/16509) ou SSH.


A interface é escrita em Python/Django. Para instalação você precisará de um servidor sob Controle Linux. Distribuído em código-fonte e pacotes RPM para CentOS, RHEL, Fedora e Oracle Linux 6. O processo de implantação em si é simples e bem descrito na documentação do projeto (em russo), bastando configurar o libvirt e instalar o webvirtmgr. Todo o processo leva cinco minutos. Após conectar-se ao Dashboard, selecione Adicionar Conexão e especifique os parâmetros do nó, então podemos configurar a VM.

Vamos criar um script para a criação de uma VM

O script mais simples para criar e iniciar uma máquina virtual usando o VirtualBox:

#!/bin/bash vmname="debian01" VBoxManage createvm --name $(vmname) --ostype "Debian" --register VBoxManage modificarvm $(vmname) --memory 512 --acpi on --boot1 dvd VBoxManage createhd - -filename "$(vmname).vdi" --size 10000 --variant VBoxManage fixo storagectl $(vmname) --name "Controlador IDE" --add ide --controller PIIX4 VBoxManage storageattach $(vmname) --storagectl "IDE Controlador" --port 0 --device 0 --type hdd --medium "$(vmname).vdi" VBoxManage storageattach $(vmname) --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium /iso/debian-7.1.0-i386-netinst.iso VBoxManage modificavm $(vmname) --nic1 bridged --bridgeadapter1 eth0 --cableconnected1 em VBoxManage modificavm $(vmname) --vrde na tela VBoxHeadless --startvm $(nomedavm)

Proxmox VE

As soluções anteriores são boas para situações onde já existe alguma infraestrutura. Mas se você só precisa implantá-lo, vale a pena pensar em plataformas especializadas que permitem obter rapidamente o resultado desejado. Um exemplo aqui é o Proxmox Virtual Environment, que é uma distribuição Linux (baseada no Debian 7.0 Wheezy) que permite construir rapidamente uma infraestrutura servidores virtuais usando OpenVZ e KVM e praticamente não é inferior a produtos como VMware vSphere, MS Hyper-V e Citrix XenServer.


Na verdade, o sistema só precisa ser instalado (alguns passos simples), todo o resto já funciona imediatamente. Você pode então criar uma VM usando a interface da web. Para isso, a maneira mais fácil é usar templates e containers OpenVZ, que são carregados de recursos externos diretamente da interface com um clique (se manualmente, copie para o diretório /var/lib/vz/template). Mas os modelos também podem ser criados clonando sistemas já criados no modo de vinculação. Esta opção permite salvar espaço em disco, uma vez que todos os ambientes associados utilizam apenas uma cópia comum dos dados do modelo de referência sem duplicação de informações. A interface é localizada e compreensível; você não sente nenhum inconveniente especial ao trabalhar com ela.

Há suporte para clusters, ferramentas para backup ambientes virtuais, é possível migrar VMs entre nós sem interromper o trabalho. O controle de acesso a objetos existentes (VM, armazenamento, nós) é implementado com base em funções, vários mecanismos de autenticação são suportados (AD, LDAP, Linux PAM, Proxmox VE integrado). A interface web permite acessar a VM usando consoles VNC e SSH, você pode visualizar o status do trabalho, logs, dados de monitoramento e muito mais. É verdade que algumas operações específicas para sistemas HA ainda terão que ser executadas à moda antiga no console, por exemplo, criar uma conexão iSCSI autorizada, configurar um cluster, criar um multipath e algumas outras operações.

Os requisitos do sistema são pequenos: CPU x64 (de preferência com Intel VT/AMD-V), 1+ GB de RAM. O projeto oferece uma imagem ISO pronta e um repositório para Debian.

Conclusão

Todas as soluções descritas são boas à sua maneira e atendem bem às tarefas atribuídas. Você só precisa escolher aquele que melhor se adapta à sua situação específica.

Acredito que muitas pessoas encontraram switches KVM comuns. A abreviatura "KVM" significa "Keyboard Video Mouse". Um dispositivo KVM permite que você, tendo apenas um conjunto de teclado+monitor+mouse (K.M.M.), controle vários computadores ( unidades do sistema). Em outras palavras, pegamos N unidades do sistema, conectamos suas saídas do K.M.M. em um dispositivo KVM, e ao próprio dispositivo conectamos um monitor, teclado e mouse reais. Mudando de usando KVM entre computadores, podemos ver o que está acontecendo na tela do computador selecionado, bem como controlá-lo como se estivéssemos conectados diretamente a ele.

Isso é conveniente se precisarmos de várias máquinas para trabalhar, mas não é necessário acessá-las ao mesmo tempo. Além disso, economiza muito espaço - os monitores, mesmo os LCD, ocupam bastante espaço na mesa. Sim, e custam um pouco. E em uma pilha de teclados e mouses sobre a mesa você pode rapidamente ficar confuso...

Leitores avançados irão objetar - por que tanta complexidade se os computadores provavelmente estão conectados a um rede local e você pode usar programas integrados ao sistema operacional (ou externos) acesso remoto, por exemplo Terminal Services ou Radmin no Windows, VNC, ssh em sistemas operacionais do tipo *nix. Tudo está correto, mas o que você deve fazer se precisar, por exemplo, entrar na BIOS do computador ou sistema operacional parou de carregar porque instalamos algo motorista errado ou programa? Ou temos vários sistemas operacionais instalados em nosso computador e precisamos escolher um diferente daquele que inicia por padrão? Em geral, todos esses programas são realmente bons, mas até certos limites - desde que o sistema operacional do computador esteja funcional e só precisemos de acesso ao computador após a inicialização deste sistema operacional.

Por exemplo, vejamos vários switches KVM típicos usando dispositivos fabricados pela empresa como exemplo.

Especificações do dispositivo

O CN-6000 suporta a divisão de poderes entre usuários e permite criar até 64 contas administrativas ou de usuário, das quais até 16 contas podem trabalhar com o dispositivo simultaneamente. O dispositivo possui uma interface de administração WEB integrada e seu pequeno tamanho permite colocá-lo sobre uma mesa ou montá-lo (usando um suporte especial incluído no kit) na treliça lateral de um rack (montável em rack 0U). O CN-6000 suporta atualizações de firmware através de uma conexão Ethernet (a partir da interface web ou utilitário nativo). A resolução máxima de vídeo suportada pelo dispositivo é 1600x1200 pixels.

Tabela de resumo de especificações:

Requisito de hardware (cliente remoto)Pentium III 1Ghz
InterfacesConsole localTeclado1 × Mini-DIN-6 F (roxo)
Vídeo1 × HDB-15 F (Azul)
Rato1 × HDB-15 F (verde)
Sistema (KVM)1 × SPHD-15 F (Amarelo)
Porta LAN1 × RJ-45(F)
Ligar na rede (reservado)1 x DB9 (M)
Interface de energia1
Botões/interruptoresRedefinição de KVM1 × semi-oculto, frontal
Indicadoresnutrição1 x laranja
conexão de usuário remoto1 x verde
LAN 10/100Mbps1 x verde/laranja
Protocolos suportadosEthernet 10baseT e Ethernet rápida 100baseTX. TCP/IP
Resoluções de vídeoAté 1600×1200 60 Hz
Quadrometal
Dimensões (comprimento × largura × altura)200×80×25mm

Vamos passar para os testes.

No CD incluído você encontra quatro utilitários:

  • CN6000 Client é um programa cliente para Windows com o qual você pode conectar-se computador remoto
  • um programa cliente semelhante escrito em Java (em formato jar)
  • CN6000 Admin Tool - gerenciador de configuração de dispositivos (para Windows)
  • servidor de log - um programa que pode ser configurado para receber e armazenar arquivos de log do CN-6000

Além disso, o switch KVM possui um servidor WEB integrado, para que o dispositivo possa ser acessado através de um navegador WEB. Mas voltaremos à interface web um pouco mais tarde, primeiro veremos os utilitários individuais.

Configurando o CN-6000 por meio do utilitário Admin Tool.

O programa foi desenvolvido para configurar o dispositivo, definir senhas de acesso, segurança, etc.

Quando foi lançado, houve uma coisa engraçada:

Na primeira vez que você iniciar todos os utilitários do disco fornecido, você deverá inserir número de série. Na documentação (mesmo versão mais recente, que está no site do fabricante) diz-se que o número de série está impresso na parte inferior da caixa do CN-6000. E realmente há algum tipo de número de série impresso ali, só que é muito mais curto do que o exigido pelos programas. Em geral, depois de sofrer um pouco, digitar o número de série encontrado de um lado para o outro, adicionar zeros ou espaços e não conseguir nada além da janela “Número de série inválido”, já queria terminar de testar o aparelho naquele dia. Depois de retirar o CD do CD-ROM (primeiro o inseri na unidade de CD - tive que instalar o software), descobri um adesivo estranho no disco - esse era o precioso número de série.

Claro que, teoricamente, uma pessoa pode prestar atenção ao que está escrito ou colado em um CD ao inseri-lo no drive. Mas quantas pessoas prestam atenção imediatamente a isso? :) E, pode-se perguntar, por que foi necessário escrever informações deliberadamente falsas na documentação? Repito - tem mais no site nova versão documentação e esse “erro de digitação” não é corrigido lá. Observo que esta não é a última imprecisão que aparece na documentação, então às vezes você tem que agir de acordo com o ditado “não acredite no que vê”.

O utilitário de administração CN-6000 é útil porque nos permite encontrar um dispositivo na rede, mesmo que o seu endereço IP não pertença à sub-rede em que estamos, basta que nós (o computador a partir do qual estamos tentando acessar o CN-6000) estavam no mesmo segmento de rede local que o switch KVM.

Após inserir o nome de usuário e a senha, somos levados ao menu de configuração do dispositivo:

A ATEN adoptou uma boa abordagem à questão da segurança dos dispositivos. Quando entramos pela primeira vez na configuração do dispositivo, somos avisados ​​que seria uma boa ideia alterar o login e a senha padrão...

Na seção Rede o endereçamento IP do dispositivo é configurado, as portas são definidas para acesso remoto aos computadores controlados pelo CN-6000. E aqui você também pode especificar o endereço MAC da máquina na qual está localizado o programa “Log Server”, que armazena arquivos de log (eventos) enviados do switch KVM (se você não especificar, os logs serão armazenados no próprio KVM e você pode visualizá-los na interface da web). Esta máquina (para o servidor de Log) pode ser qualquer computador rodando Windows e rodando o programa em discussão. O único problema é que o computador deve estar no mesmo segmento de rede (grosso modo, conectado ao mesmo switch) que o próprio KVM CN-6000, portanto a utilidade deste “recurso” é questionável.

Marcado como favorito Segurança são configurados filtros (por endereços MAC e/ou IP) para acesso à tela remota dos computadores administrados, bem como um filtro para administração do próprio CN-6000.

A próxima guia especifica nomes de usuários e senhas, bem como seus direitos. O que chama a atenção é que você pode limitar logins para configurar o CN-6000 e usar o cliente JAVA. O comprimento mínimo da senha que o utilitário de configuração aceita é de oito caracteres. É uma pena, claro, que a palavra-passe não seja verificada quanto à “simplicidade”, mas mesmo a verificação do comprimento da palavra-passe indica que a ATEN presta atenção à segurança.

A última guia permite atualizar o firmware do dispositivo, possibilitar que várias pessoas se conectem simultaneamente a um computador remoto (embora o mouse e o teclado ainda sejam os mesmos, do ponto de vista do computador controlado, então um controla, o descanse, observe... ou interfira um no outro arrastando o mouse em direções diferentes). A reação a um processo de autenticação incorreto é imediatamente configurada, assim como a inclusão de vários modos de “ocultação” do CN-6000 (sem resposta ao ping e proibição de se mostrar quando pesquisa automática dispositivos na rede local por meio do utilitário cliente ou do utilitário de administração).

Na mesma aba há outro item - Redefinir ao sair. Eu diria que isso está redefinindo as configurações para o padrão, mas nesse caso isso envolve reinicializar o dispositivo ao sair do utilitário de configuração. EM de outra forma(se você não reinicializá-lo), embora as novas configurações sejam lembradas, elas não serão aplicadas (até uma reinicialização).

Neste ponto, a consideração do utilitário de configuração pode ser considerada completa (outro aspecto será discutido na seção sobre o cliente Java).

Vamos passar para a interface da web.

Configuração via interface WEB

Para acessar a interface web do dispositivo, basta inserir o endereço IP que está instalado no CN-6000 em qualquer navegador.

Vale ressaltar que o navegador redireciona imediatamente o cliente para a conexão via HTTPS://, ou seja, todo o trabalho adicional ocorre através de uma conexão SSL segura.

Após inserir seu login e senha, os ícones à esquerda e na parte superior da interface web ficam ativos (você pode clicar neles).

Os ícones superiores abrem seções relacionadas à configuração do CN-6000. Na maioria das vezes, todas as opções repetem as opções da interface do utilitário do Windows Ferramenta de administração, mas existem algumas diferenças. Por exemplo, nesta janela (configurando endereços de rede) só podemos especificar o endereço IP do dispositivo, mas não podemos especificar a máscara de sub-rede e o gateway. Além disso, a configuração do endereço IP funciona de maneira um tanto tortuosa - nunca consegui alterar o endereço IP do dispositivo na interface da web (ele foi alterado sem problemas usando o utilitário Admin Tools).

Isso é o que você pode observar no utilitário Admin Tool ao tentar alterar o endereço por meio da interface da web de 10.0.0.9 para 192.168.0.1. Por algum motivo, a máscara de sub-rede mudou do padrão 255.255.255.0 para 10.0.0.9, e o dispositivo (após uma reinicialização) responde ao endereço 192.168.0.1 por 5 segundos e depois começa a responder a 10.0.0.9 (ele esquece completamente cerca de 192.168.0.1). Isso pode ser um bug na versão atual do firmware (1.5.141), mas essa versão, no momento dos testes, era a mais nova que podia ser encontrada no site da empresa.

Não foram encontrados mais bugs relacionados à interface da web durante os testes.

Capítulo Segurança repete uma seção semelhante no utilitário Admin Tool.

Uma situação semelhante com a seção Gerenciador de usuários

...e seção Personalização.

Ícone Registro, localizado no lado esquerdo da interface web, permite visualizar os eventos ocorridos durante o funcionamento do dispositivo. Nesse caso, a captura de tela reflete os logs que apareceram quando o dispositivo foi testado pelo programa Nessus.

Conforme mencionado acima, os logs podem ser despejados em um servidor de log externo (mas com certas restrições quanto à sua localização).

Kimchi é uma interface web baseada em HTML5 para KVM. Ele fornece uma interface fácil e flexível para criar e gerenciar máquinas virtuais convidadas. Kimchi é instalado e executado como um daemon no host KVM. Ele gerencia convidados KVM com a ajuda do libvirt. A interface Kimchi suporta todas as versões mais recentes dos navegadores com versão -1, mas também suporta navegadores móveis.

Kimchi pode ser instalado na versão mais recente do RHEL, Fedora, openSUSE e Ubuntu. Neste guia, usei o Ubuntu 14.10 como host KVM.

Antes de configurar o kimchi, você deve instalar os seguintes pacotes dependentes.

$ sudo apt-get install gcc make autoconf automake gettext git python-cherrypy3 python-cheetah python-libvirt libvirt-bin python-imaging python-pam python-m2crypto python-jsonschema qemu-kvm libtool python-psutil python-ethtool sosreport python-ipaddr python-ldap python-lxml nfs-common open-iscsi lvm2 xsltproc python-parted nginx firewalld python-guestfs libguestfs-tools python-requests websockify novnc spice-html5 wget

O sistema solicitará os seguintes detalhes durante a instalação dos pacotes.

1. OK na configuração do Postfix.

2. Selecione Site da Internet no tipo geral de configuração de correio.

3. Digite seu FQDN e selecione OK.

Depois de instalado, baixe a versão mais recente do kimchi no github.

$ wget https://github.com/kimchi-project/kimchi/archive/master.zip

Descompacte o arquivo baixado.

$ descompacte master.zip $ cd kimchi-master/

Construa o kimchi usando o seguinte comando.

$ ./autogen.sh --sistema

$ make $ sudo make install # Opcional se estiver executando a partir da árvore de origem

$ sudo kimchid --host=0.0.0.0

Acesse o kimchi usando o navegador da web, https://localhost:8001. Você será solicitado a fazer login, use sua credencial do sistema que você normalmente usa para fazer login no sistema.


Depois de fazer login, você receberá uma página como abaixo. Isso mostra a lista de máquinas virtuais convidadas em execução no host atual. Você tem botões para executar o desligamento, reiniciar e conectar-se ao console clicando na ação.


Para criar uma nova máquina convidada, clique no sinal + no canto direito. Se você utilizar esta opção para criar uma máquina, isso será feito através de templates.


Você pode gerenciar modelos visitando o menu de modelos. Para criar um novo modelo, clique no sinal + no canto direito. Você pode criar um modelo usando imagens ISO, pode colocar imagens iso em /var/lib/kimchi/isos ou usar uma remota.


Você pode gerenciar o pool de armazenamento acessando o menu de armazenamento, onde você pode adicionar um novo armazenamento clicando no sinal +. Ele suporta a adição de armazenamento de canal de fibra NFS, iSCSI e SCSI.


A rede pode ser gerenciada acessando o menu rede, você pode criar uma nova rede com rede isolada, NAT e em ponte.


Estou escrevendo esta nota para demonstrar instalação passo a passo e configurar uma máquina virtual baseada em KVM no Linux. Já escrevi sobre virtualização, onde usei o maravilhoso .

Agora estou enfrentando um problema de aluguel. bom servidor com grande volume BATER e volumétrico disco rígido. Mas não quero executar projetos diretamente na máquina host, então irei separá-los em pequenos servidores virtuais separados executando contêineres Linux ou Docker (falarei sobre eles em outro artigo).

Todas as hospedagens em nuvem modernas funcionam com o mesmo princípio, ou seja, hoster ativado boa glândula levanta um monte de servidores virtuais, que costumávamos chamar de VPS/VDS, e os distribui aos usuários, ou automatiza esse processo (olá, DigitalOcean).

KVM (máquina virtual baseada em kernel) é programas para Linux, usando hardware de processador compatível com x86 para trabalhar com a tecnologia de virtualização Intel VT/AMD SVM.

Instalando KVM

Realizarei todas as maquinações de criação de uma máquina virtual no Ubuntu 16.04.1 LTS OS. Para verificar se seus processos suportam virtualização de hardware em Baseado em Intel VT/AMD SVM, execute:

Grep -E "(vmx|svm)" /proc/cpuinfo

Se o terminal não estiver vazio, tudo está em ordem e o KVM pode ser instalado. O Ubuntu oficialmente suporta apenas o hipervisor KVM (parte do kernel Linux) e recomenda o uso da biblioteca libvirt como ferramenta para gerenciá-lo, que é o que faremos a seguir.

Você também pode verificar o suporte à virtualização de hardware no Ubuntu usando o comando:

Se tiver sucesso, você verá algo assim:

INFO: /dev/kvm existe Aceleração KVM pode ser usada

Instale pacotes para trabalhar com KVM:

Sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

Se você tiver acesso ao shell gráfico do sistema, poderá instalar o gerenciador GUI libvirt:

Sudo apt-get install virt-manager

Usar o virt-manager é bastante simples (não mais difícil que o VirtualBox), então neste artigo falaremos sobre a opção de console para instalar e configurar um servidor virtual.

Instalando e configurando um servidor virtual

Na versão console de instalação, configuração e gerenciamento do sistema, uma ferramenta indispensável é o utilitário virsh (um complemento da biblioteca libvirt). Ela tem grande número opções e parâmetros, descrição detalhada pode ser obtido assim:

Homem virsh

ou ligue para a "ajuda" padrão:

Ajuda virsh

Sempre sigo as seguintes regras ao trabalhar com servidores virtuais:

  1. eu mantenho imagens iso SO no diretório /var/lib/libvirt/boot
  2. Eu armazeno imagens de máquinas virtuais no diretório /var/lib/libvirt/images
  3. Eu atribuo explicitamente a cada nova máquina virtual seu próprio endereço IP estático via Servidor DHCP hipervisor.

Vamos começar a instalar a primeira máquina virtual (servidor Ubuntu 16.04 LTS de 64 bits):

Cd /var/lib/libvirt/boot sudo wget http://releases.ubuntu.com/16.04/ubuntu-16.04.1-desktop-amd64.iso

Após baixar a imagem, inicie a instalação:

Sudo virt-install \ --virt-type=kvm \ --name ubuntu1604\ --ram 1024 \ --vcpus=1 \ --os-variant=ubuntu16.04 \ --hvm \ --cdrom=/var/ lib/libvirt/boot/ubuntu-16.04.1-server-amd64.iso \ --network network=default,model=virtio \ --graphics vnc \ --disk path=/var/lib/libvirt/images/ubuntu1604. img,tamanho=20,ônibus=virtio

Traduzindo todos esses parâmetros para a “linguagem humana”, verifica-se que estamos criando uma máquina virtual com sistema operacional Ubuntu 16.04, 1024 MB de RAM, 1 processador, uma placa de rede padrão (a máquina virtual acessará a Internet como se fosse por NAT ), HD de 20 GB.

Vale a pena prestar atenção ao parâmetro --os-variante, ele informa ao hipervisor para qual sistema operacional as configurações devem ser adaptadas.
Uma lista de opções de sistema operacional disponíveis pode ser obtida executando o comando:

Osinfo-query os

Se tal utilitário não estiver em seu sistema, instale:

Sudo apt-get install libosinfo-bin

Após iniciar a instalação, a seguinte mensagem aparecerá no console:

Instalação do domínio ainda em andamento. Você pode reconectar-se ao console para concluir o processo de instalação.

Esta é uma situação normal, continuaremos a instalação via VNC.
Vejamos qual porta ele foi gerado em nossa máquina virtual (no próximo terminal, por exemplo):

Virsh dumpxml ubuntu1604... ...

Porta 5900, no endereço local 127.0.0.1. Para se conectar ao VNC, você precisa usar o encaminhamento de porta via ssh. Antes de fazer isso, certifique-se de que o encaminhamento tcp esteja habilitado no daemon ssh. Para fazer isso, acesse as configurações do sshd:

Gato /etc/ssh/sshd_config | grep AllowTcpForwarding

Se nada foi encontrado ou você vê:

PermitirTcpForwarding não

Então editamos a configuração para

PermitirTcpForwarding sim

e reinicie o sshd.

Configurando o encaminhamento de porta

Executamos o comando na máquina local:

Ssh -fN -l login -L 127.0.0.1:5900:localhost:5900 server_ip

Aqui configuramos o encaminhamento de porta ssh da porta local 5900 para a porta 5900 do servidor. Agora você pode se conectar ao VNC usando qualquer cliente VNC. Prefiro o UltraVNC por causa de sua simplicidade e conveniência.

Após a conexão bem-sucedida, a janela padrão de boas-vindas para iniciar a instalação do Ubuntu será exibida na tela:

Após a conclusão da instalação e a reinicialização normal, uma janela de login aparecerá. Após o login, determinamos o endereço IP da máquina virtual recém-criada para posteriormente torná-la estática:

Ifconfig

Lembramos e vamos para a máquina host. Retiramos o endereço MAC da placa de “rede” da máquina virtual:

Virsh dumpxml ubuntu1604 | grep "endereço mac"

Vamos lembrar nosso endereço MAC:

Edição configurações de rede hipervisor:

Sudo virsh net-edit padrão

Procuramos DHCP e adicionamos isto:

Deve ser algo assim:

Para que as configurações tenham efeito, você precisa reiniciar o servidor DHCP do hipervisor:

Sudo virsh net-destroy padrão sudo virsh net-start padrão sudo service libvirt-bin restart

Depois disso, reinicializamos a máquina virtual, agora ela sempre terá o endereço IP atribuído a ela - 192.168.122.131.

Existem outras maneiras de definir um IP estático para uma máquina virtual, por exemplo, editando diretamente as configurações de rede dentro do sistema convidado, mas aqui é o que você deseja. Acabei de mostrar a opção que prefiro usar.

Para se conectar ao terminal da máquina virtual, execute:

Ssh 192.168.122.131

O carro está pronto para a batalha.

Virsh: lista de comandos

Para ver correndo hosts virtuais(todos os disponíveis podem ser obtidos adicionando --all):

Lista sudo virsh

Você pode reiniciar o host:

Sudo virsh reinicializar $VM_NAME

Pare uma máquina virtual:

Sudo virsh parar $VM_NAME

Executar parada:

Sudo virsh destruir $VM_NAME

Sudo virsh iniciar $VM_NAME

Desativar:

Sudo virsh desligamento $VM_NAME

Adicionar à execução automática:

Sudo virsh inicialização automática $VM_NAME

Muitas vezes é necessário clonar um sistema para utilizá-lo no futuro como framework para outros sistemas operacionais virtuais, para isso é utilizado o utilitário virt-clone;

Virt-clone --help

Ele clona uma máquina virtual existente e altera dados confidenciais do host, por exemplo, endereço MAC. Senhas, arquivos e outras informações específicas do usuário no clone permanecem as mesmas. Se o endereço IP na máquina virtual clonada foi registrado manualmente, podem surgir problemas de acesso SSH ao clone devido a um conflito (2 hosts com o mesmo IP).

Além de instalar uma máquina virtual via VNC, também é possível utilizar o X11Forwarding através do utilitário virt-manager. No Windows, por exemplo, você pode usar Xming e PuTTY para isso.

© 2024 ermake.ru - Sobre reparo de PC - Portal de informações