KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理

目录:
(1.1)虚拟化介绍
(1.2)KVM的介绍及安装
(1.3)guestos安装及管理虚拟机
(1.4)利用脚本自动部署vm
(1.5)实例:快速搭建HA环境


(1.1)虚拟化介绍
(1.1.1)在早期的时候,没有虚拟化的环境下,我们的服务都是直接运行在物理机上的。我们其实是希望各个服务能有自己的运行环境,各自的CPU内存等资源,互不干扰,例如我们在一台服务器上运行MySQL服务,由于某条SQL语句出错,出现了大量IO资源的消耗,导致同一物理机上的其他服务都无法运行,因此我们希望各个服务之间的资源是互相隔离的。
对于我们传统的没有虚拟化情况下的服务器的架构,最底层是物理硬件,接着上一层是OS操作系统层,再往上就是app服务应用层,这就是传统的一个服务器运行的模型,此时我们如果还有其他的服务,那么需要再定制一台物理机部署其他的服务,出现的问题是我们会发现每台物理机日常的消耗,例如CPU资源的消耗只有10%左右,带来了硬件资源的极大浪费。KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
为了缓解这样的问题,提高资源的利用效率,我们开始使用虚拟化技术,虚拟化技术的架构一般为,最底层是硬件层,往上一层是操作系统OS层,再往上就是我们运行的每台虚拟机,每台虚拟机我们称为guestos,对于guestos的架构也是由硬件层、操作系统OS层、app服务应用层这样的三层组成的。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
CPU一般在执行指令的时候会分为ringe3、ringe2、ringe1、ringe0四个级别的,其中用户发出的指令都是ringe3级别的即应用程序指令,对于ringe0指令一般是及其敏感的指令,用户是无法发出这样的指令的,只有内核才会向CPU发出ringe0级别的指令。现在我们跳到虚拟机层面来看,在虚拟机内也有虚拟出来的硬件层,也会有发送ringe0级别指令的情形,但是由于虚拟机是工作在用户空间的,只能发送ringe3级别的指令,是不可能发送ringe0级别的指令的,所以此时虚拟机是无法发送ringe0指令的,这种情况这也就导致了虚拟机无法正常的工作。所以早期因为CPU的这个特性,就导致了虚拟化是不可能实现的。在1998年vmware公司开发了一门新的技术bt技术,bt技术即为二进制转换技术会将虚拟机的指令转换给物理CPU去执行,物理机执行完后会将执行的结果返还给虚拟机,这样就使得虚拟机的CPU可以在用户空间执行ringe0级别的指令了。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.1.2)我们使用# grep name /proc/cpuinfo命令查询cpu的信息时,可以发现虚拟机的cpu信息是和物理机的cpu信息一致的。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.1.3)所谓虚拟机,就是某种虚拟化产品创造出来的具体的guestos的实例,而像vmware workstation则是一种虚拟化的产品,是一套管理系统来管理各个虚拟机,所以虚拟机是虚拟化最基本的一个应用。根据虚拟化的类型进行分类,主要分为全虚拟化、半虚拟化和硬件辅助虚拟化三类。
(1.1.4)第一种全虚拟化类型,硬件都是模拟出来的,由于硬件是模拟的,所以运行时的性能比较低,这种虚拟化产品的代表主要有vmware和virtualbox,由于性能很低,不适合进行推广,所以vmware公司提供了一套工具vmware tools,才得以提高虚拟机的性能(图1-5)。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.1.5)第二种半虚拟化类型,访问的是真实的硬件,在我们的硬件层上,一部分是操作系统OS层,另一部分是vmm/hypervisor层,假设我们硬件资源为100G硬盘和16G内存,并且没有任何虚拟机存在,此时从OS层来看,操作系统是独享100G硬盘和16G内存资源的,接着我们在vmm/hypervisor层上创建两个虚拟机,其中虚拟机是可以直接访问我们的硬件资源的,每个虚拟机使用4G内存和20G的硬盘,此时物理硬件会真的将相关的资源分配出来给虚拟机使用,所以此时我们再从OS层来看会发现操作系统目前只有8G内存和60G的硬盘可以使用。其中我们的OS层称为domain-0,每个虚拟机称为domain-U,由于虚拟机是直接访问硬件资源的,所以性能是极高的,又由于guestos需要访问硬件层,所以每个guestos的内核都得能够被修改,所以guestos的内核选择都是开源的,例如Linux、Unix等。而像Windows系统由于不是开源操作系统,无法修改内核,这样性能是极地的,所以一般guestos的内核是Windows操作系统时都会安装一个半虚拟化驱动,能够缓解性能较低的问题。半虚拟化类型的代表就是Xen
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.1.6)第三中硬件辅助虚拟化类型,利用CPU的虚拟化功能,所以当我们需要安装虚拟机的时候,必须要开启物理机的CPU虚拟化功能。其中硬件辅助虚拟化的代表是KVM,以上是根据虚拟化的类型进行的三种分类。
(1.1.7)根据虚拟化的使用范围进行进行分类主要有两类:1.个人使用的虚拟化产品;2.企业级虚拟化产品。
其中个人虚拟化产品主要包括:vmware workstation、virtualbox。这种类型的虚拟化产品的框架主要为最低层是硬件层,往上一层OS操作系统层,再往上一层是vmm/hypervisor,接着再往上一层就是一个一个的guestos,而我们平时所见的vmware workstation、virtualbox就是属于vmm/hypervisor这一层的,以便对我们运行的虚拟机做相关的管理和控制(图1-7)。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.1.8)企业级虚拟化产品主要包括:vsphere、citrix、rhev。这种类型虚拟化产品的框架是最底层是硬件层,往上一层安装的是vmm/hypervisor,再往上一层就是一台一台的虚拟机层。由于没有操作系统层,而是在硬件上直接安装的是vmm/hypervisor层,所以常规的安装方法是通过光盘、网络或者U盘进行安装。对于vmm/hypervisor层每个厂商的产品是不同的,如果使用的是vmware公司的vsphere虚拟化产品那么vmm就是ESXI,其上运行的虚拟机是vmware;如果使用的是citrix公司的虚拟化产品那么vmm就是xenserver,其上运行的虚拟机是xen;如果使用的是红帽公司的rhev虚拟化产品那么vmm就是rhevh,其上运行的虚拟机是KVM(图1-8)。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.1.9)vmware workstation就相当于GUI客户端与vmm/hypervisor整合在了一起,对于vsphere来说,创造了一个vCenter,vmware vCenterServer提供了一个可伸缩、可扩展的平台,为虚拟化管理奠定了基础。vCenter可集中管理vmware vsphere环境,与其他管理平台相比,极大地提高了IT管理员对虚拟化环境的控制。


(1.2)KVM的介绍及安装
KVM的全称是Kernel-based Virtual Machine,它属于vmm/hypervisor,是虚拟机的管理器,属于内核的模块。KVM是一个开源的系统虚拟化模块,自Linux2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源代码很少。目前KVM已经成为学术界的主流vmm之一。
(1.2.1)因为KVM属于内核模块,是内核空间的组成部分,用户是无法直接管理的,如果用户需要控制KVM那么就必须要使用对应的工具,早期使用的工具是qemu,它是一种模拟器(emulation),纯粹是模拟出来的,和物理硬件没有任何的关联性,qemu是用户空间的一个管理工具,结合KVM使用,随着后来的发展出现了qemu-kvm这样专门的管理工具。后来红帽公司基于qumu基础上开发出了一个libvirt的API程序,在这个API之上有很多的管理工具,例如openstack、rhev、virt-manager、virsh、virt-install、virt-view,其中libvirt不仅可以管理KVM,还可以管理qemu,例如使用openstack管理虚拟机的时候,就是使用libvirt管理qemu,同样也是可以使用libvirt管理KVM的,所以当我们的libvirt服务没有启动起来,那么是无法创建虚拟机的,因此我们需要保证libvirtd服务一直处于正常运行的状态。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.2.2)我们目前使用的是vmware workstation模拟物理机,在vmware中在创建所需的KVM虚拟机,这是一种嵌套虚拟化,由于KVM属于硬件辅助虚拟化,所以必须要开启CPU的支持。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.2.3)接着我们在vms002主机上将KVM安装起来,首先在vms002主机上查询可以安装的包virtual,接着使用yum将virtual软件包使用groupinstall方式安装起来。此时我们重启系统后使用# egrep '(vmx|svm)' /proc/cpuinfo查询到当前环境的cpu虚拟化支持已经启用了。并且发现此时libvirtd服务已经正常的启动了,且自动设置了开机自动启动。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.2.4)接着我们介绍相关管理KVM的工具,在xshell中我们我们使用软件自带的传输方式将Windows物理机中的rhel7.1的镜像传到vms002虚拟机上,使用快捷键Ctrl+Alt+F(ctrl+alt+f)。并在.bash_profile文件中的环境变量处添加qemu-kvm可执行命令的路径,使得系统可以执行qemu-kvm命令。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.2.5)接着我们准备创建一个虚拟机出来,①首先为这个虚拟机创建一个硬盘文件,②接着创建一个虚拟机,使用刚刚创建出来的这个硬盘文件。KVM生成的文件格式一般为raw和qcow2,vmware生成的文件格式一般为vmdk,virtualbox生成的文件格式一般为vdi,Xen生成的文件格式一般为raw和qcow2。使用命令# qemu-img create -f qcow2 test.qcow2 8G,此时我们便创建了一个8G的硬盘文件了。
注意:# qemu-img --help可以通过此命令查询帮助信息。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.2.6)我们使用-m命令指定所需要的内存的大小为512M,--smp指定的是启动的顺序,--boot order=cd指的是boot启动先从c(hard disk)启动,再从d(CD-ROM)启动,-cdrom指的是从我们所添加的光盘镜像开始启动,-hda指的是我们从哪块硬盘开始启动的。此时我们便创建了一个虚拟机,监听在本地回环接口的5900端口
注意:# qemu-kvm --help可以通过这个命令查询相关的帮助信息。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.2.7)此时我们保持vms002主机上创建的虚拟机一直运行,并打开另外一个连接vms002的终端去安装VNC软件。安装完毕后,便可以使用vnc连接到5900端口,此时便正常的连接到了虚拟机。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.2.8)随着我们在QEMU管理工具中开始安装操作系统,我们的虚拟机的硬盘文件的容量也开始逐渐增大了,虚拟机硬盘文件在/vdisk/目录下的test.qcow2文件中。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.2.9)对于生成的test.qcow2文件,我们也可以对虚拟机的硬盘文件进行压缩以节约空间资源,其中convert指的是类型转换,-c表示的是压缩,-O表示的是输出的格式,输出的文件名rhel7.img。此时我们使用压缩过的rhel7.img文件引导虚拟机,发现仍然是可以正常的引导起来的。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理


(1.3)guestos安装及管理虚拟机
(1.3.1)由于QEMU工具管理工具是传统的使用方式,使用起来非常的不方便,目前企业中通常使用的是libvirt这个API接口来管理虚拟机,在上层使用比较便捷的工具是virt-manager。(记住:要等qemu-kvm安装的虚拟机完成后在使用virt-manager)
注意:打开远端图形化界面的三个条件:①ssh -X;②服务器那边要有Xclient,同时也要安装了xorg-x11-xauth;③客户端需要运行Xserver
# yum list xauth*---查询图形化界面的安装软件包
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.3.2)我们选择本地镜像安装,内存大小选择512M。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.3.3)我们创建的硬盘大小选择8G即可,默认镜像文件的存放位置是在/var/lib/libvirt/images/目录当中的。如果我们想将镜像文件的位置改变,则可以选择“选择管理的或者其他现有存储”,此时如果我们存放的位置是在一个逻辑卷当中,那么以后就可以使用逻辑卷的快照功能对虚拟机做备份,那么备份的效率会非常的高。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.3.4)接着我们给虚拟机设置一个名称,在安装前自定义配置,并使用默认的网络设置。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.3.5)接着我们在Disk 1当中的磁盘总线选择VirtIO,这样虚拟机使用的便是半虚拟化技术,性能是非常高的,如果选择的是IDE或者其他的类型,那么使用的将是全虚拟化技术,会感觉到性能非常的低。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.3.6)接着NIC网卡的设备类型也要选择VirtIO,这样虚拟机使用的是半虚拟化技术,性能也是非常高的。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.3.7)我们的显示协议部分,选择的类型为VNC,Keymap要对应的选择en-us,这样我们的虚拟机的显示器部分才会显示正常,此时选择完毕后点击应用,便可以开始正常的安装了。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.3.8)此时我们一台虚拟机便已经创建了出来,并且在/var/lib/libvirt/images/目录下也产生了虚拟机的硬盘镜像文件了。通过控制台也可以方便的对虚拟机进行控制操作了。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.3.9)目前在我们vms002主机上的sda上划分一个分区用来创建逻辑卷node
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.3.10)接着我们在此逻辑卷上创建一个虚拟机node
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.3.11)并且设置好硬盘类型、网卡类型以及显示协议类型为VirtIO
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.3.12)此时我们安装的虚拟机就会开始安装在/dev/vg0/node逻辑卷中了
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.3.13)以上都是自己创建一个全新的虚拟机,其实我们也是可以通过导入已经安装好系统的虚拟机镜像来创建虚拟机的。我们将之前的压缩镜像rhel7.img拷贝到/var/lib/libvirt/images/目录。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.3.14)接着硬盘类型选择VirtIO、网卡的类型选择VirtIO、显示协议选择VNC且字符编码选择en-us
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.3.15)此时通过导入已有镜像快速创建虚拟机的方式便实现了。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理


(1.4)利用脚本自动部署vm
KVM的定制性能很强,使用虚拟机来自动部署主要有两类环境,1.第一种是使用光盘镜像安装在逻辑卷中;2.第二种是通过导入虚拟机已经安装好的镜像实现。
(1.4.1)对于使用光盘镜像安装在逻辑卷中的情形,我们是把已经安装好的虚拟机,作为一个模板,然后利用逻辑卷的快照功能部署虚拟机。首先通过# virsh list --all查看当前KVM中运行的虚拟机个数和状态,在/etc/libvirt/qemu/文件中存放着KVM虚拟机的配置文件
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.4.2)由于每个虚拟机的OS中都有自己独有的SID,所以对模板虚拟机需要进行重封装,首先进入到KVM中的node虚拟机中的/etc/sysconfig/network-scripts/目录中,并编辑ifcfg-eth0文件
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.4.3)在node的虚拟机中,将/etc/ssh/目录下的所有ssh_host_开头的文件全部删除,并将虚拟机关闭。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.4.4)接着在vms002主机上查询安装虚拟机重封装的软件包名,并将软件包安装起来。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.4.5)接着我们在vms002主机上使用命令# virt-sysprep -d node对虚拟机进行重封装的操作。因为我们node虚拟机是装在/dev/vg0/node这个逻辑卷中的,所以我们现在对node这个虚拟机所做的所有的操作,都会保存在逻辑卷里。我们在vms002主机上操作,创建一个node虚拟机的快照命名为node1,空间为2G。此时我们使用逻辑卷LVM的快照功能进行备份的操作便实现了,非常的方便。LVM逻辑卷快照备份
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.4.6)接着我们对虚拟机的配置文件进行复制,进入到/etc/libvirt/qemu目录中,复制node.xml为一个新的文件node1.xml,并对node1.xml配置文件进行编辑。并使用uuidgen随机生成一个新的UUID
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.4.7)接着在node1.xml配置文件中将如下独有的信息进行修改。接着在KVM的面板中创建node1虚拟机,并将虚拟机启动起来。
# virsh define node1.xml
# virsh start node1
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.4.8-1)故障排错:此时创建的node1虚拟机已经可以运行了,但是发现无法正常的登录系统,出现了grub>报错。此时我们将node1虚拟机关闭掉,然后将cdrom启用起来,并连接到rhel7.1.iso的光盘镜像。并且设置Boot Option中启用引导菜单选项。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.4.8-2)同时还要在grub界面执行如下的命令(可省)
# set root=(hd0,msdos1)
# linux16 /vmlinuz-3.10.0-229.el7.x86_64 ro root=/dev/vda1
# initrd16 /initramfs-3.10.0-229.el7.x86_64.img
# boot
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.4.9)故障排错:此时重启虚拟机发现通过F12可以进入到引导菜单了,接着选择Troubleshooting,并选择救援模式。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.4.10)故障排错:接着选择Continue,此时我们便进入到光盘镜像的系统中了,接着使用切换根的命令chroot,进入到/mnt/sysimage目录中,此为虚拟机操作系统所在的目录。
# chroot /mnt/sysimages
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.4.11)故障排错:接着在node1虚拟机中操作如下的命令,此时我们的系统就可以正常的启动起来了
# mount /dev/cdrom /mnt
# rpm -ivh /mnt/Packages/kernel-3.10.0-229.el7.x86_64.rpm --force
# grub2-mkconfig -o /boot/grub2/grub.cfg
# grub2-install /dev/vda
# vim /etc/sysconfig/selinux-----将SELinux值改为disabled
# exit
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.4.12)以后我们创建虚拟机的时候,可以将node虚拟机作为一个模板,例如在node虚拟机中创建一个/bin/aa.sh的脚本,使得开机的时候自动的运行系统所需的服务,例如在/etc/rc.d/rc.local中进行配置运行/bin/aa.sh。运行完一次后再运行# sed -i ‘/aa.sh/d’ /etc/rc.local将运行aa.sh脚本的条目删除掉,在node中把这样的一个设置写完后关机再保存成一个模板后,以后使用模板重启虚拟机时就都只会第一次运行aa.sh脚本,后面再重启都不会再运行这个aa.sh脚本了(参考虚拟机脚本.png)
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.4.13)此时我们看到执行完脚本后node1虚拟机便已经消失了
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.4.14)现在我们完成一个用脚本自动部署实例,首先我们将vms002系统还原到最初始的状态,然后将rh436_new.tar.gz文件解压。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.4.15)首先我们运行server.sh脚本将环境设置一下,然后执行reinstall.sh脚本便可以开始创建虚拟机了。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.4.16)我们已经正常的创建了第一台KVM虚拟机,然后我们按照同样的方式一共创建3台虚拟机。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理


(1.5)实例:快速搭建HA环境
(1.5.1)首先我们从vms002主机上连接到node1、node2、node3这三台虚拟机上,并在每台虚拟机上安装高可用集群软件
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.5.2)接着在node1、node2、node3虚拟机上将pcsd服务启动起来并设置开机自动启动。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.5.3)接着给三台虚拟机的高可用集群的用户设置密码,并对三台虚拟机的集群环境进行验证。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.5.4)接着在vms002主机上使用浏览器界面打开,使用https连接node1节点的2224端口。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.5.5)此时我们便可以使用高可用集群创建Nginx、MySQL等服务都是可以的。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.5.6)注意:我们也是可以使用如下的一些子命令进行具体设置的
# virsh --help |grep list
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.5.7)例如我们现在给node1虚拟机中添加一块硬盘,我们在/var/lib/libvirt/images/目录中创建一个node1-2.qcow2的硬盘。
# qemu-img create -f qcow2 node1-2.qcow2 2G
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.5.8)给node1虚拟机添加一块硬盘node1-2.qcow2,并且将添加的硬盘命名为vdb
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理
(1.5.9)如果需要删除指定的虚拟机上的一块硬盘,那么可以使用# virsh detach-disk node1 vdb命令。
KVM虚拟化技术详解(一)--虚拟化介绍及自动部署管理

—————— 本文至此结束,感谢阅读 ——————

猜你喜欢

转载自blog.51cto.com/13613726/2460499