ubuntu下安装使用vmware、kvm、xen

一. 概念介绍:

(1)全虚拟化(Full Virtulization)

简介:主要是在客户操作系统和硬件之间捕捉和处理那些对虚拟化敏感的特权指令,使客户操作系统无需修改就能运行, 速度会根据不同的实现而不同,但大致能满足用户的需求。这种方式是业界现今最成熟和最常见的,而且属于 Hosted 模式和 Hypervisor 模式的都有,知名的产品有IBM CP/CMS,VirtualBox,KVM,VMware Workstation和VMware ESX(它在其4.0版,被改名为VMware vSphere)。

其中,Hypervisors 通过一个仿真硬件层为其上的每个Guest操作系统(虚拟机)仿真出一个具有常用硬件设备的标准服务器,当一个运行的Guest系统试图用特权指令控制硬 件时,hypervisor会将真实的硬件隐藏起来,并仿真一个硬件设备给Guest系统,从而使得Guest系统无需修改代码就可以安全地访问硬件。

(全虚拟化都需要CPU的特殊支持(比如Intel VT 以及AMD-V)?如果没有CPU特殊支持就不能通过全虚拟化模拟OS?)

优点:Guest OS无需修改,速度和功能都非常不错,更重要的是使用非常简单,不论是 VMware 的产品,还是 VirtualBox。

缺点:基于Hosted模式的全虚拟产品性能方面不是特别优异,特别是I/O方面。

(2)半虚拟化(Parairtulization)

简介:它与完全虚拟化有一些类似,它也利用Hypervisor来实现对底层硬件的共享访问,但是由于在Hypervisor 上面运行的Guest OS已经集成与半虚拟化有关的代码,使得Guest OS能够非常好地配合Hyperivosr来实现虚拟化。通过这种方法将无需重新编译或捕获特权指令,使其性能非常接近物理机,其最经典的产品就是Xen,而且因为微软的Hyper-V所采用技术和Xen类似,所以也可以把Hyper-V归属于半虚拟化。

Guest 系统在访问真实硬件时是重用当前系统的驱动,而不是通过仿真的硬件实现的。Guest系统和hypervisor交互是通过一个高效、底层的的 API(hypercall API)来实现的,这使得hypervisor和Guest系统可以共同最优化地使用底层的硬件和I/O,从而可获得极高的运行性能。

优点:这种模式和全虚拟化相比,架构更精简,而且在整体速度上有一定的优势。

缺点:需要对Guest OS进行修改,所以在用户体验方面比较麻烦。

二. VMware Workstation:

vmware是全虚拟化的,它的安装使用都非常简单便捷。

(在vmware上安装的系统都是全虚拟化的?全虚拟化可以模拟windows,半虚拟化暂时不能够模拟windows?如果cpu没有特殊支持,vmware能正常使用么?查资料有的说可以正常使用,但是宿主系统如果32位,就不能模拟64位系统。。。?)

ubuntu 14.04 下安装vmware workstation 10.0版本,命令行下执行:

cd xxxxxxx                                                                                          //进入到安装文件所在路径

sudo chmod +x Vmware-Workstation-FXXXXXXXXX.bundl          //替换成自己的文件名

sudo ./VMware-Workstation-FXXXXXXXXX.bundle                       //替换成自己的文件名

vmware安装完成后,双击运行,然后在虚拟机内安装操作系统基本就是在图形界面下操作,非常方便,也非常便捷。

(1)安装windows xp 系统

通过新建虚拟机,按照流程一步一步完成windows xp的安装,期间不需要配置相关环境参数。傻瓜式完成安装后,开启虚拟系统,会自动完成VMware Tools的安装,通过该工具,可以实现宿主OS与虚拟OS之间剪切,复制等文件操作。

虚拟OS可以直接自动连接网络(与宿主OS共享网络),在虚拟OS中软件的安装使用就跟在物理机中使用方式相同,但运行速度稍显缓慢一些,但整体速度,效率还可以接受。

(2)安装ubuntu系统

ubuntu系统的安装与windows系统的安装类似,图形化界面下直接安装完成,不需要进行任何配置,VMware Tools也会自动安装,实现宿主系统与虚拟系统之间的文件传输。

虚拟系统中的软件使用也跟物理机的系统类似,PC与用户交互体验比较好。

三. KVM:

KVM是基于硬件的完全虚拟化,其虚拟化需要硬件支持(如Intel VT技术或者AMD-V技术)。

首先检查自己的机器是否支持VT,

ubuntu 14.04下安装KVM,命令行执行:

egrep -o ‘(vmx|svm)’ /proc/cpuinfo

显示支持,下面进行安装:

sudo apt-get install qemu-kvm libvirt-bin virt-manager bridge-utils

安装自动进行,安装完成后可以验证是否正确安装,服务是否可用。

lsmod | grep kvm

sudo virsh -c qemu:///system list

环境安装完成后,开始创建虚拟机。

(1)  安装windows xp 系统:

虚拟系统的安装,没有图形化界面,需要命令行进行安装,过程比较繁琐。

首先在根目录下创建一个文件夹作为虚拟机文件夹,里面创建一个文件夹存放系统映像文件(根目录下文件的操作需要管理员权限,所以在命令行下sudo操作),并在其中创建winxp.img文件作为虚拟硬盘文件,大小10G容量,动态扩充。

sudo qemu-img create -f qcow2  winxp.img 10G

然后创建启动虚拟机,内存分配512M。

sudo qemu-system-x86_64 -hda winxp.img -cdrom  xx.iso  -boot d -m 512  -no-acpi -soundhw all

此时会弹出系统安装界面,按照引导一步步即可安装完成。

以后启动时,可以直接命令行:

sudo qemu-system-x86_64 -hda  winxp.img

此时将会启动虚拟系统,不过安装过程繁琐,最重要是缓慢费时。。。

开启虚拟系统之后,就可以在虚拟系统中正常安装软件了。不过,kvm 虚拟出的windows xp 系统使用非常慢,效率很低,比vmware要慢很多。

而且因为缺少Tools所以不能直接跟宿主系统之间进行文件的相关操作。

虚拟系统的联网也存在问题,不能与宿主系统共享网络。

(2)安装ubuntu系统:

ubuntu系统的安装跟windows安装方法相同,命令行操作,然后根据引导一步一步即可安装完成。

首先创建虚拟磁盘

sudo qemu-img create -f qcow2 ubuntu.img  10G

然后安装系统

sudo kvm -m 740 -cdrom xxxxx.iso  ubuntu.img

这样系统就自动安装完成。这个过程比安装windows要快很多。

开启系统

sudo kvm -m 740 -smp 1 -hda  ubuntu.img

安装完成后使用起来也比windows效率高,运行速度快一些,不过还是比不上在vmware里面的速度,与宿主系统共享网络。虚拟系统里软件的安装使用就跟物理系统相同。

文件传输问题

四. XEN:

XEN既支持全虚拟化,也支持半虚拟化 。最初,xen只支持半虚拟化,用户需要修改系统内核,而xen在半虚拟化形式下可以获得极高的运行效率,极低的效能损失。

后来,Intel对Xen贡献修改以支持其VT-X
Vanderpool架构扩展。如果主系统支持Vanderpool或者Pacifica扩展(Intel和AMD对本地支持虚拟化的扩展),这项技术将
允许未修改的客户作业系统运行在Xen虚拟机中。这意味着可以在没有进行任何协议不允许的修改的情况下对Windows进行虚拟。

xen的安装:

ubuntu14.04按照上面这种方式安装,虚拟机的确安装成功了,但是宿主系统再进入就无法联网,显卡也不正常工作,然后系统总是一进入就处于无响应状态。暂时没有找出原因,只得重装系统。。。

windows系统下通过vmware安装ubuntu12.04,然后在虚拟系统中安装xen,发现根本进不到xen的内核中,只好重新装物理系统再行尝试。

ubuntu12.04下安装xen:

安装编译 Xen 和 Linux xen kernel 所需要的软件包:

sudo apt-get
install build-essential binutils python-dev libncurses5-dev
 libcurl4-openssl-dev xorg-dev uuid-dev bridge-utils bison flex udev
gettext bin86  bcc  iasl libgcrypt11-dev
  libssl-dev pciutils libglib2.0-dev  gcc-multilib texinfo zlib1g-dev

sudo
apt-get install gcc g++ make patch libssl-dev bzip2 gettext \zlib1g-dev
python libncurses5-dev libjpeg62-dev libx11-dev \libgcrypt11-dev
pkg-config bridge-utils bcc bin86 libpci-dev
\libsdl-dev python-dev texinfo libc6-dev uuid-dev bison flex fakeroot
\build-essential crash kexec-tools makedumpfile libncurses5
\libncurses5-dev iasl gawk

以上软件包有些是重复的,没关系,重复了它自己会跳过不安装。安装软件包之前注意要选好源,163和cn.archive都是可以的。

安装xen vmm

32位和64位系统的区别也很重要。64位按下面步骤很简单,32位就不同,因为xen需要开启pae,默认是没有开启的,所以32位ubuntu首先得执行下面这个命令:

sudo apt-get install linux-image-server

sudo apt-get install xen-hypervisor-4.1-i386 xen-utils-4.1 xenwatch xen-tools xen-utils-common xenstore-utils

这里xen-hypervisor-4.1要分32位、64位,64位系统用xen-hypervisor-4.1-amd64,32位用xen-hypervisor-4.1-i386.

安装libvirt和Virtual Manager

sudo apt-get install virtinst python-libvirt virt-viewer virt-manager

重启机器,选择有xen的内核启动,进入系统之后,再检查一下 Xen 是否已经成功安装:

sudo xm list

出现上面的信息,则代表安装成功。

修改配置文件

sudo gedit /etc/xen/xend-config.sxp

将/etc/xen/xend-config.sxp文件中的“#(xend-unix-server no)”注释去掉 即把“#”去掉,并把“no”改成“yes”,保存即可。

然后重启xend服务:sudo service xend restart

sudo gedit ~/.bashrc

在打开的.bashrc文件中添加下面这句话:export VIRSH_DEFAULT_CONNECT_URI=”xen:///”

cp -r /usr/share/qemu-linaro/ /usr/share/qemu

这样创建过程基本没有问题了.

通过libvirt查看xen的版本信息,确认libvirt和xen都已经安装成功

sodu -s

virsh version

xen安装完成,下面就可以安装虚拟系统了。

(1)安装winxp系统

把window xp的iso镜像拷贝到根目录的其中一个文件夹下,例如/usr , /opt等(不要拷到home里面)。

在命令行键入sudo virt-manager用root权限打开虚拟机管理器,接下来就会出现图形化安装界面,按照向导来一步一步安装,非常简单就可以安装完成。

安装完成后虚拟系统内部软件安装使用就跟实际物理系统相同,与宿主系统共享网络,使用性能速度高于KVM,但跟vmware相比没有很大的差异。

(2)安装ubuntu系统

半虚拟化的安装方式?现在这种方式应该是全虚拟化的安装方式吧?

ubuntu系统的安装流程跟xp相同,进入后就根据ubuntu系统的安装引导一步步完成安装即可。性能也是高于kvm,等同于vmware。

虚拟系统的使用跟实际物理系统的使用相同。

文件传输问题。

时间: 2024-11-03 16:08:41

ubuntu下安装使用vmware、kvm、xen的相关文章

Ubuntu杂记——Ubuntu下安装VMware

转战Ubuntu,不知道能坚持多久,但是自己还是要努力把转战过程中的学习到的给记录下来.这次就来记录一下,Ubuntu下如何安装VMware. 就我所知,Linux下有VirtualBox和VMware两大虚拟机,前者免费,后者需要注册.而且,前者可以在Ubuntu的软件中心找到或者用 sudo apt-get install virtualbox 命令安装,的确这很方便,也是我一开始选择用VirtualBox的原因,可是,真心受不了VirtualBox带来的各种不便啊,文件不能拖拽.U盘不能识

基于openrisc学习之环境搭建二:win7或ubuntu下安装基于虚拟机的openrisc仿真编译环境

上一个章节小编已经介绍了ubuntu物理机的安装和使用,这一章节我主要是介绍下在win7下和在ubuntu物理机下安装虚拟机,导入OpenRISC提供的ubuntu镜像.但这里不得不说OpenRISC上面搭建的环境的文件结构很乱,只是对于初学者来说可以省去安装编译链的麻烦.如果想自己安装交叉编译链,搭建自己的SOC平台,请参考下一个章节. 一.虚拟机安装及镜像导入 1.文件的准备(其中OpenRISC_Ubuntu_2011-12-15.vdi.bz2镜像在OpenCore上已经无法下载.) 将

ubuntu下安装vmware-tools 实现linux与windows的互相复制与粘贴

http://lpy999.blog.163.com/blog/static/117372061201352401516325/ 这里主要解决的问题是如实现linux系统与windows系统之间能够方便快捷的实现复制粘贴, 就像ctrl+c 与ctrl+v一样方便. 系统环境: RHEL5,winxp或ubuntu12.04(linux)  ,  win7系统 以下指令都是在超级用户的执行权限下执行的. 要解决这个问题,只需要在ubuntu安装一个vmware-tools的工具就可以了. 1.打

Redis(三)-Ubuntu下安装

Ubuntu 下安装 在 Ubuntu 系统安装 Redi 可以使用以下命令: $sudo apt-get update $sudo apt-get install redis-server 启动 Redis $ redis-server 查看 redis 是否启动? $ redis-cli 以上命令将打开以下终端: redis 127.0.0.1:6379> 127.0.0.1 是本机 IP ,6379 是 redis 服务端口.现在我们输入 PING 命令. redis 127.0.0.1:

Ubuntu下安装JDK以及相关配置

1.查看系统位数,输入以下命令即可 getconf LONG_BIT 2.下载对应的JDK文件,我这里下载的是jdk-8u60-linux-64.tar.gz 3.创建目录作为JDK的安装目录,这里选择安装位置为:/usr/java/ sudo mkdir /usr/java 4.解压文件带/usr/java/目录下,文件下载的位置是在下载目录下的 cd 下载sudo tar zxvf jdk-8u60-linux-x64.tar.gz -C /usr/java/ 5.进入到/usr/java/

ubuntu下安装jdk

ubuntu下安装jdk 只需要三步: sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer 下完检查一下:java -version   查看jdk的版本

ubuntu下安装git,sublime,nodejs

用的是VMware10.0版本的虚拟机,很早之前下载的今天就直接用了,安装挺简单记得需要一个序列号.在这里:http://mirrors.163.com/ubuntu-releases/15.04/ubuntu-15.04-desktop-i386.iso 下载的ubuntu15.04ISO镜像(文件挺大还是用迅雷下载吧能快点),下载好之后就可以自定义创建新的虚拟机了基本就是按照VM安装向导提示安装,最后注意在虚拟机设置点击CD/DVD(SATA)用ISO映像文件启动不然会提示“系统不存在”.在

ubuntu下安装mysql出现FATAL ERROR: Could not find mysqld的处理

ubuntu下安装mysql出现FATAL ERROR: Could not find mysqld的处理 错误信息: #./bin/mysql_install_db –user=mysql FATAL ERROR: Could not find mysqld The following directories were searched: /usr/libexec /usr/sbin /usr/bin If you compiled from source, you need to run '

ubuntu 下安装 apache php mysql

ubuntu 安装 apache+php+mysql1.打开终端,输入"sudo apt-get install apache2",回车;(安装apache2.0或2.x新版本,系统会自动查找新的版本)2.如有密码请再输入管理员密码,回车3.输入"Y",回车4.apache2.X 安装完成5.验证apache2.x安装是否完成,在浏览器中打开http://localhost/或者http://127.0.0.1.如果出现It works!那证明成功;6.打开终端,输