0%

Linux 下虚拟机体验

简介

虚拟机磁盘文件格式

  • VDI:virtual box 自有文件格式
  • VMDK:VMWare 格式,受到众多软件支持,具有将存储的文件分割为少于 2 GB 文件的附加功能
  • VHD:微软家的格式

QEMU

完全以软件的形式模拟出一台完整的电脑所需的所有硬件,甚至是模拟出不同架构的硬件,在这些虚拟的硬件之上,可以安装完整的操作系统。

KVM

完全以软件模拟硬件的形式虽然功能强大,但是性能难以满足用户的需要。模拟出的硬件的性能和物理硬件的性能相比,必然会大打折扣。为了提高虚拟机软件的性能,最常用的办法就是在主操作系统中通过内核模块开一个洞,通过这个洞将虚拟机中的操作直接映射到物理硬件上,从而提高虚拟机中运行的操作系统的性能。KVM 就是这种加速模式的典型代表。

KVM 已经被加入内核中,qemu-kvm 是为了借助 QEMU 运行虚拟机对 qemu-system-x86_64 命令进行的简单包装

virt-manager

QEMU 和 KVM 自身不带图形界面的虚拟机管理器,virt-manager 提供图形化的管理界面。

VirtualBox

简单易用,跨平台。

Xen

Xen 虚拟机架构中没有 Host System,在硬件层之上是薄薄的一层 Xen Hypervisor,在这之上就是各个虚拟机了,没有 Host System,只有 Domain 0 具有一定特权,而 Guest System 都是 Domain U,不管是 Domain 0 还是 Domain U,都是虚拟机,都是被虚拟机软件管理的对象。

安装

1
2
sudo aptitude search xen
sudo aptitude install xen-hypervisor-4.4-amd64

启动时可以选择让该系统运行于 Xen Hypervisor 上。

通过 Xen 虚拟机启动 Ubuntu 系统时,Grub 先启动的是 /boot/xen-4.4-amd64.gz,然后才把 Linux 内核以及 initrd 文件作为模块载入内存。

参考:

  1. Linux 中的 Qemu、KVM、VirtualBox、Xen 虚拟机体验

使用经验

Host 使用 Guest 中的 VPN

有些防火墙(比如华为)只提供 Windows 或 OSX 的 VPN 客户端,Linux 想要建立连接很不方便。这时候只能曲线救国,在 Windows 虚拟机中启动 VPN 客户端,并共享给宿主机。

Virtual Box 添加 Host-only 网络

添加 host-only 网络需要先在 VB 进行全局设置: File > Host Network Manager > Add.

然后相应虚拟机设置中添加 Host-only 网络

Guest 中连接 VPN 并设置网络共享

Guest 中 VPN 给 host-only 设置共享,Host 中设置路由,网关设置成 Guest 的 ip

1
sudo route add -net 10.5.0.0 netmask 255.255.0.0 gw 192.168.56.101

参考:

  1. 共享 VPN 连接访问 VPN 网络