范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

我的一台OpenStack物理机故障排查追踪实录

  一、问题现象
  一大早刚上班来,团队的同事说客户的一个私有云主机故障了,一个节点无法启动,于是赶紧跟进了解了一下情况:
  这个私有云是我们给客户构建的,基于openstack实现的一个IaaS基础设施服务,出现故障的这个节点是存储节点,客户说由于此节点突然无法分配存储资源,就重启了节点上的服务,可服务始终无法重启,于是,客户就放了个大招,重启了操作系统,没想到,系统重启后,再也起不来了。
  出故障的服务器节点使用的操作系统是centos6.9的版本,这个私有云也在线上运行了2年多时间了,还算稳定,怎么就无缘无故的无法启动了呢,客户是百思不得其解,带着疑问,登上服务器深入了解下情况。
  这是个DELL服务器,配置为28C/64G/42T HDD10k,服务器自带了SD卡,这个SD卡其实就是个小硬盘,主要用来安装操作系统,而centos6.9就安装在这个100GB左右的SD卡上,既然是系统无法启动,就从系统开始查起。二、问题排查
  想远程ssh登录系统查看,结果发现这个故障节点的ip根本无法ping通,只能连上显示器在服务器上直接查看现象了,连上显示器,就发现了如下信息:
  这里重点看红框里面的内容,提示无效的用户"root:disk"、"root:lp",这是系统启动过程中执行chown命令时发现的错误,这里面涉及到root、disk、lp三个用户,具体是哪个无效呢,继续往下看这张图,看第二个红框的内容,基本可以断定是root用户无效,怎么root用户会无效呢?这个有点异常。
  那么首先查看一下root用户的相关信息吧,由于系统无法正常启动起来,只能出绝招了,可选方法很多,常用的招数有两个:
  (1)、重启系统,然后进入单用户,看看能不能正常进入,如果可以,那么下面的事情就好办了。
  (2)、通过操作系统的引导盘,进入rescue模式,然后挂载上SD卡对应的分区,最后查看root账号的配置信息。
  首选尝试第一种方法,重启系统后,选择进入单用户模式(进入单用户方法本专栏前面已经介绍过,这里省略),发现无法进入,仍然卡在上图所示的界面中,看来进入单用户这招不灵了。
  那就使用终极大招吧,使用第二种方式,通过操作系统的引导盘,进入rescue模式(此方法本专栏前面也已经介绍过,这里省略),这个方法应该好使,不错,顺利进入,进入rescue模式命令行后,首先查看下这个系统的/etc/passwd文件,此文件记录了每个用户的属性信息,看看root用户的属性是否正常,由于是在rescue模式下,所以查看passwd文件的路径应该是/mnt/sysimage/etc/passwd,内容截图如下:
  从图中可以看出,压根没有root用户的属性信息,这肯定不正常。
  接着,又查看了/mnt/sysimage/etc/shadow,发现有如下信息:root:$6$.fPn3lem$EAtGRqd2MqR8kDzpHIYxGfjMhjHp1C0:17364:0:99999:7:::
  shadow文件中记录的是root用户的密码以及过期时间等属性信息,发现root密码是存在的,并且永不过期。
  到这里,基本清楚是怎么回事了,应该是用户有意删除了passwd文件里面root的属性信息。既然知道是这个问题了,那就尝试在passwd文件中添加root属性信息,看看是否能够正常启动,root用户在passwd文件里面的属性信息时这样的:root:x:0:0:root:/root:/bin/bash
  其实,就是指定root的属主和组,以及根目录和默认shell,将上面这段信息添加到/mnt/sysimage/etc/passwd文件中,保存退出。
  下面再次重启系统,看看能否正常启动,去掉引导镜像盘,正常启动系统,看似一切正常了,如下图所示:
  看到绿色的OK字样,感觉问题已经解决了,可是左等右等,一直在这个界面静止了10分钟,仍然没有继续引导的意思,看来还有其他问题。一直等了半个小时,还是这个界面,没有任何报错信息,这就比较郁闷了,因为没有任何报错信息,所以无从下手(此时才知道报错信息对排错是多么重要啊)。
  干等也不是办法,与其等着报错信息出现,不如另寻思路,从上面图中可以看出,系统正在逐个启动服务,系统磁盘分了两个区,都挂载正常,最后一个启动成功的是iptables服务,而接下来要启动的服务,应该出现了问题,导致导致系统卡住了。
  为什么有这样的思路呢,这要从linux的启动机制谈起了:
  Linux操作系统的启动首先从BIOS开始,接下来Linux引导程序将内核映像加载到内存,进行内核初始化,内核初始化的最后一步就是启动PID为1的init进程。这个进程是系统的第一个进程,它负责产生其它所有用户进程。大多数Linux发行版的init系统是和System V相兼容的,因此被称为sysvinit,这是最早也是最流行的init系统,在RHEL7.x/Centos7.x发行版本之前的系统中都采用sysvinit。
  sysvinit概念简单清晰,主要依赖于Shell脚本,它的主要特点是:一次一个串行地启动进程和服务,这里面一个重要的概念是串行,也就是说服务的启动时一个接一个完成的,上一个启动成功,下一个才能开始启动,而如果上一个服务由于某种原因无法成功启动,那么整个系统服务的启动就卡住了。
  那么,各个服务的启动顺序是怎么规定的呢,在init管理机制下,首先有系统运行级的概念,init可以根据使用者自订的执行等级(runlevel)来唤醒不同的服务,以进入不同的操作模式。基本上 Linux 提供7个执行等级,分别是0, 1, 2...6。而各个执行等级的启动脚本是通过 /etc/rc.d/rc[0-6]/SXXdaemon 链接到 /etc/init.d/daemon下。daemon为各个不同服务的管理脚本。
  链接文件名 (SXXdaemon) 的命名和定义是有不同含义的: 其中,S为启动该服务,XX是数字,表示启动的顺序。数字越小,越早启动服务,反之,越晚启动服务,由于有SXX的设定,因此在开机时系统可以根据这个数字顺序,从小到大依次启动需要开机启动的服务。
  很明显,我们这个案例中,应该就是这种情况。
  明白了系统的启动机制后,要解决这个问题,方法就很多了,这里我们捋一下思路:
  (1)、首先,检查一下在iptables服务启动后,下面要启动的是哪个服务,因为就是这个服务卡住了系统无法启动。
  (2)、接着,找到这个服务后,可以暂时关闭这个服务的开机启动,也可以找到无法启动的原因,让他能够正常启动,这样系统不就可以启动起来了吗!
  思路一旦形成,就可以马上动起来了,要查看iptables服务启动后,接下来要启动的是哪个服务,必须要登录到系统中,所以,还是通过操作系统的引导盘,进入rescue模式,然后进入到/mnt/sysimage/etc/rc3.d/(这里因为我的系统运行在init 3等级下,所以是进入rc3.d目录,如果你的系统运行在init 5运行级下,那么就进入rc5.d目录)下,发现如下内容:
  从图中可以看出,启动iptables服务的是S08iptables这个软连接,那么紧接着要启动的服务序号肯定是S09,也就是红框中的S09mysqld,此链接对应的竟是mysql服务的启动脚本,也就是说,在启动mysql服务的时候,发生了问题,导致mysql无法启动,进而导致系统无法启动。罪魁祸首好像找到了。
  那么为什么mysql服务无法启动呢,显然,这不是目前我们关注的重点,我们现在急需要解决的是让服务器启动起来,其它问题,随后在解决也不迟。
  既然如此,那就先关闭mysql服务的开机自启吧,仍然在rescue模式下,执行如下命令:bash-4.1# chroot /mnt/sysimage/   #表示将/mnt/sysimage/目录下的文件移动到根目录 sh-4.1# chkconfig --level 35 mysqld off    #关闭mysql服务在运行级3、5下的开机自启动
  执行完毕,再次查询,mysql自启动服务已经不存在了,如下图所示:
  好吧,最后,再来一次重启吧,重启系统后,又发现了新的情况:
  重点看红框里面的内容,已经提示的很明显了,磁盘空间不足!!!,what!!!瞬间,我淡定了。
  原来这里所发生的一切,都是磁盘空间问题导致的。监控哪里去了??
  不过好在这次系统终于正常启动起来了,虽然报了磁盘空间不足的错误,启动起来后,通过ssh远程登录,输入root密码登录系统,然后查看磁盘空间,如下图所示:
  看到了吗,系统根分区100%,无一点剩余空间。简单搜索了一下系统大文件,发现了如下日志文件:[root@234server nova]# pwd /var/log/nova [root@234server nova]# ls -sh nova-network.log  88G nova-network.log
  这个log文件达到88G,肯定是这个文件塞满了磁盘,先清除再说。清除此日志文件后,再次重启系统,一切恢复正常。三、问题总结:
  此案例中,主要有两个问题:
  (1)、第一个问题是root用户为何无故被删除,最后询问了客户,客户说但是root登录不安全,就从网上摘抄了一个方法,从passwd文件中删除了root配置的那行内容。
  (2)、此系统已经运行很久了(超过2年),而系统是安装在了SD卡这个小硬盘上的,所以忽略了磁盘空间问题。在这个SD卡上,日志数据日积月累,终于塞满了小磁盘,而客户那边也没有对系统磁盘做监控,最终导致了此次事故的发生。
  经过这个案例,我们想说的是:
  (1)、禁用root远程登录的思路是对的,但是方法不对,linux下面提供了很多种普通用户和root之间协助的方式,下面会重点介绍下这个思路,而客户这个删除root配置属性的做法显得太拙劣,因为他不知道root用户不仅仅是一个用户而已。root用户是系统中唯一的超级管理员,它具有等同于操作系统的权限。一些需要root权限的应用,是需要root账户来执行。而系统在开机启动的时候,是会进行很多初始化和启动服务的操作的,而这个过程,有些系统服务是必须通过root用户来启动和运行,而一旦删除了root用户,这些系统服务就会启动失败,导致系统无法正常完成启动。
  可能有同学要问了,那我创建一个跟root用户一样权限的用户,能否替换root呢,答案是不行的,因为很多服务默认已经指定了通过root用户来启动。所以root用户不能删除,它不是一般意义上的用户。
  (2)、DELL服务器提供的SD卡,是给虚拟化使用的。也就是说将虚拟化软件可以直接安装到这个SD卡上,例如VMware ESXi Server或者Microsoft Hyper-V Server,感觉这个功能很鸡肋,因为一个SD卡可靠性很低,要安装到SD卡上,至少要双SD卡,用来作为冗余,而单SD卡还不如直接将系统安装到服务器的大磁盘上做raid保护。
  另外,将操作系统安装到SD卡上,真的没有任何意义。

少女天竺梦(2023)喜迎2023年,年初的第一次点滴,每天依旧过着,一直向往的生活,也一直没有让自己在工作的氛围与平台中下来,因为自己懂自己想要的是什么,一个人不能没有信仰,我的信仰就是我自己,一路前波波索汉有勇气在18000人面前单手罚球10人中有9个会说你疯了直播吧2月1日讯昨日马刺主帅波波维奇接受媒体采访时谈到了球队新秀索汉。谈到索汉单手罚球,波波维奇表示还有谁会这么做?我猜10个球员中有9个会说,波波,你疯了,我不会那么做的,我不会拒穿中文球衣的韩国球员黄喜灿,是何来头英超正如火如荼的进行,在对阵曼城赛前的热身赛期间,狼队球员身穿满含中国元素的球衣特地庆祝中国球迷新年快乐。因为狼队的大股东是中国人,且为了迎合中国市场,狼队是有必要也必须这样做的。NBA东部实时排名湖人三塔齐发,尼克斯中锋得分挂020222023赛季NBA常规赛正在如火如荼的进行中,2月1日比赛结束后,来看下今日赛况以及东部最新排名黄蜂115124不敌雄鹿,公牛103108不敌快船,尼克斯123129不敌湖曼城快刀斩乱麻,迅速解决更衣室矛盾,送走妖刀,力保太子曼城快刀斩乱麻,迅速解决更衣室矛盾,送走妖刀,力保太子曼城近来状态有所起伏,联赛中已经落后阿森纳,卫冕形势岌岌可危,而此前爆出的关于曼城更衣室发生矛盾,更是让所有曼城球迷的心都揪到小卡复出31分,乔治准三双,德罗赞迷失!快船擒公牛伦纳德又超神了,乔治甘做绿叶!又是一场愉快的较量,108103,快船胜公牛,全能卡伦纳德厚积薄发爆砍33455断,乔治成人之美,也贡献准三双161072断,替补神将鲍威尔也交出了2德罗赞我被犯规了但没响哨糟糕的是只能看裁判报告了直播吧2月1日讯今天,NBA常规赛公牛103108不敌快船。在比赛的最后1分44秒,德罗赞干拔中投没中,但出手前他疑似被推,而裁判没有表示。在赛后接受采访时,德罗赞对这一球这样说道最新消息!150万欧元年薪!斯坎迪奇队希望朱婷能够下赛季续约!2月1日,中国女排国家队的当家球星依旧还是世界第一主攻手朱婷,朱婷在国外意大利联赛中表现十分好,带着好闺蜜姚迪要冲击本赛季的意甲联赛冠军欧洲联盟杯冠军!朱婷的恩师土耳其瓦基弗银行队53岁范志毅走马上任新岗位,陈戍源送祝福,国足球迷盼到了大家好,我是詹妹,我们一起来关注中国足球。目前中国足球风雨飘摇中,因为李铁的案件足协的管理层出现问题,现在中国足协内部非常混乱,不少人都对国足失去了信心,而对于目前现状,作为足球名一位绿凯球迷对塔图姆打手詹姆斯给出自己的意见你认同吗?这几天因为塔图姆打手詹姆斯,底线裁判抬着头清清楚楚看到了这次犯规,却无动于衷的事情闹得沸沸扬扬。NBA联盟承受着巨大的压力,遭到无数球迷怒喷。如此黑暗的比赛,让球迷们不再相信场上的经纪人哈兰德现在身价10亿欧,球员若想离队都能走成哈兰德的经纪人拉法埃拉皮蒙特认为,目前的哈兰德身价达到了10亿欧元。在被问到哈兰德的极限在哪里时,拉法埃拉表示他的上限在足球界还不为人知的地方。他是现代球员的顶峰。他将比之前的人走
2023湘江马拉松赛株洲站报名开启2023湘江马拉松赛株洲站定档4月2日,报名通道3月11日上午1000已开启。选手可登陆赛事官方网站湘江城市体育(httpwww。hnxjty。cn)或扫描下方图片中二维码在指定的大话西游手游跨服大佬打造的七阶男龙武器,造价接近八十万!首先看第一张图片的9亿仙玉!然后对这个大话无限仙玉服有想玩的,可以关注小编,私信回复大话剩下的文字可以不用看,看图片和文章结尾即可!跨服大佬打造的七阶男龙武器,造价接近八十万!五百Angew用于高效电催化OER的非晶NiFe氧化物纳米反应器全文简介协同工程是提高析氧反应(OER)电催化剂动力学活性的重要途径。在这里,我们通过温和的自催化反应制备了NiFe非晶纳米反应器(NiFeANR)氧化物作为OER电催化剂。首先,重庆蓝皮书(2023)预测四大发展机遇将推动重庆经济高质量发展重庆日报客户端夏元当前重庆面临四大发展机遇,把握好这些机遇将推动全市经济高质量发展。3月9日,在重庆蓝皮书(2023)(下称蓝皮书)发布会上,重庆社科院党组书记院长刘嗣方对蓝皮书解你能玩,为啥不让我玩,当孩子这样说,家长就该反省自己了跟表妹视频的时候,听到表哥一直叫侄子写作业。依稀听到小家伙回复知道了,却一直没有任何动静。我问表妹侄子在干吗,她瞟了一眼说道玩手机。没一会儿就听到表哥的咆哮声再次响起,大声斥责孩子感觉甲流病毒入侵了脑子周日早晨,六岁孩子毫无征兆发烧了,温度在37。7度。瞬间感觉不妙,应该是是甲流。下午去医院,抽血后超敏c高,医生说有炎症,但是发烧只有半天,很难判断是否是甲流。开药为奥司他韦,回春怎么能让孩子不感染甲流,实际最应注意这几点?怎么就能让孩子不被传染甲流?我给大家分析一下,现在甲流的孩子特别多,大多数都是上学回来发烧了,去商场,去游乐场回来发烧了,就是被其他孩子传染的,怎么能不被传染?就是戴口罩,勤洗手,土孩子我出生在上个世纪六十年代。那个时期国家没有计划生育政策,孩子随便生,受封建思想的影响,人们的头脑中认为有人就有一切,所以都拼了命似的生娃,结果造成了恶性循环,越生越穷,越穷越生!时中国唯一被封禁千年的地方,任何人都不能进入,山水不输桂林一座被仙气接管的山,一座远离尘世的仙城!古往今来,中华大地广袤的山川河流中诞生了不少的禁区,严禁寻常人等出入。像在江西就有这么一座山,险峻兀傲,风景如画,却被封禁千年。被封之初,唐历史第一大前锋之争!邓肯和马龙交手36次,才发现他被低估了!邓肯和马龙可以说两个人各自命运不同,一个是拥有强大的体系,一个是自身能力强,但是没有更好的体系,两个人到底谁是历史第一大前锋呢?上图所示,或许有些眉目了。马龙邓肯差辈份的,邓肯实力奖励300万元!莒县出台旅游招徕奖励办法为拓宽旅游消费市场,擦亮三千年古城四千年银杏五千年文字品牌,推进我县文化旅游业高质量发展,近日,莒县文化和旅游局财政局联合出台莒县鼓励实施旅游招徕奖励办法,安排资金300万元对一日