IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 私有云TStack 自动化部署 -> 正文阅读

[系统运维]私有云TStack 自动化部署

一、前期准备
? ? ? ?1、项目情况了解
? ? ? ? ? ?1.1 项目信息
? ? ? ? ? ?1.2 了解整体技术方案
? ? ? ? ? ?1.3 具体实施细节确认

? ? ? ?2、项目前期调研
? ? ? ? ? ?2.1业务调研
? ? ? ? ? ?2.2自助平台信息前期信息收集
? ? ? ?3、部署材料列表

二、环境准备
? ? ? ?1、服务器
? ? ? ? ? ?1.1 操作系统的配置
? ? ? ? ? ?1.2软件驱动版本
? ? ? ? ? ?1.3操作系统安装
? ? ? ? ? ?1.4服务器网卡bonding
? ? ? ? ? ?1.5软件关闭
? ? ? ?2、网络规划
? ? ? ? ? ?2.1标准组网架构
? ? ? ? ? ?2.2自动化安装支持的openstack网络类型
? ? ? ? ? ?2.3关于网络规划建议

三、服务器初始化
? ? ? ?1、操作系统安装
? ? ? ?2、制作bond并配置网卡
? ? ? ?3、bond测试

四、腾讯云TStack自动化安装
? ? ? ?1、修改配置文件
? ? ? ?2、确认控制节点01系统时间
? ? ? ?3、开始跑脚本
? ? ? ?4、时间同步
? ? ? ? ? ? 4.1时区设置(控制节点01)
? ? ? ? ? ? 4.2时间设置(控制节点01)
? ? ? ? ? ? 4.3其他服务器时钟同步

五、配置解析
?

自动化部署 TStack 的前提


1 至少需要一台服务器能传 Tstack 安装包进去
2 只支持单 region 部署
3 物理机服务器需大于 3 台, OpenStack 指定为 3 控制节点部署方
式,默认安装 ceph,ceph 集群 mon 节点固定三台,osd 节点物理机
磁盘大于 2 块

一、 前期准备


1. 1. 项目情况了解 项目情况了解
? ? ?1 1.1 项目信息
?? ? ? ?提前找前期交流人员了解客户的基本信息,目前运营的业务情况
以及后续业务迁移入云的计划
? ? ? 提前尽可能详细的了解前期交流的具体情况,并且在到达现场后
一一与客户进行再次确认,防止信息在传递过程中出现偏差。
? ? ? 提前与客户现场人员取得联系,了解现场条件,设备到货情况等
以合理的安排出差时间 ?

? ? 1.2 了解整体技术方案
? ? ? 了解项目经过前期交流后确定的技术方案,技术方案中主要包括
项目背景、私有云建设方案、网络建设方案等几部分。
? ? ? 私有云建设方案包括整体架构设计(建设几套 region,每套
region 使用的存储方式)、初始规模(采购的物理机数量,物理机配
置及其对应角色)、服务器分配方案。
? ? ? 网络建设方案包括整体网络拓扑、初期建设规模(设备可能分多
批次到货)、网络建设方案说明(布线说明、网络设备配置说明)和
网段规划(网段规划在到达现场后务必于客户进行确认,确认网段规
划符合现场网络要求)。

1.3 具体实施细节确认
? ? ? 在了解了整体技术方案后,提前做好一部分前期规划工作,包括
但不仅限以下内容:
? ? ? ● 服务器硬盘规划:每块硬盘的用途,用来装系统还是用作存
储盘,需要制作的 raid 类型
? ? ? ● 系统盘具体默认分区方案(控制节点、计算节点通用):
var/log 50G, swap (16G-32G),boot 500M , \ 剩下所有空间。
? ? ? ● 确认网络设备需要做的具体配置:一般情况下,现场会有网
络设备厂商的网络工程师协助进行网络配置,但我们仍需清楚的告知
网络工程师现场的网络架构,包括网络设备上需做的具体的配置,例
如交换机堆叠,端口聚合、端口模式等等

2.项目前期调研
? ?2.1 业务调研

? ? ? 了解客户现有业务的类型、架构、规模、所使用的操作系统版本,
软件版本等等,确认迁移方案,常用的迁移方案是云平台根据业务的
要求,提供满足业务配置需求的虚拟机,重新部署业务的运营环境,
待部署完成后进行业务系统的数据迁移工作和流量切换完成业务迁
移。
? ? 2.2 自助平台信息前期信息收集
在实施前,需要优先确定部分信息,确保后续云服务自助平台的
顺利搭建,这些信息包括但不仅限于以下内容:
? ?● 租户:租户是用来划分资源与成本等归属的一个范围,一般
为部门或者中心级别,但级别确定后,后期扩展只能使用确定的级别
(部门或中心),例如初期租户确认为财务经营部和云计算部级别,
后续添加的租户也必须与财务经营部和云计算部在同一级别上
? ?● 角色与用户:角色分为系统管理员、部门管理员和工单管理
员,如果一个用户不属于任何角色,那么此用户为普通用户,只能进
行资源的申请操作。如果一个用户属于系统管理员、部门管理员或工
单管理员,那么此用户不仅可以申请资源,还具有审单、批单、管理
部门下的所有机器等权限。整个审批流程可以根据现场情况进行调整,
例如多级审批,类似下图的过程:

3. 部署材料列表 部署材料列表
? ?TStack 安装包,为腾讯云 TStack 安装软件包,包括腾讯云
TStack(基础云,自助云,监控)安装所需的所有东西。?

二、环境准备?

?1. 服务器

? ? ? 1.1 操作系统的配置
(操作系统下载地址 http://mirror.nsc.liu.se/centos-store/7.5.1804/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso)?

? ? ?1.2 软件驱动版本
当万兆网卡使用 i40e 驱动是需注意版本

? ? ? 1.3 操作系统安装
? ? ? 1 1.3.1 最小化 centos 7.5_U iso_U 盘
? ? ? 所有节点均使用最小化 centos7.5_iso_U 盘安装,安装完毕之后
上传腾讯云 TStack 部署包:
? ? ?将 Tstack 部署包 tstack-pike-1.0.0-release.tar.gz 上传至
控制节点 01 服务器任意目录例如/tmp
? ? ?准备脚本运行环境,命令如下:

cd /tmp
mkdir /tmp/packet
tar zxvf tstack-pike-1.0.0-release.tar.gz -C /tmp/packet
cd /tmp/packet
bash install_base_with_pack.sh

执行完脚本后,验证以下内容:
1、/root/ansible_deploy/ 是否存在该目录,该目录下是否有
文件。
2. /var/www/html/tstack/有 tstack-images、tstack-repos、
tstack-tars 三个文件夹
3. curl ${openstack-con01}/tstack/输出包含tstack-images、
tstack-repos、tstack-tars 字段即可,${openstack-con01}用本机
ip 替换掉

? ? 1.4 服务器网卡 bond ing
? ? ? 部署之前需要清楚每张网卡在服务器上所在的物理位置、那两张
网卡做端口绑定,以便后面排错,例如以下
网卡位置:
eno1 eno2
enp8s0f0 enp8s0f1
enp9s0f0 enp9s0f1
bonding 网卡序列
eno1 eno2 bond0
enp8s0f0 enp9s0f1bond1
enp9s0f0 enp8s0f1bond2

? ? 1.5 软件关闭
如果是自己用 Centos7.5-1804 minimal 镜像装的服务器,需要
先关闭 selinux,firewalld 等服务。

2. 网络规划
? ? ?2.1 1 标准组网架构

Openstack 网络
? ? 管理网络
管理网络为 openstack 部署时所用网络,平台搭建起来之后接受
外部请求,平台内 API 请求处理网络,mysql、memcache、haproxy、
keepalived、rabbitmq 等也使用该网络。一般规划为千兆网络。
?? ?虚拟机数据网络
? ? ?VLAN 模式下该网络为数据网络,不同计算节点虚拟机之间通过计
算节点 br-bondx 来实现数据传输,虚拟机获取 dhcp、元数据等信息也是通过所在计算节点 br-bondx 和控制节点的 br-bondx 来进行通信。
? ? VXLAN 模式下数据网络为 vxlan 隧道网络,vxlan 隧道是通过计算
节点<->控制节点,计算节点<->计算节点之间的带 ip 的网卡构成的
网络(数据网络接口需要 IP 地址, 因为是隧道协议需要底下的三层
转发支持),不同计算节点虚拟机之间、以及虚拟机获取 dhcp、元数
据等信息通过该网络获取。
? ? ?虚拟机外部网络
外部网络只有在 VXLAN 模式下才有,该网络实现了 vxlan 虚拟机
同外部的通信。

Ceph 网络
? ?存储接入网络(public)
接收客户端请求,监视整个集群信息。
? ?存储复制网络(cluster)
Ceph 各 osd 副本之间复制、osd 之间心跳、数据恢复回填等。

带外网络
带外网络用作服务器带外管理,服务器远程管理等。

? ? 2.2 自动 化安装支持的 O Ok penStack 网络类型
vxlan _ovs
vxlan_ovs 特性:
? ?1)虚拟机业务网络生成与控制节点的 隧道网络内,联通外部网路需要借助于虚拟机路由器等
? ?2)该网络下外部网络为 flat 模式
? ?3)tstack 虚拟机创建于 vxlan 网络上,部署过程中,会自动创建浮动 IP,并创建关联网络以及虚拟路由器进行互通
? ?4)由 flat 提供外部网络, 默借助于虚拟机路由器等

网络架构图如下:

vlan_ovs
vlan_ovs 主要特性:
? ?1)虚拟机与外部访问直接从计算节点出网,不经过网络节点(控制节
点)
? ?2)虚拟机网络网关在核心交换机

? 3)tstack 业务虚拟机创建于该业务网络的其中一个 vlan 网络内
网络结构图如下:

vlan_vxlan
? vlan_vxlan 特性:
? 1)虚拟机业务网络生成与控制节点的 隧道网络内,联通外部网路需要
借助于虚拟机路由器等
? ?2)该网络下外部网络为 trunk 口,可以创建多于一条外部网络
? ?3)tstack 虚拟机创建于 vxlan 网络上,部署过程中,会自动创建浮
动 IP,并创建关联网络以及虚拟路由器进行互通
? ?4)由 vlan 提供外部网络
网络结构图如下:?

2.3 关于网络规划建议
? 上行交换机端口聚合模式为lacp(动态链路聚合),端口模式为trunk
? 下行服务器网卡 bonding 模式为 mode4(802.3ad)
? 服务器每对 bond 做相应 vlan 子接口方便测试

三、 服务器初始化

1. 操作系统安装
2. 制作 bond 并配置网卡

? ? ?按硬件配置要求,做 raid、装系统,并由现场网络工程师设置交
换机之后,需要对服务器的网卡做 bond 设置,并配置网络参数。例
如有如下场景示例:
? ? ?对于每一个节点,将 enp61s0f0 和 enp61s0f1 做成 bond_manage,
并做子接口bond_manage.224。为bond_manage.224配置管理网络IP,
并设置网关为 172.16.3.0。
? ? ?注意:网口名称 enp61s0f0 和 enp61s0f1 是示例,请根据实际网
口名称(如 enp26s0f0、enp26s0f1 等)来配置文件!
? ? ?一个示例脚本 bond_ _h config.sh 见附录 1 1

3.Bond 测试
? ? 1>配置完成后将所有节点网络重启,并进行检查是否 bond 配置成功
# ansible –i hosts,yml openstack-all –m service –a “name=network state=restarted”
? ? 2>检查网卡是否 bond 为单网卡做 bond 前的两倍
# ansible –i hosts.yml openstack-all -a “ethtool bond_manage”|grepSpeed

? ?3>如果 bond 出现不正常,检查系统 bond 状态
#cat /proc/net/bonding/bond_manage 存在 802.3ad 表示为
bond4 成功。包含两个 slave 表示正常

四、 腾讯云 k TStack 自动化安装


? ? ? ?腾讯云 TStack 安装在主服务器操作(默认为控制节点 1)。
? ? ? ?所有服务器安装操作系统完成后,就可以开始安装腾讯云TStack。
? ? ? ?腾讯云 TStack 自动安装包括了部署 OpenStack、自助云、监控云。
? ? ? ?OpenStack 安装在物理服务器,自助云、监控云 分别安装在
OpenStack 自动孵化的虚拟机。

1. 修改配置文件
? ? ?配置文件位置在 /root/ansible-deploy/目录下,主服务器修改
以下文件:
? ? ? Hosts 配置: : /root/ansible-deploy/tstack_hosts/ 文件夹下
所有 all 、 openstack 、 ceph 、 sip 、r monitor 文件修改完执行
python generate_hosts.py
? ? ?上面命令会生成/root/ansible-deploy/hosts 用作 ansible 执
行时的 inventory 文件
? ? ?主要环境变量: : /root/ansible-deploy/group_vars/all.yml
? ? ?配置解释见 附录 2 2 :all_example.yml
? ? ?/root/ansible-deploy/group_vars/openstack-all.yml配置解
? ? ? 释见 附录 3 3 :openstack-all_example.ym
? ? ?上层数据初始化配置见 附录 4 4: :d d atainit_ example .yml
?2. 确认控制节点 1 01 系统时间
跑脚本之前需要确认控制节点01的系统时间与实际时间(例如
手机时间)差别不大,否则按照修改
3. 开始跑脚本
cd /root/ansible-deploy
bash run.sh
跑完之后看到下面图像即安装完毕.

4. 时间同步
4.1 时区设置( ( 控制节点 01) )
? ? 将控制节点 01 时区设置成 CST 时区
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
4.2 时间设置( ( 控制节点 01) )
date -s 05/03/19
date -s 15:33:00
4.3 其他服务器时钟同步
腾讯云 TStack 所有服务器采用 chrony 来做时钟同步服务:
注意: : 上层 6 台服务器未配置三台控制节点的域名解析,需在
这六台服务器的/etc/hosts 里面加三行才能完成时钟同步。

五、 配置解析


整个部署脚本的入口为 run.sh,run.sh 实际主要主要执行了
tstack.yml,tstack.yml 配置 comment 如下:

上面的每一节都是可以分开跑的,如果跑脚本的过程中出错了就
不用推倒重来,只需要关注错误的部分,从错误的部分开始跑脚本即
可,对于上面有两种操作。?


?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-02 11:10:24  更:2021-08-02 11:12:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 6:32:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码