PowerPoint Presentation - Part I: Introduction adriano/aulas/topicos/2014/3-topic... · criação de…

  • Published on
    08-Nov-2018

  • View
    212

  • Download
    0

Embed Size (px)

Transcript

<ul><li><p>Virtualizao </p><p>Tpicos em Sistemas de Computao 2014 </p><p>Prof. Dr. Adriano Mauro Cansian </p><p>adriano@acmesecurity.org </p><p>Estagirio Docente: Vincius Oliveira </p><p>viniciusoliveira@acmesecurity.org </p><p>Conceitos e Prtica </p></li><li><p>Agenda </p><p> Objetivos. </p><p> Introduo. </p><p> Virtualizao: conceitos. </p><p> VirtualBox: </p><p> Princpios bsicos; </p><p> Instalao; </p><p> Criando uma mquina virtual: </p><p> Utilizando interface grfica (GUI); </p><p> Utilizando linha de comando (CLI); </p><p> Guest Additions; </p><p> Disposies finais. </p></li><li><p>Agenda </p><p> Objetivos. </p><p> Introduo. </p><p> Virtualizao: conceitos. </p><p> VirtualBox: </p><p> Princpios bsicos; </p><p> Instalao; </p><p> Criando uma mquina virtual: </p><p> Utilizando interface grfica (GUI); </p><p> Utilizando linha de comando (CLI); </p><p> Guest Additions; </p><p> Disposies finais. </p></li><li><p>Objetivos </p><p>Aprender conceitos sobre virtualizao. </p><p>Entender o funcionamento das plataformas </p><p>virtualizadas, amplamente em uso. </p><p>Aprender a criar e gerenciar mquinas virtuais com </p><p>o VirtualBox. </p></li><li><p>Introduo (1) </p><p>O que Virtualizao? </p><p>No h um consenso. </p><p>Engloba: </p><p> Emulao; </p><p> Simulao; </p><p>Na computao, um mecanismo capaz de executar </p><p>em um mesmo computador dois ou mais sistemas, </p><p>distintos ou no, de maneira isolada. </p></li><li><p>Introduo (2) </p><p>Um pouco de histria: </p><p> A virtualizao de hoje resultado de pesquisas </p><p>realizadas pela IBM na dcada de 60 e 70. </p><p> O intuito era criar um sistema capaz de fornecer </p><p>multiprogramao e mquina estendida (alto nvel). </p><p> Dcada de 80 e 90: virtualizao era pouco utilizada. </p><p>Muito do que temos atualmente sobre virtualizao com </p><p>x86 consequncia destas pesquisas. </p><p> Atualmente a virtualizao uma tendncia, sendo </p><p>muito utilizada em diferentes segmentos, principalmente </p><p>de infraestrutura. </p></li><li><p>Introduo (3) </p><p> Mainframes: centralizando </p><p>a computao. </p><p>VS </p></li><li><p>Introduo (4) </p><p>Por que utilizar virtualizao? </p><p> Consolidao de servidores: </p><p> Reduo do nmero e dos tipos de servidores; </p><p> Diminuio de custos (manuteno, refrigerao, energia e </p><p>etc); </p><p> Melhor uso dos recursos computacionais; </p><p> Facilidade de gerenciamento de um nmero reduzido de </p><p>servidores. </p><p> Confiabilidade; </p><p> Disponibilidade; </p><p> Encapsulamento; </p><p> Dentre outros. </p></li><li><p>Virtualizao: conceitos (1) </p><p>Virtualizar: </p><p> Executar simultaneamente mltiplos sistemas </p><p>operacionais em uma mesma mquina fsica. </p><p>Monitor de mquinas virtuais (MMV): </p><p> Gerencia a distribuio dos recursos de hardware a cada </p><p>sistema operacional convidado. </p><p>Mquina virtual: </p><p> Ambiente isolado criado pela MMV para cada sistema </p><p>operacional convidado. </p></li><li><p>Virtualizao: conceitos (2) </p><p> Instrues no privilegiadas: </p><p> No modificam a alocao ou o estado de recursos </p><p>compartilhados por vrios processos simultneos. </p><p> Instrues privilegiadas: </p><p> Podem alterar o estado e a alocao dos recursos </p><p>compartilhados. </p><p>Estados de operao de um computador: </p><p> Modo usurio; </p><p> Modo de supervisor; </p></li><li><p>Virtualizao: conceitos (3) </p><p>Sistema operacional hospedeiro (Host Operating </p><p>System) : </p><p> Sistema operacional nativo da mquina; </p><p> Executado diretamente sobre o hardware fsico; </p><p>Sistema operacional visitante (Guest Operating </p><p>System): </p><p> Sistema operacional que executado na mquina virtual; </p><p> Geralmente executado sobre o hardware virtual; </p></li><li><p>Virtualizao: conceitos (4) </p><p>Monitor de Mquina Virtual (MMV) ou </p><p>Hypervisor: </p><p> Camada de software responsvel por aplicar e monitorar </p><p>polticas para as mquinas virtuais; </p><p> Responsvel pela virtualizao e controle de acesso aos </p><p>recursos compartilhados para as mquinas virtuais; </p><p> Mquinas virtuais executam no modo usurio, sendo que o </p><p>MMV executa no modo supervisor; </p><p> Para uma mquina virtual executar uma instruo </p><p>privilegiada, o MMV necessrio; </p></li><li><p>Virtualizao: conceitos (5) </p></li><li><p>Virtualizao: conceitos (6) </p><p>Tipos de virtualizao: </p><p> Virtualizao total ou completa: </p><p> MMV cria uma rplica do hardware da mquina hospedeira; </p><p> MMV cria drivers genricos para traduzir os elementos de </p><p>hardware da mquina hospedeira. </p><p> Cada instruo testado pelo MMV e depois disso </p><p>executada em hardware, o que causa uma perda de </p><p>performance. </p><p> Se a instruo for privilegiada, ela simulada pelo MMV; </p><p> No h modificaes no sistema operacional visitante. </p><p> Com isso, a grande maioria dos sistemas operacionais </p><p>existentes podem ser virtualizados. </p></li><li><p>Virtualizao: conceitos (7) </p><p>Tipos de virtualizao: </p><p> Virtualizao total ou completa: </p></li><li><p>Virtualizao: conceitos (8) </p><p>Tipos de virtualizao: </p><p> Para-virtualizao: </p><p> No utiliza drivers genricos, acessa diretamente o hardware </p><p>(ganho de performance); </p><p> Uma instruo s processada pelo MMV se ela for </p><p>privilegiada, ou seja, se alterar o estado do sistema; </p><p> MMV no testa instruo por instruo como na </p><p>virtualizao total; </p><p> Sistema operacional visitante modificado; </p><p> Reduz o nmero de sistemas os quais podem ser </p><p>virtualizados; </p></li><li><p>Virtualizao: conceitos (9) </p><p>Tipos de virtualizao: </p><p> Para-virtualizao: </p></li><li><p>Virtualizao: conceitos (10) </p><p>Tipos de virtualizao: </p><p> Virtualizao assistida por hardware: </p><p> Semelhante ao modelo de virtualizao total; </p><p> Entretanto, no precisa testar todas instrues; </p><p> Processador fornece um ambiente restrito para a execuo </p><p>de instrues das mquinas virtuais; </p><p> H um aumento de performance considervel; </p><p> Intel VT e AMD-V so processadores que possuem essa </p><p>caracterstica; </p></li><li><p>Virtualizao: conceitos (11) </p><p>Tipos de virtualizao: </p><p> Virtualizao assistida por hardware: </p></li><li><p>VirtualBox (1) </p><p> O VirtualBox uma poderosa coleo de ferramentas </p><p>para mquinas virtuais. </p><p> Pode ser usado em computadores pessoais, servidores ou </p><p>sistemas mais especficos (embarcados). </p><p> Possibilita a virtualizao de sistemas operacionais 32-</p><p>bit e 64-bit, tanto em processadores Intel quanto AMD. </p><p> Pode ser totalmente em software (virtualizao total); </p><p> Pode usar recursos de hardware para virtualizao (virtualizao </p><p>assistida por hardware); </p><p> Desenvolvido pela Oracle e disponibilizado sob licena </p><p>GPL. http://www.virtualbox.org/ </p></li><li><p>VirtualBox (2) </p><p>Outras caractersticas: </p><p> Portabilidade; </p><p> Arquitetura simples; </p><p> No necessrio o suporte para virtualizao assistida por </p><p>hardware. </p><p> Guest Additions (adies de convidado); </p><p> Suporte de hardware avanado (USB, discos, som, etc.); </p><p> Suporte a pontos de restaurao de sistema (snapshots); </p><p> Acesso remoto via VRDP (desktop remoto); </p></li><li><p>VirtualBox (3) </p><p> Sistemas hospedeiros suportados: </p><p> Windows XP (32-bit), Windows Server 2003 (32-bit), Windows Vista (32-bit e 64-bit), Windows Server 2008 (32-bit e 64-bit), Windows 7 (32-bit e 64-bit); </p><p> Apple Mac OS X: processador Intel como requisito. </p><p> Linux (32-bit e 64-bit): </p><p> Debian GNU/Linux 3.1, 4.0 e 5.0; </p><p> Fedora Core 4 ao 11; </p><p> Gentoo Linux; </p><p> Redhat Enterprise Linux 4 e 5; </p><p> SUSE Linux 9 e 10, openSUSE 10.3, 11.0 e11.1 </p><p> Ubuntu 6.06, 6.10, 7.04, 7.10, 8.04, 8.10, 9.04, 10.04 e 10.10. </p><p> Mandriva 2007.1, 2008.0 e 2009.1 </p><p> Solaris: Open Solaris e Solaris 10. </p></li><li><p>VirtualBox (4) </p><p>Sistemas visitantes suportados: </p><p> DOS, Windows 3.X, Windows 95, Windows 98, Windows </p><p>ME, Windows NT 4.0, Windows 2000, Windows XP, </p><p>Windows Vista, Windows Server 2008, Windows 7; </p><p> Linux 2.4 e 2.6; </p><p> Solaris 10 e OpenSolaris; </p><p> FreeBSD e OpenBSD; </p><p> OS/2 Warp 4.5; </p><p> Mac OS X e Mac OS X Server; </p></li><li><p>Princpios bsicos (1) </p><p> O sistema que roda o VirtualBox denominado host (sistema hospedeiro). </p><p> O sistema virtual, instalado dentro do VirtualBox, denominado guest (sistema visitante). </p><p> O VirtualBox capaz de fornecer virtualizao de duas maneiras: </p><p> Inteiramente em software: </p><p> Todas as chamadas so interceptadas pelo VMM que fornece uma abstrao. </p><p> Usando recursos assistidos por hardware, em processadores especiais: </p><p> IntelVT-x e AMD-V. </p><p> ESTE SUPORTE DEVE SER HABILITADO NO BIOS. </p></li><li><p>Princpios bsicos (2) </p><p>Sistemas 64-bit como visitante: </p><p> Se a arquitetura do hospedeiro for 64-bit pode-se instalar </p><p>sistemas 64-bit como visitante normalmente: </p><p> Habilitar o suporte para virtualizao assistida em hardware; </p><p> Configurar a MV para utilizar este recurso; </p><p> Se a arquitetura do hospedeiro for 32-bit, ainda pode-se </p><p>utilizar um sistema visitante 64-bit: </p><p> Cria-se um overhead no MMV. </p><p> Se as MVs forem criadas utilizando a interface grfica, </p><p>muitas destas configuraes so feitas automaticamente; </p><p> MVs 64-bit s funciona adequadamente com virtualizao </p><p>assistida em hardware. </p></li><li><p>Instalao (1) </p><p> Existem diversos sistemas e maneiras para instalar o VirtualBox (Windows, Mac Os X, Linux, etc.). </p><p> A base ser uma instalao no sistema Linux (Ubuntu), utilizando um repositrio de pacotes do VirtualBox. </p><p> OBS.: para sistemas Linux recomendvel utilizar um gerenciador de pacotes do sistema (apt, yum, urpmi, etc) por motivos de manuteno da ferramenta; </p><p> Antes de instalar, deve-se verificar algumas dependncias: </p><p> Pacote de headers (linux-headers) do kernel para a compilao do mdulo do VirtualBox. apt-get install linux-headers-$(uname -r) </p><p> A verso do linux-headers deve ser a mesma do kernel em uso. </p><p> Pacote DKMS apt-get install dkms </p><p> um pacote capaz de recompilar automaticamente drivers quando h mudana de um kernel (MUITO IMPORTANTE). </p></li><li><p>Instalao (2) </p><p>Utilizando o sistema apt: </p><p> Adicionar source oficial do VirtualBox no arquivo /etc/apt/sources.list no Ubuntu 14.04: deb http://download.virtualbox.org/virtualbox/debian squeeze </p><p>contrib non-free </p><p> Adicionar as chaves do repositrio, atualizar base e instalar: </p><p>usuario@maquina:~$ wget -q </p><p>https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key </p><p>add - </p><p>usuario@maquina:~$ apt-get update </p><p>usuario@maquina:~$ apt-get install virtualbox-4.3 </p></li><li><p>Criando uma mquina virtual (1) </p><p> Existem duas maneiras de criar mquinas virtuais: </p><p> Usando uma interface grfica (GUI): Mais rpido e prtico; </p><p> Configura automaticamente e corretamente diversos parmetros,; </p><p> Necessita de um ambiente grfico. </p><p> Usando linha de comando (CLI): Nada prtico; </p><p> Requer um esforo maior nas configuraes mas fornece todos os </p><p>parmetros para otimizao das mquinas virtuais; </p><p> No necessita um ambiente grfico (servidores); </p><p> Nesse caso a mquina virtual iniciada e pode ser </p><p>acessada via desktop remoto (RDP). </p></li><li><p>Criando uma mquina virtual (2) </p><p>$HOME VirtualBox VMs</p><p>VM1</p><p>VM2</p><p>VMn</p><p>VM2.vbox</p><p>VM2.vbox-prev</p><p>VM2.vdi</p><p>Snapshots</p><p>Logs</p><p>{0bf...8b}.vdi</p><p>2014Z.sav</p><p>VBox.log</p><p>VBox.log.1</p></li><li><p>Utilizando uma interface grfica (GUI) (1) </p></li><li><p>Utilizando uma interface grfica (GUI) (2) </p></li><li><p>Utilizando uma interface grfica (GUI) (3) </p><p> Informaes requisitadas na criao da mquina </p><p>virtual: </p><p> Nome da mquina virtual; </p><p> Tipo de sistema operacional visitante: </p><p> Utilizado para definir diversas otimizaes para o sistema </p><p>visitante, alm de habilitar algumas configuraes tais como </p><p>virtualizao assistida para sistemas 64-bit. </p><p> Quantidade de memria: </p><p> Este espao ser reservado para o VirtualBox e no poder </p><p>ser usado pelo sistema hospedeiro durante o tempo que a </p><p>mquina virtual executar. </p><p> Portanto, cuidado ao definir a quantidade memria. </p></li><li><p>Utilizando uma interface grfica (GUI) (4) </p></li><li><p>Utilizando uma interface grfica (GUI) (5) </p><p> Importante: o disco virtual independente da mquina virtual. O disco </p><p>registrado para uma mquina virtual e quando ela apagada, o disco </p><p>virtual pode permanecer. </p></li><li><p>Utilizando uma interface grfica (GUI) (6) </p></li><li><p>Utilizando uma interface grfica (GUI) (7) </p><p> 1 </p><p>2 </p></li><li><p>Utilizando uma interface grfica (GUI) (8) </p><p> Interface do VirtualBox com a mquina virtual criada: </p></li><li><p>Utilizando uma interface grfica (GUI) (9) </p><p>Visualizao de opes da mquina virtual: </p></li><li><p>Utilizando uma interface grfica (GUI) (10) </p><p>Visualizao das opes de sistema: </p></li><li><p>Utilizando uma interface grfica (GUI) (11) </p><p>Visualizao das opes de rede: </p></li><li><p>Utilizando uma interface grfica (GUI) (12) </p><p>Snapshots: permite salvar o estado de uma mquina </p><p>virtual. </p><p>1 2 3 </p><p>4 </p></li><li><p>Utilizando uma interface grfica (GUI) (13) </p><p>Snapshots: </p><p> Restaurar snapshot; </p><p> Excluir snapshot; ou </p><p> Exibir detalhes do snapshot. </p><p>1 </p><p>2 </p><p>3 </p><p>4 </p></li><li><p>Utilizando uma interface grfica (GUI) (14) </p><p>Ao iniciar uma mquina virtual possvel acess-la </p><p>clicando com o mouse dentro de sua janela. </p><p>Para sair do controle dessa mquina virtual, existem </p><p>alguns atalhos de teclado: </p><p> O padro o CTRL da direita. </p><p> Retorna o mouse para o sistema hospedeiro. </p></li><li><p>Utilizando uma interface grfica (GUI) (15) </p><p>Para desligar uma mquina virtual </p><p> Maneira convencional, desligando o sistema visitante: </p><p> Fechando a janela da mquina virtual; </p></li><li><p>Utilizando linha de comando (CLI) (1) </p><p>Command Line Interface (CLI): uma alternativa </p><p>para a interface grfica a utilizao de comandos </p><p>para a criar e controlar mquinas virtuais. </p><p>No VirtualBox o principal comando o </p><p>VBoxManage. </p><p>Tudo que realizado no ambiente grfico GUI, </p><p>tambm pode ser realizado atravs de CLI, </p><p>permitindo maior especificidade. </p><p>Sero mostrados alguns passos bsicos para a </p><p>criao de uma mquina virtual em CLI. </p></li><li><p>Utilizando linha de comando (CLI) (2) </p><p>Para criar uma MV (arquivo xml utilizado pelo </p><p>VirtualBox) registrando-a para o usurio em </p><p>questo: </p><p> --name: permite especificar o nome da mquina virtual. </p><p> --ostype: permite especificar o tipo de sistema operacional. </p><p>Os tipos suportados podem ser vistos com o comando </p><p>VBoxManage list ostypes. </p><p> --register: registra a mquina virtual criada para o ambiente </p><p>do VirtualBox do usurio. </p><p>usuario@maquina:~$ VBoxManage createvm --name Meu </p><p>Windows --ostype WindowsXP --register </p></li><li><p>Utilizando linha de comando (CLI) (3) Para modificar algumas configuraes: </p><p> --memory: a quantidade de memria alocada para a mquina </p><p>virtual. </p><p> --vram: a quantidade de memria de vdeo alocada para a </p><p>mquina virtual. </p><p> --acpi: gerenciamento de energia. </p><p> --boot1: primeiro dispositivo de boot, se houver mdia no </p><p>dispositivo. </p><p> --dvd: indica o dispositivo no sistema hospedeiro. </p><p> --nic1: insere uma interface de rede na mquina virtual, no modo </p><p>bridge (pode ser host-only e nat). </p><p> --eth0: no caso de bridge, qual a interface do hospedeiro </p><p>utilizar. </p><p> --vrde: habilita controle da MV por desktop remoto. Para uso </p><p>deste recurso necessrio instalar o pacote de extenso Oracle VM </p><p>VirtualBox Extension Pack junto ao VirtualBox. </p><p>usuario@maquina:~$ VBoxManage modifyvm "Meu Windows" --memory </p><p>512 --vram 64 --acpi on --boot1 dvd --nic1 bridged --</p><p>bridgeadapter1 eth0 --vrde on </p></li><li><p>Utilizando linha de comando (CLI) (4) </p><p> Criando o disco virtual: </p><p> --filename: nome do arquivo que conter o disco virtual. </p><p> --size: tamanho em MB (10000 10 GB). </p><p> Precisamos anexar um disco a nossa mquina: </p><p> Vinculando o disco virtual criado com o disco anexado a </p><p>mquina virtual: </p><p>usuario@maquina:~$ VBoxManage createhd --filename </p><p>HD_MeuWindows.vdi --size 10000 </p><p>usuario@maquina:~$ VBoxManage storagectl "Meu </p><p>Windows" --name "SATA Controller" --add sata </p><p>usuario@maquina:~$ VBoxManage storageattach Meu </p><p>Windows --storagectl "SATA Controller" --port 0 --</p><p>device 0 --type hdd --medium </p></li><li><p>Utilizando linha de comando (CLI) (5) </p><p> Precisamos agora anexar uma mdia CD/DVD a nossa </p><p>mquina: </p><p> Vinculando uma imagem .iso mdia anexada a </p><p>mquina virtual: </p><p>usuario@maquina:~$ VBoxManage storagectl Meu </p><p>Windows --name "IDE Controller" --add ide </p><p>usuario@maquina:~$ VBoxManage storageattach Meu </p><p>Windows --storagectl "IDE Controller" --port 0 --</p><p>device 0 --type dvddrive medium </p></li><li><p>Utilizando linha de comando (CLI) (6) </p><p> Uma vez criada a mquina virtual, possvel inici-la. </p><p> Como nesse caso utilizado um ambiente sem terminal grfico, o comando utilizado para iniciar uma MV o VBoxHeadless: </p><p>Observaes: </p><p> Ao iniciar a MV, o efeito o de dar boot por meio da...</p></li></ul>