一、虚拟化
1、定义:将计算机的各种实体资源(cpu、内存、磁盘空间、网络适配器等),予以抽象、转化后呈现出来并可供分区、组合为一个或多个电脑配置环境。
2、虚拟化的优势:
1)提高应用的兼容性
2)降低运营成本
3)加速应用的部署
4)提高服务器的可用性
5)提高资源利用率
6)动态调度资源
7)降低能源消耗
3、kvm
1)KVM是开源软件
2)是x86架构且硬件支持虚拟化技术(如intel VT或AMD-V)的Linux全虚拟化解决方案
3)包含为处理器提供底层虚拟化可加载的核心模块kvm.ko(kvm-intel.ko或kvm-AMD.ko)
4)需要经过修改的QEMU软件(qemu-kvm),作为虚拟机上层控制和界面
5)能在不改变linux或windows镜像的情况下同时运行多个虚拟机,(它的意思是多个虚拟机使用同一镜像)并为每一个虚拟机配置个性化硬件环境(网卡、磁盘、图形适配器……)同时KVM还能够使用ksm技术帮助宿主服务器节约内存。
4、Virtual Machine Manager
1)虚拟机管理员,可以让用户管理多个虚拟机
2)创建、编辑、引导或停止虚拟机
3)查看并控制每个虚拟机的控制台
4)查看每部虚拟机的性能及使用率
5)查看每部正在运行中的虚拟机以及主控端的即时性及使用率信息
6)无论在本机或远程,皆可使用KVM、Xen、QEMU
二、kvm 虚拟化的部署安装
1、首先
对于虚拟机来说,需要在BIOS里,开启硬件虚拟化支持`
对于虚拟机来说,需要在虚拟机里设置,开启硬件虚拟化支持(VT-x/AMD-V)
(在处理器的搜索化引擎中勾选如下选项)
2、开启虚拟化支持后,使用下列命令检查硬件虚拟化是否可用(MAC笔记本及多数服务器平台不需要设置)
对于Intel的cpu支持
grep vmx /proc/cpuinfo
对于AMD的cpu执行
grep svm /proc/cpuinfo
(在此之前,可以先检查是否有图形化界面的安装,如果没有还需安装图形化界面)
1)grep vmx /proc/cpuinfo
grep svm /proc/cpuinfo
3、检查kvm模块是否被载入
(对于Intel的CPU,载入的模块叫做kvm_intel
对于Intel的CPU,载入的模块叫做kvm_amd)
lsmod | grep kvm
发现已成功载入,此时开始安装对应的软件包
yum install virt* libvirt* qemu* -y
5、新建虚拟机,镜像使用
VMware-VMvisor-Installer-6.7.0-8169922.x86_64.iso
注意: 先将ISO文件复制到主机里,然后通过多种方式进行虚拟机的建立及管理,支持下列工具进行管理
a) virt-manager (图形化管理工具)
b) virt-install (纯命令行虚拟机建立工具)
c) virsh (纯命令行虚拟机管理工具,可以进行开关机,迁移等操作)
在创建时,我们默认选择使用文件,作为虚拟机的磁盘。
安装过图形化界面的虚拟机此时只需要用startx 开启图形化界面
输入 virt-manager 进入管理界面
开始新建一个虚拟机
此处选择镜像导入
选择大小
选择合适的磁盘大小
点击finish完成新建虚拟机
注:另一种方法
还使用block类型的存储,作为虚拟机的磁盘
a) 为虚拟机添加磁盘,例如sdb,大小40G
将其划分出3GB空间,并作为虚拟机的磁盘
分区步骤,省略...
在新建虚拟机时,输入新建的磁盘分区位置,并作为虚拟机的磁盘
6、KVM网络部分
默认情况下,如果不特殊指定,则虚拟机都在NAT模式下,也就是物理机充当网关的角色,网关在物理机的virbr0虚拟桥接器上,如果希望虚拟机直接于物理机处于同一网络,也就是桥接模式,则需要手动创建软件网桥
创建软件网桥,可以使用virt-manager进行创建,也可以纯手工编辑接口配置文件
a) virt-manager>“Edit”>“Connections Details”>"Network Interfaces"图形化进行创建
点击下图的“+”号,接口类型选择桥接
b) nmcli进行创建
c) 手工vi接口配置文件
配置文件示例:
[eth0物理接口]
DEVICE=eth0
ONBOOT=yes
BRIDGE=“br0”
[br0软件网桥接口]
DEVICE=“br0”
ONBOOT=“yes”
TYPE=“Bridge”
BOOTPROTO=“none”
IPADDR=“192.168.254.117”
GATEWAY=“192.168.254.254”
STP=“on”
DELAY=“0.0”
注意:
软件网桥配置时,通常需要指定IP地址,这时关联的物理接口,不允许指定IP地址,否则网络会异常
cd /etc/sysconfig/network
vi ifcfg-ens33
DEVICE=ens33
ONBOOT=yes
BRIDGE="br0"
vi ifcfg-br1
DEVICE="br1"
ONBOOT="yes"
TYPE="Bridge"
BOOTPROTO="none"
IPADDR="192.168.76.162"
GATEWAY="192.168.76.2"
STP="on"
DELAY="0.0"
7、设置虚拟机的网络类型,将其关联到新建的“br1”软件网桥上
(配置好之后发现关联成功,ens33和br1在同一网段上)