记 云计算概述与KVM虚拟化 学习笔记

本文介绍了云计算的基础知识,强调了云计算与虚拟化的区别,并深入探讨了KVM(Kernel-based Virtual Machine)虚拟化技术。内容涵盖KVM的架构、安装虚拟机、管理工具libvirt的使用,以及KVM的性能优化策略,如CPU和内存的调整。此外,还提及了OpenStack云平台管理和相关组件的角色。最后,提供了虚拟机制作的作业指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

云计算概述与KVM虚拟化

学习资料来自网络:

https://www.bilibili.com/video/av33050236


1.介绍云计算的概述、什么是云计算、云计算的分类、云计算的分层相关知识。
云计算是一种使用模式:
弹性计算,按需付费,快速扩展
云计算的分类:公有云,私有云,混合云
云计算的分层:Iaas  PaaS SaaS


3.云计算和虚拟化的区别,云计算不等于虚拟机,只是用了虚拟化的技术。
KVM 内核级的虚拟化技术
Kernel-based Virtual Machine
    结构简单,包含2个部分:
    设备驱动/dev/kvm
    针对模拟PC硬件的用户控件组件
KVM需要在cpu中虚拟化功能的支持
    只可具有虚拟化支持的CPU上运行,也就是具有VT功能的Inter CPU和具有AMD-V功能的AMD CPU
①服务器虚拟化
②桌面虚拟化
③应用虚拟化


硬件虚拟化和软件虚拟化
全虚拟化和半虚拟化


4.KVM介绍,内核级的虚拟机,配合QEMU来进行使用。
5.KVM的安装一个虚拟机
[root@linux-node1 ~]# yum install -y qemu-kvm libvirt
--安装kvm 用户态管理工具
[root@linux-node1 ~]# yum install -y virt-install
--用于安装虚拟机
[root@linux-node1 ~]# systemctl enable libvirtd
[root@linux-node1 ~]# systemctl start libvirtd
--用libvirtd管理虚拟机
创建磁盘
①.qemu-img create -f raw /opt/CentOS-7-x86_64.raw 10G
安装虚拟机
②.virt-install --virt-type kvm --name CentOS-7-x86_64 --ram 1024 \
--cdrom=/tmp/CentOS-7.2-x86_64-DVD-1511.iso --disk path=/opt/CentOS-7-x86_64.raw \
--network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

③.TightVNC 连接到192.168.56.11:5900


6.KVM虚拟机介绍,介绍KVM虚拟机的一些特性
libvirt---管理虚拟机的工具

-查看虚拟机运行状态
virsh lish --all

virsh start CentOS-7-x86_64    启动虚拟机
virsh shutdown CentOS-7-x86_64  关闭虚拟机
libvirt 自动生成一个虚拟机xml的配置文件,用于管理虚拟机,我们可以更改这个文件
virsh edit CentOS-7-x86_64


7.KVM管理,使用virsh和libvirt xml介绍。
libvirt 自动生成一个虚拟机xml的配置文件,用于管理虚拟机,我们可以更改这个文件
virsh edit CentOS-7-x86_64
virsh支持虚拟机的热添加、热删除
    1.更改配置
     
CPU热添加  
from:
<vcpu placement='static'>1</vcpu>
to:
<vcpu placement='auto' current="1">4</vcpu>
       2.virsh setvcpus ,把CPU改成2个
virsh setvcpus CentOS-7-x86_64 2 --live
cpu info进行确认

内存热添加,宿主机和虚拟机都是cenos7才可以:

[root@linux-node1 ~]# virsh qemu-monitor-command CentOS-7-x86_64 --hmp --cmd info balloon

[root@linux-node1 ~]# virsh qemu-monitor-command CentOS-7-x86_64 --hmp --cmd balloon 512
free -m 进行确认

ifconfig 
#看网络信息
brctl show
#看桥接的信息

1.创建桥接网卡
#!/bin/bash
brctl addbr br0      #创建桥接网卡br0
brctl addif br0 eth0           #会断卡网络,所以生产环境需要写脚本,靠脚本执行
ip addr del dev eth0 192.168.56.11/24   #把eth0的地址删除
ifconfig br0 192.168.56.11/24 up    #然后设置到br0上
route add default gw 192.168.56.2  #添加网关
ping baidu.com   #进行测试是否网络通信正常

让虚拟机使用桥接网卡
2.virsh edit CentOS-7-x86_64

  <interface type='bridge'>
      <source bridge='br0'/>

3. virsh shutdown CentOS-7-x86_64
 virsh start CentOS-7-x86_64

4. 修改虚拟机网卡配置


8.KVM性能优化,介绍CPU、内存、IO性能优化。
cat /proc/cpuinfo   #查看cpu信息


CPU:
    上下文切换:
    宿主机
    ring 0
    ring 3

        虚拟机
    ring 0
    ring 3


    缓存:在多进程下,绑定某一进程到CPU上
    taskset -cp 1  25718

 
内存:

    空间优化
    寻址
EPT技术:加快虚拟内容到物理内存的映射关系

虚拟机:虚拟内存
虚拟机:物理内存
宿主机:虚拟内存
宿主机:物理内存

大页内存 #默认开启
[root@linux-node1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled 

KSM内存合并
[ksmd]    

 

I/O优化:

2.6 内核:  Noop CFQ AS  Deadline 默认:CFQ
3.10内核:  Noop CFQ Deadline  默认:Deadline

[root@linux-node1 ~]# dmesg | grep -i scheduler
[    1.945474] io scheduler noop registered
[    1.945476] io scheduler deadline registered (default)
[    1.945495] io scheduler cfq registered
[root@linux-node1 ~]# cat /sys/block/sda/queue/scheduler 
noop [deadline] cfq 

9.KVM的IO缓存介绍
10.作业:虚拟机CentOS7和Windows镜像制作。

1.作业1,制作CentOS 7 虚拟机

1.下载一个ISO。
2.创建虚拟机磁盘
qemu-img create -f qcow2 /tmp/test.qcow2 10G

3.virt-install 安装虚拟机
   3.1 1.不使用swap分区
       2.只分一个/
       3.不使用LVM等。
    
virt-install --virt-type kvm --name CentOS-7-x86_64 --ram 1024 \
--cdrom=/tmp/CentOS-7.2-x86_64-DVD-1511.iso --disk /tmp/CentOS-7-x86_64.qcow2,foramt=qcow2 \
 --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole    
      

4.安装完毕后,初始化:

    1.关闭SELinux。iptables。
    2.修改网卡配置,去掉UUID  MAC等
    3.安装必备的软件 zabbix-agent  
    

作业2: 制作Windows 2008虚拟机 https://www.unixhot.com/article/70

 

11.OpenStack的历史,介绍版本的发展,组件介绍。

OpenStack  云平台管理的项目

Nova-- 创建虚拟机

Glance --提供镜像

Neutron --提供网络链接

Keysone--提供认证

Horizon--提供UI

 

12.OpenStack相关技术介绍,SOA,消息队列。

SOA:

DUBBO 框架

 

 

13.OpenStack环境准备,提前安装好相关的软件。

在两个节点都安装:

1.安装仓库:

yum install centos-release-openstack-newton

2.安装 OpenStack 客户端:

# yum install python-openstackclient
# yum install openstack-selinux

在linux-node1上安装:

3.安装数据库:
# yum install mariadb mariadb-server python2-PyMySQL
vim /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 192.168.56.11

default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8

4.消息队列:
# yum install rabbitmq-server

5.其它服务提前安装:
# yum install openstack-keystone httpd mod_wsgi
# yum install openstack-glance
# yum install openstack-nova-api openstack-nova-conductor \
  openstack-nova-console openstack-nova-novncproxy \
  openstack-nova-scheduler
# yum install openstack-neutron openstack-neutron-ml2 \
  openstack-neutron-linuxbridge ebtables  
 
14.课程总结

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值