2019-11-20 day76 云计算KVM虚拟化

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数据库 开发+运维

    image
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

yum install libvirt virt-install qemu-kvm -y

KVM:Kernel-based Virtual Machine

  • libvirt 作用:
    虚拟机的管理软件 libvirt: kvm,xen,qemu,lxc....

  • virt virt-install virt-clone 作用:
    虚拟机的安装工具和克隆工具 qemu-kvm

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

  • 环境要求:
    centos 7.4 7.6, vmware 宿主机, kvm虚拟机, 内存4G,cpu开启虚拟化

    image
IP:10.0.0.100
echo '192.168.37.20 mirrors.aliyun.com' >>/etc/hosts
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

  • 4.4:安装一台kvm虚拟机

分发软件TightVNC或者VNC-Viewer-6.19.325 宿主机
微软的远程桌面
vnc:远程的桌面管理工具 向日葵 微软的远程桌面

systemctl start libvirtd.service 
systemctl status libvirtd.service

10.0.0.100宿主机
建议虚拟机内存不要低于1024M,否则安装系统特别慢!

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

vnc:10.0.0.100:5900
--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
--noautoconsole

云主机都没有swap分区

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

列表list(--all)
开机start
关机shutdown(虚拟机有系统)
拔电源关机destroy
重启reboot(虚拟机有系统)
导出配置dumpxml
例子:virsh dumpxml centos7 >centos7-off.xml
删除undefine
推荐:先destroy,在undefine
导入配置define
修改配置edit(自带语法检查)
重命名domrename (低版本不支持)
挂起suspend
恢复resume
查询vnc
端口号vncdisplay
kvm虚拟机开机启动 kvm运行业务程序
开机启动autostart,前提:systemctl enable libvirtd;
取消开机启动autostart --disable

console 控制台 登录
centos7的kvm虚拟机:
grubby -–update-kernel=ALL --args="console=ttyS0,115200n8"
reboot

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

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

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-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /data/oldboy.qcow2,format=qcow2,size=10 --cdrom /data/CentOS-7.2-x86_64-DVD-1511.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

4.6.1磁盘工具的常用命令

qemu -img info,create,resize,convert

查看虚拟磁盘信息

qemu-img info test.qcow2

创建一块qcow2格式的虚拟硬盘:

qemu-img create -f qcow2 test.qcow2 2G

调整磁盘磁盘容量

qemu-img resize test.qcow2 +20G

raw转qcow2:

qemu-img convert -f raw -O qcow2 oldboy.raw

oldboy.qcow2 convert [-f fmt] [-O output_fmt] filename
output_filename -c 压缩 virsh edit web01:

<disk type='file' device='disk'>      
<driver name='qemu' type='qcow2'/>
      <source file='/data/centos2.qcow2'/>
      <target dev='vda' bus='virtio'/>
     <address type='pci' domain='0x0000' bus='0x00'
slot='0x06' function='0x0'/>
 </disk>

virsh destroy web01 
virsh start web01

  • 4.6.2快照管理

创建快照

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:完整克隆
自动挡:

virt-clone --auto-clone -o web01 -n web02 (完整克隆)

手动挡:

cp web01.qcow2 web02.qcow2
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 49-web03.qcow2 49-web04.qcow2

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

virsh dumpxml web01 >web03.xml
vim web03.xml
#修改虚拟机的名字
<name>web03</name>
#删除虚拟机uuid
<uuid>8e505e25-5175-46ab-a9f6-feaa096daaa4</uuid>
#删除mac地址
<mac address='52:54:00:4e:5b:89'/>
#修改磁盘路径
<source file='/opt/web03.qcow2'/>

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

virsh define web03.xml virsh start web03

全自动链接克隆脚本:

[root@kvm01 scripts]# cat link_clone.sh
#!/bin/bash
old_vm=$1
new_vm=$2
#a:生成虚拟机磁盘文件
old_disk=`virsh dumpxml $old_vm|grep "<source file"|awk -F "'" '{print $2}'`
disk_tmp=`dirname $old_disk` 
qemu-img create -f qcow2 -b $old_disk ${disk_tmp}/${new_vm}.qcow2
#b:生成虚拟机的配置文件
virsh dumpxml $old_vm >/tmp/${new_vm}.xml
#修改虚拟机的名字
sed -ri "s#(<name>)(.*)(</name>)#\1${new_vm}\3#g" /tmp/${new_vm}.xml
#删除虚拟机uuid
sed -i '/<uuid>/d' /tmp/${new_vm}.xml
#删除mac地址
sed -i '/<mac address/d' /tmp/${new_vm}.xml
#修改磁盘路径
sed -ri "s#(<source file=')(.*) ('/>)#\1${disk_tmp}/${new_vm}.qcow2\3#g" /tmp/${new_vm}.xml
#c:导入虚拟机并进行启动测试
virsh define /tmp/${new_vm}.xml
virsh start ${new_vm}

链接克隆:

qemu-img create -f qcow2 -b 49-web03.qcow2 49-web04.qcow2 
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 1024 --vcpus 1 --disk /opt/web04.qcow2 --boot hd -- network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,137评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,824评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,465评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,131评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,140评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,895评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,535评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,435评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,952评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,081评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,210评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,896评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,552评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,089评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,198评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,531评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,209评论 2 357