注意:KVM一切安装和运行都是在root用户下完成的,并且只有root才能支持某些软件。

一、准备工作:

1、关闭selinux,iptables,重启后生效

##关闭selinux
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config #修改配置文件则永久生效,但是必须要重启系统。
##生效命令
# setenforce
##关闭防火墙(这一步可以后续按照业务来添加防火墙,前期先排除防火墙导致的不必要问题)
# systemctl stop firewalld
# systemctl disable firewalld
##安装回iptables,但不要开启,留到后续使用(可选)
# yum install -y iptables-services
# systemctl enable iptables
# systemctl stop iptables

3、查看系统是否支持KVM虚拟化

# egrep '(vmx|svm)' --color=always /proc/cpuinfo               
//要有vmx|svm才支持虚拟化

4、设置转发,使其KVM可以通过网桥上网

##开启路由转发功能
sed -i '/net.ipv4.ip_forward/s/0/1/' /etc/sysctl.conf
sysctl -p #生效

5、重启

# reboot

二、安装KVM必备软件

##安装KVM所有需要的包
yum -y install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v virt-install
yum -y install libguestfs-tools
systemctl restart libvirtd #重启
ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm

安装完成后查看状态如下:

[root@localhost iso]#  virsh -c qemu:///system list
Id 名称 状态
----------------------------------------------------
[root@localhost iso]# lsmod |grep kvm
kvm_intel
kvm kvm_intel
[root@localhost iso]# virsh --version
3.9.0

三、配置网桥

1、关闭NetworkManager服务(桌面版本会有这个服务,服务器版不会安装)

systemctl stop NetworkManager #停止
systemctl disable NetworkManager #禁止下次自启动

2、创建br0网桥(注意粗体部分)

# cd /etc/sysconfig/network-scripts/
# cp ifcfg-enp2s0 ifcfg-br0 #注意:ifcfg-enp2s0会根据不同的系统生成不一样,CentOS 7的特点,只要找准第一个即可
# vim ifcfg-enp2s0
DEVICE=eth0
#HWADDR=:0C:::DA:
TYPE=
Ethernet
UUID=21501ff5-e313-494c-a402-50f2a84f1f5c
ONBOOT=yes
NM_CONTROLLED=yes
#BOOTPROTO=static
#IPADDR=192.168.213.6
#NETMASK=255.255.255.0
#GATEWAY=192.168.213.2
BRIDGE=
br0 # vim ifcfg-br0
DEVICE=br0
ONBOOT=yes
HWADDR=:0C:::DA:
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.213.6
NETMASK=255.255.255.0
GATEWAY=192.168.213.2
DNS1=8.8.8.8
DNS2=114.114.114.114
TYPE=Bridge

注意:上面配置的网卡信息为静态地址,如果使用DHCP需要对应修改为BOOTPROTO=dhcp

3、重启network服务。

/etc/init.d/network restart

检查网卡状态:

# ifconfig

查看网桥状态

# brctl show
bridge name bridge id STP enabled interfaces
br0 .7446a0f51698 no eth0
virbr0 .52540095e5ac yes virbr0-nic

四、配置和安装KVM虚拟机

##创建文件夹
mkdir -p /data/kvm/image
mkdir -p /data/iso
##使用FTP上传CentOS6.9的ISO文件到/data/iso,我使用的rz进行上传
rz CentOS-6.9-x86_64-bin-DVD1.iso
##创建虚拟机镜像文件
qemu-img create -f raw /data/nfyg/images/centos6.raw 100G
##创建KVM虚拟机
virt-install --name centos6 --ram --vcpus= --disk path=/data/kvm/image/centos6.raw --network bridge=br0 --cdrom=/data/iso/CentOS-6.9-x86_64-bin-DVD1.iso --accelerate --vnclisten=0.0.0.0 --vncport= --vnc

选项解释:

--name centos6 ##虚拟机名称,自定义
--ram 1024 ##分配内存大小(默认大小MB)
--vcpus=1 ##分配CPU核心数,最大与时提及CPU核心数相同
--disk path=/data/kvm/image/centos6.img ##指定虚拟机镜像
--network bridge=br0 ##指定网络
--cdrom=/data/iso/CentOS-6.9-x86_64-bin-DVD1.iso ##指定安装镜像iso
--accelerate ##加速
--vnclisten=0.0.0.0 ##指定VNC绑定IP,默认绑定127.0.0.,这里改为0.0.0.
--vncport=5900 ##指定VNC监听端口(默认为5900),可以自行设置
--vnc ##启用VNC管理

查看是否运行:

# virsh list
Id Name State
----------------------------------------------------
centos6 running

五、使用VNC连接进行安装

使用vnc-viewer连接192.168.213.6:5900就可以远程安装这台虚拟机,或者使用vnc显示(需要桌面的支持):virsh vncdisplay  centos6

六、常用操作命令

Virsh语法参考(centos为KVM名字)
virsh list --all 列出所有的虚拟机
virsh start centos 启动centos虚拟机
virsh shutdown centos 关闭centos虚拟机
virsh destroy centos 强制关闭centos虚拟机
virsh autostart centos 设置centos自动启动
virsh undefine centos 删除centos虚拟机
virsh suspend centos 暂停centos虚拟机
vrish resume centos 恢复centos虚拟机
virsh reboot centos 重启centos虚拟机
virsh edit centos 编辑centos虚拟机
virsh vncdisplay centos vnc显示

参考:

http://www.linuxidc.com/Linux/2016-06/132424.htm

http://www.jb51.net/article/94963.htm

https://www.server110.com/kvm/201311/3292.html

http://blog.csdn.net/xiegh2014/article/details/53215102(以上内容部分转自此篇文章)

http://www.linuxidc.com/Linux/2016-06/132424.htm

http://blog.csdn.net/wh211212/article/details/74529890

http://blog.51cto.com/bluefei/1773891

http://www.89cool.com/240.html

https://segmentfault.com/a/1190000000644069

https://www.vpsee.com/2012/04/install-kvm-on-centos-6-2/

CentOS 7下配置安装KVM的更多相关文章

  1. CentOS 6.9下配置安装KVM

    注意:KVM一切安装和运行都是在root用户下完成的,并且只有root才能支持某些软件. 一.准备工作: 1.查看系统版本.内核版本 ##查看系统版本 # cat /etc/redhat-releas ...

  2. Linux/CentOS环境下如何安装和配置PhantomJS工作环境

    PhantomJS 是一个基于WebKit的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, C ...

  3. CentOS vps下,安装xfce/KDE/GNOME桌面+vncserver进行远程管理

    CentOS vps下,安装xfce/KDE/GNOME桌面+vncserver进行远程管理 首先安装桌面环境,我选择的是xfce,轻量级桌面,小巧实用不占太多内存,(占用内存方面,xfce少于kde ...

  4. (转)CentOS 6下配置软RAID图文详解

    CentOS 6下配置软RAID图文详解 原文:http://blog.51cto.com/hujiangtao/1929620 一.RAID 简介 RAID 是英文Redundant Array o ...

  5. CentOs 7.*中配置安装phpMyAdmin的完整步骤记录

    phpMyAdmin是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的资料库管理工具.下面这篇文章主要给大家介绍了关于CentOs 7.*中配置安装phpMyAdmin的相关资 ...

  6. 在CentOS/Windows下配置Nginx(以及踩坑)

    在CentOS/Windows下配置Nginx(以及踩坑) 1. 序言 因为这类文章网上比较多,实际操作起来也大同小异,所以我并不会着重于详细配置方面,而是将我配置时踩的坑写出来. 2. CentOS ...

  7. CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架 2018.3.11

    CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架 阿里云服务器的选择 当然是选择学生优惠啦.这里阿里云还提供了轻量级服务器这个选项,可以预装 LA ...

  8. CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架

    <!doctype html> CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架.mdhtml {overflow-x: initia ...

  9. eclipse下配置安装ssm图文教程(web版)

    eclipse下配置安装ssm图文教程(web版) 一.安装所需jar包 1.1  mybatis安装包 可以进入GitHub的https://github.com/mybatis/mybatis-3 ...

随机推荐

  1. No.3 selenium学习之路之鼠标&键盘事件

    鼠标事件 from selenium.webdriver.common.action_chains import ActionChains contest_click()  右击 double_cli ...

  2. js中的call,apply,bind区别

    在JavaScript中,call.apply和bind是Function对象自带的三个方法,这三个方法的主要作用是改变函数中的this指向. call.apply.bind方法的共同点和区别:app ...

  3. Linux下堆漏洞的利用机制

    1.保护机制 )) malloc_printerr (check_action, "corrupted double-linked list", P); 这个就是所谓的堆指针的ch ...

  4. php读取xml中cdata部分方法

    本例使用php的simplexml:XML(eventtrackdata.xml'): <eventdata> <event> <date>2012.05.11&l ...

  5. 自己封装的php Curl并发处理,欢迎提出问题优化。

    因为项目需要,发现一个一个发送请求实在太慢,无奈之下,我们可以封装一个并发处理的curl请求批处理句柄来减少重复创建句柄的问题 代码如下: /* *@param array $data url的参数 ...

  6. CentOS7的一些指令

    hostnamectl --static set-hostname yuanxu#永久修改主机名 systemctl stop firewalld.service #停止firewall system ...

  7. Hadoop整理一(初识Hadoop)

    一.要点 1.Hadoop目的是让多台计算机同时解决一个问题 2.HDFS(Hadoop Distributed File System 分布式存储系统)是一个分布式文件系统,有目录,目录下可以存储文 ...

  8. Eclipse daemon not running. starting it now on port ***的

    daemon not running. starting it now on port ***的 1) 运行 cmd,进入命令行2) 输入 netstat -ano ,找出占用端口***(port * ...

  9. React Native之网页组件WebView的使用与通信

    在实际开发中,我们通常会嵌入一些html页面,官方为我们提供了一个非常好用的网页组件WebView,通过这个组件我们可以通过传入一个url或者是传入一段html 一. WebView的基本属性方法介绍 ...

  10. 用UltraEdit转换大小写

    alt+F5转大写: ctrl+F5转小写: F5每个单词的首字母大写: Shift+F5大小写互换.