集群的定義:集群是由一些互相連接在一起的計算機構(gòu)成的一個并行或者分布式系統(tǒng)。這些計算機一起工作并運行一系列共同的應(yīng)用程序,同時,為用戶和應(yīng)用程序提供單一的系統(tǒng)映射。從外部來看,它們僅僅是一個系統(tǒng),對外提供統(tǒng)一的服務(wù)。集群內(nèi)的計算機物理上通過電纜連接,程序上則通過集群軟件連接。這些連接允許計算機使用故障應(yīng)急與負載平衡功能,而故障應(yīng)急與負載平衡功能在單機上是不可能實現(xiàn)的。
集群的優(yōu)點:
高可伸縮性:服務(wù)器集群具有很強的可伸縮性。隨著需求和負荷的增長,可以向集群系統(tǒng)添加更多的服務(wù)器。在這樣的配置中,可以有多臺服務(wù)器執(zhí)行相同的應(yīng)用和數(shù)據(jù)庫操作。
高可用性:高可用性指在不需要操作者干預(yù)的情況下,防止系統(tǒng)發(fā)生故障或從故障中自動恢復(fù)的能力。通過把故障服務(wù)器上的應(yīng)用程序轉(zhuǎn)移到備份服務(wù)器上運行,集群系統(tǒng)能夠把正常運行時間提高到大于99.9%,大大減少服務(wù)器和應(yīng)用程序的停機時間。
高可管理型:系統(tǒng)管理員可以從遠程管理一個甚至一組集群,就好像在單機系統(tǒng)中一樣。
集群技術(shù)的分類:
高性能性集群(HPC Cluster):
不惜成本,追求高性能。
主要用于科研。
高可用性集群(HA Cluster):
使群集的整體服務(wù)盡可能可用。
減少服務(wù)宕機時間為目的。
一個節(jié)點失效,其他節(jié)點接替。
單節(jié)點故障時,整體性能一般會下降。
高可擴展性集群:
常見的web集群組件有Apache、NGINX、LVS、MEMCACHED等。
Apache:
Apache軟件基金會的一個開放源代碼的跨平臺的網(wǎng)頁服務(wù)器,老牌的web服務(wù)器。支持基于Ip或者域名的虛擬主機,支持代理服務(wù)器,支持安全Socket層(SSL)等等。目前互聯(lián)網(wǎng)主要使用它做靜態(tài)資源服務(wù)器,也可以做代理服務(wù)器轉(zhuǎn)發(fā)請求(如:圖片鏈等),結(jié)合tomcat等servlet容器處理jsp。
NGINX:
俄羅斯人開發(fā)的一個高性能的 HTTP和反向代理服務(wù)器。由于NGINX超越Apache的高性能和穩(wěn)定性,使得國內(nèi)使用NGINX作為Web服務(wù)器的網(wǎng)站也越來越多,其中包括新浪博客、新浪播客、網(wǎng)易新聞、騰訊網(wǎng)、搜狐博客等門戶網(wǎng)站頻道等,在3w以上的高并發(fā)環(huán)境下,NGINX處理能力相當(dāng)于Apache的10倍。
LVS:
Linux Virtual Server的簡寫,意即Linux虛擬服務(wù)器,是一個虛擬的服務(wù)器集群系統(tǒng)。由畢業(yè)于國防科技大學(xué)的章文嵩博士于1998年5月創(chuàng)立,可以實現(xiàn)Linux平臺下的簡單負載均衡。
MEMCACHED:
一個高性能分布式內(nèi)存對象緩存系統(tǒng)。是Danga Interactive為了LiveJournal快速發(fā)展開發(fā)的系統(tǒng),用于對業(yè)務(wù)查詢數(shù)據(jù)緩存,減輕數(shù)據(jù)庫的負載。其守護進程(daemon)是用C寫的,但是客戶端支持幾乎所有語言,服務(wù)端和客戶端通過簡單的協(xié)議通信;在MEMCACHED里面緩存的數(shù)據(jù)必須序列化。
圖片來自華為網(wǎng)站。
無狀態(tài)計算定義:英文名稱stateless computing,一般指在計算主體上不存任何狀態(tài)信息或特定配置,各個主體都是無差別部署,這樣的好處就是可快速復(fù)制和銷毀計算資源,通常可通過服務(wù)化等手段抽取狀態(tài)。即計算節(jié)點只提供 CPU、內(nèi)存等計算資源,硬件配置信息都存儲在配置文件中,數(shù)據(jù)集中存儲在磁盤陣列上,實現(xiàn)了網(wǎng)絡(luò)、存儲與計算節(jié)點的無關(guān)性。
無狀態(tài)計算是將計算節(jié)點硬件配置進行抽取,形成配置策略文件(Profile),使硬件配置脫離硬件,從而使硬件配置可離線,可遷移,可批量遠程部署,可導(dǎo)入導(dǎo)出。
華為無狀態(tài)計算是指將服務(wù)器的個性,如 MAC、WWN、UUID、BIOS、固件、啟動順序、VLAN、VSAN、vNIC、VHBA、QoS 等標(biāo)識符、配置和設(shè)置,完全從該個性的宿主物理資源中剝離出來,定義為一個配置文件。當(dāng)服務(wù)器未與配置文件綁定時,服務(wù)器即為裸設(shè)備;當(dāng)配置文件與某臺服務(wù)器綁定后,這臺服務(wù)器即具備了此配置文件中定義的所有個性。
總的來說, 一個計算節(jié)點的設(shè)備配置項由幾個方面組成:網(wǎng)絡(luò)配置,存儲配置,計算配置以及管理配置。
網(wǎng)絡(luò)配置:網(wǎng)絡(luò)接入?yún)?shù)相關(guān)的配置,包括MAC地址,虛擬網(wǎng)卡配置,虛擬網(wǎng)卡VLAN配置,虛擬網(wǎng)卡QoS配置,遠程PXE啟動參數(shù)配置等。
存儲配置:存儲網(wǎng)絡(luò)接入配置以及本地存儲配置,存儲網(wǎng)絡(luò)配置包括FC/FCoE WWN,SAN Boot參數(shù)等。本地存儲則包括本地Raid配置。
計算配置:計算屬性相關(guān)配置,包括啟動OS方式以及啟動順序配置,內(nèi)存RAS配置,節(jié)能配置,虛擬化配置,UUID配置等。
管理配置:計算節(jié)點管理屬性相關(guān)配置,包括系統(tǒng)IPMI行為配置,系統(tǒng)串口配置等。
優(yōu)勢:
□ 解決計算節(jié)點的智能化部署、無縫更換以及遷移
□ 實現(xiàn)數(shù)據(jù)鏈路虛擬化、網(wǎng)絡(luò)虛擬化
□ 減少維護的復(fù)雜度和工作量
作者 | Hardy
責(zé)編 | 阿禿
服務(wù)器對每個從事IT工作的人來說并不陌生,但是服務(wù)器所涉及的各種知識細節(jié),并非大家都十分清楚,為了讓大家深入了解服務(wù)器的關(guān)鍵知識點,筆者特意抽時間總結(jié)了這篇科普文章,旨在幫助讀者全面了解服務(wù)器。今天內(nèi)容就從服務(wù)器的架構(gòu)和分類開始。
按照服務(wù)器體系架構(gòu),服務(wù)器主要分為非x86服務(wù)器和x86兩類。
非x86服務(wù)器包括大型機、小型機和UNIX服務(wù)器,它們是使用RISC或EPIC,并且主要采用UNIX和其它專用操作系統(tǒng),RISC處理器主要包括IBM公司的Power和PowerPC處理器,SUN和富士通合作研發(fā)的SPARC處理器。EPIC處理器主要是Intel研發(fā)的安騰處理器等。
x86服務(wù)器又稱CISC架構(gòu)服務(wù)器,采用Intel或其它兼容x86指令集的處理器芯片和Windows操作系統(tǒng)的服務(wù)器。服務(wù)器按照不同分類方法主要分為如下:
實際上,服務(wù)器的分類沒有一個統(tǒng)一的標(biāo)準(zhǔn),下面從多個緯度來看服務(wù)器的分類,可以加深我們對各種服務(wù)器的認識。
除了從指令集、架構(gòu)和功能進行分類外,還可以從服務(wù)器外觀上分類為塔式、機架、刀片和高密度服務(wù)器。
高度計量單位
U為機柜安裝空間的高度度量單位,1U=44.45 mm=1.75 inch
容量計量單位
是一種容量計量單位,通常在標(biāo)示內(nèi)存等具有一般容量的儲存媒介之儲存容量時使用。一般指磁盤空間、文檔大小時使用。
速率單位
指在一個數(shù)據(jù)傳送系統(tǒng)中,單位時間內(nèi)通過設(shè)備比特、字符、塊等的平均量。一般在描述傳輸速率或帶寬時使用。如果是比特/秒,就用bit/s (kbit/s, Mbit/s) ,如果是字節(jié)/秒,就用B/s (kB/s、 MB/s、 KB/s), 小寫的k代表1000, 大寫的K代表1024。
計算單位和峰值
每秒浮點運算次數(shù)(亦稱每秒峰值速度)是每秒所執(zhí)行的浮點運算次數(shù)(Floating point Operations Per Second)的簡稱,被用來估算電腦效能,尤其是在使用到大量浮點運算的科學(xué)計算領(lǐng)域中。
端口自協(xié)商
是一個以太網(wǎng)的過程,兩個相連的設(shè)備選擇通用的傳輸參數(shù),如速度、雙工模式和流量控制。在這個過程中,連接的設(shè)備首先共享它們的能力(10、100、1000BASE-T ),然后選擇它們都支持的最高性能傳輸模式。在OSI模型中,對于以太網(wǎng),在IEEE 802.3對其做了定義。
服務(wù)器主要軟件
BIOS(Basic Input/Output System) 是服務(wù)器上電后最先運行的軟件。它包括基本輸入輸出控制程序、上電自檢程序、系統(tǒng)啟動自舉程序、系統(tǒng)設(shè)置信息。BIOS是服務(wù)器硬件和OS之間的抽象層,用來設(shè)置硬件,為OS運行做準(zhǔn)備。BIOS設(shè)置程序是儲存在BIOS芯片中的。
UEFI(Unified Extensible Firmware Interface) 下一代BIOS是UEFI, 即統(tǒng)一的可擴展固定接口。這種接口用于操作系統(tǒng)自動從預(yù)啟動的操作環(huán)境,加載到一種操作系統(tǒng)上,從而使開機程序化繁為簡,節(jié)省時間。
CMOS(complementary metal -oxide-semiconductor) 是電腦主機板上一塊特殊的RAM芯片,是系統(tǒng)參數(shù)存放的地方。CMOS存儲器是用來存儲BIOS設(shè)定后的要保存數(shù)據(jù)的。
BMC (baseboard management controller) 對服務(wù)器進行監(jiān)控和管理。
OS(Operating system)和位數(shù),主要分32bit和64bit操作系統(tǒng),計算機處理器在RAM(隨機存取儲存器)處理信息的效率,取決于32位和64位版本。64位版本比32位的可以處理更多的內(nèi)存和應(yīng)用程序。
簡單理解下,64位版本可以處理的物理內(nèi)存在4GB以上,高達128GB,而32位版本最多可以處理4 GB的內(nèi)存。因此,如果你在計算機上安裝32位版本的Windows,那么安裝4GB以上的RAM是沒意義的。
服務(wù)器標(biāo)準(zhǔn)
ATCA(AdvancedTelecom Computing Architecture ) 國際標(biāo)準(zhǔn),ATCA脫胎于在電信、航天、工業(yè)控制、醫(yī)療器械、智能交通、軍事裝備等領(lǐng)域應(yīng)用廣泛的新一代主流工業(yè)計算技術(shù): CompactPCI標(biāo)準(zhǔn)。是為下一代融合通信及數(shù)據(jù)網(wǎng)絡(luò)應(yīng)用提供的一個高性價比的,基于模塊化結(jié)構(gòu)的、兼容的、并可擴展的硬件構(gòu)架。
ATCA由一系列規(guī)范組成,包括定義了結(jié)構(gòu)、電源、散熱、互聯(lián)與系統(tǒng)管理的核心規(guī)范PICMG3.0以及定義了點對點互聯(lián)協(xié)議的5個輔助規(guī)范組成(以太和光纖傳輸、InfiniBand傳輸、星形傳輸、PCI-Express傳輸和RapidIO傳輸)。
OSCA (Open Service Converged Architecture)開放服務(wù)匯聚架構(gòu),是華為基于ATCA標(biāo)準(zhǔn)自研的服務(wù)器平臺。
OSTA (Open Standards Telecom Architecture)是由華為技術(shù)公司生產(chǎn)的強大的服務(wù)處理平臺。它由處理器子系統(tǒng)、交換網(wǎng)絡(luò)子系統(tǒng)、機電子系統(tǒng)和設(shè)備管理子系統(tǒng)組成。
服務(wù)器的邏輯結(jié)構(gòu)
服務(wù)器的構(gòu)成包括處理器、硬盤、內(nèi)存、系統(tǒng)總線等,和通用的計算機架構(gòu)類似,但是由于需要提供高可靠的服務(wù),因此在處理能力、穩(wěn)定性、可靠性、安全性、可擴展性、可管理性等方面要求較高。計算機的五大組成部分,最重要的部分是CPU 和內(nèi)存。CPU 進行判斷和計算,內(nèi)存為CPU 計算提供數(shù)據(jù)。
處理器緩存
緩存的出現(xiàn)主要是為了解決CPU運算速度與內(nèi)存讀寫速度不匹配的矛盾,因為CPU運算速度要比內(nèi)存讀寫速度快很多,這樣會使CPU花費很長時間等待數(shù)據(jù)到來或把數(shù)據(jù)寫入內(nèi)存。CPU緩存是位于CPU與內(nèi)存之間的臨時存儲器,它的容量比內(nèi)存小的多但是交換速度卻比內(nèi)存要快得多。
緩存的工作原理是當(dāng)CPU要讀取一個數(shù)據(jù)時,首先從緩存中查找,如果找到就立即讀取并送給CPU處理;如果沒有找到,就用相對慢的速度從內(nèi)存中讀取并送給CPU處理,同時把這個數(shù)據(jù)所在的數(shù)據(jù)塊調(diào)入緩存中,可以使得以后對整塊數(shù)據(jù)的讀取都從緩存中進行,不必再調(diào)用內(nèi)存。
目前所有主流處理器大都具有一級緩存(level 1 cache,簡稱 L1 cache)和二級緩存(L2 cache), 少數(shù)高端處理器還集成了三級緩存(L3 cache)。
內(nèi)存(Memory)和存儲(Storage)的區(qū)別
大多數(shù)人常將內(nèi)存(Memory)與儲存空間(Storage)兩個名字混為一談,尤其是在談到兩者的容量的時候。內(nèi)存(Memory)是指計算機中所安裝的隨機存取內(nèi)存的容量,而儲存(Storage)是指計算機內(nèi)硬盤的容量。
為了避免混淆,我們將計算機比喻為一個有辦公桌與檔案柜的辦公室。檔案柜代表計算機中提供儲存所有所需檔案及資料的硬盤,工作時將需要的檔案從檔案柜中取出并放到辦公桌上以方便取得,辦公桌就像保持資料及數(shù)據(jù)取用方便的內(nèi)存。
內(nèi)存頻率
內(nèi)存主頻和CPU主頻一樣,習(xí)慣上被用來表示內(nèi)存的速度,它代表著該內(nèi)存所能達到的最高工作頻率。內(nèi)存主頻是以MHz(兆赫)為單位來計量的。內(nèi)存主頻越高在一定程度上代表著內(nèi)存所能達到的速度越快。內(nèi)存主頻決定著該內(nèi)存最高能在什么樣的頻率正常工作。
系統(tǒng)啟動方式
啟動系統(tǒng)通常有三種方式:冷啟動、熱啟動和復(fù)位啟動。
主板南北橋區(qū)別
一個主板上最重要的部分可以說就是主板的芯片組了,主板的芯片組一般由北橋芯片和南橋芯片組成,兩者共同組成主板的芯片組。
北橋芯片主要負責(zé)實現(xiàn)與CPU、內(nèi)存、AGP接口之間的數(shù)據(jù)傳輸,同時還通過特定的數(shù)據(jù)通道和南橋芯片相連接。北橋芯片的封裝模式最初使用BGA封裝模式,到Intel的北橋芯片已經(jīng)轉(zhuǎn)變?yōu)镕C-PGA封裝模式,不過為AMD處理器設(shè)計的主板北橋芯片依然還使用傳統(tǒng)的BGA封裝模式。
南橋芯片相比北橋芯片來講,南橋芯片主要負責(zé)和IDE設(shè)備、PCI設(shè)備、聲音設(shè)備、網(wǎng)絡(luò)設(shè)備以及其他的I/O設(shè)備的溝通,南橋芯片到目前為止還只能見到傳統(tǒng)的BGA封裝模式一種。
交換與路由
交換:完成信號由設(shè)備入口到出口的轉(zhuǎn)發(fā)。只要是和符合該定義的所有設(shè)備都可被稱為交換設(shè)備。
二層交換機工作在數(shù)據(jù)鏈路層。二層交換機就是普通的交換,把數(shù)據(jù)以幀的形式發(fā)送出去。三層交換機工作在網(wǎng)絡(luò)層。三層交換機既可以作交換機又可以做路由器。
路由:是把信息從源穿過網(wǎng)絡(luò)傳遞到目的地的行為,在路上,至少遇到一個中間節(jié)點。它們的主要區(qū)別在于橋接發(fā)生在OSI參考協(xié)議的第二層(鏈接層),而路由發(fā)生在第三層(網(wǎng)絡(luò)層)。這一區(qū)別使二者在傳遞信息的過程中使用不同的信息,從而以不同的方式來完成其任務(wù)。
堆疊和級聯(lián)
級聯(lián)和堆疊是多臺交換機或集線器連接在一起的兩種方式。它們的主要目的是增加端口密度,主要區(qū)別:
級聯(lián)是上下關(guān)系(總線型、樹型或星型的級聯(lián)),堆疊是平等關(guān)系(堆疊中多臺交換機作為一個整體對外體現(xiàn)為一臺邏輯設(shè)備)。
堆疊組建時會選舉出一臺交換機做為主交換機(Master),剩下的交換機稱為從交換機(Slave)。主交換機是整個堆疊系統(tǒng)中的控制中心。堆疊中每一臺交換機都同時具備成為主交換機或者從交換機的能力。
浮點數(shù)精度
時間跳變和漸變
NTP client和server的時間同步有兩種情況: 時間跳變(time step)和漸變(time slew)。時間跳變是指在client和server間時間偏差(Offset)過大時(默認128ms),瞬間調(diào)整client端的系統(tǒng)時間。
時間漸變是指時間差較小時,通過改變client端的時鐘頻率,進而改變client端中"1秒"的"真實時間",保持client端時間連續(xù)性。如果client端比server端慢10s,client端的中每1秒現(xiàn)實時間是1.0005秒,雖然client端的時間仍然是1秒1秒增加的,通過調(diào)整每秒的實際時間,直到與server的時間相同。
FC SAN的Zone
Zone是FC SAN特有一種概念,目的用來配置同一個交換機上面不同設(shè)備之間的訪問權(quán)限。同在一個zone里面的設(shè)備可以互相訪問。Brocade交換機有個Default zone,出廠時候所有交換機端口都在一個default zone里面,默認是不允許互相訪問的。
TPC基準(zhǔn)(Benchmark)標(biāo)準(zhǔn)規(guī)范
TPC(Transaction Processing Performance Council)是由數(shù)10家會員公司創(chuàng)建的非盈利組織,總部設(shè)在美國。TPC的成員主要是計算機軟硬件廠家,而非計算機用戶,它的功能是制定商務(wù)應(yīng)用基準(zhǔn)程序(Benchmark)的標(biāo)準(zhǔn)規(guī)范、性能和價格度量,并管理測試結(jié)果的發(fā)布。
TPC已經(jīng)推出了多套Benchmarks,被稱為TPC-A、TPC-B、TPC-C和TPC-D。其中A和B已經(jīng)過時不再使用了。TPC-C是在線事務(wù)處理(OLTP)的基準(zhǔn)程序,TPC-D是決策支持(Decision Support) 的基準(zhǔn)程序。TPC即將推出TPC-E,作為大型企業(yè)(Enterprise)信息服務(wù)的基準(zhǔn)程序。
TPC-C使用三種性能和價格度量,其中性能由TPC-C吞吐率衡量,單位是tpmC。tpm是Transactions Per Minute的簡稱;C指TPC中的C基準(zhǔn)程序。它的定義是每分鐘內(nèi)系統(tǒng)處理的新訂單個數(shù)。
CPU親和性
處理器親和性又稱處理器關(guān)聯(lián)。通過處理器關(guān)聯(lián)可以將虛擬機或虛擬處理器映射到一個或多個物理處理器上。該技術(shù)基于對稱多處理機操作系統(tǒng)中的Native Central Queue調(diào)度算法。隊列(Queue)中的每一個任務(wù)(進程或線程)都有一個標(biāo)簽(Tag)來指定它們傾向的處理器。在分配處理器的階段,每個任務(wù)就會分配到它們所傾向的處理器上。
處理器親和性利用了這樣一個事實,就是進程上一次運行后的殘余信息會保留在處理器的狀態(tài)中(也就是指處理器的緩存)。如果下一次仍然將該進程調(diào)度到同一個處理器上,就能避免一些不好的情況(比如緩存未命中),使得進程的運行更加高效。
調(diào)度算法對于處理器親和性的支持各不相同。有些調(diào)度算法在它認為合適的情況下會允許把一個任務(wù)調(diào)度到不同的處理器上。比如當(dāng)兩個計算密集型的任務(wù)(A和B)同時對一個處理器具有親和性時,另外一個處理器可能就被閑置了。這種情況下許多調(diào)度算法會把任務(wù)B調(diào)度到第二個處理器上,使得多處理器的利用更加充分。
處理器親和性能夠有效地解決一些高速緩存的問題,但卻不能緩解負載均衡的問題。而且,在異構(gòu)系統(tǒng)中,處理器親和性問題會變得更加復(fù)雜。
簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)
SNMPv1/v2/v3/v2c協(xié)議主要用于網(wǎng)絡(luò)監(jiān)控和管理。在SNMP模型中,有一或多個管理系統(tǒng)和多個被管理系統(tǒng)。每一個被管理系統(tǒng)上有運行一個代理(Agent)軟件通過SNMP向管理系統(tǒng)報告信息。一個SNMP管理的網(wǎng)絡(luò)由下列三個關(guān)鍵組件組成:
天下數(shù)據(jù)與全球近120多個國家頂級機房直接合作,提供包括大陸、香港、美國、韓國、日本、臺灣、新加坡、荷蘭、法國、英國、德國、埃及、南非、巴西、印度、越南等國家和地區(qū)的服務(wù)器租用、云服務(wù)器的租用服務(wù),詳詢天下數(shù)據(jù)客服!