一、安装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. 初识Page Object

    PageObject是UI自动化测试项目开发实践的最佳设计模式之一,它的主要特点体现在对界面交互细节的封装上,使测试用例更加专注于业务的操作,从而提高测试用例的可维护性. 1.认识Page Objec ...

  2. Sentinel源码解析四(流控策略和流控效果)

    引言 在分析Sentinel的上一篇文章中,我们知道了它是基于滑动窗口做的流量统计,那么在当我们能够根据流量统计算法拿到流量的实时数据后,下一步要做的事情自然就是基于这些数据做流控.在介绍Sentin ...

  3. HTML标签和属性三

    八.列表 1.列表的作用 让数据有条理的显示,在数据之前添加标识 但是现在页面布局,经常会使用到无序列表 2.列表的组成 ①有序列表 <ol> <li></li> ...

  4. DPDK LPM库(学习笔记)

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

  5. Linux下分析bin文件的10种方法

    这世界有10种人,一种人懂二进制,另一种人不懂二进制. --鲁迅 大家好,我是良许. 二进制文件是我们几乎每天都需要打交道的文件类型,但很少人知道他们的工作原理.这里所讲的二进制文件,是指一些可执行文 ...

  6. mysql运维入门5:MySQL+kepalived高可用架构

    keepalive 类似3/4/7层交换机制的软件,也就是平时说的第三层.第四层.第七层交换 作用是检测web服务器的状态,如果有一台web服务器.mysql服务器宕机.或工作出现故障,keepali ...

  7. Form action 方法上传文件

    <form method="post" id="form1" runat="server" enctype="multipa ...

  8. Windows系统下curl的下载和配置

    curl的下载和配置 简介:用URL规则在命令行下工作的文件传输工具. 下载:下载地址为 https://curl.haxx.se/download.html,在最底部找到Windows的版本,我下载 ...

  9. 走迷宫(三):在XX限制条件下,是否走得出。

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1010 题目前提条件:让你输入一个数组,包含一个起点S,一个终点D,一个时间T.(其中X代表墙,.代表此 ...

  10. python常见面试题讲解(二)计算字符个数

    题目描述 写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数.不区分大小写. 输入描述: 第一行输入一个有字母和数字以及空格组成的字符串,第二行输入一个字 ...