云计算底层技术奥秘|虚拟化管理|公有云概述
- 虚拟化平台安装
- 验证虚拟化支持
- Linux虚拟机
- 创建虚拟机磁盘
- 虚拟机配置文件
- 创建虚拟机
- 公有云简介
虚拟化平台安装
虚拟化:是一种技术 就是将不可拆分的实体资源变成可以自由划分的逻辑资源,从而实现资源的整合、隔离、再分配,云计算利用了虚拟化技术的这个特点。
云计算:云计算是一种服务模式(IaaS),其思想就是把各种资源整合起来,然后租给有需要的用户,其中的资源包括处理器、内存、存储、网络和其他基本的计算资源。通常我们通过虚拟化手段把这些资源分割打包提供给用户使用。
验证虚拟化支持
1、虚拟化需要CPU支持(真机验证)
[root@真机 ~]# grep -Po "vmx|svm" /proc/cpuinfo
vmx
... ...
[root@真机 ~]# lsmod |grep kvm
kvm_intel 174841 6
kvm 578518 1 kvm_intel
irqbypass 13503 1 kvm
2、创建虚拟机 2cpu,4G内存(默认用户名: root 密码: a)
[root@localhost ~]# base-vm create ecs # base-vm是别人写的脚本
vm ecs create [ok]
# 连接到ecs
[root@localhost ~]# hostnamectl set-hostname ecs
[root@localhost ~]# exit
3、验证yum仓库配置
[root@ecs ~]## yum makecache
[root@ecs ~]## yum repolist
4、安装libvirtd
[root@ecs ~]# yum install -y qemu-kvm libvirt-daemon libvirt-daemon-driver-qemu libvirt-client
[root@ecs ~]# systemctl enable --now libvirtd
[root@ecs ~]# virsh version
Compiled against library: libvirt 4.5.0
Using library: libvirt 4.5.0
Using API: QEMU 4.5.0
Running hypervisor: QEMU 1.5.3
设置中英文
创建网桥 (虚拟交换机)
[root@ecs ~]# vim /etc/libvirt/qemu/networks/vbr.xml
<network><name>vbr</name><forward mode='nat'/><bridge name='vbr' stp='on' delay='0'/> # stp防止环路<ip address='192.168.100.254' netmask='255.255.255.0'><dhcp><range start='192.168.100.128' end='192.168.100.200'/></dhcp></ip>
</network>
[root@ecs ~]# yum install -y ebtables iptables dnsmasq
[root@ecs ~]# systemctl restart libvirtd
[root@ecs ~]# virsh net-define /etc/libvirt/qemu/networks/vbr.xml
[root@ecs ~]# virsh net-list --all
[root@ecs ~]# virsh net-start vbr
[root@ecs ~]# virsh net-autostart vbr
[root@ecs ~]# ifconfig vbr # 验证
Linux虚拟机
虚拟机的构成:
COW技术原理:
创建虚拟机磁盘
上传cirros.qcow2到虚拟机
通过qemu-img创建虚拟机磁盘
命令格式:qemu-img 子命令 子命令参数 虚拟机磁盘文件 大小
[root@ecs ~]# cp cirros.qcow2 /var/lib/libvirt/images/
[root@ecs ~]# cd /var/lib/libvirt/images/
[root@ecs ~]# qemu-img create -f qcow2 -b cirros.qcow2 vmhost.img 20G # cirros.qcow2 是后端盘
[root@ecs ~]# qemu-img info vmhost.img #查看信息 实际的文件大小只有1M左右 像气球一样
虚拟机配置文件
官方文档地址 https://libvirt.org/format.html
拷贝 node_base.xml 到虚拟机中
[root@ecs ~]# cp node_base.xml /etc/libvirt/qemu/vmhost.xml
[root@ecs ~]# vim /etc/libvirt/qemu/vmhost.xml
02: <name>vmhost</name>
03: <memory unit='KB'>1024000</memory>
04: <currentMemory unit='KB'>1024000</currentMemory>
05: <vcpu placement='static'>2</vcpu>
26: <source file='/var/lib/libvirt/images/vmhost.img'/> # 磁盘文件路径
30: <source bridge='vbr'/>
创建虚拟机
[root@ecs ~]# virsh define /etc/libvirt/qemu/vmhost.xml
Domain vmhost defined from /etc/libvirt/qemu/vmhost.xml
[root@ecs ~]# virsh list --allId Name State
----------------------------------------------------- vmhost shut off
[root@ecs ~]# virsh start vmhost
Domain vmhost started
[root@ecs ~]# virsh console vmhost # 两次回车
Connected to domain vmhost
Escape character is ^]login as 'cirros' user. default password: 'gocubsgo'. use 'sudo' for root.
cirros login:
退出使用 ctrl + ]