当前位置:TranBon博客 > 首页 > 技术 > OpenStack云平台日常巡检(一键查询版)

OpenStack云平台日常巡检(一键查询版)

adminis4年前 (2021-02-23)技术68860

由于云平台的监控还没有做好,暂时只能手动排障和日常巡检,目前权限只分配给大客户客服值班人员。


以下操作在生产环境上进行,绝对禁止下载、上传、执行没有经过我批准的命令或者脚本,绝对禁止执行不清楚、不明白、不确定的指令!!!!!!


以下操作,强烈建议在Xshell工具上进行

云平台日常巡检的准备工作:


Step1:ssh到跳板机,即制作OpenStack镜像的机器上。


Step2:在跳板机上ssh到各计算节点:

ssh root@compute0

ssh root@compute1

ssh root@compute2

ssh root@compute3


一:云平台日常巡检-网络流量巡检


Step0:先确认接口连接情况

确定OpenStack节点之间使用哪个接口通信,

命令:

ip addr |grep 10.0.0 |awk  '{print $8}'

显示出来的接口就是计算节点、控制节点、存储节点之间的通信接口,包括迁移,共享存储,镜像传送都通过该接口


确认所有虚拟机通过服务器哪个物理接口连接到公网:

命令:

grep mappings /etc/neutron/plugins/ml2/linuxbridge_agent.ini |cut -f 2 -d = |cut -f 2 -d :

显示出来的接口就是所有虚拟机通过该接口连接到公网


Step1:查看各计算节点所有网卡的实时流量情况,使用键盘左右键切换

nload -m


第一页通常是物理接口,不需要理会


虚拟机的网卡是tap开头的

比如

tap22b50e6c-26


如果你认为没有问题,到此结束,请直接跳到下面第二章节云平台日常巡检-CPU占用巡检


假设tap22b50e6c-26流量异常,把当前屏幕的内容复制到记事本,方便复制粘贴




定义环境变量,替换红色部分,每查询一台虚拟机都要替换一次:

instance_netif=tap22b50e6c-26


定义其他环境变量,每查询一台虚拟机都要重新执行一次:

instance_id=`virsh domstats |grep -E -i "Domain|$instance_netif" |sed -n '{/name=/{g;p}};h' |cut -f 2 -d : |sed 's/^..//' |sed 's/.$//'` && instance_uuid=`virsh dumpxml $instance_id |grep /uuid |cut -f 2 -d \> |cut -f 1 -d \<` && instance_psid=`ps -ef |grep  qemu |grep $instance_id | awk '{print $2}' |head -1`



Step2:查看该虚拟机对应的资产号和IP


加载变量环境:

. ~/admin-openrc


命令:

openstack server list |awk ' $2=="'$instance_uuid'" || NR==2 '


执行结果,看到资产号和IP地址

+--------------------------------------+-----------------------+-----------+-----------------------+-----------------------------------------+

| ID                                   | Name                  | Status    | Networks              | Image Name                              |

| 7bc6447c-f428-4d90-8407-0d1cb3c0a1ef | VPS-180514001        | ACTIVE    | 59.37.83=59.37.83.174 | centos6.5_x64_Q312636100_yuan           |


Step3:查询该虚拟机的网络流量:


命令:

nload $instance_netif

Incoming表示下载

Outgoing表示上传


查看网络连接详细情况:

nethogs $instance_netif


查虚拟MAC地址,如果有必要

virsh domiflist $instance_id |grep tap | awk '{print $5}'


Step4:查看该虚拟机的物理CPU占用率:

查看该虚拟机占用的物理CPU

top -p $instance_psid


Step5:查看该虚拟机内存使用情况

命令:

virsh dommemstat $instance_id |sed -n 6,7p


unused 表示未使用的内存,单位Kbyte,如果想转为M,除以1024

available 表示虚拟机总内存,单位Kbyte,如果想转为M,除以1024


Step6:查看该虚拟机硬盘使用情况

du -sh /var/lib/nova/instances/$instance_uuid/

如果是10k以下的,证明客户数据放在远程卷里,随时可以热迁移。

如果是很大的数据,证明客户数据放在/var/lib/nova/instances里,目前这个目录是挂在本地硬盘的,所以只能关机迁移。未来这个目录会挂成共享的,不用关机就可以迁移。


Step7:查完后记得及时退出,防止窗口误操作

命令:

exit


二:云平台日常巡检-CPU占用巡检


Step1:先看物理机的CPU利用情况:

命令:

top


执行结果:

top - 10:51:27 up 3 days, 22:39,  1 user,  load average: 5.23, 4.81, 4.69

Tasks: 562 total,   2 running, 560 sleeping,   0 stopped,   0 zombie

%Cpu(s):  6.4 us,  1.6 sy,  0.0 ni, 91.7 id, 0.3 wa,  0.0 hi,  0.0 si,  0.0 st

KiB Mem : 98785056 total, 34372128 free, 62469140 used,  1943784 buff/cache

KiB Swap:  4190204 total,  3748348 free,   441856 used. 35534888 avail Mem


PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND

2942 qemu      20   0 4977832   3.8g  11892 S 105.9  4.0   5411:48 qemu-kvm                                                                                                              

4485 qemu      20   0 5053132   3.9g  12040 S  58.8  4.2 930:25.20 qemu-kvm

32817 qemu      20   0 5153192   3.8g  11992 S  23.5  4.0 454:05.48 qemu-kvm



留意四个参数:

0.3 wa表示磁盘IO,最理想情况下是0.0,数值越高,表明磁盘越忙碌

PID号,确认是不是qemu-kvm进程,即KVM虚拟机的进程。

105.9%表示该虚拟机消耗的CPU,如果该虚拟机是2核,CPU利用最高可达200%


如果你认为没有问题,巡检到此结束。



假设你认为PID号为2942的虚拟机有问题,接下来开始排障


定义环境变量,替换红色部分,每查询一台虚拟机都要替换一次:

instance_psid=2942


定义其他环境变量,每查询一台虚拟机都要重新执行一次:

instance_id=`ps -ef |grep $instance_psid |grep uuid |cut -f 1 -d , |cut -f 2 -d =` && instance_uuid=`virsh dumpxml $instance_id |grep /uuid |cut -f 2 -d \> |cut -f 1 -d \<` && instance_netif=`virsh domiflist $instance_id |sed -n 3p |awk '{print $1}'`



Step2:查看该虚拟机内存使用情况

命令:

virsh dommemstat $instance_id |sed -n 6,7p

uunused 未使用的内存,单位Kbyte,如果想转为M,除以1024

available 虚拟机总内存,单位Kbyte,如果想转为M,除以1024


Step3:查看该虚拟机对应的资产号和IP:

载入环境变量命令:

. ~/admin-openrc


命令:

openstack server list |awk ' $2=="'$instance_uuid'" || NR==2 '


执行结果

+--------------------------------------+-----------------------+-----------+-----------------------+-----------------------------------------+

| ID                                   | Name                  | Status    | Networks              | Image Name                              |

| 4219fce8-ae9e-404e-b4e4-47b69bfb66b5 | VPS-180605007         | ACTIVE    | 59.37.83=59.37.83.187 |                                         |


Step4:查看该虚拟机的实时流量:

命令:

nload $instance_netif

Incoming表示下载

Outgoing表示上传


查看网络连接详细情况:

nethogs $instance_netif


查询虚拟机的MAC地址:

virsh domiflist $instance_id |grep tap | awk '{print $5}'


Step5:查看该虚拟机硬盘使用情况

du -sh /var/lib/nova/instances/$instance_uuid/

如果是10k以下的,证明客户数据放在远程卷里,随时可以热迁移。

如果是很大的数据,证明客户数据放在/var/lib/nova/instances里,目前这个目录是挂在本地硬盘的,所以只能关机迁移。未来这个目录会挂成共享的,不用关机就可以迁移。


Step6:查完后记得及时退出,防止窗口误操作

命令:

exit


三:根据用户的反馈进行排障

最快的方式是直接问客户拿密码进入虚拟机查询,


当客户不能提供用户名和密码时,用以下方法查询


比如客户的IP是59.37.83.180


Step1:到网页界面查询该IP是哪台计算节点的

然后进入该计算节点,加载环境变量:

命令:

. admin-openrc


定义环境变量,替换红色部分,每查询一台虚拟机都要替换一次:

instance_ipadd=59.37.83.180


定义其他环境变量,每查询一台虚拟机都要重新执行一次:

命令:

instance_uuid=`openstack server list |grep $instance_ipadd | awk '{print $2}'` && instance_psid=`ps -ef |grep  qemu |grep $instance_uuid | awk '{print $2}' |head -1` && instance_id=`ps -ef |grep  qemu |grep $instance_uuid | awk '{print $10}' |cut  -f 2 -d = |cut -f 1 -d ,` && instance_netif=`virsh domiflist $instance_id |grep tap | awk '{print $1}'`


Step2:查询该虚拟机占用物理机CPU的情况

top -p $instance_psid


Step3:查看该虚拟机内存使用情况

命令:

virsh dommemstat $instance_id |sed -n 6,7p

unused 未使用的内存,单位Kbyte,如果想转为M,除以1024

available 虚拟机总内存,单位Kbyte,如果想转为M,除以1024


Step4:查看该虚拟机的实时流量:

命令:

nload $instance_netif

Incoming表示下载

Outgoing表示上传


查看网络连接详细情况:

nethogs $instance_netif


Step5:查看该虚拟机硬盘使用情况

du -sh /var/lib/nova/instances/$instance_uuid/

如果是10k以下的,证明客户数据放在远程卷里,随时可以热迁移。

如果是很大的数据,证明客户数据放在/var/lib/nova/instances里,目前这个目录是挂在本地硬盘的,所以只能关机迁移。未来这个目录会挂成共享的,不用关机就可以迁移。


Step6:查完后记得及时退出,防止窗口误操作

命令:

exit


有道云笔记  https://note.youdao.com/ynoteshare/index.html?id=c6132292aedeb904d66a1490696dceee

第8条随机版权
文章免责声明
尊敬的读者:

本文所提供的信息、观点及数据均来源于公开资料、相关研究报告及个人理解,仅供读者参考。本文不代表任何官方立场或专业机构的意见,亦不构成任何投资建议或决策依据。

在撰写本文时,我们已尽力确保信息的准确性和完整性,但鉴于信息来源的多样性及可能存在的误差,我们无法保证本文所述内容在任何时刻都绝对准确无误。因此,读者在阅读本文时,应结合自身实际情况及专业知识,进行独立分析和判断。

对于因本文信息不准确、不完整或读者自身理解偏差而导致的任何损失或损害,我们概不负责。同时,我们也不承担因本文所述内容引发的任何法律责任或纠纷。

此外,本文可能包含对特定公司、行业或市场的分析和预测,这些分析和预测均基于当前市场环境及可获得的信息,并可能受到多种因素的影响而发生变化。因此,读者在参考本文时,应充分考虑这些潜在的风险和不确定性。

我们鼓励读者在阅读本文后,进一步查阅相关资料和咨询专业人士,以获取更全面、准确的信息和建议。同时,我们也欢迎读者就本文内容提出宝贵的意见和建议,以便我们不断改进和提升文章质量。

最后,感谢读者对本文的关注和阅读。我们希望通过提供有价值的信息和观点,为读者在相关领域的学习和决策提供一定的帮助和参考。但请务必记住,本文所述内容仅供参考,不构成任何具体建议或承诺。

特此声明。

扫描二维码推送至手机访问。

版权声明:本文由TranBon博客发布,如需转载请注明出处。

本文链接:https://waf-bk.tranbon.com/?id=286

“OpenStack云平台日常巡检(一键查询版)” 的相关文章

哈哈哈!大神Note3 终于可以把 酷派系统 或着 酷派系统 “砖头”直接刷机刷成 360 OS 2.0!

哈哈哈!大神Note3 终于可以把 酷派系统 或着 酷派系统 “砖头”直接刷机刷成 360 OS 2.0!

哈哈哈!大神Note3 终于可以把 酷派系统 直接刷成 360 OS 2.0了哈哈哈!大神Note3 终于可以把 酷派系统 “砖头”直接刷成 360 OS 2.0了最新版的刷机软件就可以了,直接把 酷派系统 或着 酷派系统 “砖头”直接刷机刷成 360 OS 2.0!下面重点:刷机软件 要是如下图,...

centos固定网卡、网卡名会变、网卡名错乱,解决方法

centos固定网卡、网卡名会变、网卡名错乱,解决方法

cd /etc/udev/rules.d/ vi /etc/udev/rules.d/70-persistent-net.rules echo "SUBSYSTEM==\"net\", ACTION==\"add\", DRIVERS==\&...

centos7破密时提示Authentication token manipulation error

centos7破密时提示Authentication token manipulation error

需要在passwd 前输入 chattr -i /etc/passwd chattr -i /etc/shadow如下:...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。