龙空技术网

虚拟化应用实战--kvm基本部署

雪竹频道 924

前言:

此刻你们对“centosimg文件”可能比较珍视,姐妹们都想要了解一些“centosimg文件”的相关知识。那么小编也在网上网罗了一些有关“centosimg文件””的相关内容,希望咱们能喜欢,兄弟们一起来了解一下吧!

概述

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

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

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


一、虚拟化基础知识

1.1 全虚拟化

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

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

1.2 半虚拟化

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

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/selinxSELINUX=disabled​service firewalld stopchkconfig firewalld off

2.2.4 安装kvm

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

确认安装结果

lsmod |grep kvm

2.2.5 启服务并设置开机启动

service libvirtd startchkconfig libvirtd onservice libvirtd status


2.2.6 设置网卡桥接

1、备份原网卡配置

cp /etc/sysconfig/network-scripts/ifcfg-ens160 /etc/sysconfig/network-scripts/ifcfg-ens160.orgcat /etc/sysconfig/network-scripts/ifcfg-ens160TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens160UUID=5b010e14-fa0c-44f9-aea2-6847dfd9fcf5DEVICE=ens160IPADDR=192.168.1.178NETMASK=255.255.255.0GATEWAY=192.168.1.1DNS1=223.5.5.5ONBOOT=yes

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

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

DEVICE="br0" NAME="br0" BRIDGE="br0"

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

cat /etc/sysconfig/network-scripts/ifcfg-ens160TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=br0 #UUID=5b010e14-fa0c-44f9-aea2-6847dfd9fcf5DEVICE=br0BRIDGE="br0" IPADDR=192.168.1.178NETMASK=255.255.255.0GATEWAY=192.168.1.1DNS1=223.5.5.5ONBOOT=yes


3、重启网卡服务

service network restart

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


三、虚拟机

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,这个如果不改,则无法使用。

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 等

标签: #centosimg文件