1. 系统简介1.1. 概述
企业云存储系统3.0基于联想企业网盘3.3优化而来,针对安装部署、运维管理和私有化功能进行了完善。
1.2. 背景知识1.2.1. 容器技术简介
为了解决部署环境复杂性带来的各种问题,云存储系统的部署基于docker容器技术。
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,几乎没有额外性能开销,可以很容易地在机器和数据中心中运行。最重要的是不依赖于任何语言、框架或系统。
详细的介绍和文档请参阅官方网站:www.docker.com
1.2.2. 系统模块划分
当前版本云存储系统分为下列几个模块,如表格 1-1所示:
表格 1-1
启动机制
1. 系统安装部署后,安装程序将首先启动当前宿主机上面的docker容器。
2. 容器启动时将自动执行指定脚本进行初始化和相关服务启动。
3. 系统安装部署时将启动容器脚本预置到宿主机配置文件,当宿主机重启后将再次启动docker容器。
1.3. 术语
表格 1-2
2. 部署方案选型2.1. 部署方案介绍2.1.1. 方案一:试用部署
l 所有模块安装在一台设备,主要用于功能试用,如表格 2-1所示:
表格 2-1
l 设备模块关系如图表 2-1所示:
图表 2-1
2.1.2. 方案二:标准部署
l 模块分布于两台设备,可满足中小企业需求,如表格 2-2所示:
表格 2-2
l 设备模块关系如图表 2-2所示:
图表 2-2
l 网络拓扑如图表 2-3所示:
图表 2-3
2.1.3. 方案三:大规模部署
l 模块分布于若干设备,可满足大型企业需求,如表格 2-3所示:
表格 2-3
l 推荐设备模块关系如下:
图表 2-4
l 推荐网络拓扑如下:
图表 2-5
2.2. 部署环境2.2.1. 宿主机推荐配置
多个模块复用同一台宿主设备时,CPU、内存、硬盘应累加计算(试用部署除外)。
l Portal、License、HAProxy
表格 2-4
l Datacenter
表格 2-5
l Application
表格 2-6
l DB
表格 2-7
l Chunk
表格 2-8
2.2.2. 宿主机软件环境
表格 2-9
2.2.3. 网络环境
1. 千兆以太网
2. 各模块间网络可达
3. 开放端口如表格 2-10所示:
表格 2-10
4. 各宿主机ssh可达
5. ntp服务
6. smtp服务
7. DNS服务(可选)
3. 部署3.1. 配置项说明
1. 全局配置
系统选项,全局配置选项。
a) 机器数量: 部署系统的规模,选择机器使用的数量,如果超过10台,选择更多。
b) application_domain和application_domain_port:用户浏览器中访问网盘WEB、接口服务的域名或ip地址以及端口
c) dc_domain和datacenter_domain_port:用户浏览器中访问网盘上传下载服务的域名或ip地址以及端口
d) application内部ip和端口:对于多台用于app负载均衡的虚拟ip,对于单台就是app所在的机器的物理ip
e) datacenter内部ip和端口:对于多台用于datacenter负载均衡的虚拟ip,对于单台就是datacenter所在的机器的物理ip
f) 是否AD服务: 如果启用AD服务,则要选择该选项,并进行配置
g) https:用于开启https服务
2. 设备详情
a) data_path:用于存放配置和日志文件,对于DB所在的机器,该路径要保证足够的容量
b) IP :该机器的ip
c) Password:特权用户root的密码
d) 角色:选择该机器上启动的服务角色,有:app、dc、db和HA
3. application
a) ip:容器所在宿主机的IP地址
b) email_server:发送邮件时的邮件服务器
c) email_user:发送邮件的用户
d) email_password:邮件密码
e) email_type:邮件服务类型,目前仅支持smtp 和 exchange
f) data_path:日志和数据存放位置
4. datacenter
a) 模式:cell和S3
l Cell为单节点对象存储,主要用于单机测试版
l S3对象存储,用于多台大规模部署
b) port:传输服务监听端口,固定为10081
5. db_master/slave
a) master的主数据库
b) slave用于数据库备份
3.2. 安装存储系统3.2.1. 试用部署
试用部署时无需安装存储模块。
3.2.2. 标准部署
参见联想对象存储系统部署文档。
3.2.3. 大规模部署
参见联想对象存储系统部署文档。
3.3. 试用部署3.3.1. 宿主机规划
表格 3-1
3.3.2. 宿主机安装
1. 准备安装包
a) 获取3.4.1的安装包,放到宿主机的opt下(假设宿主机的ip是192.168.1.114)
b) 增加权限,chmod+x DragonBall-20150615184241-3.4.0.3.bin
c) 执行安装包: ./DragonBall-20150702133205-trunk-gaia.bin
d) 接着会提示选项,对于单台机器来说,这里选择2,然后再根据提示输入本机的IP地址和保存数据的路径。
e) 然后程序会关闭防火墙、启动docker、导入portal镜像、启动portal和license服务。
f) 启动成功会提示访问的URL,请用浏览器访问该URL进行配置。如图表 3-1所示。
图表3-1
2. 配置系统
a) 访问图表3-1中URL,点击系统服务管理中的修改配置进入全局配置设置页面,在没有设置机器的状态下,显示如图表 3-2界面。如果规模是单机,机器数量选择1台,存储方式选择cell
图表 3-2
b) 在这里要配置网盘的外部访问入口和内部访问ip,如图表 3-3所示。输入app的ip和端口,输入data_center的ip和端口,输入data_path的值,点击下一步。这里的IP和端口是整个网盘的入口。
图表 3-3
c) 如果使用企业AD域服务,则需要配置AD服务器的IP地址,配置方法:点击“是否AD服务”,然后输入AD服务器的IP地址,如图表 3-4所示。
图表 3-4
d) 点击下一步,进入添加机器界面。点击添加设备按钮,会弹出如图表 3-5界面。
图表 3-5
e) 输入机器ip,机器用户名是root不可更改,输入机器登录密码,然后勾选机器的角色,勾选后,需要对每个角色设置参数,注意单机不要选HA角色,如图表 3-6所示。
图表 3-6
f) 设置完成后,点击修改,在主界面会生成机器列表,如图表 3-7所示。
图表 3-7
g) 点击机器名称的超链接,会弹出机器详情页面,可在此页面对机器详情进行修改,如图表 3-8所示。
图表 3-8
h) 勾选机器,点击完成配置,会弹出窗口,如图表 3-9。
图表 3-9
分别点击环境检测,镜像检测,提交更新,后台会进行相应的操作,并把结果返回到页面上,如图表 3-12。提交更新需要等待几分钟完成。
图表 3-10
点击导入镜像
图表 3-11
点击启动所有服务
图表 3-12
点击重试,可进行重试操作。
i) 回到系统服务运行状况,可以监控各台机器已启动服务的状态,如图表 3-13。
图表 3-13
点击“刷新”,会对服务状态进行刷新,如图表 3-14。
图表 3-14
j) 点击角色后面对应的启动或停止铵钮,可启动或停止该角色。
3.3.3. 登录验证
浏览器输入宿主机ip地址,此时应能看到创建管理员页面,如图表 3-15
图表 3-15
创建账户admin,密码为123456后再次访问URL登录,如图表 3-16
图表 3-16
使用账户admin登录,密码:123456,此时应该可以成功登入系统。
3.4. 标准部署3.4.1. 宿主机规划
表格 3-2
3.4.2. 宿主机安装
1. 准备安装包
a) 获取3.4.1的安装包,放到宿主机的opt下(假设宿主机的ip是192.168.1.114)执行安装包:./DragonBall-20150702133205-trunk-gaia.bin
b) 接着会提示选项,对于需要启动portal的机器来说,这里选择2,然后再根据提示输入本机的IP地址和保存数据的路径。
c) 然后程序会关闭防火墙、启动docker、导入portal镜像、启动portal和license服务。
d) 启动成功会提示访问的URL,请用浏览器访问该URL进行配置。如图表 3-17所示。
图表 3-17
2. 修改配置
a) 访问图表3-17中URL,点击系统服务管理中的配置向导进入全局配置设置页面,在没有设置机器的状态下,显示如图表 3-18界面。如果规模是双机,机器数量选择2台,并在存储方式里面设置s3的信息。
图表 3-18
b) 在这里要配置网盘的外部访问入口和内部访问ip,如图表 3-19。这里的IP和端口是整个网盘的入口。
图表 3-19
c) 如果使用企业AD域服务,则需要配置AD服务器的IP地址,配置方法:点击“是否AD服务”,然后输入AD服务器的IP地址,如图表 3-20
图表 3-20
d) 点击下一步,进入添加机器界面。点击添加设备按钮,会弹出如图表 3-21界面:
图表 3-21
e) 输入机器ip,机器用户名是root不可更改,输入机器登录密码,然后勾选机器的角色,勾选后,需要对每个角色设置参数,如图表 3-22。
图表 3-22
f) 设置完成后,点击提交,在主界面会生成机器列表,如3-23
图表 3-23
g) 点击机器名称的超链接,会弹出机器详情页面,可在此页面对机器详情进行修改,如图表 3-26所示。
图表 3-26
h) 勾选机器,点击完成配置,会弹出窗口,如图表 3-27
图表 3-27
分别点击环境检测,导入镜像,运行服务,后台会进行相应的操作,并把结果返回到页面上,如图表 3-29。点击导入镜像,后台会把镜像导入到勾选的机器上如图表 3-28。
图表 3-28
图表 3-29
点击重试,可进行重试操作。
i) 点击返回首页按钮,回到首页,可以监控各台机器已启动服务的状态。如图表 3-30。
图表 3-30
点击“刷新服务状态按钮”,会对服务状态进行刷新。
j) 点击角色后面对应的启动或停止铵钮,可启动或停止该角色。
3.4.3. 登录验证
浏览器输入宿主机ip地址,此时应能看到创建管理员页面,如图表 3-31
图表 3-31
创建账户admin,密码为123456后再次访问URL登录,如图表 3-32
图表 3-32
使用账户pangu登录,密码:123456,此时应该可以成功登入系统。
3.5. 大规模部署
大规模部署需要根据实际情况进行规划,可以根据需要灵活组合。
3.5.1. 宿主机规划(以4台设备为例)
表格 3-3
3.5.2. 宿主机安装
a) 获取3.4.1的安装包,放到宿主机的opt下(假设宿主机的ip是192.168.1.108)
b) 执行安装包:./DragonBall -20141017.bin
c) 接着会提示选项,对于需要启动portal的机器来说,这里选择2,然后再根据提示输入本机的IP地址和保存数据的路径。
d) 然后程序会关闭防火墙、启动docker、导入portal镜像、启动portal和license服务。
e) 启动成功会提示访问的URL,请用浏览器访问该URL进行配置。如图表 3-33所示。
图表 3-33
2. 修改配置
a) 访问图表3-33中URL,将会进入首页,点击修改配置,在没有设置机器的状态下,显示如图表 3-34
图表 3-34
b) 大规模部署,在此选择4台,存储方式选择s3,填写s3的信息,如图
c) 在这里要配置网盘的外部访问入口和内部访问ip,如图表 3-35。输入app的ip和端口,输入data_center的ip和端口,输入data_path的值,点击下一步。这里的IP和端口是整个网盘的入口。
图表 3-35
d) 如果使用企业AD域服务,则需要配置AD服务器的IP地址,配置方法:点击“是否AD服务”,然后输入AD服务器的IP地址,如图表 3-36
图表 3-36
e) 点击下一步,进入添加机器界面。点击添加设备按钮,会弹出如图表 3-37界面:
图表 3-37
f) 输入机器ip,机器用户名是root不可更改,输入机器登录密码,然后勾选机器的角色,勾选后,需要对每个角色设置参数,如图表 3-38
图表 3-38
g) 设置完成后,点击提交,在主界面会生成机器列表,如图表 3-40
图表 3-40
h) 点击机器名称的超链接,会弹出机器详情页面,可在此页面对机器详情进行修改,如图表 3-41所示。
图表 3-41
i) 勾选机器,点击完成配置,会弹出窗口,如图表 3-42。
图表 3-42
j) 分别点击环境检测,导入镜像,运行服务,后台会进行相应的操作,并把结果返回到页面上,如图表 3-44。点击导入镜像,后台会把镜像导入到勾选的机器上,如图表 3-43。
图表 3-43
图表 3-44
点击重试,可进行重试操作。
k) 点击返回首页按钮,回到首页,可以监控各台机器已启动服务的状态。如图表 3-45。
图表 3-45
点击“刷新服务状态按钮”,会对服务状态进行刷新。
l) 点击角色后面对应的启动或停止铵钮,可启动或停止该角色。
3.5.3. 登录验证
浏览器输入宿主机ip地址,此时应能看到创建管理员页面,如图表 3-46
图表 3-46
创建账户admin,密码为123456后再次访问URL登录,如图表 3-47
图表 3-47
使用账户admin登录,密码:123456,此时应该可以成功登入系统。
3.6. 软件许可管理
企业云存储系统初次部署时需要签发测试许可证,具体许可内容请咨询销售人员。
完成部署后,可按照下列步骤操作,导入正式软件许可:
1. 导出客户硬件指纹
访问license服务,下载硬件指纹client_key:http://<license_ip>:18088/pcm/create
2. 将步骤1获得client_key文件发送给联想
3. 软件许可管理员使用client_key签发正式授权许可license文件
4. 打开导入页面http://<license_ip>:18088/pcm/import完成授权许可文件导入
5. 打开授权信息查看页面验证授权内容是否正确:http://<license_ip>:18088/pcm/show
4. 维护4.1. 容器启动、停止、重置
l 停止当前宿主机所有容器:sh$DRAGON_BALL_ROOT/DragonBall/stop_all.sh
l 重置所有容器:sh$DRAGON_BALL_ROOT/DragonBall/bin/reset.sh
sh /opt/DragonBall-20150702133205/DragonBall/bin/super_reset.sh
停止consul: pidof consul |xargs kill -9
然后./config_server.sh start
注意:
1. 重置操作将还原所有容器,容器内的所有操作将丢失(运行日志和用户数据不受影响)
2. 请确保db_master所在宿主机先于其他任何宿主机启动
4.2. 配置变更
a) 打开首页,点击修改配置按钮,会进入全局设置页面,如图表 4-1
图表 4-1
b) 在全局设置页面会显示已配置好的内容,可对其进行修改,如图表 4-2
图表4-2
c) 点击下一步,会保存修改的内容,进入机器列表页面,如图表 4-3
图表 4-3
d) 点击机器名称超链接,弹出机器详情页面,可在此页面对机器进行修改操作,如图表 4-4
图表4-4
e) 点击提交更新按钮,后台程序会把已更新的机器内容重新加载。
f) 浏览器输入宿主机ip地址,此时应能看到登录页面,如图表 4-5
图表 4-5
使用账户(默认为databox)登录,密码:123456,此时应该可以成功登入系统。
注意:
1. 上述操作将还原所有容器,容器内的所有操作将丢失(运行日志和用户数据不受影响)
2. 请确保db_master所在宿主机先于其他任何宿主机启动
4.3. 数据备份
l 备份
a) 停止所有宿主机容器
b) 登录db_master容器所在宿主机
c) 进入数据目录(由data_path配置项指定,以下由$DATA_PATH指代)
d) 备份目录$DATA_PATH/data_all/db_master
e) 启动所有宿主机容器,必须db_master容器所在宿主机首先启动
l 恢复
a) 停止所有宿主机容器
b) 登录db_master容器所在宿主机
c) 进入数据目录(由data_path配置项指定,以下由$DATA_PATH指代)
d) 使用备份数据覆盖同名目录$DATA_PATH/data_all/db_master
e) 启动所有宿主机容器,必须db_master容器所在宿主机首先启动
4.4. 手工维护
当容器运行异常或需要特殊配置时,需要登入容器进行手工维护。
g) 登录目的宿主机
h) 执行docker ps命令查看当前宿主机上运行的容器
i) 找到目的宿主机和映射到容器22端口的宿主机端口(例如10.100.1.86:10023->22/tcp 表示该容器22端口映射到宿主机端口10023)
j) 使用ssh登入容器进行操作即可,默认容器root密码为root(例如:ssh 10.100.1.86 -p 10023)
4.5. 系统还原
访问URL:http://192.168.1.114:10085/manager管理平台,进入系统维护点击还原数 据配置,将会删去之前所有保存的配置,如图表 4-6所示。
图表 4-6
4.6. 查看服务状况
在系统服务管理中点击“系统服务运行状况”,可以监控各台机器已启动服务的状态。如图表 4-7
图表 4-7
点击“刷新服务状态按钮”,会对服务状态进行刷新。点击角色后面对应的启动或停止铵钮,可启动或停止该角色。运行状态栏中红色为不能启动,绿色为正常启动。
4.7. 服务器资源状况
图表 4-8
在服务器资源状况中点击“刷新”会对资源状况进行刷新,如图表 4-8。
4.8. 报警管理
a) 报警记录中显示之前的报警,如图表 4-9。
图表 4-9
b) 在邮件服务管理中点击“配置”,可以进行发报警提醒邮件的配置,如图表 4-10。
图表 4-10
点击保存后,相关信息返回到界面上,如图表 4-11。
图表 4-11
c) 点击邮件配置,进入收邮件配置,报警提醒会发至此邮箱中,如图表 4-12。
图表 4-12
d) 在阈值调整中可以手动输入报警的阈值,当系统资源达到其中一个值时会发邮件报警。如图表 4-13。
图表 4-13
4.9. 许可管理
图表4-14
点击“获取签名”,会将签名下载到文件中,名为ClientKey。点击“更新证书”,会打开浏览选择新的证书所在位置,如图表 4-15。
图表 4-15
4.10. 升级管理
在系统维护中,点击升级管理,会显示可更新的角色,如图表 4-16。
图表 4-16
点击更新至最新版本即可系统升级。
点击“历史版本”,显示以前的版本号,如图表 4-17。
图表 4-17
点击“打补丁”,打开浏览补丁所在位置,如图表 4-18。
图表 4-18
4.11. 存储管理
图表4-19
点击“刷新”查看系统中的垃圾数据,如图表 4-20。
图表 4-20
点击“清除垃圾数据”,清理系统垃圾,如图表 4-21。
图表 4-21
5. 常见问题5.1. 登录和操作特别慢
现象描述:
l 打开登录页面缓慢。
l 输入用户名密码点击登录按钮后长时间无响应。
l 上传、下载速度只有几kb。
l 打开目录反应特别慢甚至失败。
排查步骤:
1. 检查网络情况是否良好:
a) 在本地ping目标服务器,查看丢包率和响应时间是否异常,如图表 5-1。
图表 5-1
如果丢包率超过10%或响应时间超过500ms,请检查本地到目标服务器之间的网络状况或咨询网络管理员。
b) 使用ssh客户端登录私有云服务器,ping域名解析服务,查看丢包率和响应时间是否异常,如图表 5-2。
图表 5-2
如果丢包率超过10%或响应时间超过500ms,请检查本地到DNS服务之间的网络状况或尝试更换域名解析服务,具体配置内容请询问网络管理员。
如更换域名解析服务,需要对容器进行配置变更操作,具体参见4.2节。
2. 检查宿主机资源使用情况是否正常:
a) 使用ssh客户端逐个登录私有云服务器,使用top命令检查资源使用情况,查看CPU、内存占用是否合理,如图表 5-3。
图表 5-3
如果%cpu(s) us稳定在90%以上,说明宿主机CPU性能无法满足业务需要。
如果Mem free小于100000(100MB),说明宿主机内存容量无法满足业务需要。
如果%cpu(s) wa 经常超过20%且内存free大于1000000(1GB),说明宿主机I/O性能无法满足业务需要。
如果Swap free小于100000(100MB),说明宿主机内存交换区无法满足业务需要。
b) 使用ssh客户端逐个登录私有云服务器,使用df -h命令检查磁盘使用情况是否合理,如图表 5-4。
图表 5-4
如果私有云数据目录(默认为/data)所在挂载点Use%超过80%或Avail小于10G,建议立即向IT部门申请扩大磁盘容量。
扩大磁盘容量前需要停止所有服务并备份数据,详见4.1、4.3节。
完成磁盘扩容后需要重新启动服务,详见4.1节。
5.2. 无法登陆成功
现象描述:
l 无法打开登录页面,如图表 5-5。
图表 5-5
(具体显示内容与所使用浏览器有关,可能与上图不同)
l 输入用户名密码点击登录按钮后提示“很抱歉,您的操作失败了,建议您再试一次”。
排查步骤:
1. 如果刚完成部署,请等待服务完成启动(约1~2分钟)。
2. 检查网络情况是否良好:
a) 在本地ping目标服务器,查看丢包率和响应时间是否异常,如图表 5-6。
图表 5-6
如果丢包率超过10%或响应时间超过500ms,请检查本地到目标服务器之间的网络状况或咨询网络管理员。
3. 检查容器是否启动成功(以试用部署为例)
a) 使用ssh客户端登录私有云服务器,使用ps -ef|grep docker查看docker服务是否已正常运行,如图表 5-7。
图表 5-7
如果没有任何一行包含docker -d,说明docker服务没有正确启动,请尝试手动启动,具体操作参见3.3节中“准备docker环境”相关内容。
b) 使用ssh客户端登录私有云服务器,使用docker ps查看容器是否已正常运行,如图表 5-8,。
图表 5-8
如果输出里没有包含当前宿主机配置的角色,说明容器没有正确启动,需要检查配置文件并尝试重启容器,具体操作详见4.1节。
5.3. 启动portal异常
l 一直解压包无法进行下一步操作,如图表 5-9:
图表 5-9
排查步骤:
a) cd DragonBall-20150615184241/
b) ./config_server.sh startdocker
c) ./config_server.sh start
d) 进入portal配置过程,开始输入ip
l 无法进行解压,如图表 5-10
图表 5-10
排查步骤:
a) 删除压缩包:rm -rfDragonBall-20150702133205.tar.gz
b) 执行包:./DragonBall-20150702133205-trunk-gaia.bin
5.4. portal异常退出
l 无法运行服务,如图表 5-11和图表 5-12:
图表 5-11
图表 5-12
排查步骤:
a) docker ps
b) cd /opt/DragonBall-20150615184241
c) ./config_server.sh restart
d) please access url [http://192.168.1.116:10085/manager]to config
5.5. 机器重启后服务启动异常
a) 先检查机器的自启动脚本是否正常:vim /etc/rc.d/rc.local
排查DragonBall/bin中的autostart.sh是否存在。若不存在,则需联系开发人员。
b) 若存在,则执行该脚本:
sh /opt/DragonBall-20150720130039/DragonBall/bin/autostart.sh,看是否能够启动服务。
c) 若仍不能重启,则重启机器。
d) 若仍然不能重启,则需联系客服。
5.6. 机器ip变更
a) 先在系统服务运行状况界面中停止变更前的ip所对应的所有服务。
b) 在机器列表中删除变更前的ip对应的机器。
c) 在机器列表中新增变更的ip对应的机器,重新配置。
d) 勾选机器,点击“提交更新”按钮。
e) 回到系统服务运行状况界面进行刷新。
5.7. 支持https
a) 无论使用开启1还是开启2(是否使用负载均衡,比如HA),都要使用证书。
b) 不使用负载均衡的情况,适用于单台测试,app和dc 里的nginx都需要证书,证书位置比如/data/data_all/application_192168001052/nginx/https_ca,证书名为server.crt密钥名为server.key。
c) 使用负载均衡的情况,如果客户不提供,默认使用HAproxy,其证书放在/opt/CA目录下,证书名必须为server.pem(server.crt+server.key);如果客户提供,则由客户进行管理。
5.8. 打包下载
a) Dfearg
b)
5.9. 修改mysql和docker密码
1)进入protal里面,编辑/opt/ansible-Playbooks/playbooks/dragonConf_files/shadow_env.con
如果修改mysql密码,就在文件里添加行:mysql_passwd=123456,如果修改docker密码就添加行container_passwd=123456
原创文章请注明转载自技术小站本文地址:http://www.i5i6.net/post/179.html,标题:联想企业云盘系统安装文档