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