- 相關(guān)推薦
運維工程師面試
一、有文件file1
1、查詢(xún)file1里面空行的所在行號
awk ‘{if($0~/^$/)print NR}’ file
or
grep -n ^$ file |awk ‘BEGIN{FS=”:”}{print $1}’
2、查詢(xún)file1以abc結尾的行
grep abc$ file1
3、打印出file1文件第1到第3行
sed -n ‘1,3p’ file1
head -3 file1
二、如何將本地80端口的請求轉發(fā)到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點(diǎn)到12點(diǎn)中,每隔2小時(shí)執行一次/usr/bin/httpd.sh 怎么實(shí)現
0 6-12/2 * 11 * /usr/bin/httpd.sh
四、編寫(xiě)個(gè)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
五、簡(jiǎn)述raid0 raid1 raid5 三種工作模式的工作原理及特點(diǎn)。
RAID 0:連續以位或字節為單位分割數據,并行讀/寫(xiě)于多個(gè)磁盤(pán)上,因此具有很高的數據傳輸率,但它沒(méi)有數據冗余,因此并不能算是真正的RAID結構。RAID 0只是單純地提高性能,并沒(méi)有為數據的可靠性提供保證,而且其中的一個(gè)磁盤(pán)失效將影響到所有數據。因此,RAID 0不能應用于數據安全性要求高的場(chǎng)合。
RAID 1:它是通過(guò)磁盤(pán)數據鏡像實(shí)現數據冗余,在成對的獨立磁盤(pán)上產(chǎn)生互為備份的數據。當原始數據繁忙時(shí),可直接從鏡像拷貝中讀取數據,因此RAID 1可以提高讀取性能。RAID 1是磁盤(pán)陣列中單位成本最高的,但提供了很高的數據安全性和可用性。當一個(gè)磁盤(pán)失效時(shí),系統可以自動(dòng)切換到鏡像磁盤(pán)上讀寫(xiě) ,而不需要重組失效的數據。簡(jiǎn)單來(lái)說(shuō)就是:鏡象結構,類(lèi)似于備份模式,一個(gè)數據被復制到兩塊硬盤(pán)上。
RAID10:高可靠性與高效磁盤(pán)結構
一個(gè)帶區結構加一個(gè)鏡象結構,因為兩種結構各有優(yōu)缺點(diǎn),因此可以相互補充。
主要用于容量不大,但要求速度和差錯控制的數據庫中。
RAID5:分布式奇偶校驗的獨立磁盤(pán)結構,它的奇偶校驗碼存在于所有磁盤(pán)上,任何一個(gè)硬盤(pán)損壞,都可以根據其它硬盤(pán)上的校驗位來(lái)重建損壞的數據。支持一塊盤(pán)掉線(xiàn)后仍然正常運行。
六、oracle數據庫備份方式
物理備份:開(kāi)啟網(wǎng)絡(luò )監聽(tīng),備份數據庫文件。
RMAN備份:通過(guò)表空間文件在RMAN模式對ORACLE數據備份。
七、如何查看占用端口8080的進(jìn)程
lsof -i:8080
八、請寫(xiě)出apache2.X版本的兩種工作模式,以及各自工作原理。如何查看apache當前所支持的模塊,并且查看是工作在哪種模式下?
答案:
prefork(多進(jìn)程,每個(gè)進(jìn)程產(chǎn)生子進(jìn)程)和worker(多進(jìn)程,每個(gè)進(jìn)程生成多個(gè)線(xiàn)程)
prefork的工作原理是,控制進(jìn)程在最初建立“StartServers”個(gè)子進(jìn)程后,為了滿(mǎn)足MinSpareServers設置的需要創(chuàng )建一個(gè)進(jìn)程,等待一秒鐘,繼續創(chuàng )建兩個(gè),再等待一秒鐘,繼續創(chuàng )建四個(gè)……如此按指數級增加創(chuàng )建的進(jìn)程數,最多達到每秒32個(gè),直到滿(mǎn)足MinSpareServers設置的值為止。這就是預派生(prefork)的由來(lái)。這種模式可以不必在請求到來(lái)時(shí)再產(chǎn)生新的進(jìn)程,從而減小了系統開(kāi)銷(xiāo)以增加性能。
worker是2.0 版中全新的支持多線(xiàn)程和多進(jìn)程混合模型的MPM。由于使用線(xiàn)程來(lái)處理,所以可以處理相對海量的請求,而系統資源的開(kāi)銷(xiāo)要小于基于進(jìn)程的服務(wù)器。但是,worker也使用了多進(jìn)程,每個(gè)進(jìn)程又生成多個(gè)線(xiàn)程,以獲得基于進(jìn)程服務(wù)器的穩定性。這種MPM的工作方式將是Apache 2.0的發(fā)展趨勢。
可以通過(guò)命令httpd -l 可以查看apache當前的模塊,如果帶有worker.c就是工作在worker模式下,如果有prefork.c就是工作在prefork.c的模式下。
九、你使用過(guò)監控軟件嗎?說(shuō)說(shuō)其特點(diǎn)
使用nagios對服務(wù)器進(jìn)行監控,其特點(diǎn)可實(shí)時(shí)實(shí)現手機短信、電子郵件、MSN、飛信報警。
使用cacti對流量進(jìn)行監控。
十、你對現在運維工程師的理解和以及對其工作的認識
運維工程師在公司當中責任重大,需要保證時(shí)刻為公司及客戶(hù)提供最高、最快、最穩定、最安全的服務(wù)。運維工程師的一個(gè)小小的失誤,很有可能會(huì )對公司及客戶(hù)造成重大損失,因此運維工程師的工作需要嚴謹及富有創(chuàng )新精神。
十一、linux下常用的DNS服務(wù)軟件是什么,舉出幾種常用的DNS記錄,如果域名abc.com配置好了一臺郵件服務(wù)器,IP地址為202.106.0.20,我該如何做相關(guān)的解析?是否了解bind的智能解析,如果了解請簡(jiǎn)述一下其原理
答案:
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根據請求解析客戶(hù)端的IP地址,做出不同的解析,其原理是在配置文件中,設定了view,在每個(gè)view都有客戶(hù)端的IP地址段,bind服務(wù)器根據請求解析客戶(hù)端的IP地址,匹配不同的view,再根據該view的配置,到相應的配置文件進(jìn)行查詢(xún),將結果返回給請求的客戶(hù)端。
十二、通過(guò)apache訪(fǎng)問(wèn)日志access.log統計IP和每個(gè)地址訪(fǎng)問(wèn)的次數,按訪(fǎng)問(wèn)量列出前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
//這個(gè)別的方法也能統計,但有些命令是必要的 awk , sort,uniq ,主要看是否這些命令都使用了。
十三、如何用mysql命令進(jìn)行備份和恢復?以test庫為例,創(chuàng )建一個(gè)備份,并再用此備份進(jìn)行恢復。
mysqldump -u root -p test > test.sql
mysql -u root -p test < test.sql
//主要考對方msqldump > test.sql 和 mysql < test.sql
十四、你認為在系統調優(yōu)方面都包括哪些工作,以linux為例,請簡(jiǎn)明闡述,并舉一些參數為例。
答案:
系統調優(yōu)包括內核參數優(yōu)化和應用優(yōu)化2個(gè)方面,對方只要從這兩方面來(lái)說(shuō),就可以了,盡量能有些經(jīng)驗的闡述。