扣丁學(xué)堂Linux培訓(xùn)之30 個Openstack 經(jīng)典面試問題和解答
2019-03-19 16:11:23
2871瀏覽
今天扣丁學(xué)堂Linux培訓(xùn)老師給大家詳細(xì)介紹一下關(guān)于30個Openstack經(jīng)典面試問題和解答詳解,由于現(xiàn)在大多數(shù)公司都試圖將它們的IT基礎(chǔ)設(shè)施和電信設(shè)施遷移到私有云,如OpenStack。如果你打算面試OpenStack管理員這個崗位,那么下面列出的這些面試問題可能會幫助你通過面試。
Q:1說一下OpenStack及其主要組件?
答:OpenStack是一系列開源軟件,這些軟件組成了一個云供給軟件,也就是OpenStack,意即開源軟件或項目棧。
下面是OpenStack的主要關(guān)鍵組件:
Nova–用于在計算級別管理虛擬機,并在計算或管理程序級別執(zhí)行其他計算任務(wù)。
Neutron–為虛擬機、計算和控制節(jié)點提供網(wǎng)絡(luò)功能。
Keystone–為所有云用戶和OpenStack云服務(wù)提供身份認(rèn)證服務(wù)。換句話說,我們可以說Keystone是一個提供給云用戶和云服務(wù)訪問權(quán)限的方法。
Horizon–用于提供圖形用戶界面。使用圖形化管理界面可以很輕松地完成各種日常操作任務(wù)。
Cinder–用于提供塊存儲功能。通常來說OpenStack的Cinder中集成了Chef和ScaleIO來共同為計算和控制節(jié)點提供塊存儲服務(wù)。
Swift–用于提供對象存儲功能。通常來說,Glance管理的鏡像是存儲在對象存儲空間的。像ScaleIO這樣的外部存儲也可以提供對象存儲,可以很容易的集成Glance服務(wù)。
Glance–用于提供鏡像服務(wù)。使用Glance的管理平臺來上傳和下載云鏡像。
Heat–用于提供編排服務(wù)或功能。使用Heat管理平臺可以輕松地將虛擬機作為堆棧,并且根據(jù)需要可以將虛擬機擴展或收縮。
Ceilometer–用于提供計量與監(jiān)控功能。
Q:2什么服務(wù)通常在控制節(jié)點上運行?
答:以下服務(wù)通常在控制節(jié)點上運行:
認(rèn)證服務(wù)(KeyStone)
鏡像服務(wù)(Glance)
Nova服務(wù)比如NovaAPI、NovaScheduler和NovaDB
塊存儲和對象存儲服務(wù)
Ceilometer服務(wù)
MariaDB/MySQL和RabbitMQ服務(wù)
網(wǎng)絡(luò)(Neutron)和網(wǎng)絡(luò)代理的管理服務(wù)
編排服務(wù)(Heat)
Q:3什么服務(wù)通常在計算節(jié)點上運行?
答:以下服務(wù)通常在計算節(jié)點運行:
Nova計算
網(wǎng)絡(luò)服務(wù),比如OVS
Q:4計算節(jié)點上虛擬機的默認(rèn)地址是什么?
答:虛擬機存儲在計算節(jié)點的/var/lib/nova/instances。
Q:5Glance鏡像的默認(rèn)地址是什么?
答:因為Glance服務(wù)運行在控制節(jié)點上,所以Glance鏡像都被存儲在控制節(jié)點的/var/lib/glance/images文件夾下。
想了解更多請訪問:在OpenStack中如何使用命令行創(chuàng)建和刪除虛擬機
Q:6說一下如何使用命令行啟動一個虛擬機?
答:我們可以使用如下OpenStack命令來啟動一個新的虛擬機:
# openstack server create --flavor {flavor-name} --image {Image-Name-Or-Image-ID} --nic net-id={Network-ID} --security-group {Security_Group_ID} –key-name {Keypair-Name} <VM_Name>
Q:7如何在OpenStack中顯示用戶的網(wǎng)絡(luò)命名空間列表?
答:可以使用ipnetns命令來列出用戶的網(wǎng)絡(luò)命名空間。
~# ip netns list
qdhcp-a51635b1-d023-419a-93b5-39de47755d2d
haproxy
vrouter
Q:8如何在OpenStack中執(zhí)行網(wǎng)絡(luò)命名空間內(nèi)的命令?
答:假設(shè)我們想在qdhcp-a51635b1-d023-419a-93b5-39de47755d2d網(wǎng)絡(luò)命名空間中執(zhí)行ifconfig命令,我們可以執(zhí)行如下命令。
命令格式:ipnetnsexec{network-space}<command>:
~# ip netns exec qdhcp-a51635b1-d023-419a-93b5-39de47755d2d "ifconfig"
Q:9在Glance服務(wù)中如何使用命令行上傳和下載鏡像?
答:Glance服務(wù)中云鏡像上傳可以使用如下OpenStack命令:
~# openstack image create --disk-format qcow2 --container-format bare --public --file {Name-Cloud-Image}.qcow2 <Cloud-Image-Name>
下載云鏡像則使用如下命令:
~# glance image-download --file <Cloud-Image-Name> --progress <Image-ID>
Q:10OpenStack如何將虛擬機從錯誤狀態(tài)轉(zhuǎn)換為活動狀態(tài)?
答:在某些情況下虛擬機可能會進入錯誤狀態(tài),可以使用如下命令將錯誤狀態(tài)轉(zhuǎn)換為活動狀態(tài):
~# nova reset-state --active {Instance_id}
Q:11如何使用命令行來獲取可使用的浮動IP列表?
答:可使用如下命令來顯示可用浮動IP列表:
~]# openstack ip floating list | grep None | head -10
Q:12如何在特定可用區(qū)域中或在計算主機上配置虛擬機?
答:假設(shè)我們想在compute-02中的可用區(qū)NonProduction上配置虛擬機,可以使用如下命令:
~]# openstack server create --flavor m1.tiny --image cirros --nic net-id=e0be93b8-728b-4d4d-a272-7d672b2560a6 --security-group NonProd_SG --key-name linuxtec --availability-zone NonProduction:compute-02 nonprod_testvm
Q:13如何在特定計算節(jié)點上獲取配置的虛擬機列表?
答:假設(shè)我們想要獲取在compute-0-19中配置的虛擬機列表,可以使用如下命令:
命令格式:openstackserverlist–all-projects–long-cName-cHost|grep-i{Compute-Node-Name}:
~# openstack server list --all-projects --long -c Name -c Host | grep -i compute-0-19
Q:14如何使用命令行查看OpenStack實例的控制臺日志?
答:使用如下命令可查看實例的控制臺日志。
首先獲取實例的ID,然后使用如下命令:
~# openstack console url show {Instance-id}
Q:15如何獲取OpenStack實例的控制臺的URL地址?
答:可以使用以下OpenStack命令從命令行檢索實例的控制臺URL地址:
~# openstack console url show {Instance-id}
Q:16如何使用命令行創(chuàng)建可啟動的cinder/block存儲卷?
答:假設(shè)創(chuàng)建一個8GB可啟動存儲卷,可參考如下步驟:
使用如下命令獲取鏡像列表
~# openstack image list | grep -i cirros
| 89254d46-a54b-4bc8-8e4d-658287c7ee92 | cirros | active |
使用cirros鏡像創(chuàng)建8GB的可啟動存儲卷
~# cinder create --image-id 89254d46-a54b-4bc8-8e4d-658287c7ee92 --display-name cirros-bootable-vol 8
Q:17如何列出所有在你的OpenStack中創(chuàng)建的項目或用戶?
答:可以使用如下命令來檢索所有項目和用戶:
~# openstack project list --long
Q:18如何顯示OpenStack服務(wù)端點列表?
答:OpenStack服務(wù)端點被分為3類:
公共端點
內(nèi)部端點
管理端點
使用如下OpenStack命令來查看各種OpenStack服務(wù)端點:
~# openstack catalog list
可通過以下命令來顯示特定服務(wù)端點(比如說keystone)列表:
~# openstack catalog show keystone
Q:19在控制節(jié)點上你應(yīng)該按照什么步驟來重啟nova服務(wù)?
答:應(yīng)該按照如下步驟來重啟OpenStack控制節(jié)點的nova服務(wù):
service nova-api restart
service nova-cert restart
service nova-conductor restart
service nova-consoleauth restart
service nova-scheduler restart
Q:20假如計算節(jié)點上為數(shù)據(jù)流量配置了一些DPDK端口,你如何檢查DPDK端口的狀態(tài)呢?
答:因為我們使用openvSwitch(OVS)來配置DPDK端口,因此可以使用如下命令來檢查端口的狀態(tài):
root@compute-0-15:~# ovs-appctl bond/show | grep dpdk
active slave mac: 90:38:09:ac:7a:99(dpdk0)
slave dpdk0: enabled
slave dpdk1: enabled
root@compute-0-15:~#
root@compute-0-15:~# dpdk-devbind.py --status
Q:21如何使用命令行在OpenStack中向存在的安全組SG(安全組)中添加新規(guī)則?
答:可以使用neutron命令向OpenStack已存在的安全組中添加新規(guī)則:
~# neutron security-group-rule-create --protocol <tcp or udp> --port-range-min <port-number> --port-range-max <port-number> --direction <ingress or egress> --remote-ip-prefix <IP-address-or-range> Security-Group-Name
Q:22如何查看控制節(jié)點和計算節(jié)點的OVS橋配置?
答:控制節(jié)點和計算節(jié)點的OVS橋配置可使用以下命令來查看:
~]# ovs-vsctl show
Q:23計算節(jié)點上的集成橋(br-int)的作用是什么?
答:集成橋(br-int)對來自和運行在計算節(jié)點上的實例的流量執(zhí)行VLAN標(biāo)記和取消標(biāo)記。
數(shù)據(jù)包從實例的n/w接口發(fā)出使用虛擬接口qvo通過Linux橋(qbr)。qvb接口是用來連接Linux橋的,qvo接口是用來連接集成橋的。集成橋上的qvo端口有一個內(nèi)部VLAN標(biāo)簽,這個標(biāo)簽是用于當(dāng)數(shù)據(jù)包到達集成橋的時候貼到數(shù)據(jù)包頭部的。
Q:24隧道橋(br-tun)在計算節(jié)點上的作用是什么?
答:隧道橋(br-tun)根據(jù)OpenFlow規(guī)則將VLAN標(biāo)記的流量從集成網(wǎng)橋轉(zhuǎn)換為隧道ID。
隧道橋允許不同網(wǎng)絡(luò)的實例彼此進行通信。隧道有利于封裝在非安全網(wǎng)絡(luò)上傳輸?shù)牧髁?,它支持兩層網(wǎng)絡(luò),即GRE和VXLAN。
Q:25外部OVS橋(br-ex)的作用是什么?
答:顧名思義,此網(wǎng)橋轉(zhuǎn)發(fā)來往網(wǎng)絡(luò)的流量,以允許外部訪問實例。br-ex連接物理接口比如eth2,這樣用戶網(wǎng)絡(luò)的浮動IP數(shù)據(jù)從物理網(wǎng)絡(luò)接收并路由到用戶網(wǎng)絡(luò)端口。
Q:26OpenStack網(wǎng)絡(luò)中OpenFlow規(guī)則的作用是什么?
答:OpenFlow規(guī)則是一種機制,這種機制定義了一個數(shù)據(jù)包如何從源到達目的地。OpenFlow規(guī)則存儲在flow表中。flow表是OpenFlow交換機的一部分。
當(dāng)一個數(shù)據(jù)包到達交換機就會被第一個flow表檢查,如果不匹配flow表中的任何入口,那這個數(shù)據(jù)包就會被丟棄或者轉(zhuǎn)發(fā)到其他flow表中。
Q:27怎樣查看OpenFlow交換機的信息(比如端口、表編號、緩存編號等)?
答:假如我們要顯示OpenFlow交換機的信息(br-int),需要執(zhí)行如下命令:
root@compute-0-15# ovs-ofctl show br-int
OFPT_FEATURES_REPLY (xid=0x2): dpid:0000fe981785c443
n_tables:254, n_buffers:256
capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP
actions: output enqueue set_vlan_vid set_vlan_pcp strip_vlan mod_dl_src mod_dl_dst mod_nw_src mod_nw_dst mod_nw_tos mod_tp_src mod_tp_dst
1(patch-tun): addr:3a:c6:4f:bd:3e:3b
config: 0
state: 0
speed: 0 Mbps now, 0 Mbps max
2(qvob35d2d65-f3): addr:b2:83:c4:0b:42:3a
config: 0
state: 0
current: 10GB-FD COPPER
speed: 10000 Mbps now, 0 Mbps max
………………………………………
Q:28如何顯示交換機中的所有flow的入口?
答:可以使用命令ovs-ofctldump-flows來查看交換機的flow入口。
假設(shè)我們想顯示OVS集成橋(br-int)的所有flow入口,可以使用如下命令:
[root@compute01 ~]# ovs-ofctl dump-flows br-int
Q:29什么是Neutron代理?如何顯示所有Neutron代理?
答:OpenStackNeutron服務(wù)器充當(dāng)中心控制器,實際網(wǎng)絡(luò)配置是在計算節(jié)點或者網(wǎng)絡(luò)節(jié)點上執(zhí)行的。Neutron代理是計算節(jié)點或者網(wǎng)絡(luò)節(jié)點上進行配置更新的軟件實體。Neutron代理通過Neuron服務(wù)和消息隊列來和中心Neutron服務(wù)通信。
可通過如下命令查看Neutron代理列表:
~# openstack network agent list -c ‘Agent type’ -c Host -c Alive -c State
Q:30CPUPinning是什么?
答:CPUPinning是指為某個虛擬機保留物理核心。它也稱為CPU隔離或處理器關(guān)聯(lián)。有兩個目的:
它確保虛擬機只能在專用核心上運行
它還確保公共主機進程不在這些核心上運行
我們也可以認(rèn)為Pinning是物理核心到一個用戶虛擬CPU(vCPU)的一對一映射。
以上就是關(guān)于扣丁學(xué)堂Linux培訓(xùn)之30 個Openstack 經(jīng)典面試問題和解答的詳細(xì)介紹,
最后想要了解更多關(guān)于Linux方面內(nèi)容的小伙伴,請關(guān)注扣丁學(xué)堂Linux培訓(xùn)官網(wǎng)、微信等平臺,Linux培訓(xùn)后的前景無限,行業(yè)薪資和未來的發(fā)展會越來越好的,扣丁學(xué)堂老師精心推出的Linux視頻教程定能讓你快速掌握Linux從入門到精通開發(fā)實戰(zhàn)技能??鄱W(xué)堂Linux技術(shù)交流群:422345477。
【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】
查看更多關(guān)于“Linux培訓(xùn)資訊”的相關(guān)文章>>
標(biāo)簽:
Linux培訓(xùn)
Linux視頻教程
紅帽Linux視頻
Linux學(xué)習(xí)視頻
Linux入門視頻