問題:
1、32位和64位Linux系統的區別是什么?
答:64位系統CPU運行速度快,支持更大的內存,能夠更好的發揮服務器硬件的性能,提高業務效率
2、描述Linux分區的知識(包括設備名、主分區、擴展分區、文件系統等)?
答:設備名:IDE的硬盤在系統中顯示的是hd,SCSI的硬盤在系統中顯示的是sd
主分區、擴展分區:一塊磁盤最多可以有4個主分區,其中一個主分區可以使用一個擴展分區替換,在擴展分區上划分邏輯分區。
文件類型:磁盤分區只有設置了文件系統類型格式化並掛載上掛載點之后才能存放數據,文件類型包括(ext2、ext3、ext4、lvm、raid、swap、vfat、xfs),其中ext2、ext3、ext4適合Linux系統的文件類型,lvm是一種彈性調整文件系統大小的一種機制,swap相當於虛擬內存,vfat是Windows和Linux共用的一種類型,xfs是在centos7中默認的系統類型他是替換了ext4。
3、什么是掛載點,掛載點的作用是?
答:掛載點是Linux訪問磁盤的入口,能夠使數據正常寫入磁盤
4、企業場景下如何針對不同的業務服務器規划分區方案?
答:網站集群架構的某個節點服務器,數據不太重要(數據存放了多份):一個/boot/(100~200MB),swap(物理內存1.5倍),一個/(剩余空間)
數據庫或者存儲角色的服務器(有大量的重要數據):一個/boot/,一個swap,一個/(/的大小50~200G),一個/date(剩余空間)
大網站或者門戶級別:一個/boot/(100~200MB),一個swap(物理內存1.5倍),一個/(50~200GB),剩余空間保留
5、如何進行最小化安裝?
答:不需要的不進行安裝
6、系統缺少部分包組,如何補救?
答:使用yum -y groupinstall 包組名
7、Linux系統如何進行優化?
答:不用root登錄和管理系統,用普通的用戶,使用sudo授權
修改默認的ssh服務器端口,禁止root登錄等
定時更新服務器的時間
設置國內yum源
關閉selinux和iptables
調整文件描述符的數量
定時清理郵件臨時目錄的垃圾文件
精簡保留必要的開機自啟服務
對Linux內核進行參數優化
鎖定關鍵的系統文件
清空系統的內核版本
為grub菜單設置密碼
8、SSH服務連不上,如何排查?
答:首先排查物理鏈路是不是正常通信的
排查是不是本身SSH服務出現了問題(端口有沒有開啟)
是不是防火牆的原因
9、描述DNS系統的解析原理?
答:
在Linux系統中可以通過命令來查詢理解:
10、描述HTTP狀態碼?
答:200:服務器成功返回網頁
301:永久跳轉
403:禁止訪問
404:服務器找不到客戶端請求的網頁
500:內部服務器錯誤
502:壞的網關
503:服務當前不可用
504:網關超時
11、如何理解網站的並發?
答:網站服務器在單位時間內能夠處理的最大連接數
12、IP、PV、UV的概念和區別?
答:IP:獨立的IP數,獨立的IP數是指不同IP地址訪問網站是被計的總次數
PV:訪問量,不管IP或者客戶端是否相同,用戶只要訪問網站頁面就會被計算PV
UV:獨立訪客,同一個客戶端訪問網站被計為一個訪客
13、動態、靜態和偽靜態的特點?
答:靜態:有固定的URL,實實在在保存在服務器上,容易被搜索引擎收錄、維護困難
動態:容易維護,實現功能多。搜索引擎收錄有困難、訪問效率不高
偽靜態:將動態的URL偽裝成靜態的URL,通過rewrite規則實現URL重寫,有利於搜索引擎抓取,提高用戶訪問
14、Nginx的特性優點?
答:支持高並發
資源消耗少:在3萬並發連接下,開啟10個nginx線程消耗內存不到200MB
可以做HTTP反向代理及加速緩存,即負載均衡功能,內置對RS節點服務器健康檢查功能,相當於專業的Haproxy軟件和LVS功能
具備Squid等專業緩存軟件等的緩存功能
支持異步網絡I/O事件模型epoll
15、apache select和nginx epoll模型的區別?
答:在性能上分析select:隨着連接數的增加性能急劇下降
Epoll:隨着連接數的增加,性能基本沒有下降
在連接數上分析select:連接數有限制,最大連接數不超過1024
Epoll:連接無限制
在內在處理機制上分析select:線性輪詢
Epoll:回調callback
在開發復雜性分析select:低
Epoll:中
16、nginx虛擬主機概念和類型分類?
答:所謂的虛擬主機,在web服務器里就是一個獨立的網站站點,這個站點對應獨立的域名(可能是域名也可能是端口)具有獨立的程序及資源目錄,可以獨立的對外提供服務供用戶訪問
基於域名的虛擬主機、基於端口的虛擬主機、基於IP的虛擬主機
17、LNMP的組合中各組件工作調度邏輯關系?
答:
18、Nginx與PHP通過FastCGI模式通信的原理?
答:
19、Mysql主從復制的原理?
答:主從復制是異步的邏輯的SQL語句級的復制
復制時,主庫有一個I/O線程,從庫有兩個線程,即I/O和SQL線程
實現主從復制的必要條件是主庫要開啟記錄binlog功能
作為復制的所有Mysql節點的sercer-id都不能相同
Binlog文件值記錄對數據庫有更改的sql語句(來自主數據庫內容的變更),不記錄任何查詢語句
20、Mysql讀寫分離的原理?
答:簡單來說,讀寫分離就是只在主的服務器上寫,在從的服務器上讀,基本的原理是讓主數據庫處理事務性查詢,而從數據庫出來select查詢,數據庫復制被用來把事務性查詢導致的變更同步到集群中的從數據庫中。
21、NFS服務的訪問原理流程?
答:首先用戶訪問網站程序,由程序在NFS客戶端上發出存取NFS文件的請求,這時NFS客戶端(即執行程序的服務器)的RPC服務就會通過網絡向NFS服務器端的RPC服務的111端口發出NFS文件存取功能的詢問請求。
NFS服務器端的RPC服務找到對應的已注冊的NFS端口后,通知NFS客戶端RPC服務
此時NFS客戶端獲取到正確的端口,並與NFS daemon聯機存取數據。
NFS客戶端把數據存取成功后,返回給前端訪問程序,告知用戶存取結果,作為網站用戶,就完成了一次存取操作。
22、NFS系統應用的優缺點?
答:優點:簡單,容易上手,容易掌握
NFS文件系統內數據是在文件系統之上的,即數據是能看見的
部署快速,維護簡單方便,且可控
可靠,在軟件層面上看,數據可靠性高,經久耐用
服務非常穩定
缺點:存在單點故障
在大數據高並發的場合,NFS效率、性能有限
客戶端認證是基於IP和主機名的,權限要根據ID識別,安全性一般
NFS數據是明文的,NFS本身不對數據完整性進行驗證
多台連接時維護麻煩
23、RPC原理?
答:什么是RPC(Remote Procedure Call)字面上的意思是遠程過程調用,其實就是一些程序在執行遠程聯機時,需要用到的程序!簡單說,當我們在使用某些服務來進程遠程聯機的時候,有些信息需要管理與之對應!這個管理的工作就是RPC的任務所在
如果我們將NFS和RPC兩者的相關性連接起來,那么:NFS本身的服務並沒有提供數據傳遞的協議,但是NFS卻能讓我們訪問其提供的文件,這其中的原因,就是NFS使用到了一些其他的相關協議,這個傳輸協議,就是用到了RPC功能。
24、集群的概念、分類?
答:簡單的說,集群就是指一組(若干個)相互獨立的計算機,利用高速的通信網絡組成的一個較大的計算機服務系統,每個集群節點都是運行各自服務的獨立服務器,這些服務器之間可以彼此通信,協同向用戶提供應用程序,系統資源和數據,並以單一系統的模式加以管理。
集群分為:負載均衡集群(LBC或者LB)
高可用集群(HAC)
高性能集群(HPC)
網絡計算集群
25、為什么使用集群?
答:高性能
價格有效性
可伸縮性
高可用性
透明性
可管理性
可編程性
26、不同種類集群的作用?
答:負載均衡集群:
分擔用戶訪問請求和數據流量(負載均衡)
保證業務的連續性(高可用)
應用於web業務及數據庫從庫等服務器的業務
高可用集群:
當一台機器宕機時,另一台機器接管宕機的機器的IP資源和服務資源
常用於不易實現負載均衡的應用,比如負載均衡器、主數據庫、主存儲之間
27、keepalived及VRRP協議原理?
答:VRRP中文名字為虛擬路由冗余協議,vrrp的出現是為了解決靜態路由的單點故障
VRRP是通過一種競選協議機制來將路由任務交給某台VRRP路由器的
VRRP用IP多播的方式(默認多播地址是:224.0.0.18)實現高可用對之間的通信
工作時主節點法寶,備節點接包,當備節點接收不到主節點發的包時,就啟動接管程序接管主節點的資源,備節點可以有多個,通過優先級競選,但一般keepalived系統運維工作中都是一對的
VRRP使用了加密協議加密數據,但keepalived官方目前還是推薦用明文的方式配置認證類型和密碼
答:keepalived高可用對之間是通過VRRP進行通信的,通過競選機制確定主備,主的優先級高於備的所以在工作的時候會優先獲得所有的資源,備處於等待狀態,當主的掛掉了,備的就是接管主的一切,對外提供服務,在keepalived對中只有主的才會一直發送VRRP廣播包,告訴備的它還活着,當主的掛掉時,備的監聽不到廣播包,就會啟動相關的服務接管主的保證業務的連續性,時間最快小於1秒。
28、Memcached是什么?原理是?
答:Memcached是一個開源的、支持高性能、高並發的分布式內存緩存系統,由C語言編寫,總共2000多行代碼
Memcached服務的運行原理是通過在事先規划好的系統內存空間中臨時緩存數據庫中的各種數據,以達到減少前端業務服務對數據庫的直接高並發訪問,從而提升大規模網站集群中動態服務的高並發訪問能力。
29、網站讀取Memcached數據時工作流程?
答:Web程序首先檢查客戶端請求的數據是否在Memcached緩存中存在,如果存在,直接把請求的數據返回給客戶端,此時不在請求后端的數據庫
如果請求的數據在Memcached緩存中不存在,則程序會去請求數據庫服務,把從數據庫中取到的數據返回給客戶端,同時把新取到的數據緩存一份到Memcached緩存中
30、網站更新Memcached數據時的工作流程?
答:當程序更新或者刪除數據時,會首先處理后端數據庫中的數據,並告訴Memcached,對應的舊數據已經失效,從而保證數據的一致性
31、Memcached的特點?
答:協議簡單
支持epoll/kqueue異步I/O模型
采用key/value鍵值數據類型
全內存緩存,效率高
可支持分布式集群
32、Memcached刪除機制?
答:不主動檢測ITEM對象是否過期,而是在get時才會檢查item對象是否過期以及是否應該刪除
當刪除item對象時,一般不釋放內存空間,而是做刪除標記,將指針放入slot回收插槽,下次分配直接使用
當內存空間滿的時候,將會根據LRU算法把最近最少使用的item對象刪除
數據存入可以設定過期時間,但是數據過期后不會被立即刪除,而是在get時檢查item對象是否過期以及是否應該刪除
如果不希望系統使用LRU算法清除數據,可以使用-M,參數
33、監控系統需要監控的數據有那些?
答:系統本地資源
網絡服務
其他設備
業務數據
34、Nagios監控工具及原理?
答:Nagios是一款開源的網絡及服務的監控工具,其功能強大,靈活性強。能有效的監控Windows、Linux、Unix等系統的主機各種狀態信息,以及交換機、路由器等網絡設備和主機端口及URL服務等,它會根據不同的業務故障級別發出警告信息,當故障恢復時會發出恢復信息
35、Nagios的特點?
答:監控網絡服務
監控主機資源
簡單的插件設計模式使用戶可以方便的定制檢測方法
並行服務檢查機制
具備定義網絡分層結構的能力,用“parent”主機定義來表達網絡主機間的關系,這種關系可被用來發現和明晰主機宕機或不可達的狀態
當服務或者主機問題產生與解決后將及時通知
具備定義事件句柄功能
自動的日志回滾
可以支持並實現對主機的冗余監控
可選的web界面用於查看當前的網絡狀態,通知和故障歷史、日志文件等
35、Nagios監控系統家族成員的構成?
答:Nagios監控一般由一個主程序(Nagios),一個插件程序和一些可選的附加程序組成
36、Nagios的附加程序?
答:NRPE組件
存在的位置:工作於被監控端,操作系統為Linux/Unix系統
作用:用於在被監控的遠程Linux/Unix主機上執行腳本插件,獲取數據回傳給服務器端,以實現對這些主機資源和服務的監控
存在形式:守護進程(agent)模式,開啟端口為5666
監控的資源:主要監控本地資源
工作原理:通常由Nagios服務器端發起獲取數據請求,由check_nrpe插件攜帶要獲取的命令,傳給被監控端的nrpe守護進程(默認端口5666)nrpe進程讀取nrpe.cfg里對應服務器端發送的命令信息,調用本地插件獲取數據,然后返回給Nagios服務器端check_nrep,進而傳給Nagios展示到web界面
答:NSClient++組件
存在的位置:用於被監控端為Windows系統的服務器
作用:相當於Linux下的nrpe,監控安裝在Windows主機上的agent組件
監控資源:主要監控Windows系統的本地資源
工作形式:通常由服務器端發起獲取請求,有check_nt傳給被監控端的NSClient++進程,獲取數據后返回給服務器端
工作原理:NSClient++的工作原理和NRPE基本相同,只不過適合於Windows被監控端,且服務器端的插件為check_nt,客戶端的進程為NSClient++。
37、Nagios監控系統的完整圖解
答: