参考地址

[root@node1 ~]# cat /etc/centos-release

CentOS Linux release 7.4.1708 (Core)
[root@node1 ~]# uname -r
3.10.0-693.el7.x86_64

虚拟机IP:192.168.1.201

查看CPU是否支持VT功能
[root@node1 ~]# egrep '(vmx|svm)' /proc/cpuinfo
注:如返回内容则说明已经开启,如未返回内容则需要在主板的BIOS中开启虚拟化
[root@node1 ~]# lsmod |grep kvm         # 确定是否正确加载kvm模块

在CentOS 7上安装KVM
yum -y install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer
注:
qemu-kvm = QEMU模拟器
qemu-img = QEMU磁盘映像管理器
virt-install = 用于创建虚拟机的命令行工具。
libvirt = 提供管理虚拟机和控制虚拟机管理程序的libvirtd守护程序。
libvirt-client = 提供用于访问服务器的客户端API,还提供virsh实用程序,该实用程序提供命令行工具来管理虚拟机。
virt-viewer = 图形控制台

systemctl enable libvirtd      # 将libvitd服务加入开机自启
systemctl start libvirtd       # 启动libvitd服务
systemctl status libvirtd       # 查看libvitd服务的状态

#============================ 按需项,centos7.4已自带 ============================
检查桥网模块:
[root@node1 ~]# modprobe --first-time bridge
modprobe: ERROR: could not insert 'bridge': Module already in kernel
译:modprobe:错误:无法插入'bridge':模块已经在内核中
安装桥网模块:
[root@node1 ~]# yum -y install bridge-utils
#============================ 按需项 ==========================================

创建网桥:
[root@node1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-virbr0
DEVICE="virbr0"
BOOTPROTO="static"
IPADDR="192.168.1.201"     #改成这个IP才能使用类似xshell的工具连上去
NETMASK="255.255.255.0"
GATEWAY="192.168.1.1"
DNS1=192.168.1.1
NBOOT="yes"
TYPE="Bridge"

[root@node1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE="ens33"
ONBOOT="yes"
BRIDGE=virbr0

[root@node1 ~]# reboot

开启转发功能并修改ulimit参数
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "* soft nproc 65500" >>/etc/security/limits.conf
echo "* hard nproc 65500" >>/etc/security/limits.conf
echo "* soft nofile 65500" >>/etc/security/limits.conf
echo "* hard nofile 65500" >>/etc/security/limits.conf

#============================ 按需项 ==========================================
拷贝镜像:
[root@node1 ~]# dd if=/dev/sr0 of=/mnt/usb2/centos7.iso
注1:/dev/sr0里面是centos7的iso镜像,of后面是输出到哪里并自定义一个以iso结尾的名字
注2:也可以直接使用iso文件,该方法也可以制作win镜像
#============================ 按需项 ==========================================

创建虚拟机硬盘:
mkdir /kvmdir      # 创建虚拟硬盘的存放位置
qemu-img create -f qcow2 /kvmdir/toto.img 500G       # 创建一个500G的qcow2格式并且名为toto的镜像
ls -al /kvmdir/     # 查看镜像
-rw-r--r-- 1 root root 197632 5月 2 09:39 toto.img

sed -i "s/#spice_tls = 1/spice_tls = 1/" /etc/libvirt/qemu.conf
sed -i "s/#spice_listen/spice_listen/" /etc/libvirt/qemu.conf
sed -i "s/#vnc_listen/vnc_listen/" /etc/libvirt/qemu.conf

创建虚拟机(以图片为准)
virt-install用于使用命令行模式创建虚拟机,此命令需要我们的多个输入来创建虚拟机,如CPU,内存,磁盘,网络,安装介质位置,操作系统变体等。

[root@node1 ~]# virt-install --name opop --memory 512 --vcpus=1 \
--cdrom=/mnt/usb2/centos7.iso --os-variant=rhel7 --boot=hd,cdrom --disk path=/kvmdir/toto.img,format=qcow2,bus=virtio,size=50 \
--network default,model='e1000' --graphics vnc,password=,listen=0.0.0.0 --noautoconsole --os-type=lnux

注意:上述命令使用桥接网络“virbr0”允许虚拟机与外部网络通信,您可以找到有关使用Virt Manager创建桥接网络的教程。

--name = 虚拟机的名称
--ram = 以MB为单位的内存大小
--vcpus = 虚拟CPU的数量
--cdrom = ISO映像的位置
--os-type = Linux,Windows等操作系统类型
--os-variant = 操作系统变体,如RHEL 6,Solaris
--boot = 客户机引导设置,这里需要注意,显示hd再是cdrom,和windows里面的引导同理
--disk = 指定客户机的硬盘位置,没有缓存,大小为5G
--network = 网络,网卡的定义和速率
--graphics = 访客显示设置,密码、端口等
--os-type = 客户机的系统类型

#=============================================================================================================
报错1:
ERROR internal error: process exited while connecting to monitor: Cannot set up guest memory 'pc.ram': Cannot allocate memory
解决办法:
# vim /etc/libvirt/qemu.conf
user = “root”      # 该项去星号
group = "root"    # 该项去星号
# 这个问题是你的虚拟机的内存有点小,虚拟机的内存小的同时还再来带一台机器,肯定带不起来所以会报错。
#刚开始我设置的内存是24G(出错),后来设置成16G(出错),后来设置成10G(也出错了),后来设置成2G能起来了
#后来我把VMware的内存调到32G后就能正常的创建4G内存的虚机了
报错2:
错误:将插槽连接到 '/var/run/libvirt/libvirt-sock' 失败: 没有那个文件或目录
解决办法:
systemctl status libvirtd           查看该服务状态
systemctl start libvirtd              启动该服务
systemctl enable libvirtd          开机自启动

#=====================================================================================================

使用VNC连接:

注:上面不用写Username

kvm文件默认路径:
    cd /etc/libvirt/qemu
磁盘文件默认路径:
    cd /var/lib/libvirt/images/
kvm虚拟机开机自启动目录:
    /etc/libvirt/qemu/autostart
    virsh autostart <虚机名>       # 这个是命令
默认情况下virsh工具不能对linux虚拟机进行关机操作,linux操作系统需要开启与启动acpid服务:
    chkconfig acpid on
    service acpid restart
关机:
    virsh shutdown <虚机名>
强制关闭电源
    virsh destroy <虚机名>
导出KVM虚拟机配置文件
    virsh dumpxml <虚机名> > /etc/libvirt/qemu/wintest02.xml   # 可以通过这种方式进行备份
删除kvm虚拟机
    virsh undefine <虚机名>
编辑KVM虚拟机配置文件:
    vim /etc/libvirt/qemu/<虚机名>.xml 或者 virsh edit <虚机名>
挂起虚拟机:
    virsh suspend <虚机名>
恢复服务器
    virsh resume <虚机名>

显示所有虚机

    virsh list      --all

虚机日志文件

    /var/log/libvirt/qemu/****.log

虚机硬盘位置

    自定义

只要你是专门搜关于KVM文章的,相信往后的操作都已经明白了

微笑哥与你一起每天进步一点点

 

CentOS7.4使用KVM的更多相关文章

  1. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(3)--为虚拟机指定固定ip

    之前在测试环境(centos7.2)上部署了openstack云平台(完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建),openstack在neutron组网 ...

  2. 在centos7中限制kvm虚拟机可访问的资源

    最近通过艰苦卓绝的度娘(我很想用谷歌,可是,你懂的),终于搞明白如何在centos7中限制kvm虚拟机可访问的资源了.度娘给出的结果中,大部分都说的很对,然而,却很难照着做,主要原因有两点:1.网上的 ...

  3. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(2)--云硬盘等后续配置

    继上一篇博客介绍了完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建,本篇继续讲述后续部分的内容 1 虚拟机相关1.1 虚拟机位置介绍 openstack上创建的 ...

  4. CentOS7.6中 KVM虚拟机内存、CPU调整

    CentOS7.6中 KVM虚拟机内存.CPU调整 一.调小虚拟机内存 调小虚拟机内存可以动态实现,不用关机 1.查看当前内存大小 [root@heyong kvm]# virsh dominfo t ...

  5. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建

    公司在IDC机房有两台很高配置的服务器,计划在上面部署openstack云平台虚拟化环境,用于承载后期开发测试和其他的一些对内业务.以下对openstack的部署过程及其使用做一详细介绍,仅仅依据本人 ...

  6. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(4)--用OZ工具制作openstack镜像

    在部署openstack云平台环境的时候,需要上传镜像到glance. 首先下载iso镜像,这里下载了centos6.5镜像,放到/usr/local/src目录下然后用OZ工具制作openstack ...

  7. [原]CentOS7.2部署KVM虚拟机

    前段时间学习了关于PostGis.OSM数据以及Mapnik相关内容,接下来将利用假期重点学习PostgreSQL-XL和瓦片服务器集群技术,因此先把环境搭好.计划采用KVM来充分利用家里不太宽裕的“ ...

  8. Centos7.4安装kvm虚拟机(使用virt-manager管理)

    之前介绍了使用WebVirtMgr或Openstack来部署及管理kvm虚拟机,下面简单介绍centos7.4下使用virt-manager部署及管理kvm虚拟机的做法: 0)KVM是什么 KVM(K ...

  9. 云计算概述及Centos7下安装kvm虚拟机

    云计算(cloud computing)是基于互联网的相关服务的增加.使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源 云计算到底是什么? 按定义:云计算指的是一种使用模式,是基 ...

随机推荐

  1. centos 7 linux系统安装 mysql5.7.17(glibc版)

    前言:经过一天半的折腾,终于把 mysql 5.7.17 版本安装上了 centos 7 系统上,把能参考的博客几乎都看了一遍,终于发现这些细节问题,然而翻了无数的文章,基本上都没有提到这些,所以小生 ...

  2. SpringMVC学习笔记之二(SpringMVC高级参数绑定)

    一.高级参数绑定 1.1 绑定数组 需求:在商品列表页面选中多个商品,然后删除. 需求分析:功能要求商品列表页面中的每个商品前有一个checkbok,选中多个商品后点击删除按钮把商品id传递给Cont ...

  3. spring原理案例-基本项目搭建 02 spring jar包详解 spring jar包的用途

    Spring4 Jar包详解 SpringJava Spring AOP: Spring的面向切面编程,提供AOP(面向切面编程)的实现 Spring Aspects: Spring提供的对Aspec ...

  4. Django学习笔记(8)——前后台数据交互实战(AJAX)

    这里将自己这段时间学习的关于前后台数据交互的笔记写在这里,这里包含了Django传输数据给JS,AJAX的相关问题,跨域问题,如何解决AJAX的跨域问题等等.比较凌乱,请看到这篇博客的盆友见谅,如果我 ...

  5. javascript基础修炼(5)—Event Loop(Node.js)

    开发者的javascript造诣取决于对[动态]和[异步]这两个词的理解水平. 一. 一道考察异步知识的面试题 题目是这样的,要求写出下面代码的输出: setTimeout(() => { co ...

  6. 【小o地图Excel插件版】计算两点间驾车路径,获取途径道路、驾车距离、耗时等信息

    小o地图Excel插件版:一款基于Excel软件开发的地图软件,提供基于Excel表格进行地理数据挖掘.地理数据分析.地图绘制.地图图表等功能的工具类软件.具有易用.高效.稳定的特点,能够满足地理数据 ...

  7. 【小o地图Excel插件版】不止能做图表,还能抓58、大众点评网页数据...

    小o地图Excel插件版:一款基于Excel软件开发的地图软件,提供基于Excel表格进行地理数据挖掘.地理数据分析.地图绘制.地图图表等功能的工具类软件.具有易用.高效.稳定的特点,能够满足地理数据 ...

  8. .class文件查看

    十六进制查看(不仅class文件可以看,其他文件格式也可以) hexdump -C XXX.class #注意C是大写(小写c则输出十进制) 反汇编查看 javap -c XXX.class java ...

  9. PHP-MySQL基本操作

    PHP-MySQL基本操作 <?php // 1.防止页面中文乱码 header("content-type:text/html;charset=utf-8"); // 链接 ...

  10. Android为TV端助力 ViewTreeObserver(转载)

    Android ViewTreeObserver简介   一.结构 public final class ViewTreeObserver extends Object java.lang.Objec ...