應(yīng)用運(yùn)維面試核心

面試題

Nginx模塊

你以前用過哪些Nginx模塊? upstream 是Nginx負(fù)載均衡模塊

image geoip stream 這三個(gè)模塊一定要記住


? lvs四層負(fù)載均衡(面試題)

? Net Address Translator
? nat模式
? 后端服務(wù)器支持?jǐn)?shù)量10-20臺
? 使用最少兩個(gè)網(wǎng)段
? 可以說是3層負(fù)載均衡
? 流量回流時(shí)會路過負(fù)載均衡器
?
? direct route
? dr模式
? 后端服務(wù)器支持?jǐn)?shù)量100+臺
? 使用一個(gè)網(wǎng)段
? 可以說是2層負(fù)載均衡
? 流量回流時(shí)不會路過負(fù)載均衡器
?
? tunnel隧道模式
? 后端服務(wù)器支持?jǐn)?shù)量100左右
? 異地負(fù)載均衡 realserver必須使用公網(wǎng)Ip,還得需要服務(wù)器支持ip隧道協(xié)議
?
? full-nat

版本號

hostnamectl set-hostname http1 修改linux主機(jī)名,可永久生效(centos7可用)

Nginx 1.12 用穩(wěn)定版

apache

MySQL 版本 5.6 5.5 與 5.7 版本差別也很大

zabbix 3.2 版本

/etc/fstab里面只能執(zhí)行腳本

/etc/rc.local里面能執(zhí)行命令行的語句

clock -w 將時(shí)間修改保存到 BIOS
rpm -qc [服務(wù)名] 查看服務(wù)的日志地址

服務(wù)平穩(wěn)運(yùn)行怎么讓它出毛病….負(fù)載大,并發(fā)量大,內(nèi)存就高了,或者硬盤問題,dd if 命令把硬盤填滿

  1. 集群的分類

  2. 四七層負(fù)載均衡的區(qū)別

    lvs是轉(zhuǎn)發(fā)客戶的請求給真實(shí)服務(wù)器,而Nginx七層是發(fā)送一個(gè)新的請求給真實(shí)服務(wù)器,區(qū)別在于如果真實(shí)服務(wù)器宕機(jī)了,Nginx會直接把請求發(fā)給沒有宕機(jī)的服務(wù)器,而lvs不會。
    lvs是內(nèi)核上的功能,Nginx是應(yīng)用上的功能,理論是lvs更靈活速度更快,但很容易壞。
    
  3. (keepalived的工作原理)
    將N臺提供相同功能的服務(wù)器組成一個(gè)服務(wù)器組,這個(gè)組里面有一個(gè)master和多個(gè)backup,master上面有一個(gè)對外提供服務(wù)的vip(該服務(wù)器所在局域網(wǎng)內(nèi)其他機(jī)器的默認(rèn)路由為該vip),master會發(fā)組播(當(dāng)心跳),當(dāng)backup收不到vrrp(心跳)包時(shí)就認(rèn)為master宕掉了,這時(shí)就需要根據(jù)VRRP的優(yōu)先級來選舉一個(gè)backup當(dāng)master(優(yōu)先級是可以自定義的)

工作拍錯(cuò)步驟:

如果沒有zabbix監(jiān)控一般我會先檢查常出事故的單故障節(jié)點(diǎn),如果找不到問題所在會依次排查

網(wǎng)絡(luò)—>硬件—>操作系統(tǒng)—>進(jìn)程—>端口—>服務(wù)本身

svn、Git的區(qū)別:svn是一種集中式的代碼管理,,,,,,,,,,,

RabbitMQ :消息隊(duì)列服務(wù)器,大型網(wǎng)站架構(gòu)特性(敏捷性:有了新的服務(wù),能夠快速把服務(wù)器部署上去,讓服務(wù)器上架);電商等秒殺活動,,它還可以做集群的

服務(wù)器用的redis、memcache到底部署哪個(gè),是開發(fā)架構(gòu)師說了算,git、svn(小烏龜)也是同樣的道理;

ansible:puppet 12年特別火,saltstack 同類的產(chǎn)品要知道幾個(gè)

kickstart:配置pxe所需要的工具,cobbler就沒啥必要去研究它了

馬云:去IOC運(yùn)動

單機(jī)架構(gòu):

初創(chuàng)的公司先招

開發(fā)架構(gòu)師,開發(fā)(php)因?yàn)楸阋吮萰ava開發(fā)便宜

產(chǎn)品離上線接近一個(gè)月,開始招運(yùn)維工程師

(面試的人很可能是開發(fā)架構(gòu)師,不是清楚的了解運(yùn)維,一定要抓住這種機(jī)會)

(雖然招的是運(yùn)維人員,但是實(shí)際上干的是架構(gòu)師的活)

(服務(wù)器的選型等等一兩天搞不定,要一周才行)

(你能力越強(qiáng)干的活可能越多,在公司里要少出錯(cuò))

(/root/www/網(wǎng)站根目錄在這里,太正常了,開發(fā)遺留的原因)

lnmp 架構(gòu):

httpd (真實(shí)WEB)服務(wù)器最好2臺

需要Nginx+php 一臺

mysql 一臺

? vip (虛擬IP浮動資源)在這兩個(gè)機(jī)器上做出第三IP來

? A A 雙主 這個(gè)就是高可用做出來的第三個(gè)ip叫做VIP

數(shù)據(jù)備份 一臺

什么時(shí)候該上高可用,什么時(shí)候該上負(fù)載均衡,對現(xiàn)實(shí)情況的把握很關(guān)鍵

mycat 的主要功能是讀寫分離,它有高可用的功能,但這只是它的副業(yè)

Nginx 的 靜態(tài)頁面 并發(fā)理論值為5萬,實(shí)際工作中8K到10K

  1. pv 并發(fā) 最多500QPS
  2. 架構(gòu)
  3. 你們公司網(wǎng)站平時(shí)的峰值并發(fā)是多少 50左右吧CDN加速/異地緩存搞定的,如果還是不行,短期內(nèi)可以上云服務(wù),之后搭建分布式集群
  4. 從運(yùn)維的角度如何看待Nginx的優(yōu)化:其實(shí)就是架構(gòu)上的優(yōu)化,有沒有做負(fù)載均衡,高可用等。
  5. 畫一下你們上家公司的網(wǎng)站架構(gòu)
  6. 如何升級架構(gòu)
    1. 應(yīng)用分離
      1. 加緩存 消息隊(duì)列服務(wù)器(活動秒殺時(shí)最常用)

lvm logical volume manager 邏輯卷管理器

lvs linux virtualization server 4層負(fù)載均衡 是tcp協(xié)議

Nginx 7層負(fù)載均衡是http協(xié)議

Nginx 做負(fù)載均衡:方便、簡單、靈活。

原則:驅(qū)離單故障節(jié)點(diǎn)


日志切割分析

  • 常用字段

    remote_addr1 遠(yuǎn)程客戶端真實(shí)IP

    time_local4 服務(wù)器時(shí)間

    request7 記錄請求的URL和HTTP協(xié)議

    status9 200、403等請求狀態(tài)

    body_bytes_sent10 發(fā)送給客戶端的字節(jié)數(shù)

  1. 統(tǒng)計(jì)2017年9月5日 一天內(nèi)訪問最多的10個(gè)IP(ip top10)

    grep '05/Sep/2017' cd.mobiletrain.org.log | awk '{ ips[$1]++ } END{for(i in ips){print i,ips[i]} } '| sort -k2 -rn | head -n10

  2. 統(tǒng)計(jì)2017年9月5日 每個(gè)URL訪問內(nèi)容總大?。?body_bytes_sent)

    grep '05/Sep/2017' sz.mobiletrain.org.log | awk '{ urls[$7]++; size[$7]+=$10} END{for(i in urls){print urls[i],size[i],i}}'| sort -k1 -rn | head -n10

  3. 統(tǒng)計(jì)2017年9月5日 IP訪問狀態(tài)碼為404及出現(xiàn)次數(shù)($status)

    grep '05/Sep/2017' sz.mobiletrain.org.log | awk '{if($9="404"){ip_code[$1" "$9]++}} END{for(i in ip_code){print i,ip_code[i]}}'

  4. 統(tǒng)計(jì)前一分鐘的PV量

    date=$(date -d '-1 minute' +%Y:%H:%M);awk -v date=$date '$0 ~ date {i++} END{print i}' /var/log/nginx/access.log


apached的工作模式?

介紹下特點(diǎn),說明什么情況下采取不同的工作模式?

  • apache 3種工作模式

    prefork worker event

    1. prefork 是一種進(jìn)程,進(jìn)程去請求處理,容易消耗內(nèi)存但是穩(wěn)定。某個(gè)進(jìn)程出現(xiàn)問題不會影響其他請求,要求穩(wěn)定時(shí)候使用
    2. worker使用多個(gè)子進(jìn)程,每個(gè)子進(jìn)程有多個(gè)線程,使用線程去處理請求,消耗內(nèi)存小,穩(wěn)定不好,在訪問量多的時(shí)候使用
    3. evnent 為了解決keep--alive 保持長連接工作模式,不支持用在https

DNS采取了TCP和UDP協(xié)議,什么使用采取TCP

  • 什么時(shí)候用UDP? 為什么要這么設(shè)計(jì)?

    DNS有2種情況,一種是區(qū)域傳輸,一種域名解析

    1. 區(qū)域傳輸時(shí),

      一個(gè)區(qū)主DNS從自己本機(jī)數(shù)據(jù)文件中讀取該區(qū)DNS信息,而輔助服務(wù)器則從主DNS服務(wù)器中讀取該DNS數(shù)據(jù)信息,傳輸協(xié)議TCP

    2. 域名解析時(shí),

      首選通信協(xié)議是UDP,使用UDP傳輸,不經(jīng)過三次握手,這樣DNS服務(wù)器負(fù)載更低,響應(yīng)更快
      但是當(dāng)域名解析反饋長度報(bào)文長度超過512字節(jié)時(shí)
      則不能使用UDP協(xié)議進(jìn)行解析,必須使用TCP

NFS 是什么技術(shù)?遇到了什么問題

  • 用NFS做存儲訪問比較多時(shí)候會很卡,
    提升交換機(jī)上連帶寬,提升千兆或者萬兆

VMware里有幾種網(wǎng)絡(luò)模式:

有兩種模式,一種接口,NAT和hostonly(個(gè)人主機(jī)模式),橋接接口。

nginx 和apche的區(qū)別

為什么用Nginx,不用apache

Nginx工作模型,和apache的工作模型

eppoll模型,select模型

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

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

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