linux下配置和安装KVM虚拟机的步骤

最近要在外网搞一套监控系统,正好有一台服务器配置比较高,也没跑什么重要的业务,就拿来划了一个KVM虚拟机,可能是平时各种虚拟机用的比较多,配置起来感觉比想象中简单的多,简单记录下过程

准备工作

宿主机为centos 6.8 64位,检查宿主机CPU是否支持虚拟化:

cat /proc/cpuinfo | egrep '(vmx|svm)' | wc -l;

结果大于0表示支持

安装kvm

KVM核心软件包:

代码如下:

yum install kvm libvirt python-virtinst qemu-kvm virt-viewer bridge-utils

如果服务器上有桌面环境,想使用图形界面管理器virt-manager,可以安装完整的KVM环境:

代码如下:

yum groupinstall Virtualization 'Virtualization Client' 'Virtualization Platform' 'Virtualization Tools'

验证内核模块是否加载:

lsmod | grep kvm

启动虚拟机管理接口服务:

/etc/init.d/libvirtd start

设置开机启动:

chkconfig libvirtd on

启动libvirtd后,会自动创建了一个网卡,并启动dnsmasq服务,用来为虚拟机分配IP地址

创建虚拟机

下载虚拟机要安装的ISO系统镜像文件,之后需创建存储池,指定在宿主机上虚拟机磁盘的存储位置,创建存储目录:

mkdir -p /opt/kvm

定义一个储存池和绑定目录:

virsh pool-define-as vmspool --type dir --target /opt/kvm

建立并激活存储池:

virsh pool-build vmspool
virsh pool-start vmspool

使用存储池创建虚拟机,并通过vnc连接:

virt-install \
--hvm \ #全虚拟化
--name=zabbix \#虚拟机名字
--ram=4096 \ #分配内存
--vcpus=4 \ #分配CPU数
--cdrom=/opt/kvm/iso/CentOS-7-x86_64-DVD-1511.iso \ #使用的ISO
--virt-type=kvm \ #虚拟机类型
--disk path=/opt/kvm/zabbix.qcow2,device=disk,format=qcow2,bus=virtio,cache=writeback,size=100 \ #磁盘大小,格式
--network netwrok=default \ #网络设置,defalut为NAT模式
--accelerate \ #KVM内核加速
--graphics vnc,listen=0.0.0.0,port=5922,password=123123\ #vnc配置
--force \
--autostart

之后使用vnc客户端连接 宿主机IP:5922,即可使用图形安装系统;也可以选择nographics模式,无需vnc在命令行下安装,建议使用vnc

安装完成后会生成:

  • 虚拟机的配置文件:/etc/libvirt/qemu/zabbix.xml
  • 虚拟硬盘文件:/opt/kvm/zabbix.qcow2
  • NAT网络配置文件:/etc/libvirt/qemu/networks/default.xml

配置网络

KVM可以配置两种:

  • NAT网络: 虚拟机使用宿主机的网络访问公网,宿主机和虚拟机能互相访问,但不支持外部访问虚拟机
  • 桥接网络: 虚拟机复用宿主机物理网卡,虚拟机与宿主机在网络中角色完全相同,支持外部访问

配置NAT网络

默认会有一个叫default的NAT虚拟网络,查看NAT网络:

virsh net-list --all

如果要创建或者修改NAT网络,要先编辑default.xml:

virsh net-edit default

重新加载和激活配置:

virsh net-define /etc/libvirt/qemu/networks/default.xml

启动NAT网络:

virsh net-start default
virsh net-autostart default

启动NAT后会自动生成一个虚拟桥接设备virbr0,并分配IP地址,查看状态:

brctl show

正常情况下libirtd启动后就会启动virbr0,并自动添加IPtables规则来实现NAT,要保证打开ip_forward,在/etc/sysctl.conf中:

net.ipv4.ip_forward = 1
sysctl -p

启动虚机并设置自动获取IP即可,如果想手动指定虚拟机IP,要注意配置的IP需在NAT网段内

配置桥接网络

系统如果安装了桌面环境,网络会由NetworkManager进行管理,NetworkManager不支持桥接,需要关闭NetworkManger:

chkconfig NetworkManager off
chkconfig network on
service NetworkManager stop
service network start

不想关闭NetworkManager,也可以在ifcfg-br0中手动添加参数"NM_CONTROLLED=no"

创建网桥:

virsh iface-bridge eth0 br0

创建完后ifconfig会看到br0网桥,如果eth0上有多个IP,更改下相应的文件名,  如:ifcfg-eth0:1改为ifcfg-br0:1

编辑虚拟机的配置文件,使用新的网桥:

virsh edit zabbix

找到网卡配置,改为:

<interface type='bridge'>
 <mac address='52:54:00:7a:f4:9b'/>
 <source bridge='br0'/>
 <model type='virtio'/>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

我是用的br0,为虚拟机添加多块网卡只需复制多个interface,并确保mac address和PCI地址不同即可

重新加载配置:

virsh define /etc/libvirt/qemu/zabbix.xml

重启虚拟机:

virsh shutdown zabbix
virsh start zabbix

之后使用VNC连接虚拟机并设置下网络即可

常用操作

KVM相关操作都通过vish命令完成,参数虽然多,但是功能一目了然,很直观

创建虚拟机快照:

virsh snapshot-create-as --domain zabbix --name init_snap_1

也可以简写成:

virsh snapshot-create-as zabbix init_snap_1

快照创建后配置文件在/var/lib/libvirt/qemu/snapshot/zabbix/init_snap_1.xml

查看快照:

snapshot-list zabbix

删除快照:

 snapshot-delete zabbix init_snap_1

排错

1、ERROR Format cannot be specified for unmanaged storage.

virt-manager 没有找到存储池,创建储存池即可

2、KVM VNC客户端连接闪退

使用real vnc或者其它vnc客户端连接kvm闪退,把客户端设置中的ColourLevel值设置为rgb222或full即可

3、virsh shutdown 无法关闭虚拟机

使用该命令关闭虚拟机时,KVM是向虚拟机发送一个ACPI的指令,需要虚拟机安装acpid服务:

yum -y install acpid && /etc/init.d/acpid start

否则只能使用virsh destroy 强制关闭虚拟机

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Linux系列教程之虚拟机中安装Centos7.0

    本次教程的前提条件是您得安装好VM软件和Xshell.对应软件的下载请自行百度!如果exe都不会安装,请关闭本页面! 第一步.下载镜像 阿里云开源镜像站:http://mirrors.aliyun.com/ 选择centos进入 如下图: 再选择isos(镜像目录) 继续下一步,只有一个目录,进入即可 进去以后如图: 对于初学者来说,这么多的镜像着实不好分辨. 其中,Centos-7-x86_64 表示这个是镜像叫centos,版本号为7,支持64位(附上百科链接:http://dwz.cn/3

  • Virtualbox主机和虚拟机之间文件夹共享及双向拷贝(Windows<->Windows, Windows<->Linux)

    最近学习Virtualbox的一些知识,记录下,Virtualbox下如何实现主机和虚拟机之间文件夹共享及双向拷贝 关于双向拷贝 1.设置虚拟机为"双向"共享粘贴 有的人反应只要设置双向粘贴就可以,但是我的不行,我还需要再给虚拟机安装一下增强功能.需要启动虚拟机,安装菜单项"设备"中的最后一项. 安装完增强功能,注意要重启虚拟机,双向拷贝才被启用. 关于文件夹共享 情况一: Host操作系统:Windows 7 Guest操作系统:Windows Server 1.

  • Linux学习第一篇 虚拟机和镜像文件安装配置

    一.安装虚拟机(本文以vmware workstation 12为例) 1.在网上所有虚拟机并下载. 2.找到下载文件安装好 3.一直下一步 4.接下来的就是选择安装的目录了,当然如果你的电脑c盘够大够用,安装在c盘也可以,不过建议安装在非系统盘,免得影响电脑的运行速度.选择好了点击下一步. 5.安装完成后,需要输入秘钥进行注册才行,不然只能实用30天 秘钥为:5A02H-AU243-TZJ49-GTC7K-3C61N 二.安装虚拟镜像文件 1.找到已下载好的linux镜像文件,如果没有,自己下

  • Linux学习之CentOS(一)----在VMware虚拟机中安装CentOS 7(图文教程)

    一. VMware简介: VMware是一个虚拟PC的软件,可以在现有的操纵系统上虚拟出一个新的硬件环境,相当于模拟出一台新的PC,以此来实现在一台机器上真正同时运行两个独立的操作系统. VMware的主要特点: 不需要区分或重新开机就能在同一台PC上使用两种以上的操作系统: 本机系统可以与虚拟机系统网络通信: 可以设定并且随时修改虚拟机操作系统的硬件环境. VMware Workstation10.0.3下载地址:http://www.jb51.net/softs/102992.html 二.

  • 虚拟机中使用linux系启用文件共享之后的文件存在的位置方法

    一.使用共享文件夹传输数据 在自己建立的win7系统中的共享文件夹中存放一些文件,然后在linux系统中访问,其中Linux中的访问路径为:/mnt/hgfs/自己建立的文件夹名称 比如我在win7上建立的共享文件夹名称为shareFolder,则我的操作如下: [root@master shareFolder]# cd /mnt/hgfs/shareFolder/ 在这个目录下就能看win7上的文件,也可以从linux中拷贝文件到这个目录,则在win7上也能看见./p> 以上这篇虚拟机中使用l

  • Linux虚拟机中node.js之开发环境搭建

    先说下nodejs这个哦,有人以为它是一种语言,其实不是,它是一个平台.下面来说下本次的话题:Vmware虚拟机node.js之开发环境搭建 一.安装linux系统 (已安装linux可跳此步骤) 虚拟机推荐选择:VirtualBox 或者 Vmware (专业版永久激活码:5A02H-AU243-TZJ49-GTC7K-3C61N) 我这里使用Vmware. 安装好Vmware后,点击新建虚拟机,选择稍后安装操作系统,然后进行配置.虚拟机设置如下: { 客户机操作系统:其他: 版本:其他64位

  • 虚拟机安装linux系统无法上网的解决方法

    周末闲来无事,用虚拟机安装了centos6.5系统,安装成功后发现不能连接网络,然后我就一脸蒙蔽了,无奈之下,只能百度查找问题,幸运的是,我还真找到了解决的方法,根据教程一步步操作,成功了!为了避免以后蒙蔽,我打算记录下来,同时如果有其他工程师遇到和我一样的问题,可以考虑一下我下面介绍的方法 1.打开虚拟机,如果[网络适配器]选择的不是NAT模式,我们需要改成NAT模式,并进行保存 2.打开cmd,输入命令:services.msc,回车后会弹出服务和应用程序页面,我们需要找到VMware DH

  • 详解在Linux虚拟机下配置tomcat

    1.到Apache官网下载tomcat http://tomcat.apache.org/download-80.cgi 我下载的是tomcat8 jdk是1.8 如果你们的jdk是1.7或者1.7以下的就下载tomcat6或者tomcat7 2.把下载好的tomcat上传到Linux虚拟机下 3.去到tomcat所在的目录下解压压缩包 我的tomcat在/software目录下 解压命令:tar xzvf apache-tomcat-8.5 解压好后会多出一个文件 输入命令:ll 查看目录 接

  • Linux中虚拟机宕机之后解决办法

    Linux中虚拟机宕机之后解决办法 问题现象 一次意外操作,导致虚拟机无法启动,重启宿主操作系统也无效. 恢复方法 第一步: 删除原来建立的虚拟机. 第二步: 重新建立新虚拟机. 第三步: 在建立虚拟硬盘步骤,选择"使用已有的虚拟硬盘文件",该文件笔者为G:\vmdisk\Centos.vdi,在第一次建立虚拟机安装虚拟操作系统时时会创建该文件. 界面如下: 第四步: 虚拟机建立完成后,即可正常. 注意事项 1.定期备份G:\vmdisk\Centos.vdi虚拟硬盘文件是一个好习惯,

  • linux下配置和安装KVM虚拟机的步骤

    最近要在外网搞一套监控系统,正好有一台服务器配置比较高,也没跑什么重要的业务,就拿来划了一个KVM虚拟机,可能是平时各种虚拟机用的比较多,配置起来感觉比想象中简单的多,简单记录下过程 准备工作 宿主机为centos 6.8 64位,检查宿主机CPU是否支持虚拟化: cat /proc/cpuinfo | egrep '(vmx|svm)' | wc -l; 结果大于0表示支持 安装kvm KVM核心软件包: 复制代码 代码如下: yum install kvm libvirt python-vi

  • Linux 下FTP的安装与配置教程详解

    0.安装ftp的前置条件是关掉SElinux # vi /etc/selinux/config 修改 SELINUX=" disabled " ,重启服务器.若相同,则跳过此步骤. 1. 可先查看是否安装过vsftp # rpm -qa | grep vsftpd 则代表已经安装.可直接跳过步骤2 2 .安装 vsftp # yum install vsftp* Is this ok [y/N]: y 代表安装完成. 3. 对vsftp 进行配置 # /etc/vsftpd/vsftp

  • Linux下Kafka单机安装配置方法(图文)

    介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语: •Kafka将消息以topic为单位进行归纳. •将向Kafka topic发布消息的程序成为producers. •将预订topics并消费消息的程序成为consumer. •Kafka以集群的方式运行,可以由一个或多个服务组成,每个服务叫做一个broker. producers通过网络将消息发送到Kafka集群,集群

  • linux下vsftpd的安装及配置使用详细步骤(推荐)

    vsftpd 是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点. vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux.BSD.Solaris. HP-UNIX等系统上面,是一个完全免费的.开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征. 比如:非常高的安全性需求.带宽限制.良好的可伸缩性.可创建虚拟用户.支持IPv6.速率高等. vsftpd是一款在Linux发行版中最受推崇的FT

  • Linux下MongoDB的安装和配置教程

    MongoDB安装 选择使用Yum安装 1.制作 repo 文件 cat << EOF > /etc/yum.repos.d/mongodb-org-4.2.repo [mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.or

  • Ubuntu 18.04 LTS安装KVM虚拟机的方法步骤

    本文介绍了Ubuntu 18.04 LTS安装KVM虚拟机的方法步骤,分享给大家,具体如下: 前一阵使用在最新的Ubuntu 18.04上安装了KVM来虚拟一个小的VM集群,将主要过程和其中遇到的一些问题记录下来. 准备工作 首先需要检查一下CPU是否支持虚拟化,执行一下命令来检查/proc/cpuinfo文件中是否又虚拟化相关的字眼,如果有的话表明CPU支持虚拟化技术. egrep -c '(svm|vmx)' /proc/cpuinfo 上面命令执行结果如果返回0,表示CPU不支持虚拟化技术

  • linux下利用Docker安装mysql的步骤

    作为一个测试人员,在学习的过程中,可能经常需要去在linux下安装一些软件,有的软件通过搜索别人的博客教程进行安装的话,随着一些软件的升级,以及虚拟机/服务器镜像版本不一致等外部因素,都有可能导致安装软件出现各种不可预知的问题,到时候还得去搜索资料逐一解决问题,挺耽误时间的. 而且,像linux下这些软件的安装,一般都是运维的事情,测试作为学习使用的话,安装好一个mysql数据库用于学习使用就行,新手不建议在linux下下载源码去安装软件,容易出问题. 接下来为大家演示一下,如何通过docker

  • linux下查看已经安装的jdk 并卸载jdk的方法(推荐)

    一.查看Jdk的安装路径: whereis java which java (java执行路径) echo $JAVA_HOME echo $PATH 备注:如果是windows中,可以使用: set java_home:查看JDK安装路径 java -version:查看JDK版本 二.卸载旧版本的JDK: 1. 确定JDK的版本: rpm -qa | grep jdk rpm -qa | grep gcj 可能的结果是: libgcj-4.1.2-42.el5 java-1.4.2-gcj-

  • linux下使用 CentOS7安装jdk1.7

    步骤一 卸载原有或自带jdk 有些linux系统会自带OPENJDK,我们最好先将原有自带的jdk删除掉再安装. (1)用 java -version 命令查看当前jdk版本信息 java -version (2)用rpm -qa | grep java 命令查询操作系统自身安装的java rpm -qa | grep java 步骤二 下载安装jdk 在网上找到的资料,多数jdk下载路径均已失效,所以建议大家去百度自行寻找,或者在官网下载.这里很多资料使用curl+地址的方法下载,不过我们要明

  • linux下配置jdk环境变量的三种方法总结

    一.修改/etc/profile文件当本机仅仅作为开发使用时推荐使用这种方法,因为此种配置时所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题.用文本编辑器打开/etc/profile,在profile文件末尾加入:JAVA_HOME=/usr/share/jdk1.5.0_05 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HO

随机推荐