計算平台常用技術介紹
高可用技術
叢集
叢集是由一些互相連接配接在一起的計算機構成的一個并行或者分布式系統。
使用者隻需要關注自己的虛拟機,而不需要關注具體資料交給哪個節點來處理。
叢集的優勢:高可伸縮性、高可用性(HA例如節點1挂了,可以把業務跑到節點2中,備援)、高可管理性(以平台的方式對叢集中的所有資源進行管理)
(圖中VIP意思為virtual IP,不是我們常說的VIP客戶)
高性能性叢集(HPC Cluster):不惜成本,追求高性能。主要用于科研。
高可用性叢集(HA Cluster):使群集的整體服務盡可能可用。減少服務當機時間為目的。一個節點失效,其他節點接替。單節點故障時,整體性能一般會下降。
高可擴充性叢集:基于負載均衡政策。一般是對特定類型負載做均衡處理。各負載節點一般是同構的,可以分擔部分負載。可以避免單點故障,一般較廉價。
負載均衡
算法排程:round-robin(rr,輪詢,按順序配置設定)(還有其他算法考慮權重、連接配接數等等因素)
硬體:F5
軟體:LVS、Nginx、HA-PROXY
常見的WEB叢集元件
Apache(web伺服器)、LVS(實作負載均衡)、Nginx(web伺服器)、Memcached(可以了解為緩存)
LAMP—Linux+Apache+MySql+PHP
LNMP—Linux+Nginx+MySql+PHP
什麼是無狀态計算
我們在描述一台伺服器的時候,可以通過序列号、MAC位址、WWPN這些來對伺服器進行描述
那麼将這些描述資訊,抽象成檔案。我們可以對其進行遷移、配置
(舉例:當一台伺服器損壞了,将伺服器配置資訊遷移到另外一個伺服器上,那麼新的伺服器就能內建原伺服器的屬性功能等。能夠達到業務遷移的自動化。)
異構計算
是否使用相同類型的指令集或者說計算方式。
同構計算:使用相同類型指令集和體系架構的計算單元組成系統的計算方式。
異構計算:使用不同類型指令集和體系架構的計算單元組成系統的計算方式。
用到的計算單元:CPU,GPU,FPGA(可程式設計,支援DIY嘛,适用于變化比較快的場景。),ASIC(根據場景設計專用電路,能耗比低,性能強。)
智能加速
華為SSD控制晶片
資料的讀寫需要控制晶片
(海思1812)
華為智能融合網絡晶片
主要應用于雲網絡OVS加速和雲存儲大規模組網低延遲時間兩大場景。
(海思1822)
計算産品智能運維
運維體系的演變
人工&腳本->工具化->自動化->智能化
需要分為三層,底層單機管理系統,第二層基礎設施的管理系統,第三層綜合化網管系統。
闆載管理
BMC
一個獨立的系統,由處理器、小系統、管理軟體組成,可以獨立工作。
一般伺服器才需要BMC,個人PC不帶BMC。
集中管理
eSight Server
華為伺服器叢集管理軟體,一個管理平台
除了可以管理伺服器,還可以管理存儲、交換機/路由器、第三方的裝置(隻要第三方支援SNMP标準協定,就可以通過SNMP協定進行對接,然後納管到eSight Server平台進行管理。)
FusionDirector
華為的一款智能管理軟體
主要針對華為伺服器進行智能運維(版本管理、部署管理-如統一的作業系統安裝、能效管理等等)。
支援對華為機架、刀片、ARM伺服器等等進行統一的管理。
運維工具
什麼情況下使用Ansible?
假設1台伺服器每天淩晨3點需要删除垃圾資料,那麼可以怎麼做?運維人員可以每天3點起來去删垃圾資料。也可以寫Shell腳本,使用定時觸發工具crontab去觸發腳本。
那假設10台,或許你也可以這麼做。通過人肉運維的方式去解決。
如果1000台伺服器,當然也可以寫腳本,但是我們已經有現成的自動化管理工具,就不用重複發明輪子了。
自動化運維工具:Ansible、puppet、chef等等。
我們主要了解Ansible,它的好處:功能強大,輕量級(安裝簡單,不需要在節點上安裝代理軟體),運作環境基于Openssh(openssh是基礎的通用的環境,Ansible通過SSH執行所有功能。)
Host inventory—主機目錄,将需要被納管的主機寫入進來
在Ansible當中,通常是一台主要節點,多台被控節點(master-slave),通過Connection Plugins(連接配接插件)例如SSH,可以對被管理伺服器下發相應指令,對它們進行操作管理。
對于複雜的指令步驟,我們可以寫一個playbook(劇本),在劇本當中将每一步操作内容寫入,然後執行。對于伺服器端它們就會按照playbook當中的操作内容一步一步完成操作
它還會提供其他一些子產品、插件,來幫助我們對slave進行批量運維部署。