首页
社区
课程
招聘
[旧帖] [原创]LINUX平台下,一种在虚拟机中嵌套安装虚拟机的方法 0.00雪花
发表于: 2009-4-4 10:21 1841
申请推荐此帖 编辑 删除

[旧帖] [原创]LINUX平台下,一种在虚拟机中嵌套安装虚拟机的方法 0.00雪花

2009-4-4 10:21
1841
LINUX平台下,一种在虚拟机中嵌套安装虚拟机的方法

要在虚拟机中安装虚拟机,本人试了多种方式,在失败了很多次后,终于找到了一些成功的模式,在这里与大家分享一种比较高效和实用的KVM下+VMWare模式,由于KVM目前只支持AMD平台的虚拟机嵌套,所以建议Intel系统的玩家在2010年前就暂不用看了,呵呵......

嵌套安装虚拟机最需要考虑的是系统的性能问题。所以,要使虚拟机中的虚拟机有实用意义上的运行速度,那么,系统的性能就不能太差:一方面,要选择多核(建议4核)大内存(建议4GB以上)的硬件系统平台,另一方面,也必须要求虚拟机软件本身的效率,特别是第一层的效率,是比较高效的。在Linux平台下,高效的虚拟机软件应首推KVM!下面,我们就拿KVM来试一试:
(注:网上已经有太多的关于如何安装KVM的帖子,故在此只着重讨论与嵌套安装相关的地方)

1、在LINUX环境下,制作Windows环境所需要的安装程序的iso文件,并复制到/data/isofiles/目录下
(1)sudo mkdir /data/isofiles
(2) 将建立Windows环境所需要安装的光盘内容制作成iso文件并复制到/data/isofiles目录下,
     例如,生成光盘Windows2003的iso文件:sudo cp /dev/cdrom /data/isofiles/win2003e.iso
(3) 将建立Windows环境所需要安装的已下载的iso文件复制到/data/isofiles目录下,
     例如,复制下载的VMWare6的iso文件:sudo cp ~/Download/vmware6.iso /data/isofiles/
(4) 将建立Windows环境所需要安装的已下载的小工具汇聚成一个iso文件并复制到/data/isofiles目录下,
     例如,假设已经下载的工具都位于~/Download/tools/目录下,那么,执行:
      sudo mkisofs -o /data/isofiles/tools.iso ~/Download/tools

2、在以下地址下载KVM-83版的源码,到当前的用户目录(注:太早的代码不是不支持嵌套安装,就是BUG太多,83以后的源码本人没有试过)
http://sourceforge.net/project/showfiles.php?group_id=180599&package_id=209008

3、解压并编译安装KVM(注:这一环节可根据具体情况,参考其他资料进行安装,以满足你的特定需求)
tar -xzvf kvm-83.tar.gz

sudo apt-get install gcc libsdl1.2-dev zlib1g-dev libasound2-dev linux-kernel-headers pkg-config libgnutls-dev

cd kvm-83
./configure --audio-drv-list="alsa oss"
make
sudo make install
注:上面configure的参数是使虚拟机与LINUX系统和其他运行的虚拟机共享声卡;如果你的机器上的声卡不是ALSA,那么,也可以不带这个参数

4、建立虚拟系统硬盘文件及其他KVM所需要的设置
(注:在这一环节,请大家参考网上已有的其他资料,特别是有关如何设置网络等等,由于这些资料已经很多,并且写起来也太烦长,反而影响了有关嵌套安装方面要注意的地方,故在此省写之)
qemu-img create -f qcow2 win2003img 40G

5、加载KVM模块
sudo modprobe kvm
sudo modprobe kvm-amd  
注1:KVM目前只支持AMD平台的虚拟机嵌套;
注2:还可参考网上其他资料,将以上两句作成一个shell文件,并放在/etc/init.d/下面,这样就不用每次启动时都要输入这两条命令;

6、启动虚拟机
qemu-system-x86_64                                   \
  -smp 4                                             \
  -m 2048                                            \
  -hda ~/win2003.img                                 \
  -boot d                                            \
  -cdrom \data\isofiles\win2003e.iso                 \
  -soundhw sb16                                       \
  -localtime                                         \
  -vga std                                           \
  -usb                                               \
  -enable-nesting                                    \
  -usbdevice tablet                                  \
  -vnc :1                                          
注1:这一步必须加上-enable-nesting参数以支持虚拟机嵌套,这是KVM虚拟机嵌套中最重要的一环
注2:以上参数要根据你的硬件的具体情况进行调整:如:-smp 4表示分配给虚拟机4个CPU核;-m 2048表示分配给虚拟机2G的内存空间;-boot d表示从光盘启动等等;

执行以下命令进行监控
vncviewer 127.0.0.1:1
(注:用vncviewer的观察模式比直接用KVM默认的观察模式有更好的鼠标控制效果)

7、为虚拟机安装Windows2003系统
启动虚拟机后,通过vncviewer界面,安装windows2003系统,至于如何安装windows2003系统相信大家都已经很熟悉了,就不用在这里多讲了。

8、在虚拟机中再安装第二层的VMWare虚拟机
  Windows安装完毕并重新启动后,将输入焦点转到VNC:QEMU窗口并按Ctrl-Alt-2,当出现QEMU的控制窗口后,输入:
  info block
  这时,你可以发现虚拟机的cdrom的设备号,即类似于:ide1-cd0这样的字符串,然后,再输入:
  eject ide1-cd0
  change ide1-cd0 /data/isofiles/vmware6.iso
  这样,在linux环境中的iso文件将被加载到虚拟机的光驱中;
  (注:如果在windows中的光驱中看不到光盘,99.9999%的可能就是你输入的iso文件或路径名出错了)
  按:Ctrl-Alt-1 返回Windows系统,并安装虚拟机光驱中的VMWare软件,至于如何安装Windows下的VMWare软件,相信大家都已经很熟悉了,就不用在这里多讲了。

9、在第二层的VMWare虚拟机中安装操作系统,如:Windows系统

  VMWare安装完毕并重新启动后,将输入焦点转到VNC:QEMU窗口并按Ctrl-Alt-2,当出现QEMU的控制窗口后,输入:
  eject ide1-cd0
  change ide1-cd0 /data/isofiles/win2003schs.iso
  这样,第二层虚拟机所需要的windows的iso文件就被加载到了第一层的虚拟机中了;
  注1:第二层的虚拟机不一定必须是windows系统,也可以是其他操作系统;
  注2:如果第二层的虚拟机用的是windows系统,那么,可以与第一层的windows系统不同;
  注3:如果第二层的虚拟机用的是windows系统,那么,并不是每一种windows系统都能在第一层虚拟机中的VMWare中正确启动!!!
  注4:为了避免不必要的麻烦,强烈建议只考虑加载安装原版或原版镜像的操作系统,否则系统有可能兰屏;

  按:Ctrl-Alt-1 返回Windows系统中的VMWare,点击:[File]->[New]->[Virtual Machine]->[下一步]->[Custom]->[下一步]->在Verion中选择适当的操作系统,如:windows 2003企业版->[下一步]...->[下一步]->[完成]
  注1:安装启动Windows标准版时,最好强制以Windows企业版的模式启动;
  
  双击VMWare中Sidebar栏中的Windows Server 2003 Enterprise Edition,即可启动安装或运行第二层虚拟机中的windows系统,至于如何安装windows2003系统相信大家都已经很熟悉了,就不用在这里多讲了。

注:以上做法,已经在:ubuntu8.10+KVM-83+Windows 2003简体中文企业版 SP1+VMWare WorkStation 6.03 build 80004+以Windows 2003简体中文版标准版SP1下测试通过。

(申请邀请码联系地址:laiwe**@163.com)

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
怎么没人回贴~~是太超前了吗?
2009-5-6 12:25
0
雪    币: 1556
活跃值: (310)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
3
只能膜拜 无法学习
2009-5-6 13:28
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
其实看不懂,只是听朋友说过这个东东,来顶顶!
2010-9-10 14:39
0
雪    币: 163
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
linux 操作太复杂了~~还是淡然飘过吧
2010-9-10 15:10
0
游客
登录 | 注册 方可回帖
返回
//