一、为什么要写这篇文章
最近由于工作需要总共申请了16台云主机,分别用于安装Kafka和elasticsearch集群,因为经验不足过程较为曲折,时间花费比较长。体会如下,因为公司业务高速发展,运维开发RD人力不足,很多基础设施未跟上。特别是运维自动化工具还没有上线,每步操作都是人肉,所以申请机器周期变长,虽然运维同学付出百般努力和心血,依然无法应对我们申请大军的庞杂需求,难免有疏漏步骤。那我们该如何多做一些工作,辅助运维同学减轻他们负担并且达成我们的目标呢?具体实施步骤请看“如何高效正确申请”
二、如何高效正确申请
1.填写工单
申请机器需要提交2次工单 1.第一个工单申请云主机,但没有登录权限 2.第二个工单申请root权限
左边导航“工单管理–》提交工单”,选择“服务器申请-应用”
填写基础内容,这个比较容易
以下内容组合(目录树)生成机器名称,机器名称需要符合命名规则,如果命名不符合预期,请联系运维创建相应目录树
2.验证机器可用性
由于运维同学事情多、压力大、排队任务多,时常会被高优先级任务打断,有时因为中途被其他事情打断,可能会漏掉一些工作。
- 提交工单需要主动push,否则可能会先处理高优先级的,自己工单排单为低优先级状态
- 分配登录权限问题,有时可能没分配登录用户和root权限或分配不全
- 有时磁盘未挂载
- 机器有防火墙,端口无法访问
- 检查IP与主机匹配正确性
2.1 工单申请推进落地
RD如果不主动推进,可能提交的任务被排为低优先级,所以提交工单后,push老大审批通过,并主动到运维同学跟前沟通解决工单问题,很可能会加快处理。
2.2 检查登录权限
检查普通用户是否能正常登录,每台机器必须登录检查确认
[lizhitao1@l-tiger1.ops.prod.aws.dm ~]$ ssh host
检查root权限是否正常,每台机器必须登录检查确认
[lizhitao1@l-tiger1.ops.prod.aws.dm ~]$ sudo -s
[root@l-callcenter-kafka-server1.mgt.beta.ali.dm lizhitao1]#
2.3 磁盘挂载检查
[root@l-callcenter-kafka-server1.mgt.prod.aws.dm lizhitao1]# fdisk -l
[root@l-callcenter-kafka-server1.mgt.prod.aws.dm lizhitao1]# df -h
怎么确定磁盘未挂载?
df -h 容量 远小于 < fdisk -l
例如:我实际申请了500G,只分配了大约120G,这就是数据磁盘没有挂载
2.4 检查网络连通性(防火墙)
网络是否能ping通,ping下其他ip
[root@l-callcenter-kafka-server1.mgt.prod.aws.dm lizhitao1]# ping 10.0.34.251
看看机器是否有防火墙,端口被禁用,不能访问集群内其他机器,错误信息如下
解决办法:去掉防火墙规则
执行命令如下:
[root@l-callcenter-kafka-server2.mgt.prod.aws.dm lizhitao1]# iptables -F
验证是否成功
[root@l-callcenter-kafka-server2.mgt.prod.aws.dm lizhitao1]# telnet 10.0.34.151 9092
2.5 检查IP与主机匹配正确性
因为我司使用了多种厂商云主机,运维对各个云厂商分配了不同的子网段,网段配置错误是不能被其他主机访问的:
测试环境网段规则:阿里云IP规则为10.24.*.*. 亚马逊IP规则为10.1.*.*
错误配置示例如下:
正确配置如下:
三、RD工作重点
个人体会,在运维体系未自动化和完善前,我们先做一些工作,有同理心理解运维暂时困难,合作愉快推进就会更快些:
- 提前2个星期申请,留足buffer时间
- 多跑跑腿
- 多做确认反馈、验证
- 形成组合打好配合