Linux運維面試題(簡答篇)

  1. /var/log/messages日志出現(xiàn)kernel:nf_conntrack:tablefull,dropping packet,請問是什么原因?qū)е碌?,如何解決?

此報錯為iptables報錯信息,連接跟蹤表已滿,開始丟包,可能的原因是由于頻繁的連接、關(guān)閉,或者網(wǎng)絡(luò)的一些TCP的連接導(dǎo)致的
解決方法:
1)加大跟蹤表的大小
2)禁用一些不必跟蹤的連接狀態(tài)
3)禁用模塊 ip_vs nf_conntect

  1. linux系統(tǒng)nginx與Php環(huán)境,發(fā)現(xiàn)PHP-FPM進程高,請說出可能的原因以及如何解決?

1)php的插件程序與現(xiàn)有的PHP版本存在不兼容情況,解決方法從php.ini中禁止相關(guān)插件
2)軟件本身存在問題,需要開發(fā)協(xié)同運維一同處理,查找原因
3)php程序存在死循環(huán)現(xiàn)象,使用服務(wù)器負載過高,解決方法使用top命令查看

  1. 磁盤報錯:nospace left on device,但是df-h查看空間沒有滿,為什么?

原因:系統(tǒng)inode滿了,因為所有的文件的文件名信息都是存放在inode里面的,文件內(nèi)容是存放在block里面
可以使用df -i 來查看inode的使用情況
[root@mysql-1 download]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda2 1234576 138303 1096273 12% /
tmpfs 60785 1 60784 1% /dev/shm
/dev/sda1 51200 38 51162 1% /boot

  1. 磁盤空間滿了,刪除一部分nginx日志后,但是磁盤空間還是滿的,為什么?

刪除的日志信息,一部分可能還是被進程調(diào)用,因此,需要重啟nginx服務(wù)來釋放進程;或者實際生產(chǎn)環(huán)境中使用>/log/access.log清空文件

  1. 如何查看apache進程數(shù)

perfork模式:
ps -ef|grep http|grep -v grep|wc -l

worker模式:
pstree -a|grep httpd|wc -l

  1. 提取文件test.log中FAILD與SUCCESSFUL的字符但不包括DONE的行,然后以:為隔符,提取第三列
    [root@mysql-1]# cat test.log
    FAILD:SUCCESSFUL:DONE:CRITICAL
    FAILD:SUCCESSFUL:NO:GOOD
    FAILD:NO:DO:QINGYUN
    SUCCESSFUL:DONE:CRITICAL::CRITICAL

方法一:
[root@mysql-1]# egrep “FAILD|SUCCESSFUL”test.log |grep -v DONE|awk -F ‘:’ ‘{print $3}’
NO
DO

方法二:
[root@mysql-1]# egrep “FAILD|SUCCESSFUL”test.log |grep -v DONE|cut -d: -f3
NO
DO

  1. 公司機房的服務(wù)器接近254臺了,請你設(shè)計一個解決方案,如何劃分網(wǎng)段,并實現(xiàn)業(yè)務(wù)平滑遷移。

第一種方案:變長子網(wǎng)掩碼的方法,加大IP地址的可使用范圍,全網(wǎng)分發(fā)/etc/hosts文件
第二種方案:增加核心交換機,在核心交換機劃分VLAN,將新增的服務(wù)器加入新的VLAN中,全網(wǎng)分發(fā)/etc/hosts文件

  1. Nginx反向代理如何實現(xiàn)代理RS節(jié)點上的不同虛擬主機,請說出原理和配置方法或思路。

客戶端向反向代理發(fā)送請求,反向代理按一定的規(guī)則轉(zhuǎn)發(fā)至目標服務(wù)器,并將返回的內(nèi)容返回給客戶端,可分為以下兩種:

配置內(nèi)部不同服務(wù)器轉(zhuǎn)發(fā):
upstream app1 {
server 192.168.1.10:80 weight=5;
server 192.168.1.11:80 weight=5;
}
upstream app2 {
server 192.168.1.20:80 weight=5;
server 192.168.1.21:80 weight=5;
}
配置server
server{
listern 80;
server_name app.abc.com
}

配置匹配轉(zhuǎn)發(fā)規(guī)則:
location /app1/ {
proxy_pass http://example.com/app1;
proxy_set_header Host host; } location/app2/ { proxy_passhttp://example.com/app2; proxy_set_header Hosthost;
}
做為負載均衡
配置負載均衡服務(wù)器池,也就是調(diào)度規(guī)則
upstream test_servers {
server 192.168.1.2:80 weight=5;
server 192.168.1.4:80 weight=5;
server 192.168.1.6:82 weight=15;
}
然后配置server標簽,
server {
listen 80;
server_name www.abc.com;
proxy_pass http://test_servers;
proxy_set_header Host $host
}
配置完成后,重新加載nginx服務(wù)

  1. 說出netstat -an命令結(jié)果中最后一列status對應(yīng)的不同網(wǎng)絡(luò)連接狀態(tài)含義
    [root@ ~]# netstat -an
    Active Internet connections (servers andestablished)
    Proto Recv-Q Send-Q Local Address Foreign Address State
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
    tcp 0 0 139.24.65.45:54296 10.11.68.13:80 ESTABLISHED
    tcp 0 52 39.24.65.145:22 36.32.8.85:546 ESTABLISHED
    tcp 0 0 139.24.165.45:586 10.11.8.13:80 CLOSE_WAIT

listen 服務(wù)啟動后首先處于的狀態(tài)(監(jiān)聽狀態(tài))
established 建立連接,表示建立連接的兩端可以正常通信了
close_wait 對方主動關(guān)閉連接或網(wǎng)絡(luò)異常而中斷,因此狀態(tài)會變成
time_wait 主動斷開連接,收到對方確認后的狀態(tài),相當于釋放資源,可以設(shè)置些種狀態(tài)的參數(shù),也就是主動斷開后,下一次再連接的時間間隔
syn_sent 請求連接的狀態(tài),需要訪問其它機器時首先發(fā)出的同步信號

  1. binlog是什么?binlog記錄的是什么?有幾種模式及優(yōu)缺點,企業(yè)中選擇哪種模式做同步?

binlog:是用于記錄所有更新了數(shù)據(jù)的操作語句,語句以事件的形式保存,它描述數(shù)據(jù)的更改過程
作用:用于實時備份數(shù)據(jù),數(shù)據(jù)庫的主從復(fù)制
log_bin 打開記錄binlog功能

binlog的查看
mysqlbinlog /home/mysql/binlog/binlog.000003

binlog的刪除:可分為自動與手動刪除
自動刪除
能過binlog參數(shù)expire_logs_days來實現(xiàn)
show binary logs;
show variables like “expire_logs_days;”
set gloable expire_logs_days=3;
手工刪除
reset master 刪除主的binlog
reset slave 刪除從的中繼日志

三種模式:
Row level模式 :日志會記錄每一行數(shù)據(jù)被修改的形式,然后在從端對相同的數(shù)據(jù)進行修改
優(yōu)點:可以不記錄執(zhí)行SQL語句上下文相關(guān)的信息,只記錄哪一條數(shù)據(jù)被修改,修改成什么樣了
缺點:所有執(zhí)行的語句都當記錄到日志文件中,而且都會以每行記錄的修改來記錄,會產(chǎn)生大量的日志內(nèi)容

statement模式:每一條修改數(shù)據(jù)的SQL都會記錄master的bin-log中,slave在復(fù)制的時候SQL進程會解析成和原來master端執(zhí)行過的相同的SQL來執(zhí)行
優(yōu)點:解決了上row level模式的缺點,不需要記錄每一行數(shù)據(jù)的變化,減少日志量,可以得高性能
缺點:由于記錄的是執(zhí)行語句,在此模式下會有主從無法復(fù)制的問題出現(xiàn)

mixed自動模式:MYSQL會根據(jù)執(zhí)行的每一條具體SQL語句來區(qū)分對待記錄的日志格式,
企業(yè)使用場景:
1)如果不會用到mysql特殊的功能,基本都是默認的模式statement模式
2)如果會到mysql的一些特殊功能,基本都是會使用row level模式

  1. 請詳細描述http協(xié)議原理

http協(xié)議:是客戶端與服務(wù)端之間通信傳輸數(shù)據(jù)的基礎(chǔ),HTTP協(xié)議是基于TCP/IP協(xié)議之上的協(xié)議
原理包括四個過程:
連接:瀏覽器與服務(wù)器建立連接,打開一個socket的虛擬文件,表明連接建立成功
請求:瀏覽器通過socket向服務(wù)器提交請求(一般是GET或POST請示命令)
應(yīng)答:瀏覽器請求提交后,通過HTTP協(xié)議傳送給服務(wù)器,服務(wù)器收到后進行處理將結(jié)果又通過HTTP回傳給客戶端,從而在客戶端顯示出所請求的頁面
關(guān)閉連接:當應(yīng)答結(jié)束后,瀏覽器與服務(wù)器之間就斷開連接

  1. 請詳細描述MySQL主從復(fù)制原理

原理:主庫開啟binlog功能并授權(quán)從庫連接主庫同步的用戶權(quán)限 ,將數(shù)據(jù)庫的修改或變化生成bin-log日志,從庫通過change mster的語句得到主庫的相關(guān)信息,從庫開啟slave并連接主加進行相關(guān)驗證,驗證通過后,主庫的IO線程根據(jù)從庫的請求將相關(guān)位置點信息,與最新的blnlog信息發(fā)送給從庫的IO線程,從庫的IO線程將SQL語句的信息放在relay-log中,最后從庫的SQL線程將relay-log中的SQL語句應(yīng)用到從庫中,實現(xiàn)主庫與從庫之間的數(shù)據(jù)同步,然后不斷重新上述動作

  1. 用一條命令將除了sshd、crond、network、rsyslog幾個服務(wù)之外的服務(wù)全部關(guān)閉(無需開機自動)

方法一:
[root@centos6~]# for name in chkconfig –list|grep 3:on|awk ‘{print $1}’|grep -Ev “sshd|crond|rsyslog|network”;dochkconfig $name off;done
[root@centos6~]# chkconfig –list|grep 3:on
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

方法二:
[root@centos6 ~]# chkconfig–list|grep 3:on|awk ‘{print $1}’|grep -Ev”sshd|crond|rsyslog|network”|sed -r “s#(.*)#chkconfig \1off#g”|bash
[root@centos6~]# chkconfig –list|grep 3:on
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

  1. 說明系統(tǒng)/etc/inittab中各個啟動級別的含意

[root@centos6~]# tail /etc/inittab

Default runlevel. The runlevels used are:

0 – halt (Do NOT set initdefault to this) 關(guān)機

1 – Single user mode 單用戶模式

2 – Multiuser, without NFS (The same as 3,if you do not have networking) 多用戶,沒有NFS

3 – Full multiuser mode 完整多用戶模式

4 – unused

5 – X11 桌面模式

6 – reboot (Do NOT set initdefault to this) 重啟

id:3:initdefault: 默認

以上內(nèi)容轉(zhuǎn)自:
https://yq.aliyun.com/articles/600634?utm_content=m_1000004082

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • centos7為基準 1、更改YUM源: /bin/mv CentOS-Base.repo CentOS-Base...
    SkTj閱讀 4,030評論 0 4
  • 1.A simple master-to-slave replication is currently being...
    Kevin關(guān)大大閱讀 6,237評論 0 3
  • 之前朋友圈有一篇很火的文章,大概就說的一個創(chuàng)業(yè)者在公司奮斗七年,最后卻只能凈身出戶,妻子仍然以丈夫為驕傲,連男神(...
    小小a閱讀 4,391評論 3 19
  • 我們所見外面事物與我們自身的能量振動頻率相關(guān),我們處在什么樣的能量頻率次元,就會看到什么樣的外在景況。所有發(fā)生的一...
    天心禪韻閱讀 965評論 0 1
  • 我是嘉佑,來自陜西,自 2006 年畢業(yè)之后就一直從事外貿(mào)方面的工作。一開始在工廠上班,3年后開始自由職業(yè),到現(xiàn)在...
    彭嘉佑閱讀 884評論 0 2

友情鏈接更多精彩內(nèi)容