1. 首頁
  2. 面試

運維工程師面試

運維工程師面試

一、有檔案file1

1、查詢file1裡面空行的所在行號

awk ‘{if($0~/^$/)print NR}’ file

or

grep -n ^$ file |awk ‘BEGIN{FS=”:”}{print $1}’

2、查詢file1以abc結尾的行

grep abc$ file1

3、打印出file1檔案第1到第3行

sed -n ‘1,3p’ file1

head -3 file1

二、如何將本地80埠的請求轉發到8080埠,當前主機IP為192.168.2.1

-A PREROUTING -d 124.42.60.109 -p tcp -m tcp –dport 80 -j DNAT –to-destination 10.0.0.18:9000

三、crontab

在11月份內,每天的早上6點到12點中,每隔2小時執行一次/usr/bin/httpd.sh 怎麼實現

0 6-12/2 * 11 * /usr/bin/httpd.sh

四、編寫個shell指令碼將/usr/local/test 目錄下大於100K的檔案轉移到/tmp目錄下

#!/bin/bash

for file in `ls /root`

do

if [ -f $file ]; then

if [ `ls -l $file|awk '{print $5}'` -gt 10000 ]; then

mv $file /tmp/

fi

fi

done

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

RAID 0:連續以位或位元組為單位分割資料,並行讀/寫於多個磁碟上,因此具有很高的資料傳輸率,但它沒有資料冗餘,因此並不能算是真正的RAID結構。RAID 0只是單純地提高效能,並沒有為資料的可靠性提供保證,而且其中的一個磁碟失效將影響到所有資料。因此,RAID 0不能應用於資料安全性要求高的場合。

RAID 1:它是透過磁碟資料映象實現資料冗餘,在成對的獨立磁碟上產生互為備份的資料。當原始資料繁忙時,可直接從映象複製中讀取資料,因此RAID 1可以提高讀取效能。RAID 1是磁碟陣列中單位成本最高的,但提供了很高的資料安全性和可用性。當一個磁碟失效時,系統可以自動切換到映象磁碟上讀寫 ,而不需要重組失效的資料。簡單來說就是:鏡象結構,類似於備份模式,一個數據被複制到兩塊硬碟上。

RAID10:高可靠性與高效磁碟結構

一個帶區結構加一個鏡象結構,因為兩種結構各有優缺點,因此可以相互補充。

主要用於容量不大,但要求速度和差錯控制的資料庫中。

RAID5:分散式奇偶校驗的獨立磁碟結構,它的奇偶校驗碼存在於所有磁碟上,任何一個硬碟損壞,都可以根據其它硬碟上的校驗位來重建損壞的資料。支援一塊盤掉線後仍然正常執行。

六、oracle資料庫備份方式

物理備份:開啟網路監聽,備份資料庫檔案。

RMAN備份:透過表空間檔案在RMAN模式對ORACLE資料備份。

七、如何檢視佔用埠8080的程序

lsof -i:8080

八、請寫出apache2.X版本的兩種工作模式,以及各自工作原理。如何檢視apache當前所支援的模組,並且檢視是工作在哪種模式下?

答案:

prefork(多程序,每個程序產生子程序)和worker(多程序,每個程序生成多個執行緒)

prefork的工作原理是,控制程序在最初建立“StartServers”個子程序後,為了滿足MinSpareServers設定的需要建立一個程序,等待一秒鐘,繼續建立兩個,再等待一秒鐘,繼續建立四個……如此按指數級增加建立的程序數,最多達到每秒32個,直到滿足MinSpareServers設定的值為止。這就是預派生(prefork)的由來。這種模式可以不必在請求到來時再產生新的程序,從而減小了系統開銷以增加效能。

worker是2.0 版中全新的支援多執行緒和多程序混合模型的MPM。由於使用執行緒來處理,所以可以處理相對海量的請求,而系統資源的開銷要小於基於程序的伺服器。但是,worker也使用了多程序,每個程序又生成多個執行緒,以獲得基於程序伺服器的穩定性。這種MPM的工作方式將是Apache 2.0的發展趨勢。

可以透過命令httpd -l 可以檢視apache當前的模組,如果帶有worker.c就是工作在worker模式下,如果有prefork.c就是工作在prefork.c的`模式下。

九、你使用過監控軟體嗎?說說其特點

使用nagios對伺服器進行監控,其特點可實時實現手機簡訊、電子郵件、MSN、飛信報警。

使用cacti對流量進行監控。

十、你對現在運維工程師的理解和以及對其工作的認識

運維工程師在公司當中責任重大,需要保證時刻為公司及客戶提供最高、最快、最穩定、最安全的服務。運維工程師的一個小小的失誤,很有可能會對公司及客戶造成重大損失,因此運維工程師的工作需要嚴謹及富有創新精神。

十一、linux下常用的DNS服務軟體是什麼,舉出幾種常用的DNS記錄,如果域名abc.com配置好了一臺郵件伺服器,IP地址為202.106.0.20,我該如何做相關的解析?是否瞭解bind的智慧解析,如果瞭解請簡述一下其原理

答案:

1)常用的DNS軟體是bind

2)A記錄 地址記錄

MX記錄 郵件交換記錄

CNAME記錄 別名域記錄

3)修改abc.com域名的配置檔案,增加以下記錄

IN MX 10 mail.abc.com.

mail IN A 202.106.0.20

4)bind根據請求解析客戶端的IP地址,做出不同的解析,其原理是在配置檔案中,設定了view,在每個view都有客戶端的IP地址段,bind伺服器根據請求解析客戶端的IP地址,匹配不同的view,再根據該view的配置,到相應的配置檔案進行查詢,將結果返回給請求的客戶端。

十二、透過apache訪問日誌access.log統計IP和每個地址訪問的次數,按訪問量列出前10名。

日誌格式樣例如下

192.168.1.247 – - [02/Jul/2010:23:44:59 +0800] “GET / HTTP/1.1″ 200 19

答案:

cat access_log | awk ‘{print $1}’ | uniq -c|sort -rn|head -10

//這個別的方法也能統計,但有些命令是必要的 awk , sort,uniq ,主要看是否這些命令都使用了。

十三、如何用mysql命令進行備份和恢復?以test庫為例,建立一個備份,並再用此備份進行恢復。

mysqldump -u root -p test > test.sql

mysql -u root -p test < test.sql

//主要考對方msqldump > test.sql 和 mysql < test.sql

十四、你認為在系統調優方面都包括哪些工作,以linux為例,請簡明闡述,並舉一些引數為例。

答案:

系統調優包括核心引數最佳化和應用最佳化2個方面,對方只要從這兩方面來說,就可以了,儘量能有些經驗的闡述。