这几天玩了一下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

命令解释:

 virt-install
-n win2012
--vcpus= #分配两个CPU给这台机器
--ram= #分配1024内存
--os-type=windows #类型是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 #指向驱动virtio-win-0.1.126_amd64
--disk path=/vm/win2012.img,format=qcow2,bus=virtio --graphics vnc,listen=0.0.0.0 #指向虚拟磁盘wind012.img,默认端口5900
--noautoconsole

查看虚拟机:

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

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

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

然后链接机器

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

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

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

Centos7利用kvm搭建Windows虚拟机的更多相关文章

  1. KVM下windows虚拟机使用virtio驱动

    KVM下windows虚拟机默认disk使用的是Qemu IDE硬盘,网卡默认是rtl8139网卡.为了使kvm主机在相同的配置下,有更好的效率,可以将网卡和磁盘替换成virtio的驱动. windo ...

  2. 利用VMware克隆 windows 虚拟机需要注意的事项

    利用VMware克隆windows虚拟机需要注意的事项--克隆虚拟机 --powershell 在域服务器使用,查看所有的sid dsquery computer|dsget computer -dn ...

  3. kvm 安装 windows 虚拟机

    作者:SRE运维博客 博客地址: https://www.cnsre.cn/ 文章地址:https://www.cnsre.cn/posts/211108848062/ 相关话题:https://ww ...

  4. [大数据学习研究]1.在Mac上利用VirtualBox搭建本地虚拟机环境

    1. 大数据和Hadoop 研究学习大数据,自然要从Hadoop开始. Hadoop不是一个简单的软件,而是有一些列软件形成的生态,其核心思想来自Google当初发布的三篇论文,后来做了开源的实现, ...

  5. 在CentOS下源码安装 Xen并搭建Windows虚拟机

    前言 首先要感谢xing的帮助,在他的指导之下才完成环境的搭建,本文档的部分内容来自他的文档.另外,还要感谢——互联网. 1.       环境介绍 Linux: CentOS 6.3 Xen: Xe ...

  6. CentOS7.1 KVM虚拟化之虚拟机快照(5)

    这里用之前克隆的虚拟机vm1-clone进行快照操作 注: 1.快照实际上做的是虚拟机的XML配置文件,默认快照XML文件在/var/lib/libvirt/qemu/snapshot/虚拟机名/下 ...

  7. [转] 如何让CloudStack使用KVM创建Windows实例成功识别并挂载数据盘

    在使用kvm给windows虚拟机动态挂载virtio类型的硬盘时候遇到问题,通过下面的文章知道需要安装virtio驱动,从而解决问题使挂在正常,在此处mark一下 问题产生背景: 使用CloudSt ...

  8. KVM安装启动虚拟机

    KVM定制OpenStack云主机 如何定制化OpenStack云主机?从去年10月份刚开始接触OpenStack,到现在也有一年了.虽说目前只是停留在用它,对它的一些组件简单的了解,但谈到制作出一个 ...

  9. Centos7 搭建KVM并创建Linux Windows虚拟机

    一.安装KVM   查看系统版本 cat /etc/redhat-release     关闭防火墙及selinux   systemctl disable firewalld.service 查看防 ...

随机推荐

  1. 美图秀秀web开发文档

    Xiuxiu 组件 import React, { Component } from 'react'; class XiuXiu extends Component { componentDidMou ...

  2. AC日记——方格取数 洛谷 P1004

    题目描述 设有N*N的方格图(N<=9),我们将其中的某些方格中填入正整数,而其他的方格中则放 人数字0.如下图所示(见样例): A 0 0 0 0 0 0 0 0 0 0 13 0 0 6 0 ...

  3. centos 目录

    http://www.iteye.com/topic/1125162 使用linux也有一年多时间了  最近也是一直在维护网站系统主机  下面是linux目录结构说明 本人使用的是centos系统,很 ...

  4. luogu P2894 [USACO08FEB]酒店Hotel

    题目描述 The cows are journeying north to Thunder Bay in Canada to gain cultural enrichment and enjoy a ...

  5. commons-lang3-RandomUtils

    随机工具类   RandomUtils nextBoolean() 返回一个随机boolean值 nextBytes(int count) 返回一个指定大小的随机byte数组 nextDouble() ...

  6. 解决.NET Core MVC 视图中的中文被html编码的问题

    在  .net core mvc 视图输出 变量的时候 默认使用的是 UnicodeRanges.BasicLatin  进行的编码 所以 输出中文后在查看源码的时候是进过编码了的 . 解决方案 在 ...

  7. spring aop提供了两种实现方式jdk和cglib

    Spring AOP使用了两种代理机制:一种是基于JDK的动态代理:另一种是基于CGLib的动态代理.之所以需要两种代理机制,很大程度上是因为JDK本身只提供接口的代理,而不支持类的代理. Sprin ...

  8. DICOM医学图像处理:Deconstructed PACS之Orthanc,Modification & Anonymization

    背景: 上篇博文为引子,介绍了一款神奇的开源PACS系统——Orthanc.本篇开始解读官方Cookbook中的相关内容,对于简单的浏览.访问和上传请阅读前篇博文.在常规的PACS系统中还未出现对于D ...

  9. 安装 - LNMP一键安装包

    https://lnmp.org/ 系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian Linux系统 需要5GB以上硬盘剩余空间 需要128MB以上内存( ...

  10. Oracle对没有主键的表分页

    普通情况对于有主键,能够做唯一表识的表.我们能够利用主键和rownum配合实现.比如: select scott.emp.* from scott.emp left join (select empn ...