CentOS 7下配置安装KVM
注意: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的更多相关文章
- CentOS 6.9下配置安装KVM
注意:KVM一切安装和运行都是在root用户下完成的,并且只有root才能支持某些软件. 一.准备工作: 1.查看系统版本.内核版本 ##查看系统版本 # cat /etc/redhat-releas ...
- Linux/CentOS环境下如何安装和配置PhantomJS工作环境
PhantomJS 是一个基于WebKit的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, C ...
- CentOS vps下,安装xfce/KDE/GNOME桌面+vncserver进行远程管理
CentOS vps下,安装xfce/KDE/GNOME桌面+vncserver进行远程管理 首先安装桌面环境,我选择的是xfce,轻量级桌面,小巧实用不占太多内存,(占用内存方面,xfce少于kde ...
- (转)CentOS 6下配置软RAID图文详解
CentOS 6下配置软RAID图文详解 原文:http://blog.51cto.com/hujiangtao/1929620 一.RAID 简介 RAID 是英文Redundant Array o ...
- CentOs 7.*中配置安装phpMyAdmin的完整步骤记录
phpMyAdmin是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的资料库管理工具.下面这篇文章主要给大家介绍了关于CentOs 7.*中配置安装phpMyAdmin的相关资 ...
- 在CentOS/Windows下配置Nginx(以及踩坑)
在CentOS/Windows下配置Nginx(以及踩坑) 1. 序言 因为这类文章网上比较多,实际操作起来也大同小异,所以我并不会着重于详细配置方面,而是将我配置时踩的坑写出来. 2. CentOS ...
- CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架 2018.3.11
CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架 阿里云服务器的选择 当然是选择学生优惠啦.这里阿里云还提供了轻量级服务器这个选项,可以预装 LA ...
- CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架
<!doctype html> CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架.mdhtml {overflow-x: initia ...
- eclipse下配置安装ssm图文教程(web版)
eclipse下配置安装ssm图文教程(web版) 一.安装所需jar包 1.1 mybatis安装包 可以进入GitHub的https://github.com/mybatis/mybatis-3 ...
随机推荐
- win10 操作配置备忘
让程序自动启动 如果想要实现应用程序在所有的用户登录系统后都能自动启动,就把该应用程序的快捷方式放到"系统启动文件夹"里: C:\ProgramData\Microsoft\Win ...
- jpql和sql的区别
项目使用jpa规范 其中既可使用面对对象查询(jpql语句) 又可使用原生sql查询; 1.(经后期验证,jpql都可以) 其中有一个区别是: jpql查询字段为空: " cr.owner ...
- P1183 多边形的面积
一道睡论数论题 其实是AC300祭才做的水题 题意: 很直白的的题意啊,就是求任意一个多边形的面积 所以我们来安利一下一个求多边形面积的数学通式: 给定多边形的顶点坐标(有序),让你来求这个多边形的面 ...
- 嵌入式 探讨父子线程、进程终止顺序不同产生的结果_skdkjxy_新浪博客
嵌入式 探讨父子线程.进程终止顺序不同产生的结果 Linux下编程,线程.进程退出顺序问题纷纷扰扰,如果父进程/线程先于子进程/线程终止,系统会做什么处理呢?反之,如果子进程/线程先于父进程/线 程终 ...
- (四)SpringMvc文件上传
第一节:SpringMvc单文件上传 第二节:SpringMvc多文件上传
- 在MVC中如何使用vs2013编译调试razor cshtml
打开mvc项目的csproj文件: <MvcBuildViews>false</MvcBuildViews> 改为 <MvcBuildViews>true</ ...
- zabbix监控多实例tomcat--不使用JMX
https://blog.csdn.net/nisan892541/article/details/47727967
- Java学习(异常类练习题)
练习题: 1.计算圆的面积,半径不能为零和负数 package com.oracle.Demo01; public class Demo02 { // 写一个计算圆的面积的方法,传一个半径,返回面积 ...
- TCP、UDP、HTTP、SOCKET之间的区别与联系
IP:网络层协议: TCP和UDP:传输层协议: HTTP:应用层协议: SOCKET:TCP/IP网络的API. TCP/IP代表传输控制协议/网际协议,指的是一系列协议. TCP和UDP使用IP协 ...
- php中explode和implode函数
explode array explode ( string $delimiter, string $string, [ , $limit ] ) 函数返回由字符串组成的数组,每个元素都是string ...