32 個運維常見故障處理技巧,統統幫你解決掉!

2021-02-15 達內雲計算運維培訓

作為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)幹掉進程

/usr/sbin/lsof|grepdeleted
  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下跑如下腳本,但是發現腳本效率很低,每次執行時負載猛漲,影響到其他服務。
#!/bin/sh
find/tmp-name「picture_*」-mtime+1-execrm-f{};

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

解決

#!/bin/sh
cd/tmp
time=`date-d「2dayago」「+%b%d」`
ls-l|grep「picture」|grep「$time」|awk『{print$NF}』|xargsrm-rf


7、獲取不了網關mac地址

問題
從2.14到3.65(映射地址2.141)網絡不通,但是從3端的其他機器到3.65網絡OK。

原因

#arp
AddressHWtypeHWaddressFlagsMaskIface
192.168.3.254etherincompletCMbond0
表面現象是機器自動獲取不了網關MAC地址,網絡工程師說是網絡設備的問題,具體不清。

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

8、http服務無法啟動一例

問題

某天研發某同事說網站前端環境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看了下發現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

最後重啟機器或者執行:

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自動刪除的天數


如有疑問,速尋達妹微信:zdzc3087880280;達妹QQ:3535503962。

點擊「閱讀原文」搶免費直播課

相關焦點

  • 【乾貨】Linux運維常見問題及解決的32個錦囊妙計
    作為linux運維,多多少少會碰見這樣那樣的問題或故障,從中總結經驗,查找問題,匯總並分析故障的原因,這是一個Linux運維工程師良好的習慣。每一次技術的突破,都經歷著苦悶,伴隨著快樂,可我們還是執著的繼續努力,從中也積累了更多的經驗,這就是實踐給予我們的豐厚回報。下面匯總了我做項目過程可能出現的故障及解決方法,看看是否與你有共鳴,並對你有幫助?
  • 運維常見的22個故障排查和10個問題解決技巧大匯總!
    作為運維,多多少少會碰見這樣那樣的問題或故障,從中總結經驗,查找問題,匯總並分析故障的原因,這是一個運維工程師良好的習慣。
  • 浙江《農村生活汙水處理設施運維常見問題診斷與處理導則(徵求意見...
    浙江省《農村生活汙水處理設施運維常見問題診斷與處理導則(徵求意見稿)》公布,本導則適用於浙江省內運行維護單位對農村生活汙水處理設施運維常見問題的診斷與處理。要求,我廳委託浙江雙良商達環保有限公司編制《農村生活汙水處理設施運維常見問題診斷與處理導則》(徵求意見稿),現徵求各地意見建議。
  • 雲智慧AIOps智能運維應用實戰之智能故障預測
    特別是對於一家規模化的現代企業來說,IT系統積累了海量歷史數據,這些數據來自持續運轉的監控系統、日誌系統、APM系統、業務系統等等,對於運維人員的經驗提升和IT故障的判斷、處理具有極大的參考價值。    然而,由於IT系統的廣泛雲化,系統規模和IT數據呈指數級增長,運維人員很難通過告警信息對故障的影響進行有效的預測判斷,並對可能產生的故障作出正確的預案,只有當故障產生後才能對故障進行排查、處理,不但影響了IT系統的持續健康運行,還會造成業務上的損失。
  • 走近華佗,解析自動化故障處理系統 背後的秘密
    集群醫生華佗是集群自動化故障監測和處理系統,是平臺和運維對接的關鍵系統。一方面完成飛天其他組件不擅長的OS和硬體的故障自動監測和處理,另一方面推動飛天去及時規避硬體和OS引起的故障,使得故障能夠閉環運轉,大幅度減少故障處理成本和造成的影響。飛天5K項目期間的規模效應凸顯出自動化處理故障的必要性,大幅提升了飛天平臺的穩定性,提高了運維人員的幸福感。
  • 解放運維工程師 你需要伺服器智能運維
    早期的運維工作,大部分是由運維工程師手工完成,這被稱作人肉運維。伺服器運行狀態,全靠運維工程師每日肉眼查看,進行問題定位與解決。從伺服器運維的角度來分析伺服器智能運維,目標就是通過對帶外信息(配置信息、狀態信息、性能信息、日誌等)和帶內信息(配置參數、性能信息、日誌信息)進行採集,通過機器學習的方式來解決運維問題,提高系統預警能力和穩定性,降低運維成本,提高運維效率。
  • 工業製冷裝置常見低壓故障分析與處理解決辦法
    工業製冷裝置常見低壓故障分析與處理解決辦法 ,「k1udj」   無錫冠亞恆溫製冷技術有限公司致力於致力於製冷加熱控溫系統、超低溫冷凍機、VOCs冷凝回收裝置等生產和銷售,工業製冷裝置,操作簡單方便,價格合理,如有需要,歡迎選購!
  • 遠程運維是什麼?運維是什麼?運維工程師是幹嘛的?
    較為常見的策略有分級權限控制+堡壘機(又稱跳板機)+操作審計。所有就催生了"遠程運維"的需求,非工作時間時,監控告警突然響了,這時候怎麼連到堡壘機去登錄伺服器處理呢?俗話說狡兔有三窟,運維工程師一般也會準備多種方案去連接堡壘機,常見的有:通過Windows的RDP遠程桌面連回公司的授權內網環境、VPN撥號到公司的授權內網環境。可這才有了"兩窟",想湊齊"三窟",這裡推薦一個工具——向日葵遠程控制。
  • 談AIOps基礎-從自動化運維到智能化運維
    同時在解決方案層可以看到關鍵的還是兩個方面的內容。其一是故障發現,定位和解決。其二是容量優化和彈性擴容。即對於故障如前面所說,不是簡單的發現故障,而是需要你快速的進行故障定位,並根據定位的故障。或者說一個HA架構下,兩臺機器同時出現故障導致宕機,這種故障也不是軟體本身能夠解決的。對於軟體類故障我們經常看到的有以上都是一些場景的軟體類故障,這些故障導致的後果仍然是服務不可用或者中斷。一些好的監控系統可以做到就是JVM內存持續超過某個閾值,或者說資料庫表空間超過多少後給出告警,但是最終還是需要人工上去處理。
  • 宇信科技遠程智能運維解決方案,保障IT運維「不缺位」
    北京2020年4月3日 /美通社/ -- 新冠疫情給傳統依靠人肉的IT運維提出很多難題:因人員無法到崗,系統故障無法被有效感知和快速解決,嚴重威脅業務連續性。宇信科技的「智能運維」解決方案為受困於疫情的金融機構和企業提供了可行之道。
  • 鞍山校園自助洗衣液機批發產品常見六大故障解決
    鞍山校園自助洗衣液機批發產品常見六大故障解決   鞍山校園自助洗衣液機批發產品常見六大故障解決    但在中小城鎮還不多見,將來的發展趨勢不可低估。經營自動貨機的雷區盤點驚!原來這麼多人放置自動貨機的方法都是錯的!驚!
  • 電磁灶的常見故障維修 電磁灶日常保養技巧
    但是家電永久了都會存在電器老化和故障問題的出現,當你某一天使用電磁爐的時候,發現它不能正常工作,取而代之的是一些你不懂的代碼,這應該要怎麼辦才好呢?今天就讓小編帶您去了解下電磁灶的常見故障維修和電磁灶日常保養技巧吧。電磁灶的常見故障維修電磁爐常見故障及維修方法1 整機無反應,但沒有爆機試機,整機不工作,拆開電磁爐,發現保險絲完好。
  • 奧的斯電梯常見50個故障處理方法
    奧的斯電梯常見的故障有哪些,這是電梯維保員日常都要遇到過的電梯故障,下面是電梯招聘網小編整理的關於奧的斯電梯常見的50個故障處理方法,希望對你有幫助哦!(調過關門電阻,未解決問題)[br]經查,沒發現外部線路問題. 懷疑門機板,更換新板.問題依舊.最後更換電容後問題解決.[br][br]門機系統類似於天奧的MRDS門機。故障31:西子奧的斯STAR-CON電梯:配置:LCB-II LPB SIEI[br]故障現象:電梯自保護.
  • 再談 x86 伺服器故障,這些問題其實可以這樣處理
    昨天我們推送了《x86 伺服器 4 類常見問題匯總和故障案例》(點擊標題可回顧),分享了在社區交流活動中,多位社區會員探討的伺服器故障處理經驗之談
  • 動力電池故障燈亮怎麼解決_動力電池七大常見故障及處理方法
    動力電池故障燈亮怎麼解決_動力電池七大常見故障及處理方法 網絡整理 發表於 2020-03-19 09:33:07   動力電池故障燈亮怎麼解決
  • T博士開診 詳解常見開機故障及解決方法
    難道是機箱裡面密密麻麻的電路板出現了故障?那麼本期《T博士開診》就為大家介紹我們日常使用中造成電腦不能開機的現象以及最簡潔快速的解決辦法。不管你的網齡是幾年,相信本期的內容會給大家帶來最實用的知識和技能,在你日後面對此類問題時能夠胸有成竹,不用再求人。
  • 談談君越變速箱常見故障,和解決辦法
    君越變速箱的常見故障總結:君越變速箱沒有倒擋,掛D擋有頓挫感。君越變速箱掛倒擋有嚴重的頓挫感,沒有前進擋。君越變速箱漏油,君越變速箱加速慢,偶發的沒有6擋,逐漸頻繁。有入檔延遲等問題。君越變速箱常見故障的解決辦法:維修變速箱電腦和維修變速箱機械部分,更換易損件來解決故障問題。
  • 列印不完全故障處理分析
    打開APP 列印不完全故障處理分析 佚名 發表於 2010-01-14 10:48:32 蜂嗚器的判斷主要是依*你的聽覺,比如大多數印表機蜂鳴器以一聲長鳴來表示準備就緒可以開始列印了,以短促的聲音來表示印表機有故障等。其次,可以進行線路觀察,從檢測印表機電纜開始(包括埠、通道、列印線的檢測),再分析印表機的內部結構(包括託紙架、進紙口、列印頭等),看部件是否正確工作,針對不同的故障情況鎖定相關的部件,再確定存在問題的部件。
  • UC運維工程師老王:深入聊聊你不熟知的網際網路應用運維,我在UC的運維
    第一部分:我講應用運維是什麼; 第二部分:我講應用運維需要什麼樣的團隊;第三部分:給個案例講講運維能做什麼?第一部分:應用運維是什麼其實很多時候非運維的人員不知道運維是什麼,他們都理解你們是網管、提供伺服器的,處理故障的,其實這些都不是。
  • 超聲波點焊機常見故障及解決辦法
    打開APP 超聲波點焊機常見故障及解決辦法 網絡整理 發表於 2020-04-17 09:34:11   超聲波點焊機維修故障技巧   1、對於有故障的超聲波塑焊機,不應急於動手,應先詢問產生故障的前後經過及故障現象;   2、先外部後內部應先檢查所維修的超聲波設備有無明顯的維修歷史、超聲焊接時的狀況,超聲波模具的溫度,使用年限等,然後再對機內進行檢查;   3、拆前應排除周邊的故障因素