Day66
云平台部署与管理
环境准备
一台最小化安装的虚拟机,且能连接互联网
IP地址:192.168.1.xx/24
最低硬件配置:2CPU,4G内存
一、修改虚拟机网卡名称
[root@A ~]# vim /etc/default/grub #添加配置
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0"
GRUB_DISABLE_RECOVERY="true"
[root@A ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
[root@A ~]# reboot
二、虚拟机本地Yum仓库设置,前提将系统光盘镜像文件放入虚拟光驱设备
三、虚拟机网络配置
1.配置虚拟机网络类型
2.修改分配的网段
3.配置网关地址:192.168.1.254
4.配置虚拟机网络配置
root@A /]# nmcli connection delete ens33 #删除原有错误网卡
成功删除连接 'ens33'(e975f0e1-9e82-420b-a9e7-beedb5f57e03)。
[root@A /]# nmcli connection add type ethernet ifname eth0 con-name eth0 #添加网卡
连接“eth0”(7f45c94c-0785-4737-94ed-f95728954075) 已成功添加。
[root@A /]# ls /etc/sysconfig/network-scripts/
[root@A /]# nmcli connection modify eth0 ipv4.method auto autoconnect yes
[root@A /]# nmcli connection up eth0
[root@A /]# ifconfig | head -2
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
[root@A /]# route –n #查看网关地址
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.254 0.0.0.0 UG 100 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
[root@A /]# ping www.baidu.com #测试通信
PING www.a.shifen.com (61.135.169.125) 56(84) bytes of data.
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=1 ttl=128 time=4.24 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=2 ttl=128 time=3.76 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=3 ttl=128 time=5.43 ms
虚拟化
Linux虚拟化
虚拟化与云计算是什么关系?
虚拟化是什么?
虚拟化是一种技术,顾名思义,就是将不可拆分的实体资源变成可以自由划分的逻辑资源,从而实现资源的整合,隔离,再分配云计算就是利用了虚拟化的这个特点。
云计算是什么?
云计算是一种服务模式,其思想就是各种资源整合起来,然后租给有需要的用户,其中的资源包括处理器、内存、存储、网络和其他基本计算资源。通常我们通过虚拟化的手段将这些资源分割打包提供给用户使用。
虚拟化介绍
虚拟化主要厂商及产品介绍
系列 | PC/服务器版代表 |
---|---|
VMware | VMware Workstation vSphere |
Microsoft | virtualPC、Hyper-V |
RedHat | KVM、RHEV |
Citrix | Xen |
Oracle | Oracle VM VirtuallBox |
虚拟化平台组成
KVM/QEMU/LIBVIRTD
KVM是Linux内核模块,它需要CUP指令集的支持,是一种硬件辅助虚拟化技术。
QEMU是一个虚拟化的仿真工具,通过ioctl与内核模块交互完成对硬件的虚拟化支持
Libvirt 是一个对虚拟化管理接口和工具,提供客户端程序,例如:virsh,virt-manager
软件包简介
qemu-kvm
为kvm 提供底层系统设备仿真支持
libvirt-daemon
libvirtd 守护进程,管理虚拟机
libvirt-client
客户端软件,提供客户端管理命令(virsh)
libvirt-deamon-driver-qemu
libvirtd 连接 qemu 的驱动
虚拟机平台安装
Linux qemu-kvm 虚拟化平台安装
虚拟化平台的软件包已经默认整合在系统安装光盘中
配置系统Yum源之后使用yum进行安装
[root@localhost ~]# yum install -y libvirt-client libvirt-daemon \
libvirt-daemon-driver-qemu
qemu-kvm
[root@localhost ~]# systemctl enable libvirtd
[root@localhost ~]# systemctl start libvirtd
虚拟机的构成
虚拟配置文件(*.xml)
默认文件路径:/etc/libvirt/qemu
用途:配置虚拟机资源参数
存储文件 (*.img)
文件默认路径:/var/lib/libvirt/images/
用途:仿真虚拟机磁盘,存储所有数据
磁盘镜像管理
虚拟机磁盘格式
虚拟机qcow2格式特点:
弹性空间
支持后端盘复用
支持快照
支持压缩
磁盘I/O性能较高
cow技术原理
copy on write 写时复制技术
直接映射原始盘的数据内容
当数据有写入需求时,在写入之前自动将数据块拷贝存入前端盘后,对前端盘进行修改。
原始盘始终是只读的
磁盘管理命令
qemu-img 是虚拟机磁盘管理命令,支持非常多的磁盘格式
qemu-img命令格式
qemu-img 子命令 子命令参数 块文件名称 大小
常用子命令
create 创建一个磁盘
convert 转换磁盘格式
info 查看磁盘信息
镜像管理
创建qcow2镜像
qemu-img create -b cirros.qcow2 -f qcow2 newhost.img 30G
查询信息
qemu-img info disk.img
后端盘镜像
创建带后端盘的镜像
cd /var/lib/libvirt/images/
qemu-img create -b cirros.qcow2 -f qcow2 vmhost.img 30G
qemu-img info vmhost.img
Vish管理
虚拟机网络管理
virsh
提供管理各虚拟机的命令接口
支持交互非交互模式,查看/创建/停止/关闭……
格式:virsh 控制指令 [虚拟机名称] [参数]
网络管理命令
虚拟网路设备管理
命令 | 说明 |
---|---|
virsh net-list [–all] | 列出虚拟网络 |
virsh net-start | 启动虚拟交换机 |
virsh net-destroy | 强制停止虚拟交换机 |
virsh net-define | 根据xml文件创建虚拟网络 |
virsh net-undefine | 删除一个虚拟网络设备 |
virsh net-edit | 修改虚拟交换机的配置 |
virsh net-autostart | 设置开机自启动 |
虚拟交换机配置文件
文件路径:/etc/libvirt/qemu/networks/vbr.xml
模板文件位置在:官方文档地址 https://libvirt.org/format.html
[root@localhost ~]# 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'>
<dhcp>
<range start='192.168.100.100' end='192.168.100.200'/>
</dhcp>
</ip>
/network>
定义虚拟机私有网络
#virsh net-define /etc/libvirt/qemu/networks/vbr.xml
Network vbr defined from /etc/libvirt/qemu/networks/vbr.xml
#virsh net-start vbr
Network vbr started
#ifconfig vbr
虚拟机配置文件
配置文件
配置文件的默认路径
/etc/libvirt/qemu/*.xml
配置文件编辑方式
创建虚拟机之前使用vim编辑配置文件
创建虚拟机后使用virsh edit编辑配置文件
修改完配置文件之后,必须先关机再启动才能使得其生效
不能重启
基本资源配置
管理虚拟机名称,CPU,内存
virsh edit 虚拟机名称
<domain type='kvm'>
<name>vmhost</name>
<uuid>cdecc3d7-74f1-4a78-a327-3f1ab726bc3c</uuid>
<memory unit='KiB'>2195313</currentMemory>
<vcpu placement='static'>2</vcpu>
……
磁盘设备管理
配置文件只能修改位置,不能修改大小
……
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/node_base.img'/>
<target dev='vda' bus='virtio'/>
</disk>
……
网络管理
配置网络参数前,请确保虚拟网桥状态正常
……
<interface type='bridge'>
<source bridge='vbr'/>
<model type='virtio'/>
</interface>
……
配置文件模板
配置文件一般通过模板生成
我们根据需要修改对应配置即可
模板文件:node_base.xml
虚拟机独有的:
主机名称
node0
磁盘文件
virsh管理虚拟机
基本管理命令
命令 | 说明 |
---|---|
virsh list [–all] | 列出虚拟机 |
virsh start/shutdown | 启动/关闭虚拟机 |
virsh destroy | 强制停止虚拟机 |
virsh define/undefine | 创建/删除虚拟机 |
virsh ttyconsole | 显示终端设备 |
virsh console | 连接虚拟机的 console |
virsh edit | 修改虚拟机的配置 |
virsh autostart | 设置虚拟机自启动 |
virsh dominfo | 查看虚拟机摘要信息 |
virsh domiflist | 查看虚拟机网卡信息 |
virsh domblklist | 查看虚拟机硬盘信息 |
公有云基础知识
什么是云计算
云计算三大服务模式
laaS:基础设施服务
其思想就是把各种资源整合起来,然后租给有需要的用户,其中的资源包括处理器,内存、存储、网络和其它基本的计算资源。
PaaS:平台服务
除了基础设施外还提供如:编程语言,运行环境,技术支持,甚至针对该平台而进行的应用系统开发、优化等服务,也就是中间件服务。
SaaS:软件服务
是一种通过internet提供软件的模式,客户可以根据自己实际需求,通过互联网向厂商订购所需的应用软件服务。
华为云介绍
华为简介
官网
https://www.huaweicloud.com
使用华为云的条件
注册用户,实名认证,充值
远程管理云服务器
远程控制协议
RDP(端口号3389),适用于Windows服务器
SSH(端口号22)适用于Linux服务器防火墙等设备
管理工具
常用SSH管理工具
PC端:Xshell,SecureCRT、Putty等
手机端:iTerminal、Termius、阿里云APP等
xshell远程连接
除了基础设施外还提供如:编程语言,运行环境,技术支持,甚至针对该平台而进行的应用系统开发、优化等服务,也就是中间件服务。
SaaS:软件服务
是一种通过internet提供软件的模式,客户可以根据自己实际需求,通过互联网向厂商订购所需的应用软件服务。
华为云介绍
华为简介
官网
https://www.huaweicloud.com
使用华为云的条件
注册用户,实名认证,充值
远程管理云服务器
远程控制协议
RDP(端口号3389),适用于Windows服务器
SSH(端口号22)适用于Linux服务器防火墙等设备
管理工具
常用SSH管理工具
PC端:Xshell,SecureCRT、Putty等
手机端:iTerminal、Termius、阿里云APP等