云计算——卷一

1、什么是云计算?

云计算是一种按量付费的模式!云计算的底层是通过虚拟化技术来实现

2、云计算的服务类型

2.1 IAAS ---> 基础设施即服务(infrastructure as an service) 虚拟机 ecs openstack 2.2 PAAS ---> 平台即服务(platform as an service ) php,java docker容器 2.3 SAAS ---> 软件即服务 企业邮箱服务 cdn服务 rds数据库 开发+运维

云计算的三种服务类型.png

3、为什么要用云计算

小公司:10台 20w+ idc 5w + 100M 10W, 10台云主机,前期投入小,扩展灵活,风险小

大公司:闲置服务器计算资源,虚拟机,出租(超卖)

64G 服务器 64台1G 320台1G 64台 大公司自己的业务 264台 租出去国企

4:云计算的基础KVM虚拟化

宿主机:内存4G+ 纯净的系统CentOS-7

4.1:什么是虚拟化?

虚拟化,通过模拟计算机的硬件,来实现在同一台计算机上同时运行多个不同的操作系统的技术。

4.2 :虚拟化软件的差别

linux虚拟化软件:

qemu 软件纯模拟全虚拟化软件,特别慢!

AIX,兼容性好! xen(半) 性能特别好,需要使用专门修改之后的内核,兼容性差!

redhat 5.5 xen kvm KVM(linux) 全虚拟机,它有硬件支持cpu,基于内核,而且不需要使用专门的内核 centos6 kvm 性能较好,兼容较好

vmware workstations: 图形界面

virtual box: 图形界面 Oracle

4.3 安装kvm虚拟化管理工具

KVM:Kernel-based Virtual Machine

libvirt 作用:虚拟机的管理软件 libvirt: kvm,xen,qemu,lxc....virt virt-install virt-clone 作用:虚拟机的安装工具和克隆工具

qemu-kvmqemu-img (qcow2,raw)作用:管理虚拟机的虚拟磁盘

环境要求:

centos 7.4 7.6

vmware 宿主机 kvm虚拟机

内存4G,cpu开启虚拟化


QQ截图20191127132648.png

4.4、安装一台kvm虚拟机

分发软件TightVNC或者VNC-Viewer-6.19.325 宿主机

微软的远程桌面

vnc:远程的桌面管理工具 向日葵 微软的远程桌面

#下载centos7的base源,请将之前的源移走
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

#安装软件包
yum install libvirt virt-install qemu-kvm -y

#启动libvirtd.service     可检查端口5900
systemctl start libvirtd.service
systemctl status libvirtd.service


#安装虚拟主机
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /opt/centos2.raw,format=raw,size=10 --cdrom /opt/CentOS-7-x86_64-DVD-1708.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
#--virt-type kvm  虚拟化类型(qemu)
#--os-type=linux    系统类型
#--os-variant rhel7 系统版本
#--name centos7 虚拟机的名字
#--memory 1024  内存
#--vcpus 1  cpu核数
#--disk /opt/centos2.raw    磁盘文件
#format=raw,size=10 磁盘的文件大小
#--cdrom /opt/CentOS-7-x86_64-DVD-1708.iso 镜像文件
#--network network=default  网卡类型,使用默认的NAT网络
#--graphics vnc,listen=0.0.0.0  显示器

4.5:kvm虚拟机的virsh日常管理和配置

virsh常用参数

list(--all) 
#开机
start 
#关机
shutdown(虚拟机有系统) 
#拔电源关机
destroy 
#重启
reboot(虚拟机有系统时可用)

#导出配置
dumpxml 例子:virsh dumpxml centos7 >centos7-off.xml 
#删除
undefine 推荐:先destroy,在undefine 
#导入配置
define 
#修改配置
edit(自带语法检查)
#重命名
domrename (低版本不支持) 
#挂起
suspend 
#恢复
resume 
#查询vnc 端口号
vncdisplay
#开机启动
autostart,前提:systemctl enable libvirtd; 
#取消开机启动
autostart --disable

#执行 centos7的kvm虚拟机:(执行前请备份/boot/grub2/gurb.cfg)
grubby --update-kernel=ALL --args="console=ttyS0,115200n8" && reboot后
实现命令行登陆kvm虚拟机 
virsh console 

4.6:kvm虚拟机虚拟磁盘格式转换和快照管理

raw: 裸格式,占用空间比较大,不支持快照功能,不方便传输 ,读写性能较好 总50G 占用50G,传输50G

qcow2: qcow(qemu 写时的复制 copy on write)占用空间小,支持快照,性能比raw差一点,方便传输 总50G 占用2G,传输2G

创建kvm虚拟机时参数--disk需要变化

--disk /opt/oldboy.qcow2,format=qcow2,size=10

4.6.1磁盘工具的常用命令

qemu-img    #command
info        #查看虚拟磁盘文件的信息    qemu-img info test.qcow2
create      #创建新的虚拟磁盘   qemu-img create -f qcow2 test.qcow2 2G
resize      #调整磁盘磁盘容量   qemu-img resize test.qcow2 +20G
            生产环境不能缩容
convert     #磁盘文件格式转换   qemu-img convert -f raw -O qcow2 oldboy.raw oldboy.qcow2
    convert [-f fmt] [-O output_fmt] filename output_filename -c 

压缩 virsh edit web01:

    
      
      
      
      
      
      

4.6.2快照管理

创建快照

#创建以unix时间为名的快照
virsh snapshot-create web-01
#创建自定义名称的快照
virsh snapshot-create-as centos7 --name install_ok 

查看快照

virsh snapshot-list centos7

还原快照

virsh snapshot-revert centos7 --snapshotname 1516574134 

删除快照

virsh snapshot-delete centos7 --snapshotname 1516636570

raw格式不支持做快照,qcow2格式支持快照,并且快照就保存在qcow2的磁盘文件中

4.7:kvm虚拟机克隆

4.7.1:完整克隆

自动挡:

#o为old,n为new
virt-clone --auto-clone -o web01 -n web02 (完整克隆) 

手动挡:

#拷贝虚拟磁盘文件
cp web01.qcow2 web02.qcow2
#将虚拟主机的配置文件重定向到新的xml文件当中
virsh dumpxml web01 >web02.xml
#修改导入的配置文件
vim web02.xml
    #修改虚拟机的名字
    #删除虚拟机uuid
    #删除mac地址
    #修改磁盘路径
#导入配置文件
virsh define web02.xml 
#启动虚拟主机
virsh start web02

4.7.2:链接克隆

a:生成虚拟机磁盘文件 qemu-img create -f qcow2 -b web03.qcow2 web04.qcow2

b:生成虚拟机的配置文件

#将web01的配置文件导入新的xml文件并修改
virsh dumpxml web01 >web03.xml
vim web03.xml
    #修改虚拟机的名字
    web03
    #删除虚拟机uuid
    8e505e25-5175-46ab-a9f6-feaa096daaa4
    #修改虚拟磁盘文件路径
    
    #删除mac地址
    

c:导入虚拟机并进行启动测试

virsh define web03.xml 
virsh start web03

链接克隆为了方便,我选择用shell实现

#!/bin/bash
read -p "请输入要链接克隆的主机: " Old
virsh list --all | grep "$Old" &>/dev/null
if [ $? -ne 0 ];then
fi
read -p "请输入要生成的主机名: " New
vir_hd=${Old}.qcow2
hd_file=$(find / -name "${vir_hd}")
new_xml=/kvm/vm_${New}.xml
qemu-img create -f qcow2 -b ${hd_file} /kvm/${New}.qcow2 &>/dev/null
#if [ $? -ne 0 ];then
#       exit 99
#fi
virsh dumpxml $Old >${new_xml}
    dump=$?
sed -i "//c $New" ${new_xml}
    rename=$?
sed -i "//d" ${new_xml}
    uuid=$?
sed -i "/" ${new_xml}
    dest=$?
sed -i '/mac addr/d' ${new_xml}
    mac=$?
if [ $dump -eq 0 ] && [ $rename -eq 0 ] && [ $uuid -eq 0 ] && [ $dest -eq 0 ];then
        virsh define $new_xml
        echo "你可以启动${new}这台kvm虚拟机"
fi

你可能感兴趣的:(云计算——卷一)