虚拟化试题1-网络和存储
1、osi七層參考模型有哪些?
應用層 表示層 會話層 傳輸層 網絡層 數據鏈路層 物理層
2、udp協議工作在哪一層?ping工作在哪一層?
UDP工作在傳輸層 ?ping 工作在網絡層
3、linux系統中用于檢測通信的命令有哪些?
ping ?tracerroute
4、linux系統中查看硬件資源以及進程的命令有哪些?
lspci | grep -i vga ?//查看顯卡信息
cat /proc/cpuinfo ?//查看CPU信息
dmesg | grep sda //查看硬盤信息
cat /proc/meminfo //查看內存信息
dmesg | grep -i eth //查看網卡信息
ps a ? ?//顯示現行終端機下的所有程序,包括其他用戶的程序。
5、如何殺死僵尸進程?
ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]' | awk '{print $2}' | xargs kill -9
ps -e -o ppid,stat | grep Z | cut -d” ” -f2 | xargs kill -9
kill -HUP ?$(ps -A -ostat,ppid | grep -e ’^[Zz]‘ | awk ’{print $2}’)
6、查看cpu信息的命令是什么?
cat /proc/cpuinfo ?//查看CPU信息
7、監控參數的級別有哪些?
vmstat:搜集內存、進程,paging等信息
iostat:中央處理單元(CPU)的統計數據和設備、分區輸入/輸出統計信息。
8、編寫一條允許外網訪問內部服務器的iptables命令
iptables -I INPUT -i lo -j ACCEPT
iptables -I INPUT -s A.B.C.D -j ACCEPT
iptables -P INPUT DROP
9、exchange郵件服務器中有幾種角色分別都是什么?哪一種角色需要獨立安裝?
服務器角色:郵箱服務器 客戶端訪問服務 器統一消息服務器 中心傳輸服務器 邊緣傳輸服務器。
邊緣傳輸服務器需要獨立安裝。
10、寫出upd與tcp協議有哪些?
UDP協議(任選5條):
RIP 動態路由協議端口520
DNS 域名解析協議端口號53
TFTP 簡單文件傳輸協議 端口號69
DHCP 動態主機配置協議 端口號67 68
NTP 網絡時間協議 ? 端口號123
TCP協議(任選5條):
HTTP 超文本傳輸協議 端口80
FTP 文件傳輸協議 端口 20 21
telnet 遠程控制協議 端口23
BGP 邊界網關路由協議 端口號 179
SMTP 簡單郵件傳輸協議 端口號 25
POP3 郵局協議3 端口號 110
?
11、TCP ?IP的全稱是什么?
TCP:傳輸控制協議
IP (Internet Protocol):網絡互聯協議
12、UDP的全稱是什么?
UDP(User Datagram Protocol):中文名是用戶數據包協議
13、WLAN ? 的作用是什么?
WLAN即無線局域網,是利用無線技術實現快速接入以太網的技術
14、VM 是否支持硬件平臺虛擬化?
支持
15、VM是否支持linux ?系統?
支持(除了IBM公司的aix系統)
16、公司有一個員工,網頁打不開,讓你解決,請闡述解決過程和解決思路?
首先檢察網絡的連通是否正常,可以用Ping命令進行測試,如果網絡不通先解決網絡連通
問題(對網卡 網線 交換機端口 路由配置等進行檢測);如果網絡連接正常就要考慮(瀏
覽器是否正常 DNS是否正確 ?有沒有防火墻攔截等問題了)。
17、HA的高可用性如何實現?
HA有如下分類:
網絡高可用:網絡高可用性是通過匹配冗余的網絡設備實現網絡設備的冗余,達到
高可用的目的。
服務器高可用:主要使用的是服務器集群軟件或高可用軟件來實現。
存儲高可用:使用軟件或硬件技術實現存儲的高度可用性。當一臺存儲出現故障時,另一臺備用的存儲可以快速切換,達到存儲不停機的目的。
18、RIP和OSPF的區別是什么?
RIP:rip協議是距離矢量路由選擇協議,管理距離120,它選擇路由的度量標準(metric)是
跳數,最大跳數是15跳,如果大于15跳,它就會丟棄數據包。
OSPF:協議是鏈路狀態路由選擇協議,管理距離110,它選擇路由的度量標準是帶寬即COST值。
19、三層交換和防火墻的作用?
三層交換的基本功能是實現VLAN間的路由,轉發性能優于路由器,在組網過程中是匯聚層和核心層的主要網絡設備。
防火墻技術的核心思想是在不安全的網際網環境中構造一個相對安全的子網環境,可以實現網絡間的隔離,對過往數據包進行過慮達到安全訪問的目的。
20、你所知道的安全產品有哪些?
防火墻設備 入侵檢測設備 入侵防御設備 VPN設備
21、數據庫里如何刪除表?
SQL server:
DROP TABLE table_name
MS SQL Server的語法是這樣:
DROP INDEX table_name.index_name
22、如何查看linux磁盤的文件系統類型?如何查看各個分區的磁盤使用量?
使用df –T 命令 或more /etc/fstab可以查看文件系統類型
使用df –Th可以查看磁盤使用量
23、linux可通過哪些命令和哪些參數查看機器是否出現性能瓶頸?
top ?vmstat ?iostat ?free -s 5 ?sar -A –o ?sar -A –f
24、lvs的三種模式?及性能比較
nat、tun、dr三種模式
Dr模式性能最好,nat性能最差,tun介于dr和nat之間
25、編寫一條允許內網訪問外網的iptables命令
iptables -t nat –A POSTROUTING –s 內網網段 –o 出站接口 –j SNAT –to 出站接口IP
26、nginx如何支持php動態網站
一、是將php請求轉發給其他LAMP網站服務器,二、是將php請求轉發給本機的php-fpm
27、一個EXT3的文件分區,當用touch新建文件時報錯,錯誤信息是磁盤已滿,但是使用df -H查看分區信息時只使用了50%,請分析具體原因?
兩種情況,一種是磁盤配額問題,另外一種就是EXT3文件系統的設計不適合很多小文件跟大文件的一種文件格式,出現很多小文件時,容易導致inode耗盡了。
28、請使用Linux系統命令統計出establish狀態的連接數有多少?
netstat -an |grep 80 |grep ESTABLISHED |wc -l
29、mysql數據庫的備份還原是怎么做的?
平時采用兩種方法來做:1、利用mysql自帶的使用工具mysqldump和mysql來備份還原數據庫 2、利用第三方的mysql管理工具比如:mysqladmin 3)停止mysqld服務拷貝數據文件
30、Linux系統是由那些部分組成?
Linux系統內核,shell,文件系統和應用程序四部分組成。
31、查找/usr/local/apache/logs目錄最后修改時間大于30天的文件,并刪除?
find ?/usr/local/apache/logs -type f -mtime +30 -exec rm -f {} ?\;
32、添加一條到192.168.3.0/24的路由,網關為192.168.1.254?
route add ?-net 192.168.3.0 netmask 255.255.255.0 gw 192.168.1.254
33、利用sed命令將test.txt中所有的回車替換成空格?
sed -i s/\r/ /g test.txt
34、在每周6的凌晨3:15執行/home/shell/collect.pl,并將標準輸出和標準錯誤輸出到/dev/null設備,請寫出crontab中的語句?
15 3 * * 6 /home/shell/collect.pl ?> /dev/null ?2>&1
35、源碼編譯安裝apache,要求為:安裝目錄為/usr/local/apache,需有壓縮模塊,rewrite,worker模式;并說明在apache的worker MPM中,為什么ServerLimit要放到配置段最前面?
./configure --prefix=/usr/local/apache --enable-so--with-rewrite --with-mpm-worker不放在最前面,client會忽略掉的
36、請寫出精確匹配IPv4規范的正則表達式?
grep "[0-9]{3}.[0-9]{3}.[0-9]{3}.[0-9]{3}" ?access.logs
37、dmesg命令中看到ip_conntrack: table full, dropping packet.,如何解決?
加大ip_conntrack_max 的值;降低ip_conntrack_timeout的時間;
38、查詢file1以abc結尾的行?
grep "abc$" file1
39、如何將本地80端口的請求轉發到8080端口,當前主機IP為192.168.2.1?
iptables -t nat -A PREROUTING -d LOCALIP -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.1:8080iptables -t nat -A POSTROUTING -d 192.168.2.1 -p tcp -m tcp --dport 8080 -j SNAT --to-source LOCALIP:80
40、簡述raid0 raid1 raid5 三種工作模式的工作原理及特點。
RAID 0:連續以位或字節為單位分割數據,并行讀/寫于多個磁盤上,因此具有很高的數據傳輸率,但它沒有數據冗余,因此并不能算是真正的RAID 結構。RAID 0 只是單純地提高性能,并沒有為數據的可靠性提供保證,而且其中的一個磁盤失效將影響到所有數據。因此,RAID 0 不能應用于數據安全性要求高的場合。RAID 1:它是通過磁盤數據鏡像實現數據冗余,在成對的獨立磁盤上產生互為備份的數據。當原始數據繁忙時,可直接從鏡像拷貝中讀取數據,因此RAID 1 可以提高讀取性能。RAID 1 是磁盤陣列中單位成本最高的,但提供了很高的數據安全性和可用性。當一個磁盤失效時,系統可以自動切換到鏡像磁盤上讀寫 ,而不需要重組失效的數據。簡單來說就是:鏡像結構,類似于備份模式,一個數據被復制到兩塊硬盤上。RAID10:高可靠性與高效磁盤結構一個帶區結構加一個鏡象結構,因為兩種結構各有優缺點,因此可以相互補充。主要用于容量不大,但要求速度和差錯控制的數據庫中。RAID5:分布式奇偶校驗的獨立磁盤結構,它的奇偶校驗碼存在于所有磁盤上,任何一個硬盤損壞,都可以根據其它硬盤上的校驗位來重建損壞的數據。支持一塊盤掉線后仍然正常運行。
41、redis支持的數據類型?
Redis支持五種數據類型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)
42、為什么redis需要把所有數據放到內存中?
redis為了達到最快的讀寫速度將數據都讀到內存中,并通過異步的方式將數據寫入磁盤。所以redis具有快速和持久化的特征。如果不將數據放在內存中,磁盤I/O速度會嚴重影響redis的性能。如果使用了最大使用的內存,則數據已有記錄數達到內存限值后不能繼續插入新值。
43、redis的并發競爭問題如何解決?
方案一:可以使用獨占鎖的方式,類似操作系統的mutex機制,不過實現相對復雜,成本較高。
方案二:使用樂觀鎖的方式進行解決(成本較低,非阻塞,性能較高)
44、構建docker鏡像應該遵循哪些規則?
整體原則上,盡量保持鏡像功能的明確和內容的精簡,要點包括:盡量選取滿足需求但較小的基礎系統鏡像,例如docker.io/centos7清理編譯生成文件、安裝包的緩存等臨時文件安裝各個軟件是要指定準確的版本號,并避免引入不需要的依賴,應用盡量使用系統的庫和依賴,使用dockerfile創建鏡像時要添加.dockerignore文件或使用干凈的工作目錄
45、如何控制容器占用系統資源(cpu、內存)的份額?
在使用 docker create 命令創建容器或使用 docker run 創建并啟動容器的時候,可以使用 -c|--cpu-shares[=0] 參數來調整容器使用 CPU 的權重;使用 -m|--memory[=MEMORY] 參數來調整容器使用內存的大小
46、docker與LXC有何不同?
lxc 是 Linux 內核容器虛擬化的一項技術,可以實現資源的隔離和控制,也就是對 Cgroup 和 Namespace 兩個屬性的控制。對于 docker 而言,它發展到現在不僅僅是容器的代名詞了,不過它的基礎技術是需要依賴內核的 Cgroup 和 Namespace 特性。docker 出現之初,便是采用了 lxc 技術作為 docker 底層,對容器虛擬化的控制。后來隨著 docker 的發展,它自己封裝了 libcontainer (golang 的庫)來實現 Cgroup 和 Namespace 控制,從而消除了對 lxc 的依賴。總結一下,lxc 是早期版本 docker 的一個基礎組件,docker 主要用到了它對 Cgroup 和 Namespace 兩個內核特性的控制
47、docker與Vagrant有何不同?
Vagrant適合用來管理虛擬機,而docker適合用來管理應用環境。
48、開發環境中docker與vagrant如何選擇?
Docker是應用執行環境,不是虛擬機,對于宿主來說只是個隔離的進程;而Vagrant是虛擬機輔助軟件,使用Vagrant既使用虛擬機,因此所運行的是一個完整操作系統。這是最本質的區別。
Docker運行需要依托Linux內核,因此對于Windows, OSX系統而言,需要有一個Linux虛擬機運行起來,才可以使用Docker。因此在這種環境下,從單一虛擬機角度來說,Docker和Vagrant沒有占用資源的差別。對于 Linux工作環境來說,那就沒有這個問題,使用Docker要比Vagrant輕量級很多。
而在OSX, Windows下使用Docker和Vagrant開發,很重要的一個問題在于共享文件目錄上。之前大家在這兩個系統上安裝的Docker環境都是通過Docker Toolbox 來安裝配置的,它使用的是Virtualbox,對于共享主機文件目錄到Docker環境上有一些問題,大多數情況能用,但是部分情況會出故障。所以相對于 Docker Toolbox的環境而言,如果需要一些文件目錄監控等高級功能,vagrant更適合開發。
但是,這個問題現在已經解決,Docker剛剛發布了Docker for Mac/Windows (beta) ,這將不在使用Virtualbox,而是使用 xhype (OSX), Hyper-V (Windows 10) 來運行一個更為精簡的Linux (Alpine)。由于使用了操作系統原生虛擬框架,因此共享目錄上的種種問題得到了解決,此外 Alpine 的使用,讓Linux虛擬機加載更為迅速。所以在這種情況下,使用 Docker 要比 Vagrant 有更多的優勢。
所以,從未來角度看,Docker是大勢所趨。
49、kafka查看指定topic信息
bin/kafka-topics.sh --zookeeper node01:2181 --describe --topic t_cdr
?
50、git初始化和更新子模塊?
git submodule init 初始化子模塊git submodule update 更新子模塊
51、Django中想驗證表單提交是否格式正確需要用到Form中哪個函數?
is_valid()函數方法,用于檢查表單提交是否正確
52、Django中如何讀取和保存session,整個session的運行機制是什么?
說到session的運行機制,就一定要先說一下cookie這一段信息。一般情況下cookies都是我們的瀏覽器生成的(顯然可以人為修改),用于服務器對戶進行篩選和維護,但是這個聽上去很好吃的東西,能存的東西有點少而且容易被別人利用。這時候基于cookies的session的意義就比較明顯了,在客戶端的cookies中我們只保存session id,而將完整信息以加密信息的形式保存到服務器端,這樣服務器可以根據session id相對安全的在數據庫中查詢用戶的更細致的信息和狀態
53、nginx可以用來做什么?
反向代理 重定向 負載均衡 虛擬主機 靜態HTTP服務
54、nginx負載均衡有哪幾種?
輪詢模式
Weight模式
Ip_hash模式
55、keepalived工作原理?
Layer3,4,&5工作在IP/TCP協議棧的IP層,TCP層,及應用層 原理: Layer3:keepalived使用layer3的方式工作時,keepalived會定期向服務器群中發送一個ICMP的數據包(即我們平時用的ping程序),如果發現某臺服務器的IP地址沒有激活,keepalived便會報告這臺服務器是小,并將他從服務器群中剔除。Layer3的方式是以服務器的IP是否有效作為服務器工作正常與否的標準。
Layer4:主要以TCP端口的狀態來決定服務器工作正常與否。如web sercer的服務端口一般是80.如果keepalived檢測到80端口沒有啟動,則keepalived將這臺服務器從服務群中刪除。
Layer5:layer5就是工作在具體的應用層,比layer3,4要復雜一點,在網絡上占用的寬帶也要大一些。Keepalived將根據用戶的設定檢查服務器的運行是否正常。如果設定不相符,則keepalived將把服務器從群中踢除。
總結
以上是生活随笔為你收集整理的虚拟化试题1-网络和存储的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《Sibelius 脚本程序设计》连载(
- 下一篇: 产品专家Marty Cagan:不做仅仅