51CTO學習筆記--Linux運維故障排查思路與系統調優技巧視頻課程(高俊峯)

      51CTO學習筆記--Linux運維故障排查思路與系統調優技巧視頻課程

        25208e84076a9820fec7594656b44c32427a85.p

                  

         第一課 Linux運維經驗分享與思路

1、一般把主機名,寫到hosts下    127.0.0.1    hostname,因爲很多應用要解析到本地。oracle沒有這個解析可能啓動不了。

2、註釋掉UUID以及MAC地址,需要綁定網卡的時候,這個可能會有影響。

3、磁盤滿了無法啓動,  var下木有空間,無法創創建PID等文件,導致文件無法啓動,按e   進入single  然後b  重啓進入單用戶模式。

4、ssh登陸系統策略

/etc/ssh/sshd.conf       port 改成5位數    設置 允許IP

permitroot  改爲 no

使用祕鑰登錄 可以關閉 passwordauth

GSSAPIAuthentication  no 以及UseDNS no 提高ssh鏈接速度

5、用戶權限策略

    禁止root用戶遠程登錄系統,授權僅普通用戶登錄系統,需要管理員權限執行 sudo,避免root用戶登錄。

   /etc/sudoers     (普通用戶切換到root權限,sudo 時不需要加密碼)

  liqilong ALL=(ALL)  NOPASSWD: ALL

6、更新yum源以及必要軟件安裝

常用的yum源:epel、repoforge軟件更新快  系統升級  yum update

7、定時自動更新服務器時間

 1、) crontab  推薦服務器 time-a.nist.gov   ntp.sjtu.edu.cn

        /usr/sbin/ntpdate ntp.sjtu.edu.cn >> /var/log/ntp.log 2>&1;

       /sbin/hwclock -w

      執行同步,以及保存

2、) 架設ntp server     /etc/ntp.conf

8、精簡開機自啓動服務

線上服務建議開啓的服務:crond,network,syslog,sshd,iptables,udev-post (資源安全設置),sysstat(系統負載、資源監控)

全部關閉

for serv in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $serv off;done

然後開啓需要的服務

for serv in ‘crond network syslog sshd iptables udev-post  sysstat;do chkconfig --level 3 $serv on;done

9、刪除無關用戶組、用戶

查看組  more /etc/group   查看用戶  /etc/passwd

10、定時自動清理垃圾文件

du -sh ./*    查看目錄裏 文件的大小

ls -al   查看全部文件(使用習慣)

/var/spool/cron   每個用戶的定時任務都會生成相應的目錄

11、重要文件安全策略(重要文件加鎖,禁止修改)

chattr +i /etc/sudoers  (加鎖)       chattr -i (去鎖)

chattr +i /etc/shadow    /etc/passwd   /etc/grub.conf

12、內核參數優化

1、關注ulimit命令   ulimit -a    查看相關參數

需要重點關注:ulimit -c -f -n -u

ulimit -c   core file 類似於 debug,調試程序  ulimit -c unlimited   打開core file

ulimit -f    file  size   限制文件大小

ulimit  -n    open file   最大打開文件個數,大一點  一般 65536,tomcat 可能是404,沒有更多的文件可以打開。

ulimit  -u 最大用戶進程數,某個用戶的最大進程數,一般不需要修改,系統一般設置成最大值。

臨時生效,永久生效需要配置文件  /etc/security/limits.conf       以及 /etc/security/limits.d/20-nproc   兩個同時配置,20-nproc生效,max user processes 設置在20-nproc

/etc/sysctl.conf

net.ipv4.ip_forward = 0 ,默認關閉,要做代理服務器或nat需要打開

*  soft  nofile 65536     最大打開文件個數

*  hard nofile 65536

13、系統故障排查關注點

1、tail -f /var/log/messages   #應用日誌查詢

2、tail -f /var/log/secure        #登陸日誌查詢

3、dmesg     #系統日誌查詢(內存信息,系統重啓保存在/var/log/dmesg)

4、/var/tmp, /tmp #容易***點查詢,權限777

5、crontab -l、/etc/crontab    #計劃任務查詢(經常***對象)

         /etc/cron.d    目錄下會被 crontab調用, 各個目錄(cron.daily/   cron.hourly/  cron.monthly/ cron.weekly/)裏面的文件

              第二課  Linux系統性能優化思路和方法

一、影響Linux性能的各種因素

1、系統硬件資源

(1)CPU   個數 頻率

processor、physical id 、cpu cores(每個CPU核數)、

如何判斷CPU 超線程:核數是 physical id   、cpu cores 的兩倍使用了超線程

消耗CPU的業務:動態web服務,mail服務

(2)內存       64位系統、磁盤操作改到內存中     swap分區:任何時候都需要,物理內存足夠大,swap可以小點 , 服務器內存大於16G,swap可以設爲16G,小於16G,swap=物理內存也可以是物理內存*2

消耗內存的業務:內存數據庫(redis、hbase、mongodb)讀寫在內存,支持大併發

(3)磁盤IO

RAID技術:RAID0/1/5/01/10     性能、安全性,RAID1 互爲鏡像 ,安全性 ; RAID 0 兩個磁盤 變爲一個; RAID5 帶奇偶校驗 ;RAID10   底層兩個磁盤 RAID0    然後再RAID1,RAID10 安全性、性能 ;數據庫重要 RAID10。

消耗磁盤的業務:數據庫服務器、、、

(4)網絡帶寬

網卡/交換機的選擇:千兆網卡、接入交換全千兆、核心交換萬兆交換

操作系統雙網卡綁定:雙網卡的負載均衡或者累加

消耗寬帶的業務:hadoop平臺,視頻業務平臺

2、操作系統相關資源

系統安裝優化、內核參數優化、文件系統優化(xfs高性能文件系統,linux 3.10內核開始默認支持)

讀操作頻繁,同時小文件衆多的應用:首選ext4文件系統,接下來依次是xfs、ext3

寫操作頻繁的應用:首選是xfs、接下來是ext4和ext3

二、Linux性能優化工具

1、cpu性能評估工具

(1)vmstat 3 5   每三秒輸出一次,輸出5次


procs   r:運行和等待cpu時間片的進程數,這個值如果長期大於系統CPU個數,說明CPU不足,需要增加CPU核數

          b:等待資源的進程數,長期比較大,CPU不足

memory :swap 切換到內存交換區的內存數量,(單位k)

                 buff表示 buffer cache 一般是對塊設備的讀寫才需要緩衝。

                 cache 表示page cache 的內存數量,一般作爲文件系統caches,頻繁訪問的文件都會被cached,如果cached值較大。說明caches的文件較多

swap :si 由磁盤進入內存      經常非常大內存不足

            so 內存進入磁盤         經常非常大內存不足

IO : bi 從塊設備讀入數據的總量(讀磁盤)(每秒kb)

     bo 寫入塊設備數據的總量(寫磁盤)(每秒kb)

bi+bo 超過1000,並且wa值較大,則表示 系統磁盤有問題,應該考慮提高磁盤的書寫性能。

system  : in 某一時間間隔中觀測到的每秒設備中斷數

              cs 每秒產生的上下文切換

             2個值越大,由內核消耗的CPU時間會越多

CPU : us 用戶進程消耗的CPU時間百分比。us的值比較高時,說明用戶進程消耗的CPU時間多,但是如果長期大於50%,就需要考慮優化程序或算法。

        sy 內核消耗的CPU時間百分比

        us+ys 參考值80% 大於80%可能內存資源不足

        id 顯示了CPU處在空閒狀態的時間百分比。

        wa :io等待所佔用的CPU時間百分比,wa越高,說明等待越嚴重。

2、內存評估

(1) free -m

(2)sar/ pidstat    -r 內存  -u  cpu   -d 磁盤

      sar -r 3  5     每三秒輸出一次,輸出5次  

     sar -u 3  獲取內存3秒內的狀態

          kbcommit   內存使用      

      pidstat -r -p 1 3  獲取內存3秒內的狀態    -p 進程 pid

3、硬盤性能

  iostat -d 3 5      tps 每秒到物理磁盤的傳送數,也每秒的I/O流量

4、網絡性能

mtr 動態路由跟蹤

traceroute 靜態路由跟蹤

netstat -i 查看路由情況    -r 網絡接口


debug模式      Shift+F2

案例1、/etc/passwd   root名稱改成別的名稱(test),權限不改。。。導致系統無法啓動, 能登錄,ps -ef發現所有進程都是 以test用戶啓動的

解決方案:單用戶模式修改/etc/paawd  

案例2、遠程登錄以後,立即退出,本地登錄也是如此。密碼錯誤有提示。ulmit  -n  設置 問題

tail -f /var/log/secure

error :PAM:pam_open_session():Permission denied.

pam_limits:  could not set limit

解決方案:ulmit  -n   6553600 基本滿足一般要求

     limits.conf  nofiles 設置過大,申請不到最大值回覆到默認的值1024。


歡迎打算使用阿里雲服務器的小夥伴,加我私聊!!QQ:3533470970  或直接領取阿里雲幸運券:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=b6h928qb&utm_source=b6h928qb


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章