<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          面試數(shù)十家Linux運維工程師,總結(jié)了這些面試題(含答案)

          共 18802字,需瀏覽 38分鐘

           ·

          2021-08-19 06:41

          下面是一名資深Linux運維求職數(shù)十家公司總結(jié)的Linux運維面試精華,助力大家跳槽找個高薪好工作。

          1、什么是運維?什么是游戲運維?

          1)運維是指大型組織已經(jīng)建立好的網(wǎng)絡(luò)軟硬件的維護,就是要保證業(yè)務(wù)的上線與運作的正常,
          在他運轉(zhuǎn)的過程中,對他進行維護,他集合了網(wǎng)絡(luò)、系統(tǒng)、數(shù)據(jù)庫、開發(fā)、安全、監(jiān)控于一身的技術(shù)
          運維又包括很多種,有DBA運維、網(wǎng)站運維、虛擬化運維、監(jiān)控運維、游戲運維等等

          2)游戲運維又有分工,分為開發(fā)運維、應(yīng)用運維(業(yè)務(wù)運維)和系統(tǒng)運維
          開發(fā)運維:是給應(yīng)用運維開發(fā)運維工具和運維平臺的
          應(yīng)用運維:是給業(yè)務(wù)上線、維護和做故障排除的,用開發(fā)運維開發(fā)出來的工具給業(yè)務(wù)上線、維護、做故障排查
          系統(tǒng)運維:是給應(yīng)用運維提供業(yè)務(wù)上的基礎(chǔ)設(shè)施,比如:系統(tǒng)、網(wǎng)絡(luò)、監(jiān)控、硬件等等

          總結(jié):開發(fā)運維和系統(tǒng)運維給應(yīng)用運維提供了“工具”和“基礎(chǔ)設(shè)施”上的支撐
          開發(fā)運維、應(yīng)用運維和系統(tǒng)運維他們的工作是環(huán)環(huán)相扣的

          2、在工作中,運維人員經(jīng)常需要跟運營人員打交道,請問運營人員是做什么工作的?

          游戲運營要做的一個事情除了協(xié)調(diào)工作以外
          還需要與各平臺溝通,做好開服的時間、開服數(shù)、用戶導(dǎo)量、活動等計劃

          3、現(xiàn)在給你三百臺服務(wù)器,你怎么對他們進行管理?

          管理3百臺服務(wù)器的方式:
          1)設(shè)定跳板機,使用統(tǒng)一賬號登錄,便于安全與登錄的考量。
          2)使用
          saltansible、puppet進行系統(tǒng)的統(tǒng)一調(diào)度與配置的統(tǒng)一管理。
          3)建立簡單的服務(wù)器的系統(tǒng)、配置、應(yīng)用的cmdb信息管理。便于查閱每臺服務(wù)器上的各種信息記錄。

          4、簡述raid0 raid1 raid5 三種工作模式的工作原理及特點

          RAID,可以把硬盤整合成一個大磁盤,還可以在大磁盤上再分區(qū),放數(shù)據(jù)
          還有一個大功能,多塊盤放在一起可以有冗余(備份)
          RAID整合方式有很多,常用的:0 1 5 10

          RAID 0,可以是一塊盤和N個盤組合
          其優(yōu)點讀寫快,是RAID中最好的
          缺點:沒有冗余,一塊壞了數(shù)據(jù)就全沒有了

          RAID 1,只能2塊盤,盤的大小可以不一樣,以小的為準
          10G+10G只有10G,另一個做備份。它有100%的冗余,缺點:浪費資源,成本高

          RAID 5 ,3塊盤,容量計算10*(n-1),損失一塊盤
          特點,讀寫性能一般,讀還好一點,寫不好

          冗余從好到壞:RAID1 RAID10 RAID 5 RAID0
          性能從好到壞:RAID0 RAID10 RAID5 RAID1
          成本從低到高:RAID0 RAID5 RAID1 RAID10

          單臺服務(wù)器:很重要盤不多,系統(tǒng)盤,RAID1
          數(shù)據(jù)庫服務(wù)器:主庫:RAID10 從庫 RAID5\RAID0(為了維護成本,RAID10)
          WEB服務(wù)器,如果沒有太多的數(shù)據(jù)的話,RAID5,RAID0(單盤)
          有多臺,監(jiān)控、應(yīng)用服務(wù)器,RAID0 RAID5

          我們會根據(jù)數(shù)據(jù)的存儲和訪問的需求,去匹配對應(yīng)的RAID級別

          5、LVS、Nginx、HAproxy有什么區(qū)別?工作中你怎么選擇?

          LVS:是基于四層的轉(zhuǎn)發(fā)
          HAproxy:是基于四層和七層的轉(zhuǎn)發(fā),是專業(yè)的代理服務(wù)器
          Nginx:是WEB服務(wù)器,緩存服務(wù)器,又是反向代理服務(wù)器,可以做七層的轉(zhuǎn)發(fā)

          區(qū)別:LVS由于是基于四層的轉(zhuǎn)發(fā)所以只能做端口的轉(zhuǎn)發(fā)、而基于URL的、基于目錄的這種轉(zhuǎn)發(fā)LVS就做不了


          工作選擇:HAproxy和Nginx由于可以做七層的轉(zhuǎn)發(fā),所以URL和目錄的轉(zhuǎn)發(fā)都可以做,在很大并發(fā)量的時候我們就要選擇LVS,像中小型公司的話并發(fā)量沒那么大,選擇HAproxy或者Nginx足已,由于HAproxy由是專業(yè)的代理服務(wù)器,配置簡單,所以中小型企業(yè)推薦使用HAproxy

          6、Squid、Varinsh和Nginx有什么區(qū)別,工作中你怎么選擇?

          Squid、Varinsh和Nginx都是代理服務(wù)器

          什么是代理服務(wù)器:

          能代替用戶去訪問公網(wǎng),并且能把訪問到的數(shù)據(jù)緩存到服務(wù)器本地,等用戶下次再訪問相同的資源的時候,代理服務(wù)器直接從本地回應(yīng)給用戶,當(dāng)本地沒有的時候,我代替你去訪問公網(wǎng),我接收你的請求,我先在我自已的本地緩存找,如果我本地緩存有,我直接從我本地的緩存里回復(fù)你如果我在我本地沒有找到你要訪問的緩存的數(shù)據(jù),那么代理服務(wù)器就會代替你去訪問公網(wǎng)

          區(qū)別:

          1)Nginx本來是反向代理/web服務(wù)器,用了插件可以做做這個副業(yè)
          但是本身不支持特性挺多,只能緩存靜態(tài)文件

          2)從這些功能上。varnish和squid是專業(yè)的cache服務(wù),而nginx這些是第三方模塊完成

          3)varnish本身的技術(shù)上優(yōu)勢要高于squid,它采用了可視化頁面緩存技術(shù)
          在內(nèi)存的利用上,Varnish比Squid具有優(yōu)勢,性能要比Squid高。
          還有強大的通過Varnish管理端口,可以使用正則表達式快速、批量地清除部分緩存
          它是內(nèi)存緩存,速度一流,但是內(nèi)存緩存也限制了其容量,緩存頁面和圖片一般是挺好的

          4)squid的優(yōu)勢在于完整的龐大的cache技術(shù)資料,和很多的應(yīng)用生產(chǎn)環(huán)境

          工作中選擇:

          要做cache服務(wù)的話,我們肯定是要選擇專業(yè)的cache服務(wù),優(yōu)先選擇squid或者varnish。

          7、Tomcat和Resin有什么區(qū)別,工作中你怎么選擇?

          區(qū)別:Tomcat用戶數(shù)多,可參考文檔多,Resin用戶數(shù)少,可考慮文檔少,最主要區(qū)別則是Tomcat是標(biāo)準的java容器,不過性能方面比resin的要差一些,但穩(wěn)定性和java程序的兼容性,應(yīng)該是比resin的要好

          工作中選擇:現(xiàn)在大公司都是用resin,追求性能;而中小型公司都是用Tomcat,追求穩(wěn)定和程序的兼容

          8、什么是中間件?什么是jdk?

          中間件是一種獨立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不同的技術(shù)之間共享資源

          中間件位于客戶機/ 服務(wù)器的操作系統(tǒng)之上,管理計算機資源和網(wǎng)絡(luò)通訊是連接兩個獨立應(yīng)用程序或獨立系統(tǒng)的軟件。相連接的系統(tǒng),即使它們具有不同的接口

          但通過中間件相互之間仍能交換信息。執(zhí)行中間件的一個關(guān)鍵途徑是信息傳遞通過中間件,應(yīng)用程序可以工作于多平臺或OS環(huán)境。

          jdk:jdk是Java的開發(fā)工具包,它是一種用于構(gòu)建在 Java 平臺上發(fā)布的應(yīng)用程序、applet 和組件的開發(fā)環(huán)境

          9、講述一下Tomcat8005、8009、8080三個端口的含義?

          8005==》 關(guān)閉時使用
          8009==》 為AJP端口,即容器使用,如Apache能通過AJP協(xié)議訪問Tomcat的8009端口
          8080==》 一般應(yīng)用使用

          10、什么叫CDN?

          即內(nèi)容分發(fā)網(wǎng)絡(luò),其目的是通過在現(xiàn)有的Internet中增加一層新的網(wǎng)絡(luò)架構(gòu),將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的網(wǎng)絡(luò)邊緣,使用戶可就近取得所需的內(nèi)容,提高用戶訪問網(wǎng)站的速度。

          11、什么叫網(wǎng)站灰度發(fā)布?

          灰度發(fā)布是指在黑與白之間,能夠平滑過渡的一種發(fā)布方式
          AB test就是一種灰度發(fā)布方式,讓一部用戶繼續(xù)用A,一部分用戶開始用B
          如果用戶對B沒有什么反對意見,那么逐步擴大范圍,把所有用戶都遷移到B上面 來
          灰度發(fā)布可以保證整體系統(tǒng)的穩(wěn)定,在初始灰度的時候就可以發(fā)現(xiàn)、調(diào)整問題,以保證其影響度

          12、簡述DNS進行域名解析的過程?

          用戶要訪問www.baidu.com,會先找本機的host文件,再找本地設(shè)置的DNS服務(wù)器,如果也沒有的話,就去網(wǎng)絡(luò)中找根服務(wù)器,根服務(wù)器反饋結(jié)果,說只能提供一級域名服務(wù)器.cn,就去找一級域名服務(wù)器,一級域名服務(wù)器說只能提供二級域名服務(wù)器.com.cn,就去找二級域名服務(wù)器,二級域服務(wù)器只能提供三級域名服務(wù)器.baidu.com.cn,就去找三級域名服務(wù)器,三級域名服務(wù)器正好有這個網(wǎng)站www.baidu.com,然后發(fā)給請求的服務(wù)器,保存一份之后,再發(fā)給客戶端

          13、RabbitMQ是什么東西?

          RabbitMQ也就是消息隊列中間件,消息中間件是在消息的傳息過程中保存消息的容器
          消息中間件再將消息從它的源中到它的目標(biāo)中標(biāo)時充當(dāng)中間人的作用
          隊列的主要目的是提供路由并保證消息的傳遞;如果發(fā)送消息時接收者不可用
          消息隊列不會保留消息,直到可以成功地傳遞為止,當(dāng)然,消息隊列保存消息也是有期限地

          14、講一下Keepalived的工作原理?

          在一個虛擬路由器中,只有作為MASTER的VRRP路由器會一直發(fā)送VRRP通告信息,
          BACKUP不會搶占MASTER,除非它的優(yōu)先級更高。當(dāng)MASTER不可用時(BACKUP收不到通告信息)
          多臺BACKUP中優(yōu)先級最高的這臺會被搶占為MASTER。這種搶占是非??焖俚?<1s),以保證服務(wù)的連續(xù)性
          由于安全性考慮,VRRP包使用了加密協(xié)議進行加密。BACKUP不會發(fā)送通告信息,只會接收通告信息

          15、講述一下LVS三種模式的工作過程?

          LVS 有三種負載均衡的模式,分別是VS/NAT(nat 模式) VS/DR(路由模式) VS/TUN(隧道模式)

          一、NAT模式(VS-NAT)

          原理:就是把客戶端發(fā)來的數(shù)據(jù)包的IP頭的目的地址,在負載均衡器上換成其中一臺RS的IP地址,并發(fā)至此RS來處理,RS處理完后把數(shù)據(jù)交給負載均衡器,負載均衡器再把數(shù)據(jù)包原IP地址改為自己的IP,將目的地址改為客戶端IP地址即可期間,無論是進來的流量,還是出去的流量,都必須經(jīng)過負載均衡器

          優(yōu)點:集群中的物理服務(wù)器可以使用任何支持TCP/IP操作系統(tǒng),只有負載均衡器需要一個合法的IP地址

          缺點:擴展性有限。當(dāng)服務(wù)器節(jié)點(普通PC服務(wù)器)增長過多時,負載均衡器將成為整個系統(tǒng)的瓶頸,因為所有的請求包和應(yīng)答包的流向都經(jīng)過負載均衡器。當(dāng)服務(wù)器節(jié)點過多時,大量的數(shù)據(jù)包都交匯在負載均衡器那,速度就會變慢!

          二、IP隧道模式(VS-TUN)

          原理:首先要知道,互聯(lián)網(wǎng)上的大多Internet服務(wù)的請求包很短小,而應(yīng)答包通常很大,那么隧道模式就是,把客戶端發(fā)來的數(shù)據(jù)包,封裝一個新的IP頭標(biāo)記(僅目的IP)發(fā)給RS,RS收到后,先把數(shù)據(jù)包的頭解開,還原數(shù)據(jù)包,處理后,直接返回給客戶端,不需要再經(jīng)過負載均衡器。注意,由于RS需要對負載均衡器發(fā)過來的數(shù)據(jù)包進行還原,所以說必須支持IPTUNNEL協(xié)議,所以,在RS的內(nèi)核中,必須編譯支持IPTUNNEL這個選項

          優(yōu)點:負載均衡器只負責(zé)將請求包分發(fā)給后端節(jié)點服務(wù)器,而RS將應(yīng)答包直接發(fā)給用戶,所以,減少了負載均衡器的大量數(shù)據(jù)流動,負載均衡器不再是系統(tǒng)的瓶頸,就能處理很巨大的請求量,這種方式,一臺負載均衡器能夠為很多RS進行分發(fā)。而且跑在公網(wǎng)上就能進行不同地域的分發(fā)。

          缺點:隧道模式的RS節(jié)點需要合法IP,這種方式需要所有的服務(wù)器支持”IP Tunneling”(IP Encapsulation)協(xié)議,服務(wù)器可能只局限在部分Linux系統(tǒng)上

          三、直接路由模式(VS-DR)

          原理:負載均衡器和RS都使用同一個IP對外服務(wù)但只有DR對ARP請求進行響應(yīng),所有RS對本身這個IP的ARP請求保持靜默也就是說,網(wǎng)關(guān)會把對這個服務(wù)IP的請求全部定向給DR,而DR收到數(shù)據(jù)包后根據(jù)調(diào)度算法,找出對應(yīng)的RS,把目的MAC地址改為RS的MAC(因為IP一致),并將請求分發(fā)給這臺RS這時RS收到這個數(shù)據(jù)包,處理完成之后,由于IP一致,可以直接將數(shù)據(jù)返給客戶,則等于直接從客戶端收到這個數(shù)據(jù)包無異,處理后直接返回給客戶端,由于負載均衡器要對二層包頭進行改換,所以負載均衡器和RS之間必須在一個廣播域,也可以簡單的理解為在同一臺交換機上

          優(yōu)點:和TUN(隧道模式)一樣,負載均衡器也只是分發(fā)請求,應(yīng)答包通過單獨的路由方法返回給客戶端,與VS-TUN相比,VS-DR這種實現(xiàn)方式不需要隧道結(jié)構(gòu),因此可以使用大多數(shù)操作系統(tǒng)做為物理服務(wù)器。

          缺點:(不能說缺點,只能說是不足)要求負載均衡器的網(wǎng)卡必須與物理網(wǎng)卡在一個物理段上。

          16、mysql的innodb如何定位鎖問題,mysql如何減少主從復(fù)制延遲?

          mysql的innodb如何定位鎖問題:
          在使用 show engine innodb status檢查引擎狀態(tài)時,發(fā)現(xiàn)了死鎖問題
          在5.5中,information_schema 庫中增加了三個關(guān)于鎖的表(MEMORY引擎)
          innodb_trx         ## 當(dāng)前運行的所有事務(wù)

          innodb_locks     ## 當(dāng)前出現(xiàn)的鎖

          innodb_lock_waits  ## 鎖等待的對應(yīng)關(guān)系
          mysql如何減少主從復(fù)制延遲:
          如果延遲比較大,就先確認以下幾個因素:
          1.從庫硬件比主庫差,導(dǎo)致復(fù)制延遲
          2.主從復(fù)制單線程,如果主庫寫并發(fā)太大,來不及傳送到從庫就會導(dǎo)致延遲。更高版本的mysql可以支持多線程復(fù)制
          3.慢SQL語句過多
          4.網(wǎng)絡(luò)延遲
          5.master負載:主庫讀寫壓力大,導(dǎo)致復(fù)制延遲,架構(gòu)的前端要加buffer及緩存層
          6.slave負載:一般的做法是,使用多臺slave來分攤讀請求,再從這些slave中取一臺專用的服務(wù)器
          只作為備份用,不進行其他任何操作.另外, 2個可以減少延遲的參數(shù):
          –slave-net-timeout=seconds 單位為秒 默認設(shè)置為 3600

          #參數(shù)含義:當(dāng)slave從主數(shù)據(jù)庫讀取log數(shù)據(jù)失敗后,等待多久重新建立連接并獲取數(shù)據(jù)

          –master-connect-retry=seconds 單位為秒 默認設(shè)置為 60

          #參數(shù)含義:當(dāng)重新建立主從連接時,如果連接建立失敗,間隔多久后重試
          通常配置以上2個參數(shù)可以減少網(wǎng)絡(luò)問題導(dǎo)致的主從數(shù)據(jù)同步延遲

          MySQL數(shù)據(jù)庫主從同步延遲解決方案

          最簡單的減少slave同步延時的方案就是在架構(gòu)上做優(yōu)化,盡量讓主庫的DDL快速執(zhí)行

          還有就是主庫是寫,對數(shù)據(jù)安全性較高,比如sync_binlog=1,innodb_flush_log_at_trx_commit
          = 1 之類的設(shè)置,而slave則不需要這么高的數(shù)據(jù)安全,完全可以講sync_binlog設(shè)置為0或者關(guān)閉binlog

          innodb_flushlog也可以設(shè)置為0來提高sql的執(zhí)行效率。另外就是使用比主庫更好的硬件設(shè)備作為slave

          17、如何重置mysql root密碼?

          一、 在已知MYSQL數(shù)據(jù)庫的ROOT用戶密碼的情況下,修改密碼的方法:

          SHELL環(huán)境下,使用mysqladmin命令設(shè)置:
          mysqladmin –u root –p password “新密碼”   回車后要求輸入舊密碼

          在mysql>環(huán)境中,使用update命令,直接更新mysql庫user表的數(shù)據(jù):

          Update  mysql.user  set  password=password(‘新密碼’)  where  user=’root’;

          flush   privileges;
          注意:mysql語句要以分號”;”結(jié)束
          在mysql>環(huán)境中,使用grant命令,修改root用戶的授權(quán)權(quán)限。
          grant  all  on  *.*  to   root@’localhost’  identified  by  ‘新密碼’;

          二、 如忘記了mysql數(shù)據(jù)庫的ROOT用戶的密碼,又如何做呢?方法如下:

          關(guān)閉當(dāng)前運行的mysqld服務(wù)程序:service  mysqld  stop(要先將mysqld添加為系統(tǒng)服務(wù))

          使用mysqld_safe腳本以安全模式(不加載授權(quán)表)啟動mysqld 服務(wù)

          /usr/local/mysql/bin/mysqld_safe  --skip-grant-table  &

          使用空密碼的root用戶登錄數(shù)據(jù)庫,重新設(shè)置ROOT用戶的密碼

          #mysql  -u   root

          Mysql>
           Update  mysql.user  set  password=password(‘新密碼’)  where  user=’root’;

          Mysql>
           flush   privileges;

          18、lvs/nginx/haproxy優(yōu)缺點

          Nginx的優(yōu)點是:

          1、工作在網(wǎng)絡(luò)的7層之上,可以針對http應(yīng)用做一些分流的策略,比如針對域名、目錄結(jié)構(gòu)

          它的正則規(guī)則比HAProxy更為強大和靈活,這也是它目前廣泛流行的主要原因之一

          Nginx單憑這點可利用的場合就遠多于LVS了。

          2、Nginx對網(wǎng)絡(luò)穩(wěn)定性的依賴非常小,理論上能ping通就就能進行負載功能,這個也是它的優(yōu)勢之一

          相反LVS對網(wǎng)絡(luò)穩(wěn)定性依賴比較大,這點本人深有體會;

          3、Nginx安裝和配置比較簡單,測試起來比較方便,它基本能把錯誤用日志打印出來

          LVS的配置、測試就要花比較長的時間了,LVS對網(wǎng)絡(luò)依賴比較大。

          4、可以承擔(dān)高負載壓力且穩(wěn)定,在硬件不差的情況下一般能支撐幾萬次的并發(fā)量,負載度比LVS相對小些。

          5、Nginx可以通過端口檢測到服務(wù)器內(nèi)部的故障,比如根據(jù)服務(wù)器處理網(wǎng)頁返回的狀態(tài)碼、超時等等,并且會把返回錯誤的請求重新提交到另一個節(jié)點,不過其中缺點就是不支持url來檢測。比如用戶正在上傳一個文件,而處理該上傳的節(jié)點剛好在上傳過程中出現(xiàn)故障,Nginx會把上傳切到另一臺服務(wù)器重新處理,而LVS就直接斷掉了

          如果是上傳一個很大的文件或者很重要的文件的話,用戶可能會因此而不滿。

          6、Nginx不僅僅是一款優(yōu)秀的負載均衡器/反向代理軟件,它同時也是功能強大的Web應(yīng)用服務(wù)器

          LNMP也是近幾年非常流行的web架構(gòu),在高流量的環(huán)境中穩(wěn)定性也很好。

          7、Nginx現(xiàn)在作為Web反向加速緩存越來越成熟了,速度比傳統(tǒng)的Squid服務(wù)器更快,可考慮用其作為反向代理加速器

          8、Nginx可作為中層反向代理使用,這一層面Nginx基本上無對手,唯一可以對比Nginx的就只有l(wèi)ighttpd了

          不過lighttpd目前還沒有做到Nginx完全的功能,配置也不那么清晰易讀,社區(qū)資料也遠遠沒Nginx活躍

          9、Nginx也可作為靜態(tài)網(wǎng)頁和圖片服務(wù)器,這方面的性能也無對手。還有Nginx社區(qū)非常活躍,第三方模塊也很多

          Nginx的缺點是:

          1、Nginx僅能支持http、https和Email協(xié)議,這樣就在適用范圍上面小些,這個是它的缺點

          2、對后端服務(wù)器的健康檢查,只支持通過端口來檢測,不支持通過url來檢測

          不支持Session的直接保持,但能通過ip_hash來解決

          LVS:使用Linux內(nèi)核集群實現(xiàn)一個高性能、高可用負載均衡服務(wù)器

          它具有很好的可伸縮性(Scalability)、可靠性(Reliability)和可管理性(Manageability)

          LVS的優(yōu)點是:

          1、抗負載能力強、是工作在網(wǎng)絡(luò)4層之上僅作分發(fā)之用,沒有流量的產(chǎn)生

          這個特點也決定了它在負載均衡軟件里的性能最強的,對內(nèi)存和cpu資源消耗比較低

          2、配置性比較低,這是一個缺點也是一個優(yōu)點,因為沒有可太多配置的東西

          所以并不需要太多接觸,大大減少了人為出錯的幾率

          3、工作穩(wěn)定,因為其本身抗負載能力很強,自身有完整的雙機熱備方案

          LVS+Keepalived,不過我們在項目實施中用得最多的還是LVS/DR+Keepalived

          4、無流量,LVS只分發(fā)請求,而流量并不從它本身出去,這點保證了均衡器IO的性能不會收到大流量的影響。

          5、應(yīng)用范圍較廣,因為LVS工作在4層,所以它幾乎可對所有應(yīng)用做負載均衡,包括http、數(shù)據(jù)庫、在線聊天室等

          LVS的缺點是:

          1、軟件本身不支持正則表達式處理,不能做動靜分離

          而現(xiàn)在許多網(wǎng)站在這方面都有較強的需求,這個是Nginx/HAProxy+Keepalived的優(yōu)勢所在

          2、如果是網(wǎng)站應(yīng)用比較龐大的話,LVS/DR+Keepalived實施起來就比較復(fù)雜了

          特別后面有Windows Server的機器的話,如果實施及配置還有維護過程就比較復(fù)雜了

          相對而言,Nginx/HAProxy+Keepalived就簡單多了。

          HAProxy的特點是:

          1、HAProxy也是支持虛擬主機的。

          2、HAProxy的優(yōu)點能夠補充Nginx的一些缺點,比如支持Session的保持,Cookie的引導(dǎo)

          同時支持通過獲取指定的url來檢測后端服務(wù)器的狀態(tài)

          3、HAProxy跟LVS類似,本身就只是一款負載均衡軟件

          單純從效率上來講HAProxy會比Nginx有更出色的負載均衡速度,在并發(fā)處理上也是優(yōu)于Nginx的

          4、HAProxy支持TCP協(xié)議的負載均衡轉(zhuǎn)發(fā),可以對MySQL讀進行負載均衡

          對后端的MySQL節(jié)點進行檢測和負載均衡,大家可以用LVS+Keepalived對MySQL主從做負載均衡

          5、HAProxy負載均衡策略非常多,HAProxy的負載均衡算法現(xiàn)在具體有如下8種:

          • roundrobin,表示簡單的輪詢,這個不多說,這個是負載均衡基本都具備的;

          • static-rr,表示根據(jù)權(quán)重,建議關(guān)注;

          • leastconn,表示最少連接者先處理,建議關(guān)注;

          • source,表示根據(jù)請求源IP,這個跟Nginx的IP_hash機制類似,我們用其作為解決session問題的一種方法,建議關(guān)注;

          • ri,表示根據(jù)請求的URI;

          • rl_param,表示根據(jù)請求的URl參數(shù)’balance url_param’ requires an URL parameter name;

          • hdr(name),表示根據(jù)HTTP請求頭來鎖定每一次HTTP請求;

          • rdp-cookie(name),表示根據(jù)據(jù)cookie(name)來鎖定并哈希每一次TCP請求。

          19、mysql數(shù)據(jù)備份工具

          mysqldump工具

          mysqldump是mysql自帶的備份工具,目錄在bin目錄下面:/usr/local/mysql/bin/mysqldump。支持基于innodb的熱備份,但是由于是邏輯備份,所以速度不是很快,適合備份數(shù)據(jù)比較小的場景,Mysqldump完全備份+二進制日志可以實現(xiàn)基于時間點的恢復(fù)。

          基于LVM快照備份

          在物理備份中,有基于文件系統(tǒng)的物理備份(LVM的快照),也可以直接用tar之類的命令對整個數(shù)據(jù)庫目錄,進行打包備份,但是這些只能進行冷備份,不同的存儲引擎?zhèn)浞莸囊膊灰粯?,myisam自動備份到表級別,而innodb不開啟獨立表空間的話只能備份整個數(shù)據(jù)庫。

          tar包備份

          percona提供的xtrabackup工具,支持innodb的物理熱備份,支持完全備份,增量備份,而且速度非常快,支持innodb存儲引起的數(shù)據(jù)在不同,數(shù)據(jù)庫之間遷移,支持復(fù)制模式下的從機備份恢復(fù)備份恢復(fù),為了讓xtrabackup支持更多的功能擴展,可以設(shè)立獨立表空間,打開 innodb_file_per_table功能,啟用之后可以支持單獨的表備份

          20、keepalive的工作原理和如何做到健康檢查

          keepalived是以VRRP協(xié)議為實現(xiàn)基礎(chǔ)的,VRRP全稱Virtual Router Redundancy Protocol,即虛擬路由冗余協(xié)議。虛擬路由冗余協(xié)議,可以認為是實現(xiàn)路由器高可用的協(xié)議,即將N臺提供相同功能的路由器組成一個路由器組,這個組里面有一個master和多個backup,master上面有一個對外提供服務(wù)的vip(該路由器所在局域網(wǎng)內(nèi),其他機器的默認路由為該vip),master會發(fā)組播,當(dāng)backup收不到vrrp包時就認為master宕掉了,這時就需要根據(jù)VRRP的優(yōu)先級來選舉一個backup當(dāng)master。這樣就可以保證路由器的高可用了

          keepalived主要有三個模塊,分別是core、check和vrrp。core模塊為keepalived的核心,負責(zé)主進程的啟動、維護及全局配置文件的加載和解析。check負責(zé)健康檢查,包括常見的各種檢查方式,vrrp模塊是來實現(xiàn)VRRP協(xié)議的

          Keepalived健康檢查方式配置

          HTTP_GET|SSL_GET
          HTTP_GET |
           SSL_GET
          {
          url {
          path /# HTTP/SSL 檢查的url可以是多個
          digest <STRING> # HTTP/SSL 檢查后的摘要信息用工具genhash生成
          status_code 200# HTTP/SSL 檢查返回的狀態(tài)碼
          }
          connect_port 80 # 連接端口
          bindto<IPADD>
          connect_timeout 3 # 連接超時時間
          nb_get_retry 3 # 重連次數(shù)
          delay_before_retry 2 #連接間隔時間
          }

          21、統(tǒng)計ip訪問情況,要求分析nginx訪問日志,找出訪問頁面數(shù)量在前十位的ip

          cat access.log | awk '{print $1}' | uniq -c | sort -rn | head -10

          22、使用tcpdump監(jiān)聽主機為192.168.1.1,tcp端口為80的數(shù)據(jù),同時將輸出結(jié)果保存輸出到tcpdump.log

          tcpdump 'host 192.168.1.1 and port 80' > tcpdump.log

          23、如何將本地80 端口的請求轉(zhuǎn)發(fā)到8080 端口,當(dāng)前主機IP 為192.168.2.1

          iptables -A PREROUTING -d 192.168.2.1 -p tcp -m tcp -dport 80 -j DNAT-to-destination 192.168.2.1:8080

          24、簡述raid0 raid1 raid5 三種工作模式的工作原理及特點

          RAID 0:帶區(qū)卷,連續(xù)以位或字節(jié)為單位分割數(shù)據(jù),并行讀/寫于多個磁盤上,因此具有很高的數(shù)據(jù)傳輸率,但它沒有數(shù)據(jù)冗余,RAID 0 只是單純地提高性能,并沒有為數(shù)據(jù)的可靠性提供保證,而且其中的一個磁盤失效將影響到所有數(shù)據(jù)。因此,RAID 0 不能應(yīng)用于數(shù)據(jù)安全性要求高的場合

          RAID 1:鏡像卷,它是通過磁盤數(shù)據(jù)鏡像實現(xiàn)數(shù)據(jù)冗余,在成對的獨立磁盤上產(chǎn)生互為備份的數(shù)據(jù),不能提升寫數(shù)據(jù)效率。當(dāng)原始數(shù)據(jù)繁忙時,可直接從鏡像拷貝中讀取數(shù)據(jù),因此RAID1 可以提高讀取性能,RAID 1 是磁盤陣列中單位成本最高的,鏡像卷可用容量為總?cè)萘康?/2,但提供了很高的數(shù)據(jù)安全性和可用性,當(dāng)一個磁盤失效時,系統(tǒng)可以自動切換到鏡像磁盤上讀寫,而不需要重組失效的數(shù)據(jù)

          RAID5:至少由3塊硬盤組成,分布式奇偶校驗的獨立磁盤結(jié)構(gòu),它的奇偶校驗碼存在于所有磁盤上,任何一個硬盤損壞,都可以根據(jù)其它硬盤上的校驗位來重建損壞的數(shù)據(jù)(最多允許1塊硬盤損壞),所以raid5可以實現(xiàn)數(shù)據(jù)冗余,確保數(shù)據(jù)的安全性,同時raid5也可以提升數(shù)據(jù)的讀寫性能

          25、你對現(xiàn)在運維工程師的理解和以及對其工作的認識

          運維工程師在公司當(dāng)中責(zé)任重大,需要保證時刻為公司及客戶提供最高、最快、最穩(wěn)定、最安全的服務(wù)

          運維工程師的一個小小的失誤,很有可能會對公司及客戶造成重大損失

          因此運維工程師的工作需要嚴謹及富有創(chuàng)新精神

          26、實時抓取并顯示當(dāng)前系統(tǒng)中tcp 80端口的網(wǎng)絡(luò)數(shù)據(jù)信息,請寫出完整操作命令

          tcpdump -nn tcp port 80

          27、服務(wù)器開不了機怎么解決一步步的排查

          A、造成服務(wù)器故障的原因可能有以下幾點:

          B、如何排查服務(wù)器故障的處理步驟如下:

          28、Linux系統(tǒng)中病毒怎么解決

          1)最簡單有效的方法就是重裝系統(tǒng)

          2)要查的話就是找到病毒文件然后刪除,中毒之后一般機器cpu、內(nèi)存使用率會比較高,機器向外發(fā)包等異常情況,排查方法簡單介紹下

          • top 命令找到cpu使用率最高的進程

          • 一般病毒文件命名都比較亂,可以用 ps aux 找到病毒文件位置

          • rm -f  命令刪除病毒文件

          • 檢查計劃任務(wù)、開機啟動項和病毒文件目錄有無其他可以文件等

          3)由于即使刪除病毒文件不排除有潛伏病毒,所以最好是把機器備份數(shù)據(jù)之后重裝一下

          29、發(fā)現(xiàn)一個病毒文件你刪了他又自動創(chuàng)建怎么解決

          公司的內(nèi)網(wǎng)某臺linux服務(wù)器流量莫名其妙的劇增,用iftop查看有連接外網(wǎng)的情況,針對這種情況一般重點查看netstat連接的外網(wǎng)ip和端口。

          用lsof -p pid可以查看到具體是那些進程,哪些文件經(jīng)查勘發(fā)現(xiàn)/root下有相關(guān)的配置conf.n hhe兩個可疑文件,rm -rf后不到一分鐘就自動生成了,由此推斷是某個母進程產(chǎn)生的這些文件。所以找到母進程就是找到罪魁禍首

          查殺病毒最好斷掉外網(wǎng)訪問,還好是內(nèi)網(wǎng)服務(wù)器,可以通過內(nèi)網(wǎng)訪問,斷了內(nèi)網(wǎng),病毒就失去外聯(lián)的能力,殺掉它就容易的多,怎么找到呢,找了半天也沒有看到蛛絲馬跡,沒辦法只有ps axu一個個排查,方法是查看可以的用戶和和系統(tǒng)相似而又不是的冒牌貨,果然,看到了如下進程可疑

          看不到圖片就是/usr/bin/.sshd,于是我殺掉所有.sshd相關(guān)的進程,然后直接刪掉.sshd這個可執(zhí)行文件,然后才刪掉了文章開頭提到的自動復(fù)活的文件

          總結(jié)一下,遇到這種問題,如果不是太嚴重,盡量不要重裝系統(tǒng)

          一般就是先斷外網(wǎng),然后利用iftop,ps,netstat,chattr,lsof,pstree這些工具順藤摸瓜

          一般都能找到元兇。但是如果遇到諸如此類的問題

          /boot/efi/EFI/redhat/grub.efi: Heuristics.Broken.Executable FOUND,個人覺得就要重裝系統(tǒng)了

          30、說說TCP/IP的七層模型

          應(yīng)用層 (Application):
          網(wǎng)絡(luò)服務(wù)與最終用戶的一個接口。
          協(xié)議有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP

          表示層(Presentation Layer):
          數(shù)據(jù)的表示、安全、壓縮。(在五層模型里面已經(jīng)合并到了應(yīng)用層)
          格式有,JPEG、ASCll、DECOIC、加密格式等

          會話層(Session Layer):
          建立、管理、終止會話。(在五層模型里面已經(jīng)合并到了應(yīng)用層)
          對應(yīng)主機進程,指本地主機與遠程主機正在進行的會話

          傳輸層 (Transport):
          定義傳輸數(shù)據(jù)的協(xié)議端口號,以及流控和差錯校驗。
          協(xié)議有:TCP UDP,數(shù)據(jù)包一旦離開網(wǎng)卡即進入網(wǎng)絡(luò)傳輸層

          網(wǎng)絡(luò)層 (Network):
          進行邏輯地址尋址,實現(xiàn)不同網(wǎng)絡(luò)之間的路徑選擇。
          協(xié)議有:ICMP IGMP IP(IPV4 IPV6) ARP RARP

          數(shù)據(jù)鏈路層 (Link):
          建立邏輯連接、進行硬件地址尋址、差錯校驗等功能。(由底層網(wǎng)絡(luò)定義協(xié)議)
          將比特組合成字節(jié)進而組合成幀,用MAC地址訪問介質(zhì),錯誤發(fā)現(xiàn)但不能糾正

          物理層(Physical Layer):
          是計算機網(wǎng)絡(luò)OSI模型中最低的一層

          物理層規(guī)定:為傳輸數(shù)據(jù)所需要的物理鏈路創(chuàng)建、維持、拆除而提供具有機械的,電子的,功能的和規(guī)范的特性

          簡單的說,物理層確保原始的數(shù)據(jù)可在各種物理媒體上傳輸。局域網(wǎng)與廣域網(wǎng)皆屬第1、2層

          物理層是OSI的第一層,它雖然處于最底層,卻是整個開放系統(tǒng)的基礎(chǔ)

          物理層為設(shè)備之間的數(shù)據(jù)通信提供傳輸媒體及互連設(shè)備,為數(shù)據(jù)傳輸提供可靠的環(huán)境

          如果您想要用盡量少的詞來記住這個第一層,那就是“信號和介質(zhì)”

          31、你常用的Nginx模塊,用來做什么

          rewrite模塊,實現(xiàn)重寫功能
          access模塊:來源控制
          ssl模塊:安全加密
          ngx_http_gzip_module:網(wǎng)絡(luò)傳輸壓縮模塊
          ngx_http_proxy_module 模塊實現(xiàn)代理
          ngx_http_upstream_module模塊實現(xiàn)定義后端服務(wù)器列表
          ngx_cache_purge實現(xiàn)緩存清除功能

          32、請列出你了解的web服務(wù)器負載架構(gòu)

          Nginx
          Haproxy
          Keepalived

          LVS

          33、查看http的并發(fā)請求數(shù)與其TCP連接狀態(tài)

          netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'


          還有ulimit -n 查看linux系統(tǒng)打開最大的文件描述符,這里默認1024

          不修改這里web服務(wù)器修改再大也沒用,若要用就修改很幾個辦法,這里說其中一個:

          修改/etc/security/limits.conf
          * soft nofile 10240
          * hard nofile 10240
          重啟后生效

          34、用tcpdump嗅探80端口的訪問看看誰最高

          tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}'| sort | uniq -c | sort -nr |head -20

          35、寫一個腳本,實現(xiàn)判斷192.168.1.0/24網(wǎng)絡(luò)里,當(dāng)前在線的IP有哪些,能ping通則認為在線

          #!/bin/bash
          for ip in `seq 1 255`
          do

          {

          ping -c 1 192.168.1.$ip > /dev/null 2>&1
          if [ $? -eq 0 ]; then
          echo 192.168.1.$ip UP
          else
          echo 192.168.1.$ip DOWN
          fi
          }&
          done
          wait

          36、已知 apache 服務(wù)的訪問日志按天記錄在服務(wù)器本地目錄/app/logs 下,由于磁盤空間緊張現(xiàn)在要求只能保留最近 7 天的訪問日志!請問如何解決?請給出解決辦法或配置或處理命令

          創(chuàng)建文件腳本:

          #!/bin/bash

          for n in `seq 14`

          do       

          date -s "11/0$n/14"

          touch access_www_`(date +%F)`.log

          done



          解決方法:

          # pwd/application/logs

          # ll

          -rw-r--r--. 1 root root 0 Jan  1 00:00 access_www_2015-01-01.log
          -rw-r--r--. 1 root root 0 Jan  2 00:00 access_www_2015-01-02.log
          -rw-r--r--. 1 root root 0 Jan  3 00:00 access_www_2015-01-03.log
          -rw-r--r--. 1 root root 0 Jan  4 00:00 access_www_2015-01-04.log
          -rw-r--r--. 1 root root 0 Jan  5 00:00 access_www_2015-01-05.log
          -rw-r--r--. 1 root root 0 Jan  6 00:00 access_www_2015-01-06.log
          -rw-r--r--. 1 root root 0 Jan  7 00:00 access_www_2015-01-07.log
          -rw-r--r--. 1 root root 0 Jan  8 00:00 access_www_2015-01-08.log
          -rw-r--r--. 1 root root 0 Jan  9 00:00 access_www_2015-01-09.log
          -rw-r--r--. 1 root root 0 Jan 10 00:00 access_www_2015-01-10.log
          -rw-r--r--. 1 root root 0 Jan 11 00:00 access_www_2015-01-11.log
          -rw-r--r--. 1 root root 0 Jan 12 00:00 access_www_2015-01-12.log
          -rw-r--r--. 1 root root 0 Jan 13 00:00 access_www_2015-01-13.log

          -rw-r--r--. 1 root root 0 Jan 14 00:00 access_www_2015-01-14.log

          # find /application/logs/ -type f -mtime +7 -name "*.log"|xargs rm –f 

          ##也可以使用-exec rm -f {} \;進行刪除

          # ll

          -rw-r--r--. 1 root root 0 Jan  7 00:00 access_www_2015-01-07.log
          -rw-r--r--. 1 root root 0 Jan  8 00:00 access_www_2015-01-08.log
          -rw-r--r--. 1 root root 0 Jan  9 00:00 access_www_2015-01-09.log
          -rw-r--r--. 1 root root 0 Jan 10 00:00 access_www_2015-01-10.log
          -rw-r--r--. 1 root root 0 Jan 11 00:00 access_www_2015-01-11.log
          -rw-r--r--. 1 root root 0 Jan 12 00:00 access_www_2015-01-12.log
          -rw-r--r--. 1 root root 0 Jan 13 00:00 access_www_2015-01-13.log

          -rw-r--r--. 1 root root 0 Jan 14 00:00 access_www_2015-01-14.log

          37、如何優(yōu)化 Linux系統(tǒng)(可以不說太具體)?

          • 不用root,添加普通用戶,通過sudo授權(quán)管理

          • 更改默認的遠程連接SSH服務(wù)端口及禁止root用戶遠程連接

          • 定時自動更新服務(wù)器時間

          • 配置國內(nèi)yum源

          • 關(guān)閉selinux及iptablesiptables工作場景如果有外網(wǎng)IP一定要打開,高并發(fā)除外)

          • 調(diào)整文件描述符的數(shù)量

          • 精簡開機啟動服務(wù)(crond rsyslog network sshd)

          • 內(nèi)核參數(shù)優(yōu)化(/etc/sysctl.conf)

          • 更改字符集,支持中文,但建議還是用英文字符集,防止亂碼

          • 鎖定關(guān)鍵系統(tǒng)文件

          • 清空/etc/issue,去除系統(tǒng)及內(nèi)核版本登錄前的屏幕顯示

          38、請執(zhí)行命令取出 linux 中 eth0 的 IP 地址(請用 cut,有能力者也可分別用 awk,sed 命令答)

          cut方法1:

          #
           ifconfig eth0|sed -n '2p'|cut -d ":" -f2|cut -d " " -f1
          192.168.20.130

          awk方法2:

          #
           ifconfig eth0|awk 'NR==2'|awk -F ":" '{print $2}'|awk '{print $1}'

          192.168.20.130

          awk多分隔符方法3:

          #
           ifconfig eth0|awk 'NR==2'|awk -F "[: ]+" '{print $4}'

          192.168.20.130

          sed方法4:

          #
           ifconfig eth0|sed -n '/inet addr/p'|sed -r 's#^.*ddr:(.*)Bc.*$#\1#g'

          192.168.20.130

          39、請寫出下面 linux SecureCRT 命令行快捷鍵命令的功能?

          Ctrl + a:光標(biāo)移動到行首
          Ctrl + c:終止當(dāng)前程序
          Ctrl + d:如果光標(biāo)前有字符則刪除,沒有則退出當(dāng)前中斷
          Ctrl + e:光標(biāo)移動到行尾
          Ctrl + l:清屏
          Ctrl + u:剪切光標(biāo)以前的字符
          Ctrl + k:剪切光標(biāo)以后的字符
          Ctrl + y:復(fù)制u/k的內(nèi)容
          Ctrl + r:查找最近用過的命令
          tab:命令或路徑補全
          Ctrl+shift+c:復(fù)制
          Ctrl+shift+v:粘貼

          40、每天晚上 12 點,打包站點目錄/var/www/html 備份到/data 目錄下(最好每次備份按時間生成不同的備份包)

          # cat a.sh 

          #/bin/bash

          cd /var/www/ && /bin/tar zcf /data/html-`date +%m-%d%H`.tar.gz html/

          # crontab –e

          00 00 * * * /bin/sh /root/a.sh
          文章轉(zhuǎn)載:杰哥的IT之旅
          (版權(quán)歸原作者所有,侵刪)


          點擊下方“閱讀原文”查看更多

          瀏覽 36
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  高清无码人妻在线 | 国产小电影在线播放 | 91亚洲欧美福利在线观看 | 国产午夜精品一区二区芒果视频 | 青娱乐在线视频分类 |