160 likes | 250 Views
User-Mode Linux. Carlos Maziero PPGIA CCET PUCPR. Máquinas virtuais. Abstração construída por um Monitor de Máquinas Virtuais Permite compartilhar um mesmo hardware entre vários sistemas operacionais simultaneamente
E N D
User-Mode Linux Carlos Maziero PPGIA CCET PUCPR
Máquinas virtuais • Abstração construída por umMonitor de Máquinas Virtuais • Permite compartilhar um mesmohardware entre vários sistemasoperacionais simultaneamente • Cada sistema operacionalacredita estar executandosobre uma máquina exclusiva
Tipos de monitores • Monitor de tipo I • Executa diretamente sobre o hardware • Constitui um software de baixo nível • Monitor de tipo II • Executa sobre um sistema operacional • Sistema anfitrião ou hospedeiro • Visto como um processo do anfitrião
Monitores de tipo I processos Sistemasoperacionaisconvidados kernel kernel kernel monitor hardware
Monitores de tipo II processos Sistemasoperacionaisconvidados Sistemaoperacionalanfitrião kernel kernel monitor monitor kernel hardware
Motivação para VMs • Executar vários SOs no mesmo hardware • Consolidação de servidores • Web hosting • Testes de novos kernels • Ensino • Cada aluno pode lançar várias VMs • Configuração individual preservada
O User-Mode Linux • Monitor de máquinas virtuais • Arquitetura de tipo II • Executa Linux sobre Linux • Projeto Open Source • Parte oficial do kernel 2.6 • http://user-mode-linux.sourceforge.net
Características do UML • Linux como um processo do Linux • Dispositivos virtualizados • Disco virtual é um arquivo no sistema real • Interfaces de rede • Console, etc • Usuários e processos distintos do sistema real • Cada aluno pode ser root !
Operação de uma VM UML • Script “linux” com configuração padrão • Instalação Linux RedHat 9.0 com configuração básica • Tudo está em espec:/usr/local/uml • Para lançar: host:~> linux ... (mensagens de boot da máquina virtual) Login: root Password: root • Para encerrar: guest:~> halt
Criação de interfaces • Hub conectado ao host: • Usa interfaces virtuais tapN no host • Forma: ethN=tuntap,device,macaddr,gway • Exemplo: eth0=tuntap,,,10.0.0.1 • Hub isolado (sem conexão com o host) • Hub virtual criado por grupo multicast IP • Forma: ethN=mcast,macaddr,group,port,ttl • Exemplo: eth1=mcast
VM VM VM eth1 eth1 eth1 eth0 eth0 eth0 Interfaces de rede • Config na espec com 2 interfaces de rede • eth0 : conectada a um hub ligado ao host • eth1 : conectada a um hub isolado hub virtual 2 (isolado) hub virtual 1 Kernel SO host tapN
Discos virtuais • Discos da VM são arquivos no host • Disco principal (/): arquivo root_fs • Outros discos podem ser criados • Discos mantidos como arquivos esparsos • ocupam menos espaço que o visível no ls • Duas possibilidades de uso: • Imagem exclusiva para cada VM • Imagem central + arquivo com diferenças
Usando discos virtuais • Usando disco exclusivo • linux ubd0=file • nome default: root_fs • Usando imagem central + diferenças • linux ubd0=diff_file,image_file
O filesystem hostfs • VM pode acessar diretórios do host • Montagem como disco externo • Usa um sistema de arquivos especial: hostfs • Para montar o “/” do host em /mnt: • guest:~> mount none /mnt -t hostfs • Para montar “/home” do host em /mnt: • guest:~> mount none /mnt -t hostfs -o /home
Mais informações • http://user-mode-linux.sourceforge.net • /UserModeLinux-HOWTO.html • http://usermodelinux.org