云计算_day01_02(kvm虚拟机)

1、什么是云计算?


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

2、云计算的服务类型


IAAS  :基础设施即服务    虚拟机、ecs、openstack  
PAAS  :平台即服务     php、java、docker容器
SAAS  :软件即服务     cdn、rds、企业邮箱

image.png

3、为什么要用云计算


小公司:10台 20w+ idc 5w + 100M 10W, 10台云主机,前期投入小,扩展灵活,风险小
大公司:闲置服务器计算资源,虚拟机,出租(超卖计算)
64G 服务器 64台1G 320台1G
国企,银行


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

4.1、什么是虚拟化?


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

4.2、虚拟机软件的差别

qemu  :软件纯模拟全虚拟化软件,特别慢,兼容性好

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

kvm :全虚拟机,它有硬件支持cpu,基于内核,不需要使用专门的内核,性能较好,兼容性较好


4.3、安装虚拟化管理工具


KVM:Kernel-based Virtual Machine

 yum install libvirt virt-install qemu-kvm -y
libvirt作用:虚拟机的管理软件
libvirt:kvm,xen,qemu,lxc......
virt virt-intall virt-clone 作用:虚拟机的安装工具和克隆工具
qemu-kvm qemu-img(qcow2,raw)作用:管理虚拟机的虚拟磁盘

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


echo '192.168.12.201 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 

image.png

4.4、安装一台kvm虚拟机


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

systemctl start libvirtd.service
systemctl enable 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 cetos7  虚拟机的名字
--memory  虚拟机的内存(不建议低于1024M,否则安装系统特别慢)
--vcpus  虚拟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.png
image.png

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


virsh list 列表
virsh list --all           ----->查看所有虚拟机
virsh start 虚拟机名        ----->开机
virsh shutdown 虚拟机名     ----->关机
virsh destroy 虚拟机名      ----->拔电源关机(数据容易丢失)
virsh reboot 虚拟机名       ----->重启
virsh undefine 虚拟机名     ----->删除(先destory,再删除)
virsh dumpxml centos7 >centos7.xml      ----->导出配置
virsh define centos7.xml      ----->导入配置
virsh edit centos7.xml      ----->修改配置(自带语法检查)
domrename      ----->重命名
suspend      ------>挂起
resume       ------>恢复
vncdisplay      ------>查询vnc端口号
console       ----->控制台
autostart        ------>kvm开机启动(前提是libvirtd开机启动)
autostart --disable       ----->取消开机启动


centos7的kvm虚拟机: grubby --update-kernel=ALL --args="console=ttyS0,115200n8" reboot


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


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

qcow2:占用空间小,支持快照,性能比raw差一点,方便传输,总50G,占用2G


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 test.qcow2                   ----->查看虚拟磁盘信息
qemu-img create -f qcow2 test.qcow2 2G     ----->创建一块qcow2格式的虚拟磁盘
qemu-img resize test.qcow2 +20G            ----->调整磁盘容量   
qemu-img convert -f raw -O qcow2 oldboy.raw oldboy.qcow2    ----->将raw转换为qcow2格式
qemu-img convert -f raw -O  -c qcow2 oldboy.raw oldboy.qcow2    ----->将raw转换为qcow2格式并压缩


修改配置文件中的数据格式
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>


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 15166366570     ----->删除快照


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

4.7、kvm虚拟机克隆

4.7.1、完整克隆


自动挡:
virt-clone --auto-clone -o web01 -n web02(完整克隆)


手动挡:
1)  cp磁盘文件
cp centos2-clone.qcow2 web02.qcow2
2)导出配置文件
virsh dumpxml web01 >web02.xml
3)修改配置文件
vim web02.xml
修改虚拟机的名字
删除虚拟机UUID
删除mac地址
修改磁盘路径
4)导入配置文件
virsh define web02.xml
5)启动虚拟机
virsh start web02


4.7.2、链接克隆


1)生成虚拟机磁盘文件
qemu-img create -f qcow2 -b web01.raw web03.qcow2
2)生成虚拟机的配置文件
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'/>
3)导入配置文件和启动测试
virsh define web04,qcow2 
virsh start web04


全自动链接脚本:


[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

4.8、kvm虚拟机的桥接网络


默认的虚拟网络是NAT模式

4.8.1、创建桥接网卡


virsh iface-bridge eth0 br0       ----->创建桥接网卡
virsh iface-unbridge br0        ----->取消桥接网卡

4.8.2、新虚拟机使用桥接模式


默认NAT模式 virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 1024 --vcpus 1 --disk /opt/web04.qcow2 --boot hd --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole 


桥接模式 virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 1024 --vcpus 1 -disk /data/web04.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole

image.png

4.8.3、将已有的虚拟机网络转为桥接模式


1)关闭虚拟机修改配置文件
virsh edit centos7
   <interface type='bridge'>  
   <source bridge='br0'/>

2)启动虚拟机,测试虚拟网络
virsh start centos7

4.9、添加热技术


热添加硬盘、内存、CPU、网卡

4.9.1、kvm热添加硬盘


1)创建一块新硬盘
qemu-img create -f qcow2 web-add.qcow2 10G

2)临时生效
virsh attach-disk web01 /data/web-add.qcow2 vdb --subdriver qcow2

3)永久生效
virsh attach-disk web01 /data/web-add.qcow2 vdb --subdriver qcow2 --config

4)临时剥离硬盘
virsh detach-disk web01 vdb

5)永久剥离硬盘
virsh detach-disk web01 vdb --config

6)硬盘扩容

环境:
   宿主机执行:
      qemu-img create -f qcow2 web01.qcow2 10G
      virsh attach-disk web01 /data/web-add.qcow2 vdb --subdriver qcow2
   虚拟机执行:
      fdisk -l
      mkfs.xfs /dev/vdb
      mount /dev/vdb /opt
    
扩容:
1)在虚拟机里把扩容盘的挂载目录卸载掉
umount /opt
2)在宿主机上剥离硬盘
virsh detach-disk web01 vdb
3)宿主机调整容量大小
qemu-img resize web01-add.qcow2 +50G
4)宿主机再次添加硬盘
virsh attach-disk web01 /data/web-add.qcow2 vdb --subdriver qcow2
5)在虚拟机里再次挂载扩容盘
mount /dev/vdb /opt
6)在虚拟机里更新扩容盘超级块信息
xfs_growfs /dev/vdb

4.9.2、kvm虚拟机在线添加网卡


1)热添加一块网卡
virsh attach-interface web04 --type bridge --source br0 --model 

2)剥离网卡(通过mac地址)
virtio detach-interface web04 --type bridge -mac 52:54:00:35:d3:71 

4.9.3、kvm虚拟机在线添加内存


1)添加内存
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 512,maxmemory=2048 -vcpus 1 --disk /data/web04.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 -noautoconsole 

2)临时热添加内存
virsh setmem web04 1024M

3)永久增大内存
virsh setmem web04 1024M --config

4.9.4、kvm虚拟机在线添加cpu

1)添加cpu
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 512,maxmemory=2048 -vcpus 1,maxvcpus=10 --disk /data/web04.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 -noautoconsole 

2)热添加cpu核数 
virsh setvcpus web04 4 

3)永久添加cpu核数 
virsh setvcpus web04 4 --config 

4.10 virt-manager 和kvm虚拟机热迁移(共享的网路文件系统)


冷迁移kvm虚拟机:配置文件,磁盘文件
热迁移kvm虚拟机:配置文件,nfs共享


热迁移

image.png

操作步骤:

1)在kvm01和kvm02上安装kvm和nfs,配置桥接网卡

yum install libvirt* virt-* qemu-kvm* nfs-utils openssh-askpass -y

systemctl start libvirtd.service

virsh iface-bridge eth0 br0

2)在nfs01上安装配置nfs
yum install nfs-utils -y

mkdir /data

vim /etc/exports

/data 10.0.0.0/24(rw,async,no_root_squash,no_all_squash)

systemctl restart rpcbind

systemctl restart nfs

3)kvm01和kvm02挂载共享目录/opt

mount -t nfs 10.0.0.31:/data /opt

4)安装一台基于桥接模式的虚拟机

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 512,maxmemory=1024 --vcpus 1 --disk /data/web01.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole

5)热迁移的命令:

virsh migrate --live --verbose oldboy qemu+ssh://10.0.0.12/system --unsafe

将宿主机10.0.0.11上的kvm虚拟机oldboy迁移到10.0.0.12




©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,080评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,422评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,630评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,554评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,662评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,856评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,014评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,752评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,212评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,541评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,687评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,347评论 4 331
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,973评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,777评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,006评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,406评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,576评论 2 349

推荐阅读更多精彩内容

  • 今天学习了计算机科学引论的相关文章——Information,Technology,the Internet,an...
    422d602c244f阅读 270评论 0 1
  • 记得第三次田野教研的时候,我在文章中写到,我能明显地感觉到自己在进步。但此次教研教研完,我能感觉到前面的路...
    Emma馮阅读 308评论 0 2
  • 这场约定,是失约还是赴约? 她的死,是遗憾还是圆满? 萧敲响了那扇斑驳灰绿的铁门。 铁门后的木门被打开,萧透过锈蚀...
    醴与郁阅读 278评论 1 2
  • 12天就为了一个生日礼物,累死我也
    小可爱达令阅读 129评论 0 0
  • 诗经里的爱情,始于水边 穿越苍水蒹葭 涉过汤汤淇水 泅渡长亭短亭的遥望 采莲归来的女子,柳眉弯弯 娉婷如遗世的仙子...
    季夏冰语阅读 393评论 0 2