随着我司的H3Cloud OS云计算产品在全国各地深受各行各业客户欢迎;售后服务工程师,渐渐面临产品维护的挑战。
因此本案例对我司H3Cloud OS大云产品售后维护涉及操作命令,做简单介绍;主要包含:H3Cloud OS常用命令以及Docker容器常用操作命令。
通过图文并茂的形式,以帮助读者轻松上手,掌握H3Cloud OS大云售后维护的基本操作。
一、H3Cloud OS常用维护命令介绍
目前H3Cloud OS安装部署以及维护主要使用root用户(也称作根用户,具有最高用户权限),本文操作命令均以根用户执行。
1,查看用户当前所在路径操作,执行命令:pwd
用户用CRT/SSH/XSHELL等工具首次登陆H3Cloud OS大云平台,默认路径为/root即跟用户的家目录(目录可以对应理解为文件夹,但是同时包含文件路径的含义),如上图所述。
2,切换目录路径操作,执行命令:cd 加目的路径
本例给出从/root目录切换到/var/log目录操作,执行命令:cd /var/log
具体如下图所示:
3,查看某个目录占用磁盘空间情况,执行命令: du -sh 加对应目录
在H3Cloud OS中一个点号“.”的含义为当前目录,比如查看当前目录占用磁盘空间,则可以通过执行“du –sh .”来实现,具体如下图:
与上图等同效果,还可以通过执行该命令实现: du -sh /var/log 具体如下图所示:
比较上两种查看目录占用磁盘空间的异同:实质为点号“.”和“/var/log”前者为相对路径,后者为绝对路径; “du –sh .”为查看当前目录占用磁盘空间大小,而“du –sh /var/log”命令的含义是查看“/var/log”目录占用磁盘空间大小。
4,查看磁盘分区及磁盘空间使用情况,执行命令:df –h
在实际维护案例中,尤其是测试或演示环境,经常出现安装部署时磁盘规划不规范:分配安装H3Cloud OS大云平台的物理机或虚机的磁盘空间过小,比如经常遇到分配80G甚至是50G的磁盘空间;H3Cloud OS大云平台运行一段时间后出现磁盘空间使用率达100%情况,由于磁盘空间不足而导致Docker容器相关进程异常,出现页面无法访问等一系列问题。
在此提醒各位读者,安装部署H3Cloud OS大云平台,一定要阅读版本说明书,按规范规划磁盘空间,即使是演示或测试环境也不例外,在顾及户环境实际资源的同时,一定要考虑到后期的维护工作,和客户确认:测试演示环境会运行多久以及业务规模,以做好磁盘规划工作。
当遇到磁盘空间不足情况,请参考KMS案例《H3Cloud OS根分区划分问题排查文档》, 案例号:201610300002
5,删除目录或文件命令为rm,虽然该命令能清空文件以释放磁盘空间,但是该命令为高危操作,在此不做介绍,一般不推荐一线工程师操作该命令,除非在十分明确操作结果的情况。
6,修改root用户密码,执行命令:passwd root
为满足安全需求,避免弱密码隐患,完成安装部署后,及时修改root用户密码,并设置符合指定复杂度要求的新密码,具体如下图所示。
7,使用Docker命令查看H3Cloud OS大云平台使用容器进程的运行状态,执行命令:docker ps,具体如下图所示:
上图需要关注的信息包含:第一列为容器的UUID信息,第二列为容器的镜像名称,第四列为容器进程创建时间,第五列为容器运行状态显示已运行的时长;
另外上图信息各客户环境不同,以具体环境为准。
日常运维经常需要关注openstack相关的容器状态,运行命令:docker ps | grep openstack,执行结果如下图所示:
在本案例环境中,H3Cloud OS的控制器容器名称为“cloudos-openstack:E1136”,对应的UUID值为“83171fc867f0”,UUID为唯一值;H3Cloud OS的计算节点容器名称为“cloudos-openstack-compute:E1136”,对应的UUID值为“1f9a9969dd20”。UUID后续命令会使用,以进入容器。
8,进入容器操作,执行命令:docker exec –it 加容器UUID /bin/bash
此处以进入H3Cloud OS计算节点容器为例。
第一步先搜索到计算节点的UUID信息,具体如下图所示:
计算节点对应容器的UUID值为1f9a9969dd20,随后执行命令:docker exec –it 1f9a9969dd20 /bin/bash进入容器,执行结果如下图所示:
上图红色标出明显的改变,主机名发生变化,从cloudos5变化为compcasku996lx8rc-bep8a;
9,查看H3Cloud OS主机名,执行命令:hostname
结合上一步进入Docker容器的命令来介绍hostname命令,进入容器前后的主机名变化:由cloudos5变化为compcasku996lx8rc-bep8a;具体如下图所示。
10,进入H3Cloud OS控制节点或计算节点容器后,查看openstack相关进程服务的状态,需要先执行加载环境变量,用于openstack内部组件间授权。执行命令:source /root/admin-openrc.sh
此处以在计算节点容器为例,具体如下图,该命令运行正常无任何回显输出。
11,在计算节点容器内查看nova进程状态,执行命令: nova service-list
需要提醒的是,执行nova service-list命令前必须执行source /root/admin-openrc.sh,在此给出两种情况对比说明。
第一情况,未运行source /root/admin-openrc.sh命令,此时执行nova service-list 会报错如下:
ERROR (CommandError): You must provide a username or user id via --os-username, --os-user-id, env[OS_USERNAME] or env[OS_USER_ID]
具体如下图所示:
遇到上述报错时,执行source /root/admin-openrc.sh即可解决问题,随后再输入nova service-list即可查看nova服务的状态信息,具体如下图所示:
执行结果如上图,反馈出nova的所有服务状态信息:服务Id,服务名称,服务所在主机名,计算可用域名称,服务运行状态,服务启动时间,服务终止运行的原因。
具体以Id为59的nova-compute为例:
1)对应的运行主机名为compcasku996lx8rc与hostname命令输出一致,但是需要注意的是:只显示出主机名的前一部分;
2)对应的计算可用域名称为test;
3)对应的状态为“可用”,并处于“up”状态;
4)服务启动时间为:2016-12-03T09:21:39.856946
本例的Id为9的nova-compute服务因对应计算节点删除,已停止服务,显示状态为down。随后新加计算节点时,重新创建计算可用域test,而对应生成Id为59的nova-compute服务。
12,手动停止和启动nova服务操作,停止服务操作命令:systemctl stop 加服务名称;同理启动服务执行命令:systemctl start 加服务名称;
此处以Id值为59的nova-compute为例,执行命令:systemctl stop openstack-nova-compute.service手动将该服务停止,具体如下图:
执行命令后查看状态显示为down。
现在再手动启动Id为59的nova-compute进程,执行命令:systemctl start openstack-nova-compute.service
Nova的服务包含: nova-compute,nova-conductor,nova-consoleauth,nova-scheduler,nova-cert只有nova-compute运行在计算节点容器上,其他四个服务运行在控制器容器上,可以通过服务对应的主机名称来进行区分,如下图所示:
在本案例环境中控制节点容器的主机名为openstackrc-mazuz;
因此nova-conductor,nova-consoleauth,nova-scheduler,nova-cert服务手动停止与启动操作必须在控制器容器上进行,后续讲到控制器容器再介绍;在计算节点容器上执行会报下述错误:
Failed to start openstack-nova-conductor.service: Unit openstack-nova-conductor.service failed to load: No such file or directory.
13,进入控制器容器,查看nova-conductor,nova-consoleauth,nova-scheduler,nova-cert服务并执行手动停止和启动操作。
第一步,执行docker ps | grep openstack命令获取控制器容器的UUID信息,此处UUID值为83171fc867f0,具体如下图所示:
第二步,执行docker exec -it 83171fc867f0 /bin/bash进入控制器容器,83171fc867f0为其对应UUID值。具体如下图所示:
第三步,运行source /root/admin-openrc.sh命令加载环境变量。如下图所示:
第四步,执行nova service-list查看nova服务列表信息,具体如下图(注意观察各服务所在主机名):
第五步,以手动停止Id为55的nova-conductor服务(该服务负责任务调度)为例,执行命令: systemctl stop openstack-nova-conductor.service
等等2分钟左右服务停止,运行nova service-list命令查看服务状态列表信息,具体如下图所示:
看出nova-conductor服务已手动停止。
第六步,手动启动nova-conductor服务,执行命令:systemctl start openstack-nova-conductor.service
等待2分钟左右,服务启动后,运行nova service-list命令查看服务列表信息,nova-conductor服务已手动启动,具体如下图所示:
14,在计算节点容器上查看H3Cloud OS管理运硬盘的cinder服务,执行命令:cinder service-list
同理该命令与nova service-list一样,如果是第一次进入计算节点容器,必须先执行source /root/admin-openrc.sh命令,以加载环境变量,给Openstack组件授权。
依照上述讲解的知识,能分析出并理解下述信息:
1)cinder-volume所在的容器主机名称为compcasku996lx8rc与nova-compute服务在同一容器内;
2)存储可用域为storexun
3)服务状态为up;
4)服务启动时间为2016-12-03T10:13:56.908293
15,在计算节点容器内手动停止和启动cinder-volume服务,执行命令:systemctl stop openstack-cinder-volume.service等待2分钟左右,服务停止。随后执行cinder service-list命令查看状态信息,具体如下图所示:
同理,手动启动cinder-volume的命令为:systemctl start openstack-cinder-volume.service
等待2分钟左右后,执行cinder service-list命令查看服务状态信息,具体如下图,对比状态:
16,在计算节点容器内查看日志信息,日志所在目录为:/var/log
首先执行切换目录操作: cd /var/log
然后执行命令:ll 列出该目录下的文件,具体如下图所示:
对于云主机新建异常情况,一般需要关注日志文件为:/var/log/nova/nova-compute.log
对于云硬盘新建异常情况,一般需要关注日志文件为:/var/log/cinder/volume.log
17,退出容器操作,执行命令:exit
此处以退出计算节点容器为例,并输入hostname已显示光标所在主机,具体如下图所示:
18,使用kubernetes管理工具查看容器进程运行状态信息,执行命令:/opt/bin/kubectl --server=127.0.0.1:8888 get pod -o wide注意执行该命令,无需进入任何容器,注意观察下图的主机名部分。
重点关注下述4个字段:
1)NAME为容器名称;
2)STATUS为容器状态,包含:Running, Terminating,deleted,Pending等
3)AGE为容器运行时长,一般以天(day)为单位,9d表示该容器已运行9天;
4)NODE为节点IP地址信息,本例中为H3Cloud OS单机部署方案,因此所有容器运行于192.168.113.16服务器。
19,使用kubernetes管理工具,重启整个容器,同上案例,无需进入任何容器。以重启webapprc容器为例,首先通过上述/opt/bin/kubectl --server=127.0.0.1:8888 get pod -o wide命令,获取webapprc容器的名称为webapprc-lp3fi, 随后执行命令:/opt/bin/kubectl --server=127.0.0.1:8888 stop pod webapprc-lp3fi
通过执行上述命令输出结果,注意到:
1)被停止的容器会从Running变为Terminating状态,随后逐步被停止;最后不显示于列表中;
2)当人为手动停止一个webapp容器,系统会新启动一个webapp容器,名称为webapprc-i6xfp,webapprc-i6xfp容器会从Pending状态逐步变化为Running状态,最后代替被删除的webapprc-lp3fi容器,为H3Cloud OS提供页面服务。
其他容器的停止操作类似,只需在“/opt/bin/kubectl --server=127.0.0.1:8888 stop pod”命令最后加上对应容器的完整名称即可。
20,在安装部署H3Cloud OS过程中访问端口为9090的配置部署页面出现404异常情况,需要手动重启deploy-manager.service服务;
问题现象,如下图所示:
此时登陆到192.168.113.16服务器,执行命令:systemctl stop deploy-manager.service如下图所示:
随后能正常访问端口为9090的部署配置页面,如下图所示:
建议多练习,通过上述简单维护操作开始,通过不断学习和实践,逐步成长为H3Cloud OS大云平台业务达人。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作