kvm虚拟化是什么意思(开源kvm虚拟化软件系统有哪个)

概述

虚拟化由于可以充分利用硬件资源,使得一台服务器可以承载以前多台服务器的负载,并且实现了用户任务和数据的隔离,增强了安全性。节省企业IT基础建设成本,在企业中得到广泛应用。它促进了云计算概念的产生,并成为其主要支撑技术之一。目前市面上常见的虚拟化平台有如下 :

vmware的vsphere产品思杰的centrix(不建议使用)开源产品kvm

KVM 全称是基于内核的虚拟机(Kernel-based Virtual Machine),是开源的linux原生的全虚拟化解决方案。

一、虚拟化基础知识

1.1 全虚拟化

全虚拟化(Full virtualization)是硬件虚拟化的一种,允许未经修改的客操作系统(Guest OS)隔离运行。硬件虚拟化对客操作系统隐藏了真实的硬件,虚拟机运行在一个架设在硬件或主机操作系统(Host OS)之上的虚拟机监视器(VMM)中。对于全虚拟化,硬件特征会被映射到虚拟机上,这些特征包括完整的指令集、I/O操作、中断和内存管理等。在全虚拟化环境中,任何可以运行在裸机上的软件(通常是操作系统)都可以未经修改地运行在虚拟机中。架构如下图所示:

kvm虚拟化是什么意思(开源kvm虚拟化软件系统有哪个)

物理机上安装常规的操作系统,比如 Redhat、CentOS 和 Windows。Hypervisor 作为 OS 上的一个程序模块运行,并对管理虚拟机进行管理。KVM、VirtualBox 和 VMWare Workstation 都属于这个类型。

1.2 半虚拟化

半虚拟化(Paravirtualization)则要求对客操作系统做出必要的更改,以适应VMM提供的半虚拟化API。Xen 是开源半虚拟化技术的一个例子。

kvm虚拟化是什么意思(开源kvm虚拟化软件系统有哪个)

Hypervisor 直接安装在物理机上,多个虚拟机在 Hypervisor 上运行。Hypervisor 实现方式一般是一个特殊定制的 Linux 系统。Xen 和 VMWare 的 ESXi 都属于这个类型。

二、部署过程

2.1 环境描述

操作系统centos 7节点信息ip:192.168.1.178

2.2 安装kvm

2.2.1 查看cpu是否支持kvm

grep -E “vmx|svm” /proc/cpuinfo

如果输出结果中有vmx(Intel)或svm(AMD)字样,说明CPU的支持。

2.2.2 安装常用工具软件包

yum -y install epel-release net-tools vim wget

2.2.3 关闭防火墙、selinx

vim /etc/sysconfig/selinx SELINUX=disabled ​ service firewalld stop chkconfig firewalld off

2.2.4 安装kvm

yum -y install qemu-kvm libvirt virt-install bridge-utils ​

确认安装结果

lod |grep kvm
kvm虚拟化是什么意思(开源kvm虚拟化软件系统有哪个)

2.2.5 启服务并设置开机启动

service libvirtd start chkconfig libvirtd on service libvirtd status

2.2.6 设置网卡桥接

1、备份原网卡配置

cp /etc/sysconfig/network-scripts/ifcfg-ens160 /etc/sysconfig/network-scripts/ifcfg-ens160.org cat /etc/sysconfig/network-scripts/ifcfg-ens160 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens160 UUID=5b010e14-fa0c-44f9-aea2-6847dfd9fcf5 DEVICE=ens160 IPADDR=192.168.1.178 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=223.5.5.5 ONBOOT=yes

2、创建网卡桥接文件ifcfg-br0

为了简便起见,把原来的ifcfg-ens160网卡配置重命名为ifcfg-br0,需要修改或添加的选项如下:

DEVICE=”br0″ NAME=”br0″ BRIDGE=”br0″

修改完成后的ifcfg-br0如下:

cat /etc/sysconfig/network-scripts/ifcfg-ens160 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=br0 #UUID=5b010e14-fa0c-44f9-aea2-6847dfd9fcf5 DEVICE=br0 BRIDGE=”br0″ IPADDR=192.168.1.178 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=223.5.5.5 ONBOOT=yes

3、重启网卡服务

service network restart

用ifconfig -a 查看配置的br0网卡是否生效。

kvm虚拟化是什么意思(开源kvm虚拟化软件系统有哪个)

三、虚拟机

3.1 安装虚拟机

1 、准备操作系统安装所需的镜像文件

这边统一放到/data/kvm/ios目录下

mkdir -p /data/kvm/ios

2、创建虚拟机文件存放的目录

mkdir -p /data/kvm/image

3、创建虚拟机

virt-install -name=centos7_2C2G –ram 2048 –vcpus=2 –disk path=/data/kvm/image/centos7_2C2G.img,size=200 –cdrom /data/kvm/ios/CentOS-7-x86_64-DVD-1810.iso –network bridge=br0 –graphics vnc,listen=0.0.0.0,port=8888,keymap=en_us –accelerate –force –autostart

参数说明:

-n #创建虚拟机名称–ram #内存大小–vcpus #CPU个数–disk path #虚拟机文件存储位置及名称size #虚拟机大小–cdrom #镜像位置–network bridge #指定网桥vnc,listen=0.0.0.0,port #远程连接端口

3.2 克隆虚拟机

1、关闭虚拟机,制作模板文件

virsh shutdown name=centos7_2C2G

2、使用模板克隆出一个新的虚拟机

命令格式:

virt-clone -o 原虚拟机 -n 新虚拟机 -f 新img文件

执行克隆:

virt-clone -o CentOS7_2C2G -n sj -f /data/kvm/image/sj.img

3、修改新克隆虚拟机的vnc远程连接端口

virsh edit sj 搜索/vnc 端口更改成另外一个,yes要改成no,这个如果不改,则无法使用。
kvm虚拟化是什么意思(开源kvm虚拟化软件系统有哪个)

4、启动新虚拟机

virsh start sj

3.3 kvm常用工具

libvirt:操作和管理KVM虚机的虚拟化 API。可以操作包括 KVM,vmware,XEN,Hyper-v等 Hypervisor。Virsh:基于 libvirt 的 命令行工具 (CLI)。Virt-Manager:基于 libvirt 的 GUI 工具。virt-v2v:虚拟机迁移工具。virt-* 工具:包括 Virt-install (创建KVM虚机的命令行工具), Virt-viewer (连接到虚机屏幕的工具),Virt-clone(虚机克隆工具),virt-top 等

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2305938578@qq.com 举报,一经查实,本站将立刻删除。
(0)
上一篇 2023年 8月 5日
下一篇 2023年 8月 6日

相关推荐