0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Linux運維常見故障排查和處理的33個技巧匯總

C語言編程基礎 ? 來源:未知 ? 作者:鄧佳佳 ? 2018-03-05 13:39 ? 次閱讀

前言

作為linux運維,多多少少會碰見這樣那樣的問題或故障,從中總結(jié)經(jīng)驗,查找問題,匯總并分析故障的原因,這是一個Linux運維工程師良好的習慣。每一次技術的突破,都經(jīng)歷著苦悶,伴隨著快樂,可我們還是執(zhí)著的繼續(xù)努力,從中也積累了更多的經(jīng)驗,這就是實踐給予我們的豐厚回報。下面匯總了我做項目過程可能出現(xiàn)的故障及解決方法,看看是否與你有共鳴,并對你有幫助。

第一:常見問題解決集錦

1.shell腳本不執(zhí)行 問題:

某天研發(fā)某同事找我說幫他看看他寫的shell腳本,死活不執(zhí)行,報錯。我看了下,腳本很簡單,也沒有常規(guī)性的錯誤,報“:badinterpreter:Nosuchfileordirectory”錯??催@錯,我就問他是不是在windows下編寫的腳本,然后在上傳到linux服務器的……果然。

原因:

在DOS/windows里,文本文件的換行符為rn,而在*nix系統(tǒng)里則為n,所以DOS/Windows里編輯過的文本文件到了*nix里,每一行都多了個^M。解決:1)重新在linux下編寫腳本;2)vi:%s/r//g:%s/^M//g(^M輸入用Ctrl+v,Ctrl+m)附:sh-x腳本文件名,可以單步執(zhí)行并回顯結(jié)果,有助于排查復雜腳本問題。

2.crontab輸出結(jié)果控制

問題: /var/spool/clientmqueue目錄占用空間超過100G

原因: cron中執(zhí)行的程序有輸出內(nèi)容,輸出內(nèi)容會以郵件形式發(fā)給cron的用戶,而sendmail沒有啟動所以就產(chǎn)生了/var/spool/clientmqueue目錄下的那些文件,日積月累可能撐破磁盤。

解決:1)直接手動刪除:ls|xargsrm-f;2)徹底解決:在cron的自動執(zhí)行語句后加上>/dev/2>&1

3.telnet很慢/ssh很慢

問題:某天研發(fā)某同事說10.50訪問10.52memcached服務異常,讓我們檢查下看網(wǎng)絡/服務/系統(tǒng)是否有異常。檢查發(fā)現(xiàn)系統(tǒng)正常,服務正常,10.50ping10.52也正常,但10.50telnet10.52很慢。同時發(fā)現(xiàn)該機器的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’tcreatetable‘wosontest’(errno:30)經(jīng)檢查mysql用戶權限以及相關目錄權限沒問題;用perror30提示信息為:OSerrorcode30:Read-onlyfilesystem

可能原因:1)文件系統(tǒng)損壞;2)磁盤又壞道;3)fstab文件配置錯誤,如分區(qū)格式錯誤錯誤(將ntfs寫成了fat)、配置指令拼寫錯誤等。解決:1)由于是測試機,重啟機器后恢復; 2)網(wǎng)上說用mount可解決。

5.文件刪了磁盤空間沒釋放問題:某天發(fā)現(xiàn)某臺機器df-h已用磁盤空間為90G,而du-sh/*顯示所有使用空間加起來才30G,囧。

原因:可能某人直接用rm刪除某個正在寫的文件,導致文件刪了但磁盤空間沒釋放的問題解決: 1)最簡單重啟系統(tǒng)或者重啟相關服務。 2)干掉進程 /usr/sbin/lsof|grepdeleted ora25575data33uREG65,654294983680/oradata/DATAPRE/UNDOTBS009.dbf(deleted) 從lsof的輸出中,我們可以發(fā)現(xiàn)pid為25575的進程持有著以文件描述號(fd)為33打開的文件/oradata/DATAPRE/UNDOTBS009.dbf。在我們找到了這個文件之后可以通過結(jié)束進程的方式來釋放被占用的空間:echo>/proc/25575/fd/33 3)刪除正在寫的文件一般用cat/dev/null>file

6.find文件提升性能問題:在tmp目錄下有大量包含picture_*的臨時文件,每天晚上2:30對一天前的文件進行清理。之前在crontab下跑如下腳本,但是發(fā)現(xiàn)腳本效率很低,每次執(zhí)行時負載猛漲,影響到其他服務。#!/bin/sh find/tmp-name“picture_*”-mtime+1-execrm-f{};

原因:目錄下有大量文件,用find很耗資源。

解決: #!/bin/sh cd/tmptime=`date-d“2dayago”“+%b%d”` ls-l|grep“picture”|grep“$time”|awk‘{print$NF}’|xargsrm-rf

7.獲取不了網(wǎng)關mac地址問題:從2.14到3.65(映射地址2.141)網(wǎng)絡不通,但是從3端的其他機器到3.65網(wǎng)絡OK。

原因:#arp AddressHWtypeHWaddressFlagsMaskIface192.168.3.254etherincompletCMbond0表面現(xiàn)象是機器自動獲取不了網(wǎng)關MAC地址,網(wǎng)絡工程師說是網(wǎng)絡設備的問題,具體不清。

解決:arp綁定,arp-ibond0-s192.168.3.25400:00:5e:00:01:64

8.http服務無法啟動一例問題:

某天研發(fā)某同事說網(wǎng)站前端環(huán)境http無法啟動,我上去看了下。報如下錯:/etc/init.d/httpdstart Startinghttpd:[SatJan2917:49:002011][warn]moduleantibot_moduleisalreadyloaded,skipping Useproxyforwardasremoteip:true. Antibotexcludepattern:.*.[(js|css|jpg|gif|png)] Antibotseedcheckpattern:login (98)Addressalreadyinuse:make_sock:couldnotbindtoaddress[::]:7080 (98)Addressalreadyinuse:make_sock:couldnotbindtoaddress0.0.0.0:7080 nolisteningsocketsavailable,shuttingdown Unabletoopenlog[FAILED

原因: 1)端口被占用:表面看是7080端口被占用,于是netstat-npl|grep7080看了下發(fā)現(xiàn)7080沒有占用; 2)在配置文件中重復寫了端口,如果在以下兩個文件同時寫了Listen7080 /etc/httpd/conf/http.conf /etc/httpd/conf.d/t.10086.cn.conf

解決: 注釋掉/etc/httpd/conf.d/t.10086.cn.conf的Listen7080,重啟,OK。

9.toomanyopenfile

問題: 報toomanyopenfile錯誤

解決: echo“”>>/etc/security/limits.conf echo“*softnproc65535″>>/etc/security/limits.conf echo“*hardnproc65535″>>/etc/security/limits.conf echo“*softnofile65535″>>/etc/security/limits.conf echo“*hardnofile65535″>>/etc/security/limits.conf echo“”>>/root/.bash_profile echo“ulimit-n65535″>>/root/.bash_profile echo“ulimit-u65535″>>/root/.bash_profile 最后重啟機器或者執(zhí)行ulimit-u655345&&ulimit-n65535

10.ibdata1和mysql-bin致磁盤空間問題

問題: 2.51磁盤空間報警,經(jīng)查發(fā)現(xiàn)ibdata1和mysql-bin日志占用空間太多(其中ibdata1超過120G,mysql-bin超過80G) 原因: bdata1是存儲格式,在INNODB類型數(shù)據(jù)狀態(tài)下,ibdata1用來存儲文件的數(shù)據(jù)和索引,而庫名的文件夾里的那些表文件只是結(jié)構而已。 innodb存儲引擎有兩種表空間的管理方式,分別是: 1)共享表空間(可拆分為多個小的表空間文件),這個是我們目前多數(shù)數(shù)據(jù)庫使用的方法;2)獨立表空間,每一個表有一個獨立的表空間(磁盤文件)

對于兩種管理方式,各有優(yōu)劣,具體如下:①共享表空間:優(yōu)點:

可以將表空間分成多個文件存放到不同的磁盤上(表空間文件大小不受表大小的限制,一個表可以分布在不同步的文件上)缺點:

所有數(shù)據(jù)和索引存放在一個文件中,則隨著數(shù)據(jù)的增加,將會有一個很大的文件,雖然可以把一個大文件分成多個小文件,但是多個表及索引在表空間中混合存儲,這樣如果對于一個表做了大量刪除操作后表空間中將有大量空隙。對于共享表空間管理的方式下,一旦表空間被分配,就不能再回縮了。當出現(xiàn)臨時建索引或是創(chuàng)建一個臨時表的操作表空間擴大后,就是刪除相關的表也沒辦法回縮那部分空間了。②獨立表空間:

在配置文件(my.cnf)中設置:innodb_file_per_table特點:

每個表都有自已獨立的表空間;每個表的數(shù)據(jù)和索引都會存在自已的表空間中。優(yōu)點:

表空間對應的磁盤空間可以被收回(Droptable操作自動回收表空間,如果對于刪除大量數(shù)據(jù)后的表可以通過:altertabletbl_nameengine=innodb;回縮不用的空間。

缺點:

如果單表增加過大,如超過100G,性能也會受到影響。在這種情況下,如果使用共享表空間可以把文件分開,但有同樣有一個問題,如果訪問的范圍過大同樣會訪問多個文件,一樣會比較慢。如果使用獨立表空間,可以考慮使用分區(qū)表的方法,在一定程度上緩解問題。此外,當啟用獨立表空間模式時,需要合理調(diào)整innodb_open_files參數(shù)的設置。

解決:1)ibdata1數(shù)據(jù)太大:只能通過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自動刪除的天數(shù)

二、故障排查匯總表





聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11304

    瀏覽量

    209535

原文標題:Linux運維常見故障排查和處理的33個技巧匯總

文章出處:【微信號:xx-cyy,微信公眾號:C語言編程基礎】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    BOSCH-REXROTH300擰緊系統(tǒng)常見故障處理方法

    BOSCH-REXROTH300擰緊系統(tǒng)常見故障處理方法
    發(fā)表于 12-24 14:22 ?0次下載

    電子線束常見故障及檢測方法

    常見的電子線束故障排查
    的頭像 發(fā)表于 11-25 16:00 ?219次閱讀

    焊接機器人常見故障排查

    常見故障排查方法 1. 機械故障 故障現(xiàn)象: 機器人關節(jié)活動受限、異常噪音、過熱等。 排查方法: 檢查潤滑油: 確保所有關節(jié)和齒輪都有足夠
    的頭像 發(fā)表于 11-25 09:50 ?411次閱讀

    buck電路常見故障處理

    Buck電路的基本原理是必要的。Buck電路主要由四主要部分組成:輸入電容、開關元件(通常是MOSFET)、電感器和輸出電容。通過控制開關元件的導通和關斷,電路能夠?qū)⑤斎腚妷航档偷剿璧妮敵鲭妷骸?二、常見故障處理方法 開關
    的頭像 發(fā)表于 11-04 17:56 ?1001次閱讀

    中頻爐常見故障分析

    中頻爐常見故障分析
    發(fā)表于 10-21 17:17 ?0次下載

    如何處理時鐘電路的常見故障

    處理時鐘電路的常見故障是一涉及多個步驟和細節(jié)的過程,需要仔細分析和逐步排查。時鐘電路在電子設備中扮演著至關重要的角色,負責提供穩(wěn)定的時鐘信號,以確保設備內(nèi)部各組件能夠協(xié)調(diào)運行。
    的頭像 發(fā)表于 09-09 16:49 ?872次閱讀

    雷達液位計常見故障處理方法

    雷達液位計作為一種高精度的液位檢測設備,在實際應用中可能會遇到多種故障。以下是一些常見故障及其處理方法: 一、常見故障 數(shù)據(jù)不準確 原因
    的頭像 發(fā)表于 09-07 11:22 ?1215次閱讀

    雷達物位計的常見故障及維修方法

    雷達物位計在使用過程中可能會遇到多種故障,以下是一些常見故障及其維修方法的清晰分點表示和歸納
    的頭像 發(fā)表于 06-08 17:22 ?2068次閱讀

    電機調(diào)速器常見故障處理方法有哪些

    電機調(diào)速器是一種用于控制電機轉(zhuǎn)速的設備,廣泛應用于工業(yè)和民用領域。電機調(diào)速器的故障可能會導致電機性能下降、設備損壞甚至安全事故。因此,了解電機調(diào)速器的常見故障及其處理方法對于保障設備正常運行和延長
    的頭像 發(fā)表于 06-05 10:59 ?3933次閱讀

    繼電器的常見故障及原因分析

    繼電器作為電氣控制系統(tǒng)中不可或缺的重要元件,其穩(wěn)定性和可靠性對整個系統(tǒng)的運行至關重要。然而,在實際應用中,繼電器常常會出現(xiàn)各種故障,導致系統(tǒng)無法正常工作。本文將詳細探討繼電器的常見故障及其原因,以期為讀者提供全面的故障
    的頭像 發(fā)表于 05-21 18:21 ?7141次閱讀

    激光入侵探測器常見故障排查方法

    指示燈有時閃亮或常亮。 (2) 激光對射正常工作電壓:DC12-24V; 二、 常見故障現(xiàn)象 (1) 發(fā)射機或接收機無通電跡象。 (2) 接收機 所有 光束藍色LED燈常亮 (3) 接收機 部分 光束藍色LED燈常亮 三、 故障現(xiàn)象及
    的頭像 發(fā)表于 05-06 15:52 ?311次閱讀

    管理平臺:從基礎到智能的飛躍

    進行實時監(jiān)控,確保系統(tǒng)的穩(wěn)定運行。無論是服務器、網(wǎng)絡設備、數(shù)據(jù)庫還是中間件,平臺都能提供詳盡的監(jiān)控數(shù)據(jù)。 故障定位與處理 :借助強大的數(shù)據(jù)分析能力,平臺能夠快速定位故障根源,并為
    的頭像 發(fā)表于 04-16 16:26 ?436次閱讀

    高壓變頻器的常見故障處理方法

    高壓變頻器作為現(xiàn)代工業(yè)中重要的電力控制設備,廣泛應用于電機驅(qū)動、能源轉(zhuǎn)換和節(jié)能控制等領域。然而,了解高壓變頻器的常見故障及其處理方法至關重要。 一、高壓變頻器的常見故障 過流故障:當變
    的頭像 發(fā)表于 04-02 15:28 ?1384次閱讀

    SVG無功補償裝置常見故障

    常見故障、可能的原因和解決方法,旨在為讀者提供有關SVG無功補償裝置故障診斷和處理的參考。 一、SVG無功補償裝置常見故障 電源故障:SV
    的頭像 發(fā)表于 02-27 09:13 ?3925次閱讀

    熱電偶測回路常見故障處理方法

    確甚至無法正常工作。本文將介紹熱電偶測回路常見故障處理方法,以幫助用戶快速排除故障并恢復正常工作。 第一、接線錯誤 接線錯誤是熱電偶測回路中常見
    的頭像 發(fā)表于 02-05 13:46 ?2334次閱讀