今日目标:-搭建假造化平台
- 创建云主机
-了解云计算
假造化与云计算的关系
假造化是什么?假造化是一种技术,顾名思义,就是将不可拆分的实体资源变成可以自由划分的逻辑资源,从而实现资源的整合、隔离、在分配,云计算就是利用了假造化技术这个特点。
云计算是什么?云计算是一种服务模式(IAAS),其实就是把各种资源整合起来,然后租用给有需要的用户,其中的资源包罗处理器(cpu)、内存、存储、网络和其他基本的计算机资源。通常我们通过假造化手段把这些资源分割打包提供给用户利用。
假造化实行图例
假造化平台安装
创建假造机
1、创建假造机 2cpu,4G内存
- [root@localhost ~]# hostnamectl set-hostname ecs
- [root@localhost ~]# exit
复制代码 2、验证 ecs 是否支持假造化
- grep -Po "vmx|svm" /proc/cpuinfo
- lsmod |grep kvm查看KVM模块
- modprobe kvm 加载模块
- rmmod kvm 卸载模块
复制代码 安装假造化平台
构建假造化平台工具软件包
1、安装服务
- [root@ecs ~]# dnf install -y qemu-kvm libvirt-daemon libvirt-client libvirt-daemon-driver-qemu libvirt-daemon-driver-network dnsmasq
- [root@ecs ~]# systemctl enable --now libvirtd
- [root@ecs ~]# virsh version#查看版本
复制代码 2、创建网桥
网桥(假造交换机)
默认路径:/etc/libvirt/qemu/networks/vbr.xml
下令形貌virsh net-list [--all]列出假造网络virsh net-start启动假造交换机virsh net-destroy强制制止假造交换机virsh net-define根据xml文件创建假造网络virsh net-undefine删除一个假造网络设备virsh net-edit修改假造交换机的配置virsh net-autostart设置开机自启动- # 官网手册: https://libvirt.org/docs.html
- [root@ecs ~]# vim /etc/libvirt/qemu/networks/vbr.xml
- <network>
- <name>vbr</name>网桥名
- <forward mode='nat'/>工作模式
- <bridge name='vbr' stp='on' delay='0'/>
- <ip address='192.168.100.254' netmask='255.255.255.0'>网桥ip
- <dhcp>
- <range start='192.168.100.128' end='192.168.100.200'/>
- </dhcp>
- </ip>
- </network>
- # 创建网桥
- [root@ecs ~]# virsh net-define /etc/libvirt/qemu/networks/vbr.xml
- Network vbr defined from /etc/libvirt/qemu/networks/vbr.xml
- # 设置开机自启动
- [root@ecs ~]# virsh net-autostart vbr
- Network vbr marked as autostarted
- # 启动网桥
- [root@ecs ~]# virsh net-start vbr
- Network vbr started
- # 验证状态
- [root@ecs ~]# virsh net-list --all
- Name State Autostart Persistent
- -----------------------------------------
- vbr active yes yes
-
- [root@ecs ~]# ifconfig vbr # 验证
复制代码 Linux 假造机
假造机的构成:
/etc 存放配置文件 /usr 存放程序文件 /var 存放数据文件
假造机磁盘:在文件仿真中被广泛接纳的CoW格式具有支持弹性空间、支持后端盘复用、支持快照、支持压缩
COW 写时拷贝技术 ,利用指针指向原始盘所有块。若一个块要被改写,起首把数据从原始盘拷贝到前端盘,然后在前端盘进行改写,末了把数据指针指向改写过的数据
原始盘始终是只读的
假造机磁盘管理:
qemu-img 是管理假造机磁盘下令
下令格式:qemu -img 子下令 子下令参数 块文件名称 巨细
-f 指定磁盘格式
-b 原始盘名称
-F 原始盘磁盘格式
创建假造机磁盘
创建假造机vmhost的磁盘文件
后端数据盘:cirros.qcow2
创建前端盘:/var/lib/libvirt/images/vmhost.img
前端盘的巨细20G
上传 cirros.qcow2 到假造机
- [root@ecs ~]# cp cirros.qcow2 /var/lib/libvirt/images/
- [root@ecs ~]# cd /var/lib/libvirt/images/
- [root@ecs ~]# qemu-img create -F qcow2 -f qcow2 -b cirros.qcow2 vmhost.img 20G
- ls -lh
- [root@ecs ~]# qemu-img info vmhost.img #查看信息
复制代码 qemu-img create -F qcow2 -f qcow2 -b cirros.qcow2 vmhost.img 20G
qemu-img create -F 原始盘的格式-f 目标盘的格式-b 原始盘的名称 目标盘的名称 目标盘的巨细
假造机配置文件
文件:/etc/libvirt/qemu/{假造机名称}.xml
官方手册:libvirt: Documentation 或者生成配置模板
按要求利用模板创建假造机配置文件
-假造机名称: vmhost
-假造机配置:CPU(2焦点)内存(1G)
-假造机网络:Vbr桥接
拷贝 模板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>#cpu数量
- 25: <source file='/var/lib/libvirt/images/vmhost.img'/>
- 29: <source bridge='vbr'/>
复制代码 创建假造机
下令说明virsh list [--all]列出假造机virsh start/shutdown/reboot启动/关闭/重启假造机virsh destroy强制制止假造机virsh define/undefine创建/删除假造机virsh console毗连假造机的 console- [root@ecs ~]# virsh define /etc/libvirt/qemu/vmhost.xml
- Domain vmhost defined from /etc/libvirt/qemu/vmhost.xml
- [root@ecs ~]# virsh list --all
- Id 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 + ]
复制代码 若要删除云主机磁盘 下令:cd /var/lib/libvirt/images/ rm -f vmhost.img
常用管理下令
下令说明virsh edit修改假造机的配置virsh autostart设置假造机自启动virsh dominfo查看假造机摘要信息virsh domiflist查看假造机网卡信息virsh domblklist查看假造机硬盘信息 附: 编写一个脚本用来管理假造机,可以完成假造机的批量创建、批量删除,自界说假造机名称等功能,现有的模板假造机信息如下:
- 配置文件模板:/var/lib/libvirt/images/node_base.xml
- 后端盘模板: /var/lib/libvirt/images/node_base.qcow2
- [root@localhost ~]# vim /usr/local/bin/clone-vm
- #!/bin/bash
- CONF_DIR="/etc/libvirt/qemu"
- IMG_DIR="/var/lib/libvirt/images"
- CONF_FILE="/var/lib/libvirt/images/node_base.xml"
- IMG_FILE="/var/lib/libvirt/images/node_base.qcow2"
- export LANG=C
- . /etc/init.d/functions
- function create_vm(){
- if [ -e ${IMG_DIR}/${1}.img ];then
- echo_warning
- echo "vm ${1}.img is exists"
- return 1
- else
- qemu-img create -b ${IMG_FILE} -F qcow2 -f qcow2 ${IMG_DIR}/${1}.img 20G &>/dev/nl
- sed -re "s,#{5},${1}," ${CONF_FILE} >${CONF_DIR}/${1}.xml
- sudo virsh define ${CONF_DIR}/${1}.xml &>/dev/null
- echo_success
- echo "vm ${1} create"
- fi
- }
- function remove_vm(){
- read _ img <<<$(sudo virsh domblklist $1 2>/dev/null |awk 'NR==3{print}')
- if [ -e "${img}" ];then
- sudo virsh destroy $1 &>/dev/null
- sudo virsh undefine $1 &>/dev/null
- rm -f ${img}
- echo_success
- echo "vm ${1} delete"
- fi
- }
- # main
- case "$1" in
- create|remove)
- CMD=${1}
- while ((${#} > 1));do
- shift
- ${CMD}_vm ${1}
- done
- ;;
- *)
- echo "${0##*/} {create|remove} vm1 vm2 vm3 ... ..."
- ;;
- esac
- exit $?
复制代码 验证
- [root@localhost ~]# chmod 755 /usr/local/bin/clone-vm
- [root@localhost ~]#virsh list --all
- Id Name State
- ----------------------------------------------------
- [root@localhost ~]# clone-vm
- clone-vm {create|remove} vm1 vm2 vm3 ... ...
- [root@localhost ~]# clone-vm create web db
- vm web create [ OK ]
- vm db create [ OK ]
- [root@localhost ~]# virsh list --all
- Id Name State
- ----------------------------------------------------
- - web shut off
- - db shut off
- [root@localhost ~]# virsh start web
- Domain web started
- [root@localhost ~]# virsh start db
- Domain db started
- [root@localhost ~]# virsh list --all
- Id Name State
- ----------------------------------------------------
- 1 web running
- 2 db running
- [root@localhost ~]# virsh console web
- Connected to domain 'web'
- Escape character is ^] (Ctrl + ])
- login as 'cirros' user. default password: 'gocubsgo'. use 'sudo' for root.
- cirros login:
- [root@localhost ~]# clone-vm remove web db
- vm web delete [ OK ]
- vm db delete [ OK ]
- [root@localhost ~]# virsh list --all
- Id Name State
复制代码 云计算简介
三大服务模式
IaaS: 基础办法服务,Infrastructure-as-a-service PaaS: 平台服务,Platform-as-a-service SaaS: 软件服务,Software-as-a-service
三大利用场景
公有云:是第三方的云供应商,通过互联网为广大用户提供的一种按需利用的服务器资源,是一种云基础办法。 私有云:是一个企业或构造的专用云环境。一般在企业内部利用,不对外提供服务,因此它也被视为一种企业云。 混合云:是在私有云的基础上,组合其他公有云资源,从而允许在不同云环境之间共享应用和数据的利用方式。
华为云网址:共建智能世界云底座-华为云
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |