<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>月影鹏鹏 &#187; 虚拟化</title>
	<atom:link href="http://jk.aiwaly.com/wp/category/it-technology/virtual/feed" rel="self" type="application/rss+xml" />
	<link>http://jk.aiwaly.com</link>
	<description>不断探索,追求卓越,做快乐自己</description>
	<lastBuildDate>Wed, 28 Dec 2011 08:29:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>在Linux上Ganeti集群虚拟化方法</title>
		<link>http://jk.aiwaly.com/wp/ganeti-cluster-on-linux.html</link>
		<comments>http://jk.aiwaly.com/wp/ganeti-cluster-on-linux.html#comments</comments>
		<pubDate>Mon, 04 Jul 2011 23:53:40 +0000</pubDate>
		<dc:creator>月影鹏鹏</dc:creator>
				<category><![CDATA[cluster(集群)]]></category>
		<category><![CDATA[虚拟化]]></category>

		<guid isPermaLink="false">http://jk.scanmon.com/?p=3024</guid>
		<description><![CDATA[Ganeti项目是管理整个集群虚拟实例的工具。它与Xen或KVM一起工作，作为底层管理程序并利用很多其它开源项目(如DRBD)来完成任务(如网络上的RAID)。
这篇文章将关注如何安装最新的稳定版本(2.2版本)并使其在双节点集群上工作。我们将通过几个必要的步骤，包括我们从Ganeti IRC频道(freenode上的 #ganeti)了解到的几件事。

设置Ganeti系统
这篇文章，我们选择Debian Lenny作为基本操作系统，因为很多已出版的指导书是基于这个发布系统。最简单的安装方法就是从Debian主页下载网络安装映像。为了达到目的，我们下载64位计算机系统的映像，将ISO映像刻录到CD。如果你的网速，这个方法的效果是最好的。
当你着手安装过程时，你需要记住几件事。Ganeti需要单独的分区用于存储虚拟实例。必须格式化它来运用逻辑卷管理器(LVM)，并在安装过程中进行额外的配置。另一件要记住的事是内核版本号的重要性。Xen运行在现有的最高端内核上，你需要保证内核版本相匹配来避免兼容性问题。
当你有大量节点时，命名变得至关重要。因为Ganeti需要所有集群节点完全符合域名(FQDN)。如果你选择默认安装，你将需要在几个文件上作少许改变。这包括/etc/hosts 和/etc/hostname。用下面的命令，你可以很快区分你是否正确命名配置：
$ hostname
它应该返回debian1.mydomain.net形式的东西，而不是简单的debian1形式。你需要编辑、更改这两个文件，并执行/etc/init.d/hostname.sh来开始设置新名称。节点的真实IP地址也应该在/etc/hosts文件中使用。
Ganeti和Xen的虚拟化
虽然Ganeti需要与KVM 和Xen一起工作，这篇文章重心在Xen。这也是内核版本关键之处。执行必要步骤的最简单方法是切换到用户root，然后使用apt-get命令，如下：
$ su root
password: XXXXXXX
# apt-get install xen-hypervisor-3.2.1-amd64 xen-linux-system-2.6.26-2-xen-amd64 xen-utils-3.2-1 xen-tools
一旦这个过程完成，你将需要重启到新内核。Uname命令应该显示如下：
$ uname –r
2.6.26-2-xen-amd64
最后一步是添加新网络设备作为虚拟实例和真实的以太网接口之间的桥梁。这需要在/etc/network/interfaces中编辑添加以下内容：
auto xen-br0
 iface xen-br0 inet static
   address YOUR_IP_ADDRESS
   netmask YOUR_NETMASK
   network YOUR_NETWORK
   broadcast YOUR_BROADCAST_ADDRESS
   gateway YOUR_GATEWAY
   bridge_ports eth0 bridge_stp off bridge_fd 0
这将在YOUR_IP_ADDRESS静态地址中生成名为xen-br0的新设备。一定要用适合你网络的标签更换其他“YOUR”标签。完成了编辑，你必须开始用下面的命令控制接口：
# ifdown eth0 ifup xen-br0
安装Ganeti
在完成安装Ganeti之前的最后一个步骤，配置LVM卷组。假设你有一个为LVM配置的分区(我们的是 [...]]]></description>
		<wfw:commentRss>http://jk.aiwaly.com/wp/ganeti-cluster-on-linux.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>虚拟机安装：Xen块设备管理</title>
		<link>http://jk.aiwaly.com/wp/xen-blank-device-used.html</link>
		<comments>http://jk.aiwaly.com/wp/xen-blank-device-used.html#comments</comments>
		<pubDate>Sat, 25 Jun 2011 02:24:35 +0000</pubDate>
		<dc:creator>月影鹏鹏</dc:creator>
				<category><![CDATA[虚拟化]]></category>

		<guid isPermaLink="false">http://jk.scanmon.com/wp/%e8%99%9a%e6%8b%9f%e6%9c%ba%e5%ae%89%e8%a3%85%ef%bc%9axen%e5%9d%97%e8%ae%be%e5%a4%87%e7%ae%a1%e7%90%86.html</guid>
		<description><![CDATA[
导读：在安装Xen虚拟机时,需要决定选用何种块设备(block devices)。你有三种可能的选择：直接在专用分区中安装；使用磁盘镜像文件；使用dd创建磁盘镜像文件。
关键词：Xen 虚拟机 磁盘镜像 dd

在安装Xen虚拟机时，需要决定选用何种块设备（block devices）。你有三种可能的选择：直接在专用分区中安装；使用磁盘镜像文件；使用dd创建磁盘镜像文件。在本文中，TechTarget中国的特约虚拟化专家Sander van Vugt将概括地介绍最重要的几种选择。
　　使用物理磁盘
　　如果要获得最好的性能，物理磁盘设备是最好的选择。使用物理磁盘设备安装时，你可以安装到一个分区中或逻辑卷中（如果使用了逻辑卷），既可以使用EVMS也可以使用LVM。使用逻辑卷有这样几个好处：

逻辑卷可以改变大小
可以使用快照进行备份

　　使用物理磁盘设备的最大好处是它提供的性能可能是最好的。然而，物理存储设备不便于移动。要拷贝磁盘镜像文件很容易，但要拷贝逻辑卷或物理分区就会困难得多。不过，困难得多并不表示不可能。例如，如果要将整个逻辑卷/dev/xen/vm1拷贝到一个预建的逻辑卷/dev/xen/vm1- backup中，只需使用dd if=/dev/xen/vm1 of=/dev/xen/vm1-backup即可。
　　要通过虚拟机配置文件处理物理磁盘设备，需要使用如下语句：
　　phy:,,[r&#124;w]
　　例如：disk=[ ’phy:/dev/system/mainserver,xvda,w’, ’phy:/dev/cdrom,xvdb,r’, ]
　　使用Xen磁盘镜像文件
　　在SUSE或Red Hat上安装虚拟机时，默认使用的是Xen磁盘镜像文件。该镜像文件是通过dd工具（dd utility）创建的，所以基本没有任何特殊之处。dd磁盘镜像文件与虚拟硬盘（VHD）格式的文件不一样。dd磁盘镜像文件没有相关的元数据（metadata），只有0和1。
　　要创建磁盘镜像文件，你需要通过dd工具把/dev/zero设备中的0复制到你的磁盘镜像文件中。例如，如果要创建一个4GB的文件（文件名为/var/lib/xen/images/disk1），可以使用如下命令：
　　dd if=/dev/zero of=/var/lib/xen/images/disk1 bs=1M count=4096
　　除了使用dd工具创建空镜像文件以外，你还可以使用ISO文件替代物理光驱创建，用法和用dd一样。如果你甚至没有ISO文件，不要紧，ISO文件很好创建。如果你要创建ISO文件的cd-rom在光驱中，使用如下命令将其复制到cdrom.iso文件：
　　dd if=/dev/cdrom of=/isos/cdrom.iso
　　创建好一个磁盘镜像文件或ISO文件后，你需要在虚拟机配置文件中包含该磁盘镜像文件，使用文件选项：
　　disk=[ ’file:/var/lib/xen/images/disk1,hda,w’, ’file:/isos/cdrom.iso,hdc,r’, ]
　　其它环境的镜像文件的使用
　　有时，你想从创建镜像文件开始创建一个新的虚拟机。而有些情况下，你要使用的磁盘镜像文件是来自另一种虚拟化环境，可能是VMware环境下的一个vmdk-file，也可能是Qemu环境下的一个qcow文件或者其它文件。要使用这些文件，你必须 “tap” 磁盘镜像。如下命令行是使用VMware环境下的vmdk-file的语句：
　　disk=[ ’tap:vmdk:/var/lib/xen/server1.vmdk,hda,w’, ]
　　Xen磁盘镜像文件是一种特殊的tap设备，它使用的是xen blktap内核模块。这个模块允许在完全虚拟化环境下作为准虚拟设备处理磁盘镜像文件。要使用这个模块，你需要有aio类型的设备。磁盘镜像文件本身可能是一个由dd命令创建的普通磁盘镜像文件。要在配置文件中使用那种设备类型，可以使用如下语句：
　　disk=[ ’tap:aio:/var/lib/xen/server2.img,xvda,w’, ]
　　使用tap磁盘镜像有个好处，就是可以使用任何类型的磁盘镜像。然而，它有个缺点：目前的管理工具并不支持tap设备，如virtual manager。这就意味着你不得不利用这个设备手动配置虚拟机。
　　网络块设备
　　最后，还有一种在虚拟机中可以使用的磁盘类型是网络磁盘类型。它既可以是一个网络块设备（network block devices），如DRBD设备，也可以是iSCSI设备。这使得在iSCSI SAN中直接处理LUN成为可能，不过要记得先在domain0中启动iSCSI启动程序。
　　这个磁盘镜像类型是不可移动的，这就意味着你必须在SAN中做一些预防措施，以保护该类型的磁盘镜像文件。例如，在SAN级进行快照备份以保护这些文件。要连接一个iSCSI LUN，你需要在Xen虚拟机的配置文件中包含完整的iSCSI Qualifying Name（iqn）。例如，如果你要使用的iqn为iqn.2007-08.nl.example:xendata，则需要用如下配置行：
　　disk=[ ’iscsi:2007-08.nl.example:xendata,xvda,w’, ]
　　在本文中，我们了解到了处理虚拟机磁盘设备的各种不同方法。在多数情况下，即使使用了文件设备和物理设备，其它设备类型也是很有用的。尤其是tap设备类型，它能允许你处理任何类型的磁盘镜像文件。

]]></description>
		<wfw:commentRss>http://jk.aiwaly.com/wp/xen-blank-device-used.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xen环境下的内存与CPU分配：性能优化</title>
		<link>http://jk.aiwaly.com/wp/xen-men-and-cpu-set.html</link>
		<comments>http://jk.aiwaly.com/wp/xen-men-and-cpu-set.html#comments</comments>
		<pubDate>Thu, 09 Jun 2011 14:43:58 +0000</pubDate>
		<dc:creator>月影鹏鹏</dc:creator>
				<category><![CDATA[虚拟化]]></category>

		<guid isPermaLink="false">http://jk.scanmon.com/?p=2979</guid>
		<description><![CDATA[在Xen环境下，硬件的管理并不是仅仅告诉它可以使用哪些PCI设备就可以完事。在准虚拟环境下，内存与CPU分配是可以动态改变的。通过动态更改内存与CPU分配，可以达到优化虚拟机性能的目的。在本文中，TechTarget中国的特约虚拟化专家Sander van Vugt将描述这方面的所有信息。
　　启动物理服务器时，所有的内存资源都会默认被分配给Domain0。然后，其它虚拟机启动时，会从Domain0获取内存资源。如果虚拟机是在完全虚拟化模式下运行，hypervisor将无法与虚拟内核对话，当前的内存分配也将无法改变。不过，如果是在准虚拟化模式（paravirtualization）下，Xen的hypervisor就可以动态更变内存分配。采用准虚拟化模式时，一定要确保Domain0至少可以分得一定的内存资源，以免它内存不足。对于Domain0的内存分配最小值，我建议设置为512MB。
　　要为Domain0预留内存，可以为内核添加一个启动项：dom0_mem= 。例如，dom0_mem=512M。打开Grub配置文件进行此设置。在Grub配置文件中，你会看到启动Xen内核的启动项。它大体如下：
　　title XEN
　　root (hd0,0)
　　kernel /xen.gz
　　module /vmlinuz-
　　2.6.16 .46-0.14-xen root=/dev/system/root vga=0&#215;314
　　resume=/dev/system/swap splash=silent showopts
　　module /initrd-
　　2.6.16 .46-0.14.xen
　　在此配置文件中的第一个“module”行后面添加dom0_mem启动项。添加之后应该是这样：
　　title XEN
 　　root (hd0,0)
 　　kernel /xen.gz
 　　module /vmlinuz-
　　 2.6.16 .46-0.14-xen root=/dev/system/root vga=0&#215;314
  　　    resume=/dev/system/swap splash=silent showopts 　　dom0_mem=512M
　　 module /initrd-
 　　2.6.16 .46-0.14.xen
　　设置好Domain0的内存分配后，就可以管理你的虚拟机内存分配了。启动一个虚拟机时，通常它会从Domain0获取内存资源。内存一旦分配给虚拟机，Domain0将无法再收回，即使所有虚拟机都被停止也不能收回。正是因为这个原因，所以为Domain0设置内存最小值非常重要。
　　要想更改虚拟机的内存分配，可以利用两个xm命令：

xm mem-set：此命令可以更改一台虚拟机的当前内存分配；
xm mem-max：此命令可以限定一台虚拟机的内存使用最大值。不过，更改最大值之后需要重启才能生效。

 
　　更改内存分配之后，一定要使用xm list命令检查设置是否生效和正确：

　　CPU管理
　　与内存一样，你也可以管理虚拟机的CPU分配。如果虚拟机使用的是准虚拟化，CPU的分配也可以动态更改。为虚拟机分配CPU时，不一定要根据服务器中的物理CPU数目来分。如果你愿意，是可以这么做。不过，这样做是绝对优化不了性能的。如果将虚拟机与指定的物理CPU绑定，会帮助你大大地提高虚拟机性能。除此之外，还可以调整CPU的运行队列（run queue），使某台虚拟机在CPU中具有更高的优先级。
　　所有可运行的虚拟CPU（VCPU）都是由物理CPU中的本地运行队列管理的。这个队列是按优先级进行排序的，队列中的每个VCPU平分CPU资源。VCPU的优先级状态有两种值：over和under。Over表示它占用的CPU资源超过了资源平分值，under表示低于这个平分值。如果VCPU的当前状态为under，调度程序下次则会优先服务该VCPU。如果调度程序发现在其CPU上没有虚拟机为under状态，则会看其它CPU中是否有VCPU状态为under，如果发现，则立即服务该VCPU。通过这种方式，所有CPU都会平均分配CPU资源。
　　通过设置weight和cap参数值，管理员可以管理CPU的优先级。Weight参数用于分配CPU cycle，是一个相对值。一个weight为128的VCPU比一个weight为64的VCPU获得的CPU cycle多一倍。因此，利用这个参数可以决定哪个VCPU获得更多，哪个获得更少。第二个设置CPU的参数是cap，它设置的是domain获得的CPU cycle百分数，是一个绝对值。如果设置为100，就表示那个VCPU会100%地占用物理CPU的可用cycle。如果cap为50，则表示该VCPU占用的CPU cycle绝不会超过总量的一半。
　　在如下命令示例中， id为3的虚拟机weight为128，允许使用两个物理CPU的所有CPU cycle：
　　xm sched-credit -d 3 -w 128 -c 200
　　对于虚拟CPU，还要做的一个重要工作就是CPU分配。默认情况下，虚拟CPU与物理CPU是没有固定联系的。要提高性能，就需要为它们建立一个这样的联系，这个工作很简单易行。为虚拟CPU和物理CPU建立“联系”的主要好处是可以防止虚拟CPU到处游荡。如果没有“联系”，调度程序会为虚拟CPU选择一个物理CPU。当某个物理CPU处于繁忙状态时，虚拟CPU就会被转移，由另一个物理CPU服务。这个工作对性能的影响是很大的。因此，将虚拟CPU与物理CPU绑定是个不错的办法。
　　
　　绑定虚拟CPU时，首先利用xm list命令查看当前配置。然后，在你要查看CPU详细信息的domain中使用xm vcpu-list命令，命令输出结果如下：
　　lin:~ # xm vcpu-list 2

　　这个命令显示，ID 2 [...]]]></description>
		<wfw:commentRss>http://jk.aiwaly.com/wp/xen-men-and-cpu-set.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mount disk Image</title>
		<link>http://jk.aiwaly.com/wp/mount-disk-image.html</link>
		<comments>http://jk.aiwaly.com/wp/mount-disk-image.html#comments</comments>
		<pubDate>Thu, 09 Jun 2011 14:23:08 +0000</pubDate>
		<dc:creator>月影鹏鹏</dc:creator>
				<category><![CDATA[question (问题)]]></category>
		<category><![CDATA[虚拟化]]></category>

		<guid isPermaLink="false">http://jk.scanmon.com/?p=2976</guid>
		<description><![CDATA[如果你今天面对的是disk image而不是一般的partition image，当使用mount -o loop是将无法mount成功。这很容易理解，因为你必须知道disk image中partition的位置之后才能mount起來，怎么做呢？
需求: mount test.img 并更改第一个partition中的某个文件
我们先看看如果直接用mount -o loop会如何:
lawrence@lawrence-x24:~/Desktop$ sudo mount -o loop test.img /mnt/test/
mount: you must specify the filesystem type
lawrence@lawrence-x24:~/Desktop$ sudo mount -o loop -t ext3 test.img /mnt/test/
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
missing codepage or helper program, or other error
In some cases useful info is found in syslog [...]]]></description>
		<wfw:commentRss>http://jk.aiwaly.com/wp/mount-disk-image.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>破解Xen虚拟机密码</title>
		<link>http://jk.aiwaly.com/wp/change-xen-client-passwd.html</link>
		<comments>http://jk.aiwaly.com/wp/change-xen-client-passwd.html#comments</comments>
		<pubDate>Thu, 09 Jun 2011 13:22:38 +0000</pubDate>
		<dc:creator>月影鹏鹏</dc:creator>
				<category><![CDATA[虚拟化]]></category>

		<guid isPermaLink="false">http://jk.scanmon.com/wp/%e7%a0%b4%e8%a7%a3xen%e8%99%9a%e6%8b%9f%e6%9c%ba%e5%af%86%e7%a0%81.html</guid>
		<description><![CDATA[1.查看Xen镜像文件的位置：
more /etc/xen/PHPVhost6     #就拿这台虚拟机做案例吧
找到类似以下一句话：
disk = ['file:/opt/vmos/vmos.img,sda1,w', 'file:/opt/vmos/vmos.swap,sda2,w']
说明 镜像文件的位置在 /opt/vmos/vmos.img 
 
关闭虚拟机：
xm  shutdown PHPVhost6
 
2.进行挂载镜像文件：
首先查看文件基本信息：
 fdisk /opt/vmos/vmos.img –l#得知此镜像的簇大小为512
 fdisk –l /opt/vmos/vmos.img
 
/opt/vmos/vmos.img1 : start=       63, size=   208782, Id=83, bootable
/opt/vmos/vmos.img2 : start=   208845, size= 16563015, Id=8e
/opt/vmos/vmos.img3 : start=        0, size=        0, Id= 0
/opt/vmos/vmos.img4 : start=        0, size=        0, Id= 0 
上述结果可以得知，簇的起始位置在63！
 
mount –o loop,offset=$((63*512)) /opt/vmos/vmos.img /media/
 
3.修改镜像文件的grub 修改为直接启动sh
title Red Hat Enterprise Linux Server (2.6.18-92.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-92.el5 [...]]]></description>
		<wfw:commentRss>http://jk.aiwaly.com/wp/change-xen-client-passwd.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在 CentOS 上安装和配置 Xen</title>
		<link>http://jk.aiwaly.com/wp/on-centos-setup-xen.html</link>
		<comments>http://jk.aiwaly.com/wp/on-centos-setup-xen.html#comments</comments>
		<pubDate>Wed, 08 Jun 2011 05:25:34 +0000</pubDate>
		<dc:creator>月影鹏鹏</dc:creator>
				<category><![CDATA[虚拟化]]></category>

		<guid isPermaLink="false">http://jk.scanmon.com/?p=2970</guid>
		<description><![CDATA[
在 CentOS 上安装和配置 Xen



现在实验室 Masters 都配有1台 PC 和 1台笔记本，但是 Honours 只配有1台  PC，1台机器做项目很不方便，开发经常会用到多系统，比如有的人做的是手机 VoIP 的相关项目，手机客户端界面要在 Windows  平台上做，VoIP 服务器端要用到 Linux，所以要用虚拟机虚拟一个 Linux 出来，如果这些都跑在一台物理机器上会很慢。现在给  Honours 配置的 PC 只有 1G 的内存，如果运行 Windows + 手机模拟器 + Elipse IDE（需要 Java）+  VMware（VMware 上再跑个 Linux + Asterisk + MySQL），然后开个客户端收邮件、开几个浏览器看资料就会很困难。
所以 VPSee 打算把自己在用的1台 SUN 服务器捐出来做成 Xen 服务器，给每个 Honours  分一个虚拟系统，省下他们自己装虚拟机的时间和资源，VPSee 成了免费的 Xen [...]]]></description>
		<wfw:commentRss>http://jk.aiwaly.com/wp/on-centos-setup-xen.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>小实验： 使用KVM虚拟机，安装一个windows系统</title>
		<link>http://jk.aiwaly.com/wp/linux-kvm-create-windows-exam.html</link>
		<comments>http://jk.aiwaly.com/wp/linux-kvm-create-windows-exam.html#comments</comments>
		<pubDate>Sat, 30 Oct 2010 00:00:03 +0000</pubDate>
		<dc:creator>月影鹏鹏</dc:creator>
				<category><![CDATA[虚拟化]]></category>

		<guid isPermaLink="false">http://jk.scanmon.com/?p=2791</guid>
		<description><![CDATA[根据月影鹏鹏(jk.scanmon.com)文档说必须在有VT(即VMX)的Intel CPU或者有SVM(即Secure Virtual Machine,也称作AMD-V)的
          AMD CPU上安装。我在Turion 64 X2上安装，没问题。
          探测AMD和Intel CPU是否支持VT或SVM，可以参考内核中kvm的has_svm()和cpu_has_kvm_support()
          函数。
   
    1. 保证内核版本在2.6.20或更新，去www.kernel.org查看你的内核的发布时间，再到：
   
       http://sourceforge.net/project/showfiles.php?group_id=180599
       下载一个发布时间稍晚于你的内核的 kvm-.tar.gz
       Note: linux内核的include/linux/kvm.h中定义了一个KVM_API_VERSION宏，例如2.6.22中它是12，你
       下载的kvm-.tar.gz中，user/kvmctl.c中定义了一EXPECTED_KVM_API_VERSION，这个宏的值
       必须和你用的内核匹配。 不过这步会在configure时检查，不用担心。
       # tar zvxf kvm-.tar.gz -C /usr/local/
       # cd [...]]]></description>
		<wfw:commentRss>http://jk.aiwaly.com/wp/linux-kvm-create-windows-exam.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux上的KVM虚拟化常见问题出色问答</title>
		<link>http://jk.aiwaly.com/wp/linux-kvm-question.html</link>
		<comments>http://jk.aiwaly.com/wp/linux-kvm-question.html#comments</comments>
		<pubDate>Fri, 29 Oct 2010 23:55:03 +0000</pubDate>
		<dc:creator>月影鹏鹏</dc:creator>
				<category><![CDATA[虚拟化]]></category>

		<guid isPermaLink="false">http://jk.scanmon.com/?p=2788</guid>
		<description><![CDATA[1.系统(处理器)需求?
你将需要一台运行最新Linux内核的Intel处理器(含VT虚拟化技术)或AMD处理器(含SVM安全虚拟机技术的AMD处理器, 也叫AMD-V)。
2.什么是Intel VT/AMD-V?
Intel VT和AMD’s AMD-V是一套和支持该技术的虚拟机监视器相结合的硬件增强特性(指令集扩展)。kvm可在原始硬件速度下通过运行完全隔离的虚拟机来执行任务。

3.怎么确认处理器含有Intel VT或AMD-V技术?
在最新的Linux内核下运行: egrep ‘^flags.*(vmx&#124;svm)’ /proc/CPUinfo
如有显示，你的处理器具有VT功能。你也能通过厂商网站查询处理器型号的名称(在/proc/cpuinfo)。
注:一些厂商禁止了机器BIOS中的VT选项, 这种方式下VT不能被重新打开。
./proc/cpuinfo仅从Linux 2.6.15(Intel)和Linux 2.6.16(AMD)开始显示虚拟化方面的信息. 请使用uname -r命令查询你的内核版本。
如有疑问, 请联系硬件厂商。
4.kvm支持哪些用户空间工具?
kvm使用稍改动的qemu程式来创建虚拟机. 一旦运行后, 虚拟机是个标准的进程. 你能使用top(1),kill(1),taskset(1)和类似的工具来管理虚拟机。
5.kvm支持哪些虚拟磁盘格式?
kvm从qemu继承了丰富的磁盘格式, 包括裸映象(raw images), 原始qemu格式(qcow), VMware格式和更多。
6.kvm和Xen有何差别?
Xen是个外部的hypervisor程式(虚拟机管理程式);他能够控制虚拟机和给多个客户机分配资源. 另一方面, kvm是linux的一部分, 可使用通常的linux调度器和内存管理. 这意味着kvm更小更易使用。
另一方面, Xen同时支持全虚拟化和半虚拟化(修改过的客户机能有更好的性能). kvm当前不支持半虚拟化。
7.kvm和VMware有何差别?
VMware是个专利产品. kvm是个遵守GPL­的自由(开源)软件。
8.kvm和QEMU有何差别?
Qemu使用模拟器; kvm使用处理器扩展实现虚拟化。
9.kvm有视窗系统上的版本吗?
当前没有。
10.kvm支持哪些内核版本?
kvm能运行在最新的内核版本下(2.6.16或更高, 最佳是用最新的内核)
11.我需要多什么RAM(内存)才能运行kvm?
你需要足够的内存在主机上运行单个或多个虚拟机. 建议主机内存至少1GB。
12.KVM上的虚拟机支持哪些操作系统?
我们已测试了Linux(32/64位)和视窗系统(32位)， 其他也许能够运行或不能运行。不支持64位的视窗系统操作系统, 该问题会在qemu-0.83发布和整合后修复。
Intel处理器上几个Linux发行版在启动时候会挂起。工作区需要取消grub中的splashscreen选项。
13.KVM支持动态迁移功能吗(在不离线的情况下把虚拟机从一个主机移到另一个主机上)?
目前kvm支持非动态迁移，当内存数据需转移的时候，系统需要停止。动态迁移功能正在研发当中。
14.kvm能够在64为主机上运行32位的客户机吗? 什么是PAE？
kvm支持在64位主机上运行32位客户机, 也能是所有PAE或非PAE客户机和主机组合。但不支持在32位主机上运行64位客户机。
15.如果我对一个VM进程使用kill -9将会发生什么?
从客户机的角度来看，就如你猛地把电源线从主机上拔出相同。从主机的角度来看，进程被杀掉，进程占用的所有资源被施放。
16.kvm支持SMP主机吗?
支持。
17.怎么安装windows客户机?
当前视窗系统客户机安装存在一点问题，问题在APIC的实现上。目前APIC由qemu来模拟, 而qemu还没有完全整合到kvm虚拟cpu中。我们正加紧在kvm中实现APIC功能。
到目前, 启动qemu请使用-no-acpi参数，如果你的客户机需使用APIC HAL，建议参考下面步骤：
1. 关闭kvm运行客户机(-no-kvm)
My Computer -&#62; PropertIEs -&#62; Hardware -&#62; Device Manager -&#62; [Whatever under Computer] -&#62; Properties [...]]]></description>
		<wfw:commentRss>http://jk.aiwaly.com/wp/linux-kvm-question.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>解决vmware虚拟机时间不准的问题</title>
		<link>http://jk.aiwaly.com/wp/vmware-shijiantongbu.html</link>
		<comments>http://jk.aiwaly.com/wp/vmware-shijiantongbu.html#comments</comments>
		<pubDate>Thu, 05 Aug 2010 01:14:52 +0000</pubDate>
		<dc:creator>月影鹏鹏</dc:creator>
				<category><![CDATA[虚拟化]]></category>

		<guid isPermaLink="false">http://jk.scanmon.com/?p=2699</guid>
		<description><![CDATA[解决vmware虚拟机时间不准的问题。
鹏鹏工作室-ScanMon在使用vmware server中虚拟机进行测试和虚拟机方式运行业务的时候，总是遇到时间不准的问题，时间总是慢了很多，对于运行对时间要求严格的业务时，会有很大影响。比如数据库和实时监控业务。
查阅了资料后才知道 ，安装VMware Tools 进行时间同步可以解决这个问题。通过《Linux虚拟系统安装VMware Tools总结》 的安装步骤安装VMware Tools 。通过vmware tools 的时间同步功能可以解决虚拟机时间慢的问题。vmware tools 安装后是图形界面的很方便操作，如果你的服务器没有图形界面可以参照 《Linux下使用命令行安装VMware Tools》通过命令行方式安装
鹏鹏工作室-ScanMon建议参考如下文章:
《Linux虚拟系统安装VMware Tools总结》
http://jk.scanmon.com/wp/linux-vmware-tools.html
《Linux虚拟系统安装VMware Tools总结》
http://jk.scanmon.com/wp/%E8%BD%AC%E6%80%BB%E7%BB%93linux%E8%99%9A%E6%8B%9F%E7%B3%BB%E7%BB%9F%E5%AE%89%E8%A3%85vmware-tools%E6%80%BB%E7%BB%93.html
]]></description>
		<wfw:commentRss>http://jk.aiwaly.com/wp/vmware-shijiantongbu.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux下使用命令行安装VMware Tools</title>
		<link>http://jk.aiwaly.com/wp/linux-vmware-tools.html</link>
		<comments>http://jk.aiwaly.com/wp/linux-vmware-tools.html#comments</comments>
		<pubDate>Wed, 04 Aug 2010 03:25:51 +0000</pubDate>
		<dc:creator>月影鹏鹏</dc:creator>
				<category><![CDATA[虚拟化]]></category>

		<guid isPermaLink="false">http://jk.scanmon.com/?p=2693</guid>
		<description><![CDATA[Linux下使用命令行安装VMware Tools
, , ,
ESX 3.5
1. 开启虚拟机(Redhat AS4)。
2. 选择VM-&#62;Install VMware Tools
3. 以root用户装载VMware Tools虚拟光驱镜像并安装
#mount /dev/cdrom /mnt
#cd /mnt
#rpm -Uvh /mnt/VMwareTools-3.5.0-64607.i386.rpm
#umount /mnt
4. 配置VMware Tools
#vmware-config-tools.pl
5. 手动整合并装载vmxnet模块
/etc/init.d/network stop
rmmod pcnet32
rmmod vmxnet
depmod -a
modprobe vmxnet
/etc/init.d/network  start
6. 设置后台运行
进入图形界面
vmware-toolbox &#38;
7. 删除VMware Tools
#rpm -e VMwareTools
]]></description>
		<wfw:commentRss>http://jk.aiwaly.com/wp/linux-vmware-tools.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

