加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

Linux运维常见故障及处理的 32 个锦囊妙计

发布时间:2019-11-14 19:15:24 所属栏目:移动互联 来源:C语言
导读:【线上直播】11月21日晚8点贝壳技能总监侯圣文《数据安详之数据库安详黄金法例》 作为Linux运维,多几几何会遇见这样那样的题目或妨碍,从中总结履历,查找题目,汇总并说明妨碍的缘故起因,这是一个Linux运维工程师精采的风俗。每一次技能的打破,都经验着苦闷
副问题[/!--empirenews.page--] 【线上直播】11月21日晚8点贝壳技能总监侯圣文《数据安详之数据库安详黄金法例》

 Linux运维常见妨碍及处理赏罚的 32 个袖中妙算

作为Linux运维,多几几何会遇见这样那样的题目或妨碍,从中总结履历,查找题目,汇总并说明妨碍的缘故起因,这是一个Linux运维工程师精采的风俗。每一次技能的打破,都经验着苦闷,陪伴着快乐,可我们照旧执着的继承全力,从中也蕴蓄了更多的履历,这就是实践给以我们的丰盛回报。

下面汇总了我做项目进程也许呈现的妨碍及办理要领,看看是否与你有共识,并对你有辅佐?

第一:常见题目办理集锦

1.shell剧本不执行

题目:
某天研发某同事找我说帮他看看他写的shell剧本,死活不执行,报错。我看了下,剧本很简朴,也没有通例性的错误,报“:badinterpreter:Nosuchfileordirectory”错。

看这错,我就问他是不是在windows下编写的剧本,然后在上传到linux处事器的……公然。

缘故起因:
在DOS/windows里,文本文件的换行符为rn,而在nix体系里则为n,以是DOS/Windows里编辑过的文本文件到了nix里,每一行都多了个^M。

办理:
1)从头在linux下编写剧本;
2)vi:%s/r//g:%s/^M//g(^M输入用Ctrl+v,Ctrl+m)
附:sh-x剧本文件名,可以单步执行并回显功效,有助于排查伟大剧本题目。

2.crontab输出功效节制

题目:
/var/spool/clientmqueue目次占用空间高出100G

缘故起因:
cron中执行的措施有输出内容,输出内容会以邮件情势发给cron的用户,而sendmail没有启动以是就发生了/var/spool/clientmqueue目次下的那些文件,日积月累也许撑破磁盘。

办理:
1)直接办动删除:ls|xargsrm-f;
2)彻底办理:在cron的自动执行语句后加上>/dev/2>&1

3.telnet很慢/ssh很慢

题目:
某天研发某同事说10.50会见10.52memcached处事非常,让我们搜查下看收集/处事/体系是否有非常。搜查发明体系正常,处事正常,10.50ping10.52也正常,但10.50telnet10.52很慢。同时发明该呆板的namesever是不起浸染的。

缘故起因:
becauseyourPCdoesn’tdoareverseDNSlookuponyourIPthen…whenyoutelnet/ftpintoyourlinuxbox,it’lldoadnslookuponyou。

办理:
1)修改/etc/hosts使hostname和ip对应;
2)在/etc/resolv.conf注释掉nameserver可能找一个“活的”nameserver。

4.Read-onlyfilesystem

题目:
同事在mysql里建表建不乐成,提醒如下:
mysql>createtablewosontest(colddname1char(1));
ERROR1005(HY000):Can’t create table‘wosontest’(errno:30)
经搜查mysql用户权限以及相干目次权限没题目;用perror30提醒信息为:OSerrorcode30:Read-onlyfilesystem

也许缘故起因:
1)文件体系破坏;
2)磁盘又坏道;
3)fstab文件设置错误,如分区名目错误错误(将ntfs写成了fat)、设置指令拼写错误等。

办理:
1)因为是测试机,重启呆板后规复;
2)网上说用mount可办理。

5.文件删了磁盘空间没开释

题目:
某天发明某台呆板df-h已用磁盘空间为90G,而du-sh/*表现全部行使空间加起来才30G,囧。

缘故起因:
也许或人直接用rm删除某个正在写的文件,导致文件删了但磁盘空间没开释的题目

办理:
1)最简朴重启体系可能重启相干处事。
2)干掉历程

  1. /usr/sbin/lsof|grepdeleted 
  2.   ora25575data33uREG65,654294983680/oradata/DATAPRE/UNDOTBS009.dbf(deleted) 

从lsof的输出中,我们可以发明pid为25575的历程持有着以文件描写号(fd)为33打开的文件/oradata/DATAPRE/UNDOTBS009.dbf。

在我们找到了这个文件之后可以通过竣事历程的方法来开释被占用的空间:echo>/proc/25575/fd/33
3)删除正在写的文件一样平常用cat/dev/null>file

6.find文件晋升机能

题目:
在tmp目次下有大量包括picture_*的姑且文件,天天晚上2:30对一天前的文件举办整理。之前在crontab下跑如下剧本,可是发明剧本服从很低,每次执行时负载猛涨,影响到其他处事。

  1. #!/bin/sh 
  2. find/tmp-name“picture_*”-mtime+1-execrm-f{}; 

缘故起因:
目次下有大量文件,用find很耗资源。

办理:

  1. #!/bin/sh 
  2. cd/tmp 
  3. time=`date-d“2dayago”“+%b%d”` 
  4. ls-l|grep“picture”|grep“$time”|awk‘{print$NF}’|xargsrm-rf 

7.获取不了网关mac地点

题目:
从2.14到3.65(映射地点2.141)收集不通,可是从3端的其他呆板到3.65收集OK。

缘故起因:

  1. #arp 
  2. AddressHWtypeHWaddressFlagsMaskIface 
  3. 192.168.3.254etherincompletCMbond0 
  4. 外貌征象是呆板自动获取不了网关MAC地点,收集工程师说是收集装备的题目,详细不清。 

办理:
arp绑定,arp-ibond0-s192.168.3.25400:00:5e:00:01:64

8.http处事无法启动一例

题目:

某天研发某同事说网站前端情形http无法启动,我上去看了下。报如下错:

  1. /etc/init.d/httpdstart 
  2. Startinghttpd:[SatJan2917:49:002011][warn]moduleantibot_moduleisalreadyloaded,skipping 
  3. Useproxyforwardasremoteip:true. 
  4. Antibotexcludepattern:.*.[(js|css|jpg|gif|png)] 
  5. Antibotseedcheckpattern:login 
  6. (98)Addressalreadyinuse:make_sock:couldnotbindtoaddress[::]:7080 
  7. (98)Addressalreadyinuse:make_sock:couldnotbindtoaddress0.0.0.0:7080 
  8. nolisteningsocketsavailable,shuttingdown 
  9. Unabletoopenlog[FAILED] 

缘故起因:

1)端口被占用:外貌看是7080端口被占用,于是netstat-npl|grep7080看了下发明7080没有占用;
2)在设置文件中一再写了端口,假如在以下两个文件同时写了Listen7080

  1. /etc/httpd/conf/http.conf 
  2. /etc/httpd/conf.d/t.10086.cn.conf 

办理:
注释掉/etc/httpd/conf.d/t.10086.cn.conf的Listen7080,重启,OK。

9.toomanyopenfile

题目:
报toomanyopenfile错误

办理:
终极办理方案

  1. echo“”>>/etc/security/limits.conf 
  2. echo“*softnproc65535″>>/etc/security/limits.conf 
  3. echo“*hardnproc65535″>>/etc/security/limits.conf 
  4. echo“*softnofile65535″>>/etc/security/limits.conf 
  5. echo“*hardnofile65535″>>/etc/security/limits.conf 
  6. echo“”>>/root/.bash_profile 
  7. echo“ulimit-n65535″>>/root/.bash_profile 
  8. echo“ulimit-u65535″>>/root/.bash_profile 

最后重启呆板可能执行:

  1. ulimit-u655345&&ulimit-n65535 

10.ibdata1和mysql-bin致磁盘空间题目

题目:
2.51磁盘空间报警,经查发明ibdata1和mysql-bin日记占用空间太多(个中ibdata1高出120G,mysql-bin高出80G)

缘故起因:
bdata1是存储名目,在INNODB范例数据状态下,ibdata1用来存储文件的数据和索引,而库名的文件夹里的那些表文件只是布局罢了。

innodb存储引擎有两种表空间的打点方法,别离是:
1)共享表空间(可拆分为多个小的表空间文件),这个是我们今朝大都数据库行使的要领;
2)独立表空间,每一个表有一个独立的表空间(磁盘文件)

对付两种打点方法,各有是非,详细如下:
①共享表空间:
利益:
可以将表空间分成多个文件存放到差异的磁盘上(表空间文件巨细不受表巨细的限定,一个表可以漫衍在差异步的文件上)

弱点:
全部数据和索引存放在一个文件中,则跟着数据的增进,将会有一个很大的文件,固然可以把一个大文件分成多个小文件,可是多个表及索引在表空间中殽杂存储,这样假如对付一个表做了大量删除操纵后表空间中将有大量旷地。

对付共享表空间打点的方法下,一旦表空间被分派,就不能再回缩了。当呈现姑且建索引或是建设一个姑且表的操纵表空间扩大后,就是删除相干的表也没步伐回缩那部门空间了。

②独立表空间:
在设置文件(my.cnf)中配置:innodb_file_per_table

特点:
每个表都有自已独立的表空间;每个表的数据和索引城市存在自已的表空间中。

利益:
表空间对应的磁盘空间可以被收回(Droptable操纵自动接纳表空间,假如对付删除大量数据后的表可以通过:altertabletbl_nameengine=innodb;回缩不消的空间。

弱点:
假如单表增进过大,如高出100G,机能也会受到影响。在这种环境下,假如行使共享表空间可以把文件分隔,但有同样有一个题目,假如会见的范畴过大同样会会见多个文件,一样会较量慢。

假如行使独立表空间,可以思量行使分区表的要领,在必然水平上缓解题目。另外,当启用独立表空间模式时,必要公道调解innodb_open_files参数的配置。

办理:
1)ibdata1数据太大:只能通过dump,导出建库的sql语句,再重建的要领。
2)mysql-binLog太大:

①手动删除:
删除某个日记:mysql>PURGEMASTERLOGSTO‘mysql-bin.010′;
删除某天前的日记:mysql>PURGEMASTERLOGSBEFORE’2010-12-2213:00:00′;
②在/etc/my.cnf里配置只生涯N天的bin-log日记
expire_logs_days=30//BinaryLog自动删除的天数

二、妨碍排查汇总表

请收藏 | Linux运维常见故障及处理的 32 个锦囊妙计

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读