日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

30 个 OpenStack 经典面试问题和解答

發布時間:2024/7/5 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 30 个 OpenStack 经典面试问题和解答 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

現在,大多數公司都試圖將它們的 IT 基礎設施和電信設施遷移到私有云, 如 OpenStack。如果你打算面試 OpenStack 管理員這個崗位,那么下面列出的這些面試問題可能會幫助你通過面試。-- Pradeep Kumar

現在,大多數公司都試圖將它們的 IT 基礎設施和電信設施遷移到私有云, 如 OpenStack。如果你打算面試 OpenStack 管理員這個崗位,那么下面列出的這些面試問題可能會幫助你通過面試。

Q:1 說一下 OpenStack 及其主要組件?

答: OpenStack 是一系列開源軟件,這些軟件組成了一個云供給軟件,也就是 OpenStack,意即開源軟件或項目棧。

下面是 OpenStack 的主要關鍵組件:

??Nova?– 用于在計算級別管理虛擬機,并在計算或管理程序級別執行其他計算任務。??Neutron?– 為虛擬機、計算和控制節點提供網絡功能。??Keystone?– 為所有云用戶和 OpenStack 云服務提供身份認證服務。換句話說,我們可以說 Keystone 是一個提供給云用戶和云服務訪問權限的方法。??Horizon?– 用于提供圖形用戶界面。使用圖形化管理界面可以很輕松地完成各種日常操作任務。??Cinder?– 用于提供塊存儲功能。通常來說 OpenStack 的 Cinder 中集成了 Chef 和 ScaleIO 來共同為計算和控制節點提供塊存儲服務。??Swift?– 用于提供對象存儲功能。通常來說,Glance 管理的鏡像是存儲在對象存儲空間的。像 ScaleIO 這樣的外部存儲也可以提供對象存儲,可以很容易的集成 Glance 服務。??Glance?– 用于提供鏡像服務。使用 Glance 的管理平臺來上傳和下載云鏡像。??Heat?– 用于提供編排服務或功能。使用 Heat 管理平臺可以輕松地將虛擬機作為堆棧,并且根據需要可以將虛擬機擴展或收縮。??Ceilometer?– 用于提供計量與監控功能。

Q:2 什么服務通常在控制節點上運行?

答: 以下服務通常在控制節點上運行:

??認證服務(KeyStone)??鏡像服務(Glance)??Nova 服務比如 Nova API、Nova Scheduler 和 Nova DB??塊存儲和對象存儲服務??Ceilometer 服務??MariaDB / MySQL 和 RabbitMQ 服務??網絡(Neutron)和網絡代理的管理服務??編排服務(Heat)

Q:3 什么服務通常在計算節點上運行?

答: 以下服務通常在計算節點運行:

??Nova 計算??網絡服務,比如 OVS

Q:4 計算節點上虛擬機的默認地址是什么?

答: 虛擬機存儲在計算節點的?/var/lib/nova/instances。

Q:5 Glance 鏡像的默認地址是什么?

答: 因為 Glance 服務運行在控制節點上,所以 Glance 鏡像都被存儲在控制節點的?/var/lib/glance/images?文件夾下。

想了解更多請訪問:在 OpenStack 中如何使用命令行創建和刪除虛擬機[1]

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 中顯示用戶的網絡命名空間列表?

    答: 可以使用?ip net ns?命令來列出用戶的網絡命名空間。

  • ~# ip netns list

  • qdhcp-a51635b1-d023-419a-93b5-39de47755d2d

  • haproxy

  • vrouter

  • Q:8 如何在 OpenStack 中執行網絡命名空間內的命令?

    答: 假設我們想在?qdhcp-a51635b1-d023-419a-93b5-39de47755d2d?網絡命名空間中執行?ifconfig?命令,我們可以執行如下命令。

    命令格式 :?ip netns exec {network-space} <command>:

  • ~# ip netns exec qdhcp-a51635b1-d023-419a-93b5-39de47755d2d "ifconfig"

  • Q:9 在 Glance 服務中如何使用命令行上傳和下載鏡像?

    答: Glance 服務中云鏡像上傳可以使用如下 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:10 OpenStack 如何將虛擬機從錯誤狀態轉換為活動狀態?

    答: 在某些情況下虛擬機可能會進入錯誤狀態,可以使用如下命令將錯誤狀態轉換為活動狀態:

  • ~# nova reset-state --active {Instance_id}

  • Q:11 如何使用命令行來獲取可使用的浮動 IP 列表?

    答: 可使用如下命令來顯示可用浮動 IP 列表:

  • ~]# openstack ip floating list | grep None | head -10

  • Q:12 如何在特定可用區域中或在計算主機上配置虛擬機?

    答: 假設我們想在 compute-02 中的可用區 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 如何在特定計算節點上獲取配置的虛擬機列表?

    答: 假設我們想要獲取在 compute-0-19 中配置的虛擬機列表,可以使用如下命令:

    命令格式:?openstack server list –all-projects –long -c Name -c Host | 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 log show {Instance-id}

  • Q:15 如何獲取 OpenStack 實例的控制臺的 URL 地址?

    答: 可以使用以下 OpenStack 命令從命令行檢索實例的控制臺 URL 地址:

  • ~# openstack console url show {Instance-id}

  • Q:16 如何使用命令行創建可啟動的 cinder / block 存儲卷?

    答: 假設創建一個 8GB 可啟動存儲卷,可參考如下步驟:

    ?

    使用如下命令獲取鏡像列表

  • ~# openstack image list | grep -i cirros

  • | 89254d46-a54b-4bc8-8e4d-658287c7ee92 | cirros? | active |

  • ?

    使用 cirros 鏡像創建 8GB 的可啟動存儲卷

  • ~# cinder create --image-id 89254d46-a54b-4bc8-8e4d-658287c7ee92 --display-name cirros-bootable-vol ?8

  • Q:17 如何列出所有在你的 OpenStack 中創建的項目或用戶?

    答: 可以使用如下命令來檢索所有項目和用戶:

  • ~# openstack project list --long

  • Q:18 如何顯示 OpenStack 服務端點列表?

    答: OpenStack 服務端點被分為 3 類:

    ??公共端點??內部端點??管理端點

    使用如下 OpenStack 命令來查看各種 OpenStack 服務端點:

  • ~# openstack catalog list

  • 可通過以下命令來顯示特定服務端點(比如說 keystone)列表:

  • ~# openstack catalog show keystone

  • 想了解更多請訪問:OpenStack 中的實例創建流程[2]。

    Q:19 在控制節點上你應該按照什么步驟來重啟 nova 服務?

    答: 應該按照如下步驟來重啟 OpenStack 控制節點的 nova 服務:

    ??service nova-api restart??service nova-cert restart??service nova-conductor restart??service nova-consoleauth restart??service nova-scheduler restart

    Q:20 假如計算節點上為數據流量配置了一些 DPDK 端口,你如何檢查 DPDK 端口的狀態呢?

    答: 因為我們使用 openvSwitch (OVS) 來配置 DPDK 端口,因此可以使用如下命令來檢查端口的狀態:

  • 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(安全組)中添加新規則?

    答: 可以使用?neutron?命令向 OpenStack 已存在的安全組中添加新規則:

  • ~# 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 如何查看控制節點和計算節點的 OVS 橋配置?

    答: 控制節點和計算節點的 OVS 橋配置可使用以下命令來查看:

  • ~]# ovs-vsctl show

  • Q:23 計算節點上的集成橋(br-int)的作用是什么?

    答: 集成橋(br-int)對來自和運行在計算節點上的實例的流量執行 VLAN 標記和取消標記。

    數據包從實例的 n/w 接口發出使用虛擬接口 qvo 通過 Linux 橋(qbr)。qvb 接口是用來連接 Linux 橋的,qvo 接口是用來連接集成橋的。集成橋上的 qvo 端口有一個內部 VLAN 標簽,這個標簽是用于當數據包到達集成橋的時候貼到數據包頭部的。

    Q:24 隧道橋(br-tun)在計算節點上的作用是什么?

    答: 隧道橋(br-tun)根據 OpenFlow 規則將 VLAN 標記的流量從集成網橋轉換為隧道 ID。

    隧道橋允許不同網絡的實例彼此進行通信。隧道有利于封裝在非安全網絡上傳輸的流量,它支持兩層網絡,即 GRE 和 VXLAN。

    Q:25 外部 OVS 橋(br-ex)的作用是什么?

    答: 顧名思義,此網橋轉發來往網絡的流量,以允許外部訪問實例。br-ex 連接物理接口比如 eth2,這樣用戶網絡的浮動 IP 數據從物理網絡接收并路由到用戶網絡端口。

    Q:26 OpenStack 網絡中 OpenFlow 規則的作用是什么?

    答: OpenFlow 規則是一種機制,這種機制定義了一個數據包如何從源到達目的地。OpenFlow 規則存儲在 flow 表中。flow 表是 OpenFlow 交換機的一部分。

    當一個數據包到達交換機就會被第一個 flow 表檢查,如果不匹配 flow 表中的任何入口,那這個數據包就會被丟棄或者轉發到其他 flow 表中。

    Q:27 怎樣查看 OpenFlow 交換機的信息(比如端口、表編號、緩存編號等)?

    答: 假如我們要顯示 OpenFlow 交換機的信息(br-int),需要執行如下命令:

  • 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-ofctl dump-flows?來查看交換機的 flow 入口。

    假設我們想顯示 OVS 集成橋(br-int)的所有 flow 入口,可以使用如下命令:

  • [root@compute01 ~]# ovs-ofctl dump-flows br-int

  • Q:29 什么是 Neutron 代理?如何顯示所有 Neutron 代理?

    答: OpenStack Neutron 服務器充當中心控制器,實際網絡配置是在計算節點或者網絡節點上執行的。Neutron 代理是計算節點或者網絡節點上進行配置更新的軟件實體。Neutron 代理通過 Neuron 服務和消息隊列來和中心 Neutron 服務通信。

    可通過如下命令查看 Neutron 代理列表:

  • ~# openstack network agent list -c ‘Agent type’ -c Host -c Alive -c State

  • Q:30 CPU Pinning 是什么?

    答: CPU Pinning 是指為某個虛擬機保留物理核心。它也稱為 CPU 隔離或處理器關聯。有兩個目的:

    ??它確保虛擬機只能在專用核心上運行??它還確保公共主機進程不在這些核心上運行

    我們也可以認為 Pinning 是物理核心到一個用戶虛擬 CPU(vCPU)的一對一映射。

    轉載于:https://www.cnblogs.com/tcicy/p/10186543.html

    與50位技術專家面對面20年技術見證,附贈技術全景圖

    總結

    以上是生活随笔為你收集整理的30 个 OpenStack 经典面试问题和解答的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。