KVM虚拟化平台部署

Posted 清晨丶暖阳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了KVM虚拟化平台部署相关的知识,希望对你有一定的参考价值。

扩展一:遇到以下问题解决方式

1、mount error(115): Operation now in progress

关闭宿主机Windows防火墙

2、mount error(13): Permission denied

权限问题使用以下代码挂载

mount -t cifs -o username="xxx",password="xxxxx" //IP/镜像 /mnt/

一、KVM虚拟机部署流程

1、准备的环境变量

操作系统:Centos 7.6(1810)
网卡:NAT即可(进系统更改)


2、挂载光盘,制作本地YUM仓库

###永久挂载,准备好安装服务的yum仓库
vim /etc/fstab
### 在文件中追加一行,挂载磁盘
/dev/cdrom /mnt iso9660 defaults 0 0
###更新挂载目录
mount -a 
###查看挂载目录
df -hT

###通过挂载光盘制作本地yum仓库
cd /etc/yum.repos.d/
mkdir repos.bak
mv CentOS-* repos.bak

###本地YUM仓库配置文件
vim kvm.repo
[kvm]
name=kvm
baseurl=file:///mnt
gpgcheck=0
enabled=1

###清除yum仓库,更新重新加载yum仓库
yum clean all  && yum repolist

3、优化环境

设置DNS反向解析:是否反解DNS,设置为NO可以让客户端连接服务器更快。

vim /etc/ssh/sshd_config
#115行;取消DNS注释,改为NO
UseDNS no

4、安装KVM基本组件

yum groupinstall -y "GNOME Desktop"
yum -y install qemu-kvm
yum -y install qemu-kvm-tools
yum -y install virt-install
yum -y install qemu-img
yum -y install bridge-utils
yum -y install libvirt
yum -y install virt-manager
#----------------------命令解释---------------------
# 安装 GNOME 桌面环境  如果装了图形界面可以不需要装
yum groupinstall -y "GNOME Desktop"
# KVM 模块
yum -y install qemu-kvm
# 安装KVM 调试工具,可不安装
yum -y install qemu-kvm-tools
# 构建虚拟机的命令行工具
yum -y install virt-install
# qemu 组件,创建磁盘、启动虚拟机等
yum -y install qemu-img
# 网络支持工具
yum -y install bridge-utils
# 虚拟机管理工具
yum -y install libvirt
# 图形界面管理虚拟机
yum -y install virt-manager

检测当前虚拟机是否支持虚拟化

cat /proc/cpuinfo | grep vmx
# 查看CPU是否支持虚拟化

显示KVM组件是否安装成功

Lsmod:显示已载入的系统模块
lsmod | grep kvm

将应用设为默认启动项

#系统的默认启动设置
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

5、KVM网络模式说明

KVM网络的两种模式:

1. NAT: 默认设置,数据包由 NAT 方式通过主机的接口进行传送,可以访问外网,但是无法从外部访问虚拟机网络


2. 网桥:这种模式允许虚拟机像一台独立的主机一样拥有网络,外部的机器可以直接访问到虚拟机内部,但需要网卡支持(一般有线网卡都支持)

Bridge网桥模式的部署

###修改原有网络的配置文件,修内容如下,再删除原有IP地址IPADDR、网关GATEWAY、网段地址NETMASK、DNS地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=none
IPV6INIT=no
ONBOOT=yes
BRIDGE=br0			#删除原先地址,设置为网桥模式,关联br0网卡

创建桥接网卡:br0

vim /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.163.200
NETMASK=255.255.255.0
GATEWAY=192.168.163.2

重启网卡:systemctl restart network.service

6、KVM部署和管理

创建KVM存储和镜像数据的目录、上传centos7镜像

7、新虚拟机部署流程



开始安装后,就能像平时安装虚拟机一样的进行安装了

这篇文章是我花几天写下的烂文章,是一种废青,糟糕的心态写下的文章,糟糕的态度是我该铭记的耻辱。

献上代码总集

#!/bin/bash
#######################准备好虚拟环境
#######################部署KVM
### 修改主机名
hostnamectl set-hostname kvm 
su
### 修改自动挂载配置文件:vim /etc/fstab
echo '/dev/cdrom /CD iso9660 defaults 0 0' >> /etc/fstab
### 挂载配置文件
mount -a 
df -hT

### 修改配置文件(115行):/etc/ssh/sshd_config,提高客户端连接速度
sed -i '115c UseDNS no' /etc/ssh/sshd_config
# 为了取消DNS的反向代理,让客户端连接服务器更快。

### 安装一些软件需要kvmyum仓库
mkdir /etc/yum.repos.d/repos.bak
mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/repos.bak
# 这里的mnt就是挂载磁盘的目录(普通的挂载文件)
echo '[kvm]
name=kvm
baseurl=file:///CD
gpgcheck=0
enabled=1' >> /etc/yum.repos.d/kvm.repo
# 清除yum仓库,再重新加载
yum clean all  && yum repolist
### 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0  #关闭系统安全机制

### 1.安装KVM
# 安装 GNOME 桌面环境  如果装了图形界面可以不需要装
#yum groupinstall -y "GNOME Desktop"
# KVM 模块
yum -y install qemu-kvm
# 安装KVM 调试工具,可不安装
#yum -y install qemu-kvm-tools
# 构建虚拟机的命令行工具
yum -y install virt-install
# qemu 组件,创建磁盘、启动虚拟机等
yum -y install qemu-img
# 网络支持工具
yum -y install bridge-utils
# 虚拟机管理工具
yum -y install libvirt
# 图形界面管理虚拟机
yum -y install virt-manager

### 检测虚拟机是否支持虚拟化
cat /proc/cpuinfo | grep vmx
### 查看是否安装kvm模块
lsmod | grep kvm
### 设置开机启动界面的显示模式(graphical.target图形化界面设为默认模式default)
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

###查找到匹配指定字符串的行:
WK=$(grep "BOOTPROTO" /etc/sysconfig/network-scripts/ifcfg-ens32)

############设置KVM网络
## 1.NAT: 默认设置,数据包由 NAT 方式通过主机的接口进行传送,可以访问外网,但是无法从外部访问虚拟机网络
## 2.网桥:这种模式允许虚拟机像一台独立的主机一样拥有网络,外部的机器可以直接访问到虚拟机内部,但需要网卡支持(一般有线网卡都支持)
## 使用Bridge网桥模式进行部署
sed -i "s/$WK/BOOTPROTO=none/" /etc/sysconfig/network-scripts/ifcfg-ens32
sed -i 's/IPV6INIT=yes/IPV6INIT=no/' /etc/sysconfig/network-scripts/ifcfg-ens32
sed -i 's/ONBOOT=no/ONBOOT=yes/' /etc/sysconfig/network-scripts/ifcfg-ens32
sed -i '/IPADDR*/d' /etc/sysconfig/network-scripts/ifcfg-ens32
sed -i '/NETMASK*/d' /etc/sysconfig/network-scripts/ifcfg-ens32
sed -i '/GATEWAY*/d' /etc/sysconfig/network-scripts/ifcfg-ens32
sed -i '/DNS1*/d' /etc/sysconfig/network-scripts/ifcfg-ens32
sed -i '$a BRIDGE=br0' /etc/sysconfig/network-scripts/ifcfg-ens32

## 创建网桥:ifcfg-br0(vim /etc/sysconfig/network-scripts/ifcfg-br0)
echo 'TYPE=Bridge
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.88.47
NETMASK=255.255.255.0
GATEWAY=192.168.88.2
DNS1=8.8.8.8
' > /etc/sysconfig/network-scripts/ifcfg-br0
#########################
######################## KVM
###创建KVM存储和镜像数据的目录、上传centos7镜像
mkdir -p /data_kvm/iso
mkdir -p /data_kvm/store
### 挂载win宿主机上的目录到虚拟机:需要应用到该目录内镜像文件(同步了win下目录)
mount -t cifs -o username="Time",password="19970101" //192.168.88.1/镜像 /mnt/
### 挂载不重要,只有是其中的镜像
cp -p /mnt/CentOS-7-x86_64-DVD-1804.iso /data_kvm/iso/
### 创建存储池(iso/store)
## 这命令只会开启桌面程序,通过系列步骤可以创建虚拟机
virt-manager

以上是关于KVM虚拟化平台部署的主要内容,如果未能解决你的问题,请参考以下文章

KVM虚拟化平台部署及管理

虚拟化技术之KVM平台部署及简单应用

部署KVM虚拟化平台------搭建

部署KVM虚拟化平台

部署KVM虚拟化平台

KVM 虚拟化技术 | 虚拟化平台部署