zoukankan      html  css  js  c++  java
  • Centos7利用kvm搭建Windows虚拟机

    这几天玩了一下kvm虚拟化,真的很有意思,我把这几天踩的坑,还有收获,都记录下来,作为以后的复习和检查。

    首先说一下我的基本逻辑,我有一台win7的笔记本,我的底层虚拟化是使用VMWare构建的Centos7虚拟机,我现在需要在Centos7虚拟机中搭建kvm虚拟机,并且在里面安装win2012server系统。

    物理机:win7笔记本

    底层虚拟化:VMWare 虚拟化 Centos7 x64

    上层虚拟化:kvm 虚拟化 win2012

    首先我们需要查看自己的物理机和VM机器是否支持虚拟化,这点很重要,因为Kvm需要虚拟化vmx支持。

    执行

    egrep '(vmx|svm)' --color=always /proc/cpuinfo
    

     可以看见带有vmx,说明支持vmx虚拟化

    如果没有这个输出,说明你没有开启vmx虚拟化支持,所以,你需要在VMware虚拟机设置里,找到虚拟化引擎,勾选虚拟化Intel,就可以了。

    接下来你需要安一大堆东西,这些东西都是支持kvm运行的,直接复制粘贴然后运行吧。

    yum -y install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v libguestfs-tools

    安装VNC,这玩意非常重要,是后面连接安装必须要的玩意儿。

    yum -y install vnc-server     
    
    yum -y install tigervnc-server

    启动libvirtd服务

    /sbin/service libvirtd restart
    
    ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm

    接下来是重头戏,搭配网卡,否则到时候安好了上不去网就抓瞎了

    首先,我们的网卡确认是桥接模式,新建一张网卡br0:

    创建网桥touch /etc/sysconfig/network-scripts/ifcfg-br0 
    vi /etc/sysconfig/network-scripts/ifcfg-br0
    在ifcfg-br0添加:
    DEVICE=br0
    TYPE=Bridge
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=公网IP
    NETMASK=公网IP掩码
    GATEWAY=公网IP网关
    接下来修改一下你自己的网卡配置,我的网卡是en33
    vi /etc/sysconfig/network-scripts/ifcfg-en33
    修改几个地方:
    BRIDGE="br0"
    ONBOOT="yes"
    BOOTPROTO="none"
    其他不变
    保存之后重启network服务
    service network restart

    如果没有问题的话,你这里会显示

    查看一下网桥:brctl show

    可以看见如下,这样就没错了。

     

    好了,重头戏结束了,剩下的难点不多,继续吧。

    在kvm中,安装windows需要使用virtio驱动,这个驱动是安装windows中必须要的,否则就会找不到硬盘,我们先下载驱动。

    注意:在配置完网卡以后,你可能会遇见yum install error 的问题,不用担心,请执行 vi /etc/resolv.conf,添加 nameserver :8.8.8.8

    安装virtio驱动:

    wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo -O /etc/yum.repos.d/virtio-win.repo
    yum install virtio-win -y

    最后就是搭建一个虚拟机:

    创建一个虚拟机磁盘:
    qemu-img create -f qcow2 win2012.img 40G
    创建虚拟机,这是我自己的配置,你们可能要自己修改一下
    virt-install -n win2012 --vcpus=2 --ram=1024 --os-type=windows --os-variant=win2k12
    -c /vm/iso/cn_windows_server_2012_r2_sp1_x64.iso
    --disk path=/usr/share/virtio-win/virtio-win-0.1.126_amd64.vfd,device=floppy
    --disk path=/vm/win2012.img,format=qcow2,bus=virtio --graphics vnc,listen=0.0.0.0
    --noautoconsole

    命令解释:

    1 virt-install 
    2 -n win2012 
    3 --vcpus=2      #分配两个CPU给这台机器
    4 --ram=1024     #分配1024内存
    5 --os-type=windows   #类型是windows
    6 --os-variant=win2k12 -c /vm/iso/cn_windows_server_2012_r2_sp1_x64.iso  #指向镜像
    7 --disk path=/usr/share/virtio-win/virtio-win-0.1.126_amd64.vfd,device=floppy   #指向驱动virtio-win-0.1.126_amd64
    8 --disk path=/vm/win2012.img,format=qcow2,bus=virtio --graphics vnc,listen=0.0.0.0  #指向虚拟磁盘wind012.img,默认端口5900
    9 --noautoconsole

    查看虚拟机:

    执行完上面哪些命令以后,你会看见

    执行查看虚拟机的命令:virsh list --all

    你已经有了一个虚拟机了,现在你只需要安装系统。

    然后链接机器

    接下来就是安装windows那一套,老样子,我已经安过,就不展示。

    这样一个kvm虚拟机就搭建好了。

    还有别的玩法,后面我再写。

  • 相关阅读:
    分布式协调服务 ( 服务治理 ).
    【Java常用类之enumm枚举类 20】
    【Java常用类之date类 19】
    【Java常用类之String类18】
    【Java数组算法17】
    【Java数组-二维数组16】
    【Java数组-一维数组15】
    【Java异常 14】
    【Java的package/import&访问权限&修饰符&Object常用方法 13】
    《Rubu基础教程第五版》第十七章笔记 IO类
  • 原文地址:https://www.cnblogs.com/Yemilice/p/8080688.html
Copyright © 2011-2022 走看看