016.OpenStack及雲計算(面試)常見問題

来源:https://www.cnblogs.com/itzgr/archive/2019/04/22/10749356.html
-Advertisement-
Play Games

什麼是雲計算? 雲計算是一種採用按量付費的模式,基於虛擬化技術,將相應計算資源(如網路、存儲等)池化後,提供便捷的、高可用的、高擴展性的、按需的服務(如計算、存儲、應用程式和其他 IT 資源)。 雲計算的基本特征? 自主服務:可按需的獲取雲端的相應資源(主要指公有雲); 網路訪問:可隨時隨地使用任何 ...


  1. 什麼是雲計算?
雲計算是一種採用按量付費的模式,基於虛擬化技術,將相應計算資源(如網路、存儲等)池化後,提供便捷的、高可用的、高擴展性的、按需的服務(如計算、存儲、應用程式和其他 IT 資源)。  
  1. 雲計算的基本特征?
  • 自主服務:可按需的獲取雲端的相應資源(主要指公有雲);
  • 網路訪問:可隨時隨地使用任何聯網終端設備接入雲端從而使用相應資源。
  • 資源池化:
  • 快速彈性:可方便、快捷地按需獲取和釋放計算資源。
  • 按量計費:
 
  1. 雲計算常見幾種部署模式?
  • 私有雲:雲平臺資源只給某個單位、或某部分用戶內部使用。
  • 公有雲:雲平臺資源開放給社會公眾服務。
  • 社區雲:雲平臺資源給幾個固定的單位內使用。
  • 混合雲:兩個或兩個以上不同類型的雲平臺。
 
  1. 雲計算的三種服務模式?
  • IaaS:基礎設施即服務,雲服務商將IT系統的基礎設施(如計算資源、存儲資源、網路資源)池化後作為服務進行售賣;
  • PaaS:平臺即服務,雲服務商將IT系統的平臺軟體層(資料庫、OS、中間件、運行庫)作為服務進行售賣;
  • SaaS:軟體即服務,雲服務商將IT系統的應用軟體層作為服務進行售賣。
 
  1. 常見雲平臺架構組成?
  • 雲服務消費者:租賃雲服務產品的個人或者單位組織;
  • 雲服務提供商:提供雲服務產品的個人或者單位組織;
  • 雲服務代理商:向消費者銷售雲服務並獲取一定佣金的個人或者單位組織;
  • 雲計算審計員:針對雲計算安全性、雲計算性能等進行獨立評估的第三方個人或者單位組織;
  • 雲服務承運商:在雲服務提供商和消費者之間提供連接媒介,以便把雲計算服務產品從雲服務提供商轉移到雲服務消費者手中,如中國電信。
 
  1. 常見的虛擬化廠商及其相應的產品?
VMware: 虛擬化平臺產品:ESXi,管理工具:VMware vCenter套件(包括vCenter Server),VMware vCloud(主要管理公有雲)。 RedHat:KVM,及基於KVM的虛擬化套件RHV 思傑:XEN 微軟: 虛擬化平臺產品:Virtual PC、Hyper-V,管理工具:System Center 2016. Oracle:Oracle VM Server(集成XEN+Linux內核)  
  1. 雲計算與虛擬化的區別?
雲計算:IT能力服務化,按需使用,按量計費,多租戶隔離,是一個系統的輕量級管理控制面。 虛擬化:環境隔離,資源復用,降低隔離損耗,提升運行性能,提供高級虛擬化特性。 虛擬化是實現雲計算的技術支撐之一,但並非雲計算的核心關註點。  
  1. 常見的IaaS管理工具?
OpenStack、Apache CloudStack  
  1. 私有雲相對於公有雲有哪些優勢?
  • 數據安全性更高;
  • 可節省上雲遷移過程中的大量成本;
  • 業務快速部署,縮短業務周期;
  • 降低企業成本,自主可控。
 
  1. 在OpenStack高可用架構中,controller節點為什麼通常至少有3個節點?
由mysql的多主集群決定,通常情況下,openstack集群的資料庫:mysql集群部署在controller節點。  
  1. 簡單描述SDN?
軟體定義網路(Software Defined Network, SDN ),指通過軟體定義網路,是網路虛擬化的一種實現方式. SDN的主要技術特點體現在3方面:
  • 轉發與控制分離。SDN具有轉發與控制分離的特點,採用SDN控制器實現網路拓撲的收集、路由的計算、流表的生成及下發、網路的管理與控制等功能;而網路層設備僅負責流量的轉發及策略的執行。通過這種方式可使得網路系統的轉發麵和控制面獨立發展,轉發麵向通用化、簡單化發展,成本可逐步降低;控制面可向集中化、統一化發展,具有更強的性能和容量。
  • 控制邏輯集中。轉發與控制分離之後,使得控制面向集中化發展。控制面的集中化,使得SDN控制器擁有網路的全局靜態拓撲,全網的動態轉發表信息,全網路的資源利用率,故障狀態等。因此,SDN控制器可實現基於網路級別的統一管理、控制和優化,更可依托全局的拓撲的動態轉發信息幫助實現快速的故障定位和排除,提高運營效率。
  • 網路能力開放化。SDN還有一個重要特征是支持網路能力開放化。通過集中的SDN控制器實現網路資源的統一管理、整合以及虛擬化後,採用規範化的北向介面為上層應用提供按需分配的網路資源及服務,進而實現網路能力開放。這樣的方式打破了現有網路對業務封閉的問題,是一種突破性的創新。
 
  1. 什麼是OpenStack?
一個開源雲操作系統內核,用於構建雲平臺,主要實現以下五個主要特點:
  • 資源抽象:OpenStack將各類硬體資源,通過虛擬化與軟體定義的形式,抽象成虛擬的資源池;
  • 資源調度:OpenStack根據管理員/用戶的需求,將資源池中的資源分配給不同的用戶,承載不同的應用;
  • 應用生命周期管理:OpenStack可以提供初步的應用部署/撤銷、自動規模調整等功能;
  • 系統運維:OpenStack可以提供一定的系統監控能力;
  • 人機交互:OpenStack提供人機介面,外界可通過API、CLI或圖形界面的方式與OpenStack進行交互。
 
  1. OpenStack常見組件及其功能?
  • Horzon組件:提供一個Web前端控制台,從而實現通過web管理雲平臺,建雲主機,分配網路,配安全組等。
  • Nova組件:負責響應虛擬機創建請求、調度、銷毀雲主機。
  • Neutron組件:提供雲計算的網路虛擬化技術,為OpenStack其他服務提供網路連接服務。為用戶提供介面,可以定義Network、Subnet、Router,配置DHCP、DNS、負載均衡、L3服務,網路支持GRE、VLAN。插件架構支持許多主流的網路廠家和技術,如OpenvSwitch。以上為三大核心組件。
  • Swift組件:用於在大規模可擴展系統中通過內置冗餘及高容錯機制實現對象存儲的系統,允許進行存儲或者檢索文件。可為Glance提供鏡像存儲,為Cinder提供捲備份服務。
  • Cinder組件:為運行實例提供穩定持久化的數據塊存儲服務,如創建捲、刪除捲,在實例上掛載和卸載捲。
  • Keystone組件:為OpenStack其他服務提供身份驗證、服務規則和服務令牌的功能,管理Domains、Projects、Users、Groups、Roles。
  • Glance組件:為雲主機提供不同系統鏡像,支持多種虛擬機鏡像格式(AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD、VMDK),有創建上傳鏡像、刪除鏡像、編輯鏡像基本信息的功能。
  • Ceilometer組件:能把OpenStack內部發生的幾乎所有的事件都收集起來,然後為計費和監控以及其它服務提供數據支撐。
  • Heat組件:提供了一種通過模板定義的協同部署方式,實現雲基礎設施軟體運行環境(計算、存儲和網路資源)的自動化部署。
 
  1. OpenStack中什麼服務通常運行在控制節點?
  • 以下服務通常運行在控制節點:
  • 認證服務(Keystone)
  • 鏡像服務(Glance)
  • Nova服務,如Nova API、Nova Scheduler和Nova DB
  • 塊存儲和對象存儲服務(Cinder、Swift)
  • Ceilometer服務
  • MariaDB/MySQL和RabbitMQ服務
  • 網路(Neutron)和網路代理的管理服務
  • 編排服務(Heat)
 
  1. OpenStack中什麼服務通常運行在計算節點?
  • Nova計算
  • 網路服務,比如OVS
 
  1. OpenStack中的Domain,project,user,role,token 的概念和關係?
Domain:表示 project 和 user 的集合,在公有雲或者私有雲中常常表示一個客戶 Group:一個domain 中的部分用戶的集合 Project:IT基礎設施資源的集合,比如虛機,捲,鏡像等 Role:角色,表示一個 user 對一個 project resource 的許可權 Token:一個 user 對於某個目標(project 或者 domain)的一個有限時間段內的身份令牌    
  1. OpenStack中計算節點上虛擬機預設保存路徑在哪?
虛擬機存儲在計算節點的/var/lib/nova/instances目錄。  
  1. OpenStack中Glance鏡像的預設保存路徑在哪?
因為Glance服務運行在控制節點上,所以Glance鏡像都被存儲在控制節點的/var/lib/glance/images目錄。  
  1. 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>  
  1. OpenStack虛擬機啟動過程?
  1. 界面或命令行通過RESTful API向keystone獲取認證信息。
  2. keystone通過用戶請求認證信息,並生成auth-token返回給對應的認證請求。
  3. 界面或命令行通過RESTful API向nova-api發送一個boot instance的請求(攜帶auth-token)。
  4. nova-api接受請求後向keystone發送認證請求,查看token是否為有效用戶和token。
  5. keystone驗證token是否有效,如有效則返回有效的認證和對應的角色(註:有些操作需要有角色許可權才能操作)。
  6. 通過認證後nova-api和資料庫通訊。
  7. 初始化新建虛擬機的資料庫記錄。
  8. nova-api通過rpc.call向nova-scheduler請求是否有創建虛擬機的資源(Host ID)。
  9. nova-scheduler進程偵聽消息隊列,獲取nova-api的請求。
  10. nova-scheduler通過查詢nova資料庫中計算資源的情況,並通過調度演算法計算符合虛擬機創建需要的主機。
  11. 對於有符合虛擬機創建的主機,nova-scheduler更新資料庫中虛擬機對應的物理主機信息。
  12. nova-scheduler通過rpc.cast向nova-compute發送對應的創建虛擬機請求的消息。
  13. nova-compute會從對應的消息隊列中獲取創建虛擬機請求的消息。
  14. nova-compute通過rpc.call向nova-conductor請求獲取虛擬機消息。(Flavor)
  15. nova-conductor從消息隊隊列中拿到nova-compute請求消息。
  16. nova-conductor根據消息查詢虛擬機對應的信息。
  17. nova-conductor從資料庫中獲得虛擬機對應信息。
  18. nova-conductor把虛擬機信息通過消息的方式發送到消息隊列中。
  19. nova-compute從對應的消息隊列中獲取虛擬機信息消息。
  20. nova-compute通過keystone的RESTfull API拿到認證的token,並通過HTTP請求glance-api獲取創建虛擬機所需要鏡像。
  21. glance-api向keystone認證token是否有效,並返回驗證結果。
  22. token驗證通過,nova-compute獲得虛擬機鏡像信息(URL)。
  23. nova-compute通過keystone的RESTfull API拿到認證k的token,並通過HTTP請求neutron-server獲取創建虛擬機所需要的網路信息。
  24. neutron-server向keystone認證token是否有效,並返回驗證結果。
  25. token驗證通過,nova-compute獲得虛擬機網路信息。
  26. nova-compute通過keystone的RESTfull API拿到認證的token,並通過HTTP請求cinder-api獲取創建虛擬機所需要的持久化存儲信息。
  27. cinder-api向keystone認證token是否有效,並返回驗證結果。
  28. token驗證通過,nova-compute獲得虛擬機持久化存儲信息。
  29. nova-compute根據instance的信息調用配置的虛擬化驅動來創建虛擬機。
 
  1. OpenStack中如何顯示用戶的網路命名空間列表?
# ip netns list  
  1. OpenStack中如何執行網路命名空間內的命令?
假設我們想在 qdhcp-a51635b1-d023-419a-93b5-39de47755d2d 網路命名空間中執行 ifconfig 命令,可以執行如下命令。 命令格式 : ip netns exec {network-space} <command>: # ip netns exec qdhcp-a51635b1-d023-419a-93b5-39de47755d2d "ifconfig"  
  1. OpenStack中Glance服務如何使用命令上傳和下載鏡像?
# 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> #下載  
  1. OpenStack中如何將虛擬機從異常狀態置為活動狀態?
# nova reset-state --active {Instance_id}  
  1. OpenStack中如何獲取浮動IP列表?
# openstack ip floating list | grep None | head -10  
  1. OpenStack中如何在特定可用區特定計算節點創建虛擬機?
# 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  
  1. OpenStack中如何獲取特定計算節點虛擬機列表?
命令格式: 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  
  1. OpenStack中如何查看虛擬機的控制台日誌?
# openstack console log show {Instance-id}  
  1. OpenStack中如何獲取控制台的URL?
# openstack console url show {Instance-id}  
  1. OpenStack中如何創建Cinder/Block存儲捲?
# openstack image list | grep -i cirros #獲取鏡像列表 | 89254d46-a54b-4bc8-8e4d-658287c7ee92 | cirros | active | # cinder create --image-id 89254d46-a54b-4bc8-8e4d-658287c7ee92 --display-name cirros-bootable-vol 8 #使用cirros鏡像創建8G啟動捲  
  1. OpenStack中如何列出所有創建的項目或用戶?
# openstack project list --long  
  1. OpenStack中如何顯示服務端點(endpoint)列表?
OpenStack 服務端點被分為 3 類:
  • 公共端點
  • 內部端點
  • 管理端點
使用如下 OpenStack 命令來查看各種 OpenStack 服務端點: # openstack catalog list 可通過以下命令來顯示特定服務端點(比如說 keystone)列表: # openstack catalog show keystone  
  1. OpenStack控制節點按什麼步驟重啟nova服務?
# service nova-api restart # service nova-cert restart # service nova-conductor restart # service nova-consoleauth restart # service nova-scheduler restart  
  1. OpenStack中已存在的安全組SG,如何添加規則?
# 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  
  1. OpenStack中如何查看控制節點和計算節點的OVS橋配置?
# ovs-vsctl show  
  1. OpenStack中計算節點的集成橋(br-int)的作用是什麼?
集成橋(br-int)對來自和運行在計算節點上的實例的流量執行 VLAN 標記和取消標記。 數據包從實例的 n/w 介面發出使用虛擬介面 qvo 通過 Linux 橋(qbr)。qvb 介面是用來連接 Linux 橋的,qvo 介面是用來連接集成橋的。集成橋上的 qvo 埠有一個內部 VLAN 標簽,這個標簽是用於當數據包到達集成橋的時候貼到數據包頭部的。  
  1. OpenStack中計算節點的隧道橋(br-tun)的作用是什麼?
隧道橋(br-tun)根據 OpenFlow 規則將 VLAN 標記的流量從集成網橋轉換為隧道 ID。 隧道橋允許不同網路的實例彼此進行通信。隧道有利於封裝在非安全網路上傳輸的流量,它支持兩層網路,即 GRE 和 VXLAN。  
  1. OpenStack中外部OVS橋(br-ex)的作用是什麼?
外部OVS網橋轉發來往網路的流量,以允許外部訪問實例。br-ex 連接物理介面比如 eth2,這樣用戶網路的浮動 IP 數據從物理網路接收並路由到用戶網路埠。  
  1. OpenStack中的各組件之間通信機制?
OpenStack中有至少兩種通信機制, RESTful API和RPC調用。
  • RESTful API:
RESTFUL API是一套架構約束條件和原則
  • REST定義的原則
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 作為一個Windows系統下的開發者,我對於Core的使用機會幾乎為0,但是考慮到微軟的戰略規劃,我覺得,Core還是有先瞭解起來的必要。 因為,目前微軟已經搞出了兩個框架了,一個是Net標準(.NetFramework),一個是Net Core。 而新特性的更新幾乎都是在Net Core這個 ...
  • 當進行數據遷移的時候提示 修改appsettings配置連接串的Trusted_Connection 屬性 Trusted_Connection 當為 false 時,將在連接中指定用戶 ID 和密碼。當為 true 時,將使用當前的 Windows 帳戶憑據進行身份驗證。 可識別的值為 true、 ...
  • 當進行cobbler配置後,併進行web登錄時,出現錯誤: 先查看其日誌位置 #cat /etc/httpd/conf.d/ssl.conf 在其中位置發現其錯誤的日誌位置為/etc/httpd/logs/ssl_error_log 打開文件#cat /etc/httpd/logs/ssl_erro ...
  • 安裝32位程式運行支持 可能報錯: 解決方案: 若沒有aptitude需先安裝該軟體 在提示中第一處選n, 第二處選y, 如下: 安裝arm編譯gcc 安裝 測試是否安裝成功 在目錄/opt/gcc 4.4.4 glibc 2.11.1 multilib 1.0/arm fsl linux gnue ...
  • 因業務需要在DHCP伺服器上綁定設備MAC,提示”指定的IP地址或硬體地址正被其他客戶端使用”,與業務同事溝通之前該設備做過地址保留,具體對應地址遺忘了。問題描述:a.按照用戶需求添加地址保留:b.提示:指定的IP地址或硬體地址正被其他客戶端使用;添加失敗。環境描述:Windows DHCP Ser... ...
  • Triggered buffer support觸發緩衝支持 在許多數據分析應用中,能夠基於某些外部信號(觸發器)捕獲數據是比較有用的。 這些觸發器可能是: 數據就緒信號 連接到某個外部系統的IRQ線路(GPIO或其他) 處理器周期性中斷 用戶空間在sysfs中讀/寫特定文件 數據就緒信號 連接到某 ...
  • Linux系統的目錄結構(必須掌握的內容) 所有目錄只有一個頂點/(根),所有目錄的起點。 只有一棵樹 Linux的目錄結構也是有規律的,而且也是按照類別組織的。 應用程式 /usr/bin 數據文件,幫助/usr/share 配置文件/etc/ 啟動命令 /etc/init.d/ 結論: 通俗的理 ...
  • 非常非常非常簡要的描述而已。 壓縮 壓縮的簡要原理是通過一些演算法,拿CPU的計算時間去換磁碟上存儲的空間。同時還可節省網路傳輸中的帶寬。 對於文本文件的壓縮效果比較好,對二進位程式、圖片等文件的壓縮效果就很差。 compress, uncompress 文件名:*.Z 古老的壓縮工具,目前已經不使用 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...