一、安装KVM

 
查看系统版本
cat /etc/redhat-release
 
 
关闭防火墙及selinux
 
systemctl disable firewalld.service
查看防火墙状态   
systemctl status firewalld
查看开机是否启动防火墙服务
systemctl is-enabled firewalld
 
1. 验证CPU是否支持KVM;
如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU支持的。
egrep '(vmx|svm)' /proc/cpuinfo
 
 
2,关闭SELinux
将 /etc/selinux/config 中的 SELinux=enforcing 修改为 SELinux=disabled
3. 最小安装的CentOS安装一些最基本的包
(可选项,因为我是刚安装好的CentOS,所以为了下面方便点,先把一些必要的工具安装下)
yum install epel-release net-tools vim unzip zip wget ftp -y
 
4. 安装KVM及其依赖项
yum install qemu-kvm libvirt virt-install bridge-utils -y
 
5. 验证安装结果,下图说明已经成功安装了
lsmod | grep kvm
 
6. 开启kvm服务,并且设置其开机自动启动
systemctl start libvirtd
开机启动
systemctl enable libvirtd
7. 查看状态操作结果
如下图所示,说明运行情况良好
systemctl status libvirtd
 
查看是否开机启动
systemctl is-enabled libvirtd
 
 
cp -r /etc/sysconfig/network-scripts/ /data/network/
 
 
8. 配置网桥模式
先将 /etc/sysconfig/network-scripts/ 目录下的网卡配置文件备份一份
a. 创建 netifcfg-br0 文件,(创建的br0文件的IP地址要和物理网卡的IP地址一致,命令 ipconfig查看物理网卡将不会显示IP)内容如下:
vi /etc/sysconfig/network-scripts/ifcfg-br0
 
 
[root@bogon ~]# vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
BOOTPROTO=none
DEFROUTE=yes
ONBOOT=yes
TYPE=Bridge
IPV4_FAILURE_FATAL=yes
IPADDR=192.168.1.130
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
DNS1=221.6.4.66
DELAY=0
USERCE=no
修改物理网卡eno1
 
vi /etc/sysconfig/network-scripts/ifcfg-eno1
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="YES"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"a
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="eno1"
UUID="bb40d726-8d67-4187-90c3-eb61e1b42d61"
DEVICE="eno1"
ONBOOT="yes"
IPADDR="192.168.1.130"
NETAMSK=255.255.255.0
GATEWAY="192.168.1.254"
DNS1="221.6.4.66"
IPV6_PRIVACY="no"
BRIDGE=br0
c. 重启网络服务
systemctl restart network
使用 ifconfig 验证操作结果,多了一块网卡br0,现在访问 think8848-srv02 使用 192.168.1.120就可以了。
*注释:如果有防火墙的话在防火墙添加虚拟机IP地址策略 允许源地址访问目标地址。
 

二、安装linux虚拟机

1. 准备操作系统安装镜像文件
在本文中将使用和宿主环境一样的CentOS7.2,把该文件放到 /home/iso 目录下
 
挂载U盘
 
[root@nkgtsv01 ~]# mount  -o loop /mnt/udisk/CentOS-7-x86_64-DVD-1708.iso /data/iso/
mount: /dev/loop0 写保护,将以只读方式挂载
 
2. 创建虚拟机文件存放的目录
mkdir -p /data/kvm-bak
 
3.使用 virt-install 创建虚拟机
[root@bogon data]# virt-install --name njvm01 --boot network,cdrom,menu=on --ram 6411 --vcpus=1 --os-variant=rhel6 --accelerate --cdrom=/mnt/udisk/CentOS-7-x86_64-DVD-1708.iso --disk path=/data/kvm-bak/vm01.img,size=200,bus=virtio --bridge=br0,model=virtio --autostart --vnc --vncport=5910 --vnclisten=0.0.0.0
WARNING  无法连接到图形控制台:没有安装 virt-viewer。请安装 'virt-viewer' 软件包。
WARNING  没有控制台用于启动客户机,默认为 --wait -1
开始安装......
正在分配 'vm01.img'                                   | 200 GB  00:00:00
ERROR    internal error: process exited while connecting to monitor: 2018-01-31T06:20:00.727909Z qemu-kvm: -drive file=/mnt/udisk/CentOS-7-x86_64-DVD-1708.iso,format=raw,if=none,id=drive-ide0-0-0,readonly=on: could not open disk image /mnt/udisk/CentOS-7-x86_64-DVD-1708.iso: Could not open '/mnt/udisk/CentOS-7-x86_64-DVD-1708.iso': Permission denied
正在删除磁盘 'vm01.img'                             |    0 B  00:00:00
域安装失败,您可以运行下列命令重启您的域:
'virsh start virsh --connect qemu:///system start njvm05'
否则请重新开始安装。
 
不要理会里面提示的错误,接着往下走
4. 打开防火墙上的5910端口
防火墙若关闭请忽略
firewall-cmd --zone=public --add-port=5910/tcp --permanent
 
 
firewall-cmd --reload
 
[root@nkgtsv01 ~]# firewall-cmd --zone=public --add-port=5910/tcp --permanent
FirewallD is not running	
[root@nkgtsv01 ~]# firewall-cmd    --state
not running	
[root@nkgtsv01 ~]# systemctl  start   firewalld.service
[root@nkgtsv01 ~]# firewall-cmd    --state
running
[root@nkgtsv01 ~]# firewall-cmd --zone=public --add-port=5910/tcp --permanent
Success  
[root@nkgtsv01 ~]# systemctl  start   firewalld.service
[root@nkgtsv01 ~]# firewall-cmd --reload
Success

 
5.Virsh list --all 查看虚拟机状态
 
6.开启虚拟机 然后打开VNC
使用VNC输入宿主机IP地址 加上端口号 输入虚拟机名字 打开
 
7.打开远程工具远程调整下IP

 
8.Service network restart
重启网络
 
使用 virt-clone 克隆njvm01为新的虚拟机(虚拟机需要先关闭)
virt-clone -o njvm02 -n njvm03 -f /data/kvm-img/njvm03.img
 
 
 
克隆完查看 所有的虚拟机以及状态
virsh list --all
 
 
删除虚拟机njvm01
 
强制关机断电虚拟机
virsh destroy njvm01
删除虚拟机
virsh undefine njvm01
 
[root@nkgtsv01 data]# virsh shutdown njvm01
域 njvm01 被关闭
 
[root@nkgtsv01 data]# virsh start njvm02
域 njvm02 已开始
 
[root@nkgtsv01 data]#
[root@nkgtsv01 data]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 12    njvm02                         running
 -     njvm01                         关闭
 -     njvm03                         关闭
 -     njvm04                         关闭
 
克隆完以后因为IP地址还是njvm01的IP地址所以我们要修改IP地址
开启我们克隆的虚拟机
远程登陆上去
 
[root@nkgtsv-vm01 ~]# cd /etc/sysconfig/network-scripts/
[root@nkgtsv-vm01 network-scripts]# ls
ifcfg-eth0   ifdown-ppp       ifup-eth     ifup-sit
ifcfg-lo     ifdown-routes    ifup-ippp    ifup-Team
ifdown       ifdown-sit       ifup-ipv6    ifup-TeamPort
ifdown-bnep  ifdown-Team      ifup-isdn    ifup-tunnel
ifdown-eth   ifdown-TeamPort  ifup-plip    ifup-wireless
ifdown-ippp  ifdown-tunnel    ifup-plusb   init.ipv6-global
ifdown-ipv6  ifup             ifup-post    network-functions
ifdown-isdn  ifup-aliases     ifup-ppp     network-functions-ipv6
ifdown-post  ifup-bnep        ifup-routes
[root@nkgtsv-vm01 network-scripts]# vi ifcfg-eth0
 
IPADDR=192.168.1.121改为我们想要的IP地址
保存退出
 
Service network restart
重启网络
重新链接
 
 

三、Kvm-virtio-windows

 
在kvm中,安装windows需要使用virtio驱动,这个驱动是安装windows中必须要的,否则就会找不到硬盘,我们先下载驱动。
***重点***
wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo -O /etc/yum.repos.d/virtio-win.repo
 
***重点***
 yum install -y virtion-win
 
执行命令
virt-install --name=客户机名称 --ram 内存(1024)1G --vcpus= cpu1 --os-type= 客户机系统类型 windows --os-variant= win2k8 --disk path= 客户机文件存放路径 /data/kvm-images/win2k8.img,size=客户机硬盘大小200 --accelerate --cdrom (镜像文件路径) --vnc --vncport=vnc远程端口 5910 --network bridge=网卡桥接 br0,model=virtio --noautoconsole
 
virt-install --name=win2k12  --ram=8192 --vcpus=2 --os-type=windows --os-variant=win2k12  --disk path=/home/kvm/data/win2k12.img,size=200 --accelerate --cdrom /home/kvm/iso/cn_windows_server_2012_r2_x64_dvd_2707961.iso --vnc --vncport=5901 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole 
 
为备注,需删掉
 
 
 
或 执行命令
virt-install --name=win2k12  --ram 1024 --vcpus=1 --os-type=windows --os-variant=win2k12 --disk path=/home/data/kvm/win2k12.img,size=100 --accelerate --cdrom  /home/data/iso/cn_windows_server_2012_r2_vl_x64_dvd_3316795.iso --vnc --vncport=5990 --network bridge=br0,model=virtio --noautoconsole
 
virt-install --virt-type kvm --name=win2k8 --ram=4096 --vcpus=4 --os-type=windows --accelerate --cdrom=/home/kvm_data/iso/cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_vl_build_x64_dvd_617396.is.iso --disk path=/usr/share/virtio-win/virtio-win.iso,device=cdrom --disk path=/home/kvm_data/img/win2k8.qcow2,bus=virtio --network bridge=br0 --graphics vnc,listen=0.0.0.0,password=123456,port=5920 --noautoconsole
 
用vnc链接
若在安装的时候找不到硬盘
###############################################################################
挂载win镜像
 
virsh change-media win2k12vm01  hdb /usr/share/virtio-win/virtio-win.iso
 
 
 
选择这个路径的文件 然后下一步
然后取消挂载的镜像 吧系统镜像 从新挂载到系统 进行分区 安装系统
###############################################################################
 
 
安装完会重启windows虚拟机
我们查看状态 然后启动虚拟机
用vnc从新连接
等他自动读条
 
等待安装完成
启动之后设置密码 我们就进入了新的windows 操作系统
 
用vnc链接
 
***重点***
挂载软驱 (硬盘驱动 网卡驱动等)注释:网卡驱动要在系统中装好之后挂载 不然装系统的时候会提示找不到光盘镜像
在宿主机中执行命令
virsh change-media win2k12  hdb /usr/share/virtio-win/virtio-win.iso 
 
VMTools工具安装完成后,使用如下命令卸载掉挂载的VMTools工具:
a.如果是Linux虚拟机,执行如下命令卸载VMTools工具:
virsh change-media 【虚拟机ID】 --eject 【vmtools-linux.iso文件全路径】
b.如果是Windows虚拟机,执行如下命令卸载VMTools工具:
virsh change-media 【虚拟机ID】 --eject 【vmtools-windows.iso文件全路径】
 
挂载驱镜像文件到win2k12主机上
用vnc链接
 
 
 
 

Centos7 搭建KVM并创建Linux Windows虚拟机的更多相关文章

  1. 使用Windows Azure创建Linux系统虚拟机-上

    创建虚拟机来运行Linux 当您在Azure管理门户中使用映像图库时,创建运行Linux的虚拟机很容易.本指南告诉您如何做到这一点,假设你没有使用过Azure. 注意: 即使你不需要使用过Azure虚 ...

  2. 使用Windows Azure创建Linux系统虚拟机-下

    如何将数据磁盘附加到新虚拟机 您的应用程序可能需要存储数据.要这样设置,您可以将数据磁盘添加到先前创建的虚拟机.要做到这一点,最简单的方法是将空数据磁盘连接到本机. 在Linux上,磁盘资源通常由Az ...

  3. 搭建hadoop_之 创建3个虚拟机配置好网络

    (创建3个虚拟机,1个作为主服务器,二个作为从节点)   一.安装虚拟机 Windwos:VMware Workstation Pro MAC:VMware Fusion 安装:     ** 创建空 ...

  4. CentOS7.1 KVM虚拟化之linux虚拟机安装(2)

    一.上传ISO文件到/data/iso下 这里使用CentOS-5.5-i386-bin-DVD.iso 二.安装CentOS5.5 CentOS7.1 安装KVM虚拟机默认磁盘格式为qcow2(推荐 ...

  5. 在mac上用parallels创建双windows虚拟机调试windows驱动

    先创建两个windows 7 虚拟机,一个装windbg作为调试机,一个被调试 1 调试机 1 先装windbg https://developer.microsoft.com/en-us/windo ...

  6. 基于centos7搭建kvm

    其他的和安装一般的系统没有差别 安装完成后. 1]使用ping www.baidu.com 2]修改静态ip,也可以不修改 3]下载brctlyum -y install bridge-utils 4 ...

  7. CentOS7 下安装 NFS,Linux/Windows 作为客户端

    目录 一.简介 1. 定义 2. 版本和变化 3. 部署说明 二.服务端 1. 关闭防火墙 2. 安装 nfs 3. 配置说明 4. 配置共享目录 5. 启动服务 6. 确认启动成功 三.Linux ...

  8. Centos7搭建 KVM 环境

    注意:使用KVM管理虚拟机分命令行和图形化界面两种方式,这里最后一步安装的工具是图形化管理工具 安装前准备 验证CPU是否支持KVM 如果结果中有vmx(Intel)或svm(AMD)字样,就说明CP ...

  9. CentOS7.1 KVM虚拟化之经常使用管理虚拟机命令(3)

    一.查看虚拟机列表及状态 [root@kvm01 ~]# virsh list --all Id Name State ---------------------------------------- ...

随机推荐

  1. c#word文档输出

    在工作中有时需要把内容用word文档展示出来 在写代码前要引用word的dll Microsoft.Office.Interop.Word“ sing System; using System.Col ...

  2. [Unity UGUI序列帧]简单实现序列帧的播放

    在使用序列帧之前需要准备好序列帧的图集,打图集的操作参考 [Unity UGUI图集系统]浅谈UGUI图集使用 准备好序列帧图集,序列帧的播放原理就是获取到图集中的所有图片,然后按照设置的速度按个赋值 ...

  3. pyhton中的深浅copy

    深浅拷贝:数据分离情况 1. =赋值:数据完全共享(指向内存中的同一个对象)被赋值的变量指向的数据和原变量的数据都是指向内存中的同一个地址: (1)如果是不可变数据类型(数字.字符串等),修改其中的一 ...

  4. DPDK LPM库(学习笔记)

    1 LPM库 DPDK LPM库组件为32位的key实现了最长前缀匹配(LPM)表查找方法,该方法通常用于在IP转发应用程序中找到最佳路由匹配. 2 LPM API概述 LPM组件实例的主要配置参数是 ...

  5. NetAnalyzer笔记 之 十二 NetAnalyzer 6.0 的使用方法 -- 1.初识NetAnalyzer

    上次写NetAnalyzer使用方法是2016年的时候了,在后来NetAnalyzer经过了巨大的版本更变,但是因为个人原因,一直未对使用方法进行更新,现在NetAnalyzer最新的6.0已经发布了 ...

  6. 使用Xtrabackup进行MySQL备份 zz

    zz from  http://www.magedu.com/ 一.安装 1.简介 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对i ...

  7. ajax提交可以上传文件的form表单

    var formData = new FormData($( "#fm")[0]);       $.ajax({            url: 'webnavigationcw ...

  8. Netty 中的消息解析和编解码器

    本篇内容主要梳理一下 Netty 中编解码器的逻辑和编解码器在 Netty 整个链路中的位置. 前面我们在分析 ChannelPipeline 的时候说到入站和出站事件的处理都在 pipeline 中 ...

  9. BZOJ1040 基环森林 找环+基础树形DP

    1040: [ZJOI2008]骑士 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4752  Solved: 1831[Submit][Status ...

  10. 在DAO的查询操作里,数据库查询到记录,sql语句也成功执行,但是返回的对象是null

     在这里  如果改成User user=null; 后面 对user对象的赋值是会失败的. 原因: 要赋值的话,一定要有对象,要new一下给对象分配空间然后再给对象赋值.