• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

H3Cloud OS以及Docker常用命令介绍

2017-03-14 发表
  • 0关注
  • 0收藏 2059浏览
肖李 四段
粉丝:1人 关注:0人

随着我司的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,服务名称,服务所在主机名,计算可用域名称,服务运行状态,服务启动时间,服务终止运行的原因。

具体以Id59nova-compute为例:

1)对应的运行主机名为compcasku996lx8rchostname命令输出一致,但是需要注意的是:只显示出主机名的前一部分;

2)对应的计算可用域名称为test

3)对应的状态为“可用”,并处于“up”状态;

4)服务启动时间为:2016-12-03T09:21:39.856946

本例的Id9nova-compute服务因对应计算节点删除,已停止服务,显示状态为down。随后新加计算节点时,重新创建计算可用域test,而对应生成Id59nova-compute服务。

12,手动停止和启动nova服务操作,停止服务操作命令:systemctl  stop 加服务名称;同理启动服务执行命令:systemctl  start 加服务名称;

此处以Id值为59nova-compute为例,执行命令:systemctl  stop openstack-nova-compute.service手动将该服务停止,具体如下图:

执行命令后查看状态显示为down

现在再手动启动Id59nova-compute进程,执行命令:systemctl  start openstack-nova-compute.service

Nova的服务包含: nova-computenova-conductornova-consoleauthnova-schedulernova-cert只有nova-compute运行在计算节点容器上,其他四个服务运行在控制器容器上,可以通过服务对应的主机名称来进行区分,如下图所示:

在本案例环境中控制节点容器的主机名为openstackrc-mazuz

因此nova-conductornova-consoleauthnova-schedulernova-cert服务手动停止与启动操作必须在控制器容器上进行,后续讲到控制器容器再介绍;在计算节点容器上执行会报下述错误:

Failed to start openstack-nova-conductor.service: Unit openstack-nova-conductor.service failed to load: No such file or directory.

13,进入控制器容器,查看nova-conductornova-consoleauthnova-schedulernova-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服务列表信息,具体如下图(注意观察各服务所在主机名):

第五步,以手动停止Id55nova-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组件授权。

依照上述讲解的知识,能分析出并理解下述信息:

1cinder-volume所在的容器主机名称为compcasku996lx8rcnova-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个字段:

1NAME为容器名称;

2STATUS为容器状态,包含:Running, TerminatingdeletedPending

3AGE为容器运行时长,一般以天(day)为单位,9d表示该容器已运行9天;

4NODE为节点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-i6xfpwebapprc-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大云平台业务达人。

该案例对您是否有帮助:

您的评价:1

若您有关于案例的建议,请反馈:

作者在2019-06-12对此案例进行了修订
0 个评论

该案例暂时没有网友评论

编辑评论

举报

×

侵犯我的权益 >
对根叔知了社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔知了社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作