Qualquer motivo para não executar o Linux em uma VM o tempo todo?

210

Eu mudei para usar o Arch Linux na maior parte do meu dia a dia e não preciso do Windows para nada além de jogos e alguns aplicativos que não são portados para o Linux como o OneNote. Minha distribuição Linux é hospedada no VirtualBox com o Windows como host, e eu gosto disso dessa forma, os instantâneos são incrivelmente úteis.

Digamos que eu praticamente nunca me importei com o host do Windows e gastei 95% do tempo no convidado, o que estaria perdendo?

Existem desvantagens graves?

O desempenho é severamente afetado e a instalação direta na máquina torna minha vida muito mais incrível?

    
por Alexandr Kurilin 11.05.2012 / 07:20

17 respostas

152

Supondo que você possa fazer com que tudo funcione e não quer executar tarefas com uso intensivo de recursos, como jogos ou grandes compilações, acho que você ficará bem.

Existem alguns problemas básicos que você provavelmente encontrará:

  • hora do convidado incorreta
  • tamanho da tela de convidado ou profundidade de cor incorreta
  • não pode acessar dispositivos USB (impressoras, telefones, etc.)

Para corrigir isso, você deve instalar adições aos convidados do VirtualBox . Consulte o guia de convidados do VirtualBox Arch Linux para obter detalhes.

Para obter recursos extras, como suporte a USB 2.0 e Intel PXE, você também pode instalar o VirtualBox pacote de extensão .

Depois disso, há alguns problemas que você deve saber:

Obviamente, sua VM Linux será afetada se o seu sistema Windows também falhar. Problemas que tive recentemente:

  • O host do Windows trava devido a um bug do driver (tela azul)
  • O host do Windows é reinicializado devido à atualização de segurança

Ao executar uma máquina virtual, o maior impacto no desempenho será a sua E / S de disco . Se possível, coloque sua VM em um disco separado e / ou use uma unidade de estado sólido . Usar uma unidade virtual SATA em vez de uma unidade IDE virtual também pode ajudar.

    
por 11.05.2012 / 08:28
76

Eu ensino uma aula prática no Linux, e infelizmente, pela política da empresa, não tenho permissão para reformatar os laptops fornecidos pela classe, então estamos indo pela abordagem de convidados do VirtualBox.

Ignorando todas as preocupações de desempenho, aqui estão algumas notas / problemas que notei:

1) Modo em ponte e sem fio

Algumas placas sem fio aparentemente têm dificuldade em ter "identidades duplas", o que significa que nossas lições de roteamento / firewall / rede vão para o inferno. É um problema conhecido - a maioria dos drivers sem fio não oferece suporte a pontes.

ponte | The Linux Foundation - Não funciona com minha placa Wireless!

Isso significa que, se você estiver usando uma interface sem fio, terá que fazer algum trabalho extra para que o convidado tenha um IP "público".

2) Integração com o desktop

Economize para alguns wallbangers no design, os modernos ambientes de desktop são bem pensados e oferecem algumas conveniências que são perdidas quando eles não têm acesso total à entrada / saída, ou ao dispositivo anexar / separar ferramenta. Por exemplo, o menu Vbox na parte inferior fica muito chato se você tiver um seletor de janela ou notificações lá. E algumas máquinas usam o atalho Ctrl + Alt + cursor_key (alternando áreas de trabalho) para inverter a exibição.

Quero dizer, compare como é fácil desassociar um dispositivo USB no GNOME, em comparação com o número equivalente de submenus / cliques no Windows, e sei qual eu preferiria em qualquer dia.

3) USB "roubo"

Às vezes, o Windows não quer abrir mão de um drive USB - dizer ao VirtualBox para anexá-lo nem sempre funciona - provavelmente quando o Windows está lendo o conteúdo por algum motivo ou outro. E há algumas unidades USB que não são dispositivos de armazenamento diretos, mas fazem uma ação semelhante a uma mudança de modo para tornar suas unidades acessíveis - são irritantes conectar-se à máquina Linux.

4) Estabilidade

Normalmente, é mais fácil "quebrar" o Windows do que o Linux, e é por isso que você normalmente quer que o Linux "proteja" instâncias do Windows, e não vice-versa. Eu já perdi alguns dias de trabalho com a equipe sobrescrevendo os arquivos errados e acabando com a instalação do Virtualbox e das imagens do Linux.

5) Ferramentas de linha de comando

No Linux, pelo menos, você tem a opção de mexer nas imagens de disco do Vbox usando o qemu-nbd e o dispositivo de bloco de rede.

QEMU / Images - Wikilivros, livros abertos para um mundo aberto - Montando uma imagem no host

Isso permite que você examine e modifique o conteúdo do disco do sistema operacional convidado sem ter que inicializá-lo, por exemplo, se você o tornou não inicializável.

Você também pode fazer coisas como criar scripts de backups de VDIs - ou apenas seu conteúdo, ou alterar "perfis" do VirtualBox via links simbólicos - muito mais fácil no bash.

    
por 11.05.2012 / 22:22
27

Não se esqueça de que uma VM é uma emulação. Seu sistema Unix nunca será tão poderoso em uma VM quanto instalado. O Archlinux é feito para se adequar ao seu gosto, é uma distribuição que você pode personalizar ao máximo. Eu costumava executá-lo em uma VM, embora eu pensasse em instalá-lo definitivamente no meu computador. Agora meu sistema inicializa em cerca de 15 segundos, minhas compilações são um pouco mais rápidas e tudo está funcionando melhor.
O Archlinux não é assim tão grande, você pode instalá-lo em uma pequena partição (apenas tenha certeza de ter espaço suficiente para seus programas na sua partição raiz (eu tive que reformatar minha partição raiz porque ela era muito pequena)). Se você usa o Windows apenas para jogar, você deve considerar essa opção =)

PS: Sim, instalar diretamente no seu computador tornará sua vida incrível. : P

    
por 11.05.2012 / 09:09
23

Existem três maneiras de configurar os dois sistemas operacionais:

  1. Host do Windows, VM do Linux (como você tem).

  2. Host Linux, VM do Windows.

  3. Inicialização dupla.

Se você deseja executar jogos do Windows, eu não recomendaria a opção 2.

Se você deseja usar regularmente um programa somente do Windows (que não funciona bem no Wine) durante sua sessão do Linux, a opção 3 não funcionará bem para você.

Se você usa coisas do Windows que não são jogos tão raramente que a reinicialização não é muito difícil, a opção 3 é a mais eficiente.

Então, a pergunta é: sua configuração atual o incomoda? Ou é bom o suficiente? A velha desvantagem real que consigo pensar é o tempo de inicialização prolongado e a menor disponibilidade de memória.

BTW, é possível configurar um sistema de inicialização dupla onde você pode também inicializar a mesma instalação do Linux dentro de uma VM no Windows, mas não o contrário (O Linux detecta o hardware no momento da inicialização, mas o Windows tem seus drivers codificados, uma vez instalados).

Se você quiser uma configuração dual-boot try-before-you-buy, experimente o instalador "wubi" do Ubuntu. (Sim, eu sei que você é um cara do Arch, mas você está apenas tentando, certo?) O Wubi instala os discos como um arquivo de imagem dentro do Windows, assim como uma VM, mas inicia como um sistema operacional host. Não há interferência de partição, e você pode desinstalá-lo diretamente do Painel de Controle do Windows, quando estiver pronto. O único lado negativo é que o desempenho de E / S do disco é ligeiramente reduzido.

    
por 11.05.2012 / 12:28
18

Se você usar esta caixa principalmente via SSH, há uma boa chance de você estar na zona da manteiga, onde realmente não importa muito se é uma VM ou hardware real. Muitos dos problemas mencionados em outras respostas surgem quando você está tentando usar o sistema operacional convidado como área de trabalho da GUI. Os servidores Linux estão muito felizes dentro das VMs; um grande pedaço do mercado de hospedagem na web é o Linux nas VMs.

Eu me deparei com apenas alguns casos em que fui forçado a executar um servidor Linux em hardware real, em vez de em uma VM:

Acesso Real ao Hardware

Às vezes, você precisa usar uma placa PCI que o sistema VM não pode virtualizar. Digamos, um decodificador MPEG-2 de 4 canais . Alguns sistemas VM podem fornecer propriedade exclusiva do cartão para a VM, como por exemplo, por meio de Tecnologia VT-d da Intel , mas isso não é isento de problemas:

  • Há um golpe de velocidade. Pode importar.

  • Nem todos os sistemas VM podem fazer isso e você pode não ter a liberdade de mudar para um que pode.

  • Pode não haver consequências, como no caso do VMware ESXi 5, em que dar uma propriedade de VM a uma placa exige a reinicialização do host e, em seguida, impede que ela faça instantâneos dessa VM. (Por inocência, quero dizer que estes problemas podem ser resolvidos, apenas demora tempo de desenvolvimento.)

Big Storage

Seu sistema VM talvez não consiga criar um disco virtual tão grande quanto o hardware vazio permite discos reais. O VMware ESXi 5, por exemplo, tem um limite de tamanho de volume virtual de 2 TB. Se você precisa de um volume único maior dentro da VM, você precisa pular nos aros para contornar a limitação:

  • Você pode enviar um controlador RAID para a VM com o VT-d, mas, novamente, tem problemas.

  • Você pode enviar uma passel de volumes virtuais de 2 TB para a VM e agrupá-los com LVM , mas você também comprou um monte de problemas.

    Por um lado, quando (!) um dos discos físicos morre, se você estivesse usando o sistema operacional convidado em hardware, você poderia diagnosticar e consertar usando o software de gerenciamento fornecido, como 3DM da 3Ware ou tw_cli Programas. Mas tente encontrar versões que serão executadas em um host VMware ESXi 5.0! Agora você é forçado a reinicializar para poder usar a interface de gerenciamento do BIOS.

    Por outro lado, a camada de abstração desconectou os volumes virtuais dos volumes físicos, portanto, a camada RAID / LVM do software no sistema operacional convidado não pode gerenciar os discos com eficiência. Essa camada pode pensar que está sendo inteligente gravar em discos de forma round-robin, mas porque eles provavelmente compartilham alguns dos mesmos discos físicos, o desempenho terá um impacto porque alguns discos estão recebendo back-to-back escreve.

  • Você pode criar o volume em um sistema de hardware real e exportá-lo para a VM via NFS, mas também há um aumento de velocidade quando você faz isso.

Você pode compensar alguns dos itens acima com vantagens de virtualização, como a capacidade de pausar uma VM, movê-la para outro host e reiniciá-la novamente.

    
por 12.05.2012 / 04:07
14

Qual ambiente gráfico você está usando no Linux? A maioria dos ambientes de área de trabalho modernos (GNOME, KDE, Unity) está se movendo na direção de um suporte de aceleração 3D de hardware para funcionar corretamente. O suporte de aceleração de hardware para gráficos dentro de VMs é uma tecnologia relativamente imatura no momento. O VirtualBox tem suporte experimental .

    
por 11.05.2012 / 11:10
11

Basicamente, tudo estará funcionando bem da Internet para instalar pacotes também para inicializar o hardware, mas você estará pagando o preço por qualquer falha da máquina Windows.

    
por 11.05.2012 / 07:58
8

Eu uso uma configuração similar, e acho incrivelmente útil simplesmente porque eu posso copiar e mover meu trabalho Linux VM entre máquinas.

Eu só encontrei duas desvantagens significativas para usar uma VM.

  1. Se o host estiver usando uma conexão de rede sem fio, uma VPN não será muito confiável no guest
  2. As configurações de vários monitores geralmente sugam uma VM.

O ponto 2 pode ser efetivamente superado usando o VMWare e o Unity - Unity, sendo um recurso VMWare que executa aplicativos no Windows na área de trabalho do host (não confundir com o Ubuntu Unity).

    
por 12.05.2012 / 01:32
7

Uma coisa que você pode querer considerar é certificar-se de que seu hardware foi testado com a distro linux que você está usando. Eu me deparei com o problema de uma distribuição que eu usei perfeitamente em uma VM, mas estava terrivelmente instável nativamente, devido a uma placa de vídeo que não foi totalmente testada com a distribuição. O Fedora, por exemplo, tem uma lista de hardware que foi testada completamente. O fato é que nenhuma distribuição Linux será 100% estável com hardware de última geração com novos drivers com bugs. Eu tentei fazer o que você fez, mas acabei apagando minha partição linux depois que várias distribuições não funcionavam o suficiente para mim. Na minha opinião, a menos que você esteja fazendo qualquer coisa que exija aceleração de hardware, não há absolutamente nenhuma necessidade de executar o linux nativamente.

    
por 13.05.2012 / 00:07
7

Meu consumo de energia sobe drasticamente sempre que eu inicio o VirtualBox.

No meu caso, eu executo o Linux como host e guest, e não sei se o sistema operacional host / guest faz diferença, ou se isso é inerente ao VirtualBox ou à técnica de virtualização.

Usando o powertop , posso ver que o processo "VBoxHeadless" é frequentemente o maior consumidor de energia do meu sistema. .

Se este for um sistema de desktop, talvez isso não seja importante para você, mas no meu laptop, quero desativar o VirtualBox sempre que não precisar do sistema convidado.

    
por 15.05.2012 / 16:47
6

Se você não estiver usando VMs para fins especiais (por exemplo, precisar clonar VMs; copiar / mover entre servidores; ter vários ambientes de teste diferentes; etc), sugiro instalar o linux como o sistema operacional principal para seus 95% de atividades e, em seguida, instalar o Windows como uma VM de dentro do Linux para sua atividade de 5% das atividades do Windows. (A menos que seu 5% de atividade do Windows seja extremamente intensivo de CPU / memória; como usar photoshop ou edição de vídeo.) Se você tiver um Linux como seu SO principal, ele terá acesso total a toda sua memória e todos os seus núcleos de cpu. No entanto, se estiver dentro de uma VM, você poderá atribuir apenas uma pequena fração de núcleos de CPU de memória a ela; geralmente, na melhor das hipóteses, metade dos recursos da máquina pode ser atribuída a uma VM. Portanto, se você tiver uma máquina quad-core com 8 GB de RAM, mas atribuída apenas 1 núcleo e 2 GB à sua VM, o desempenho na VM para 95% das coisas sofrerá significativamente.

O uso de uma VM será mais lento. Para a maioria das coisas, a virtualização hoje em dia é muito boa e a diferença não será perceptível (além da queda perceptível nas CPUs / RAM disponíveis para a VM); No entanto, se você precisar de uma aceleração de hardware sofisticada (por exemplo, para gráficos), sua VM talvez não se traduza em seu cartão corretamente. então você pode perceber que o processamento de vídeo / 3-d sofre significativamente dentro da VM.

    
por 11.05.2012 / 19:25
5

Eu posso te dizer que - na minha experiência - a configuração contrária é melhor. Quero dizer host com linux e o convidado com windows. Isso por causa do desempenho e da estabilidade. Neste momento estou trabalhando no escritório com um host windows e um guest linux (eu preciso dos dois) mas no meu laptop pessoal tenho host com linux e guest com windows. E as performances são melhores no meu laptop. Mesmo quando meu laptop pessoal tem menos recursos.

De qualquer forma, não vejo nenhum problema (sem solução) na sua configuração. é apenas uma questão de gosto.

    
por 11.05.2012 / 22:51
4

Eu rodei o Ubuntu em uma VM do VirtualBox, e acho que o único problema que aconteço é que a passagem de aceleração do OpenGL para o host é ropey.

    
por 11.05.2012 / 12:26
3

Eu comecei fazendo o que você faz, * nix em uma máquina virtual. Isso é ótimo para tentar, mas eu sugiro virar isso. O Windows pode funcionar surpreendentemente bem em uma VM. Se você usa principalmente Linux, então por que não fazer o sistema host usar o Linux?

Prós:

  1. Mais controle sobre problemas de host (isto é, falhas / reinicializações automáticas menos prováveis com o Linux)
  2. O Linux usa menos recursos do que o Windows quando ocioso (recursos que você poderia alocar para uma máquina virtual)
  3. O Virtualbox, na minha opinião, funciona melhor no Linux. Eu tentei nos dois sentidos.
  4. Fácil de configurar, a velocidade impressionante aumenta para uma máquina virtual no linux. Eu uso o software RAID em 2 discos rígidos de consumo para fazer uma VM do Windows XP inicializar no Firefox em 8 segundos.

Contras:

  1. Possíveis problemas de driver ao executar o linux como host
  2. A aceleração 3D pode ser difícil de fazer no Linux
  3. Se você usa o Windows para jogar, uma máquina virtual pode não ser rápida o suficiente
por 10.10.2012 / 05:21
2

Não há absolutamente nenhuma razão para não fazê-lo, desde que tudo o que você deseja fazer no host e no cliente funcione como você deseja.

Eu usei essa configuração na minha Sony PCG-Z505 com VMware do início de 2000 até meados de 2003. Host: Windows 98 e cliente SuSE Linux. A principal razão para essa configuração foi que eu poderia usar o servidor imap no Linux a partir do host Outlook Express enquanto estivesse móvel (eu tinha isso na minha máquina Desktop Linux antes disso com o Win98 no Linux). O cliente Linux também faria filtragem de spam no Linux. Eu também poderia logar os servidores no trabalho usando um ssh em um ambiente mais familiar.

O host da VM protegeu muito bem o Linux de problemas de hardware. IIRC houve alguns problemas com wireless, mas na maioria das vezes eu estava em uma conexão com fio em casa ou no escritório. Se não, eu teria o Outlook Express capturando o e-mail e enviando-o para o servidor imap, perdendo temporariamente a filtragem de spam enquanto estava apenas em wireless.

Eu não pude rodar o contrário (como fiz no meu Desktop antes disso), porque normalmente rodava Linux sem gráficos, caso contrário as coisas não caberiam na memória. Com o Linux como host, eu teria que executá-lo no modo gráfico, bem o tempo todo, deixando pouca memória no Windows 98 para executar o Word sem trocar.

    
por 21.04.2013 / 18:18
1

Eu também uso essa configuração (guest do Ubuntu no Windows).

Pro:

  • Sem alterações nas janelas iniciais, o departamento de TI da minha empresa suportará qualquer problema / travamento relacionado ao Windows.

Con:

  • Devagar para iniciar: é necessário iniciar o Windows e iniciar a máquina virtual.
  • Sem bridging sem fio.
por 31.01.2013 / 23:01
1

Estou adicionando uma nota às respostas já existentes (e excelentes): também é possível executar o Linux e o Windows lado a lado.

O projeto Cooperative Linux é voltado para isso:

Cooperative Linux is the first working free and open source method for optimally running Linux on Microsoft Windows natively. More generally, Cooperative Linux (short-named coLinux) is a port of the Linux kernel that allows it to run cooperatively alongside another operating system on a single machine.

e há ainda distros Linux que rodam nele: TopologiLinux e andLinux .

Infelizmente, parece que esses projetos foram abandonados; A versão mais recente do coLinux tem 3 anos e o último lançamento de ambas as distros tem 8 anos de idade.

    
por 30.06.2017 / 16:18