02 腾讯云TStack产品运维培训-架构培训common组件20200110
- 格式:pdf
- 大小:4.11 MB
- 文档页数:73
腾讯云TStack产品交付培训基础运维目录1 高可用架构2 虚拟机创建流程3 虚拟机网络4 CPU超分5 监控云agent6 镜像制作7 虚拟机常见问题8 ceph运维OpenStack 基本架构-平台高可用OpenStack 服务本身支持都设计成无状态的,通过haproxy 实现高可用一些中间件各自有各自的高可用方式详细命令-教案计算节点的服务OpenStack虚拟机创建流程Status Task Power state Steps Build scheduling None3-12 Build networking None22-24 Build block_device_mapping None25-27 Build spawing None28 Active none Running•虚拟机与外部访问直接从计算节点出网,不经过网络节点(控制节点)•虚拟机通过控制节点的DHCP获取IP •虚拟机网络网关在核心交换机•虚拟机之间通信•虚拟机网络为VxLAN模式•虚拟机从DHCP命名空间获取IP •虚拟机从Router命名空间和外部通信•虚拟机之间通信3种方式配置,优先级1>2>31.AggregateCoreFilter的cpu_allocation_ratio metadata keynova aggregate-set-metadata 1 cpu_allocation_ratio=2.02.计算节点nova.conf支持cpu_allocation_ratio参数设置openstack-config--set /etc/nova/nova.conf DEFAULT cpu_allocation_ratio2.0 openstack-service restart nova3.控制节点nova.conf支持cpu_allocation_ratio参数设置openstack-config--set /etc/nova/nova.conf DEFAULT cpu_allocation_ratio2.0 openstack-service restart openstack-nova-scheduler基础运维-监控agent以某生产环境为例:curl http://172.16.0.23/agent/lin_ww.tar.gz-o lin_ww.tar.gz基础运维-镜像制作启动镜像准备kvm环境修改配置上传镜像•准备centos系统•安装kvm环境•使用镜像启动虚拟机•使用vnc进入系统•修改agent配置文件•清理bash命令记录•基础云上传镜像•运管平台同步镜像基础运维-openstack网络异常方向:MTU,nf_conntrack,secgroupVXLAN 模式下虚拟机中的mtu最大值为1450,也就是只能小于1450,大于这个值会导致openvswitch传输分片,进而导致虚拟机中数据包数据重传,从而导致网络性能下降。
认证概要腾讯云运维工程师认证(TCA )是针对腾讯云产品运维人员的技能认证,通过该认证,可有效验证您是否具备腾讯云基础产品的部署、监控、运维能力。
适用于从事运维腾讯云产品和服务的人员,负责在云上部署业务的技术人员,保障云上业务正常稳定运行的维护人员。
该认证需要学员提前报名,并在腾讯云官方授权的考试中心进行。
认证目标● 掌握如何登录腾讯云控制台进行服务配置● 掌握如何利用访问管理服务(CAM ),安全管理腾讯云账户的访问权限、资源管理和使用权限● 掌握云服务器(CVM )、云私有网络(VPC )、负载均衡(CLB )、弹性伸缩(AS )、加速服务(CDN )的基本配置流程和监控台操作 ● 了解使用各类数据存储、云数据库的基本配置流程● 了解如何使用基础监控(BCM )对云产品进行监控和运维管理考试大纲腾讯云运维工程师认证(TCA )预备技能●具备计算机操作系统基础知识●具备计算机网络原理基础知识●具备IT运维基础知识●熟悉腾讯云基础产品服务的功能及实践认证形式与结构考试时长及考试形式●考试时长为120分钟。
●考试形式为闭卷,在线考试。
考试题型及通过标准●腾讯云从业者认证,将通过客观题考察后台从业人员综合技能。
题型分布如下:●达到70分及以上,为通过认证。
考试内容1. 腾讯云产品特性1.1 腾讯云产品概览2. 腾讯云安全访问基础2.1 腾讯云控制台概述2.2 云服务安全管理2.3 云服务访问管理3. 弹性计算管理3.1 云服务器实例管理3.2 云服务磁盘管理3.3 云服务器镜像管理4. 云网络管理4.1 操作流程4.2 创建私有网络和子网4.3 管理路由表、配置弹性网卡、网络连通配置、安全配置、域名管理、8 操作实战5. 存储和数据库管理5.1 云存储操作流程、对象存储配置、文件存储配置、存储网关配置、归档存储配置、云硬盘配置5.2 云数据库操作流程、数据库(MySQL、MariaDB、SQL Server、PostgreSQL)配置、弹性缓存Redis配置、文档数据库MongoDB配置、列式数据库Hbase配置、分布式数据库DCDB配置、数据传输服务DTS配置、HTAP数据库TiDB配置、数据库一体机配置6. 高可用管理6.1 弹性伸缩AS管理6.2 负载均衡管理6.3 CDN加速管理7. 云上监控7.1 基础监控BCM概述7.2 基础监控BCM管理参考准备●一年或一年以上腾讯云产品操作经验●建议先通过“腾讯云从业者认证”●建议参加“腾讯云运维工程师培训”课程,快速具备腾讯云产品的部署、监控、运维能力●阅读官网文档,完成腾讯云产品操作及运维知识学习⏹控制台:https:///document/product/567⏹访问管理:https:///document/product/598⏹云服务器管理:https:///document/product/213⏹云网络管理:https:///document/product/214https:///document/product/215⏹云存储管理:https:///document/product/436https:///document/product/582https:///document/product/362⏹云数据库管理:https:///document/product/236⏹弹性伸缩AS管理:https:///document/product/377⏹负载均衡管理:https:///document/product/214⏹CDN加速管理:https:///document/product/228⏹云上监控:https:///document/product/248●完成腾讯云产品白皮书学习及相关线上实验白皮书:https:///whitepaper/product线上实验:https:///developer/labs/gallery。
1 Cloudstack介绍及基础1.1什么是cloudstack官方:CloudStack is an open source cloud compute platform used to deliver Infrastructure-as-a-ServiceCloudStack is open source software written in java that is designed to deploy and manage large networks of virtual machines, as a highly available, scalable cloud computing platform. CloudStack current supports the most popular hypervisors VMware, Oracle VM, KVM, XenServer and Xen Cloud Platform1.2 Cloudstack组成部份1.2.1整体组成1.2.2官方的系统架构1.3什么是Primary StoragePrimary storage is associated with a cluster, and it stores the disk volumes for all the VMs running on hosts in that cluster.1.4什么是Second StorageSecondary storage is associated with a zone, and it stores the following:Templates – OS images that can be used to boot VMs and can include additional configuration information, such as installed applicationsISO images – disc images containing data or bootable media for operating systemsDisk volume snapshots – saved copies of VM data which can be used for data recovery or to create new templates2架构2.1组件级架构2.2 部署架构3工程结构3.1工程依托关系说明:util是各个工程的基础工具包,给它们提高诸如网络连接、数据库访问、日记等效劳;Api 提供了接口效劳;Agent 要紧与物理主机交互并完成与server的通信;Server 治理端,将治理的资源持久化,提供UI治理;Core 核心业务实现;Cloud-ovm、cloud-vmware-base 别离为oracle vm及 vmware实现,agent-simulator为测试的模拟器;3.2 工程作用No Project Package Name Purpose Notes priority1utils cloud-util.jar utilities methodsthat can be usedin any projectB2api cloud-api.jar REST API, AgentAPI, and Java APIAdefinitions3core cloud-core.jar ServerResourceimplementations.Remember that eachServerResource shouldbe deployable in botha management serverand in a remote agentcontainer.Core is also beingconverted to be oneproject perServerResource, ashow ovm is donetoday.A4server cloud-server.jarManagement Server Server端主要工程A5agent cloud-agent.jarAgent Container A6ovm cloud-ovm.jar ServerResourcefor Oracle VM The future of ServerResource packaging._7agent-simulator SimulatedServerResourcefor scale andregressiontest.Will be very usefulif your work does notinvolve_8vmware-base ServerResourcefor VmWare_9UI Management 界面工程包含了 js cssimages jsp等B10Console-proxy界面控制台代理工程B11Usage使用记录工程B12Build构建工程主要是ant脚本13Deps依赖包工程主要是系统运行依赖的第三方包_ 14Daemaonize Agent的守护进程C语言构成_15Scripts脚本工程安装系统时或者系统运行时的shell及python脚本_16Setup安装时资源工程包含了 css xls imagesshell脚本 db脚本_17Client部署managenmentserver 的web工程包含了部署server的一些资源文件 web.xml等_18Test测试工程_ 19Debian系统虚拟机脚本__ 20Tools工具类包含 ant工具 gcc wafVhdtools注:编号是红色标示的是咱们目前需要关注的项目,优先级依照字典排序由高到低4数据库Cloudstack的数据存储在mysql上总共有2个数据库:数据库名称用户名称密码默认端口cloud cloud cloud3306cloud_usage cloud cloud33064.1 cloud物理数据模型由于表太多,关系比较多,一张图不能显示完全;从svn地址下载下来查看相关请利用PowerDesigner15 打开4.2 cloud_usage物理数据模型。
腾讯云TStack产品运维培训架构培训common组件目录1. 云平台架构及Supervisor2. Mysql3. Mongodb4. Redis5. Rabbitmq6. 微服务管理及venus1云平台架构及Supervisor1.1 基础云&自助云&监控云1.2 自助云组件结构1.3 监控云组件结构1.4 Supervisor—服务管理1.1 基础云&自助云&监控云VM1monitor_host01VM4sip_host01物理服务器自助云监控云KVM虚拟化资源池VM2monitor_host02VM3monitor_host03VM5sip_host02VM6sip_host03con01(master 节点)控制节点计算节点存储节点con02控制节点计算节点存储节点con03控制节点计算节点存储节点1.2 自助云组件结构sip_host01sip_host02sip_host03Mongodb(副本集模式)Mariadb (主备模式)Rabbitmq(镜像队列模式)mongodb-primarymongodb-secondarymongodb-secondarymysql-master mysql-slave rabbitmq-node1rabbitmq-node2rabbitmq-node3venus IaaS 服务自助云微服务集合基础服务云运维服务tstack_op_svrtstack_op_log_svr 无…底层虚拟机中间件上层服务PaaS 服务上层业务服务前端服务1.3 监控云组件结构monitor_host01mariadb (多主模式)mariadb-masterrabbitmq-node1底层虚拟机核心组件部署结构monitor_host02monitor_host03mariadb-slave mariadb-slaverabbitmq-node2rabbitmq-node3walle-node1walle-node2walle-node3walle_cale_simple-node1walle_cale_simple-node2walle_cale_simple-node3walle_cale_complex-node1walle_cale_complex-node2walle_cale_complex-node3redis-master1 redis-slave3redis-master2redis-slave1redis-master3redis-slave2walle_centercollector-node1collector-node2collector-node3hanah_api-node1hanah_api-node2hanah_api-node3hanah_web-node1hanah_web-node2hanah_web-node3hanah_jobnetwork_agentalarm_collect/alarm_process/alarm_notice/alarm_judge-node1alarm_collect/alarm_process/alarm_notice/alarm_judge-node2alarm_collect/alarm_process/alarm_notice/alarm_judge-node3saltstackwalle_center 单节点hanah_job 单节点redis 三主三备saltstack 单节点agent 单节点监控云Web 页面信息展示上层页面展示中间服务SupervisorRedisRabbitmqMysql supervisorctl <status|start|stop> allsupervisorctl <status|start|stop> serviceVenus微服务Supervisor配置文件:自助云监控云/etc/supervisord.conf/etc/supervisord.conf.d/监控云/etc/supervisord.conf/etc/supervisord.conf.d/2Mysql2.1 Mysql集群架构2.2 Mysql集群状态确认2.3 故障恢复2.4 常用命令2.5 备份数据2.6 Mysqldump全量+ 二进制日志(增量)备份恢复2.7 heidisql可视化管理工具2.1 Mysql集群架构HA+keepalivedVIPHA+keepalived HA+keepalived自助云基础云/监控云Galeragroup communication2.2 Mysql集群状态确认一、Galera多主集群(基础云、监控云)mysql-ptstack_mariadb-e "show status like 'wsrep%';" | egrep'(cluster_size|cluster_status|evs_state|state_comment)'二、主从复制集群(自助云、云管平台)mysql-e 'show master status'mysql-e 'show slave status\G'故障异常:1、集群迁移;2、平台宕机重启一、Galera多主集群(基础云)恢复:1、如果数据库集群服务自动启动,在所有控制节点上先执行下面命令关闭。
[root@openstack-con01 ~]# systemctl stop mariadb2、在数据库3个节点判断哪一台优先启动集群3、K版:(1)在云平台控制服务器1上,执行以下命令:[root@openstack-con01 ~]# sudo sed-i's/safe_to_bootstrap: 0/safe_to_bootstrap: 1/g' /var/lib/mysql/grastate.dat[root@openstack-con01 ~]# sudo-u mysql/usr/libexec/mysqld--wsrep-cluster-address='gcomm://'IP:端口,IP:端口,IP:端口(2)如果上面的命令没有报错,在云平台控制服务器2、云平台控制服务器3上,执行以下命令:[root@openstack-con02 ~]# systemctl restart mariadb[root@openstack-con03 ~]# systemctl restart mariadb(3)等待30s后,在云平台控制服务器1上,Ctrl+c取消掉之前的命令,然后执行下面的命令启动数据库服务:[root@openstack-con01 ~]# systemctl restart mariadbP版:(1)在云平台控制服务器1上,执行以下命令:[root@openstack-con01 ~]# galera_new_cluster(2)如果上面的命令没有报错,在云平台控制服务器2、云平台控制服务器3上,执行以下命令:[root@openstack-con02 ~]# systemctl restart mariadb[root@openstack-con03 ~]# systemctl restart mariadb4、如果发生端口占用,造成数据库启动失败,执行下面的命令。
[root@openstack-con01 ~]# iptables-F[root@openstack-con01 ~]# systemctl stop haproxy[root@openstack-con01 ~]# systemctl restart mariadb[root@openstack-con01 ~]# systemctl restart haproxy注意:如果master数据库节点无法启动,在/etc/f的[mysqld]下加一项:innodb_force_recovery=1。
此方法成功启动master。
innodb_force_recovery=1这个参数会导致数据库不能修改删除或者更新,启动成功之后需要注释掉这个参数。
K版二、Galera多主集群(监控云)恢复:(1)在监控平台3个节点判断哪一台优先启动集群(2)将第一步找出的优先启动节点执行启动数据库命令:[root@monitor-host01]# /usr/local/mariadb/bin/mysqld_safe--datadir=/data/mariadb/data \ --pid-file=/var/run/mariadb/mariadb.pid> /dev/null 2>&1 &(3)依次在另两台自助云节点启动数据库[root@monitor-host02]# /usr/local/mariadb/bin/mysqld_safe--datadir=/data/mariadb/data \ --pid-file=/var/run/mariadb/mariadb.pid> /dev/null 2>&1 &[root@monitor-host03]# /usr/local/mariadb/bin/mysqld_safe--datadir=/data/mariadb/data \ --pid-file=/var/run/mariadb/mariadb.pid > /dev/null 2>&1 &三、主从复制集群(自助云、云管平台)故障恢复(1)sip_host01查看,查看有无error输出mysql-e 'show master status'(2)sip_host02查看,下面命令输出的Last_IO_Error:不为空mysql-e 'show slave status\G'(3)sip_host01 sip_host02上执行systemctl restart mariadb(4)登陆sip_host02数据库执行MariaDB[(none)]> start slave;查看数据库及数据库表信息:介绍命令登陆mysql-h hostname -p port -uroot-p显示数据库show databases;进入数据库use mysql;显示数据库中的表show tables;查询mysql库下的user表中的数据select * from er; 或者select * from er\G; 查看user表的数据结构desc user;刷新数据库信息flush privileges;查询user表中的host,user,password字段select host,user,password from user;查询表中字段中有关localhost的数据select host,user,password from user where host="localhost";查询表中某个字段中包含某个字符的所有记录select host,user,password from user where host like '%1';增删改:介绍命令创建数据库create database testdb character set=utf8;删除数据库drop databases testdb;创建表create table testtb(id int primary key not null auto_increment,name varchar(20));表增加字段alter table testtb add age int;表删除字段alter table testtb drop age;表插入数据insert into testtb(name,age) values ("xm",'20');表更新数据update testtb set name="xl",age='21' where id=2;表删除数据delete from testtb where id=6;删除表drop table testtb;用户权限管理:介绍命令查看当前用户select user();查看用户的权限(testdb 用户)show grants for 'testdb';对某个特定数据库中的特定表单给予授权grant 权限on 数据库.表单名称to 用户名@主机名对某个特定数据库中的所有表单给予授权grant 权限on 数据库.* to 用户名@主机名对所有数据库及所有表单给予授权grant 权限on *.* to 用户名@主机名对某个数据库中的所有表单给予多个授权grant 权限1,权限2 on 数据库.* to 用户名@主机名对所有数据库及所有表单给予全部授权(需谨慎操作)grant all privileges on *.* to 用户名@主机名创建管理员,允许从本地和任何主机登陆,并设置密码grant all privileges on *.* to 用户名@'localhost' identified by'password';grant all privileges on *.* to 用户名@'%' identified by 'password';删除用户drop user 用户名@localhost;为什么要备份?灾难恢复:硬件故障、软件故障、自然灾害、黑客攻击、误操作测试时间•备份需要多少时间•能够容忍多少的数据丢失•恢复数据需要在多长时间完成数据•做还原测试,用户测试备份的可用性•还原演练配置•备份的时长很重要,备份是要消耗磁盘io的。