VCS基礎知識與概念
VCS全稱VERITAS Cluster Server,顧名思義,就是起到叢集管理的功能。Symantec的VCS整合在SFHA產品中,當然也可以單獨購買VCS,主要是一個HA的角色。
首先作一下廣告,為什麼選擇VCS,呵呵,有什麼好處呢。
(1) 首先當然是秉承VERITAS的產品的優良特性,跨硬體,跨平臺。支援主要廠商的硬體,各種UNIX, windows等,雖然有很多平臺,但是對於管理員來說只需要學會一套命令就可以了,很輕鬆的就可以成為VCS專家了,呵呵。當然也有基於java-GUI的很人性化的介面操作。
(2) 在一個cluster裡面做多可以支援32個node,恩,這足夠了
(3) 支援各種主流的第三方儲存硬體環境,例如SCSI,ISCSI,NAS,SAN
(4) 提供了非常靈活的FAILOVER方式,1對1,1 對多,多對1,多對多。
(5) 支援動態的FAILOVER方式,就是可以根據cluster的情況動態的選擇目標機。
(6) 支援Service Group的FAILOVER,就是說可以支援很多臺有關聯的機器同時FAILOVER
(7) 透過agent提供了很好的擴充套件性,使用者可以簡單的開發出各種agent
(8) 具有很好的穩定性,高效能
廣告打玩了,下面簡要介紹一下VCS的技術,希望各位能夠對VCS有個技術上的認識,我們都是混這口飯的,由於保密原因,有些就不介紹了。
要搞懂VCS,需要對下列這些基本概念搞清楚:
Clusters,Resources and resource types, Agents, Service Groups, Resource Dependencies, Heartbeat
(1) Cluser:
就是叢集,一個叢集就是一群機器來共享同一組硬體儲存裝置,VCS監控這所有機器上執行的程式,出現任何問題,就將它在另一臺機器上執行。一個叢集是透過同一個cluster-ID來識別的。這一組機器透過各種心跳線來保持通訊,詳細的內容在此不表,一個Cluster只能包含一種作業系統,原因很簡單,你不能把執行在AIX上的程式在SOLARIS上啟動阿。
(2) Resources and resource types
資源包括硬體和軟體資源,例如硬碟,網路卡,資料庫,IP地址,程式等等各種概念,這些都可以被VCS控制,狀態基本就是兩種:ONLINE和OFFLINE。VCS的作用就是監控這些資源。資源的概念是邏輯的,例如,可以將IP地址和網路卡設成一個資源。
(3) Agents
針對各種資源,可以開發各種Agent,VCS就是透過Agent來控制各種資源,例如匯入資料庫,啟動等等各種操作。有個朋友說過一句”Agent的成熟度決定了一個產品的成熟度”,呵呵,很有道理啊
(4) Resource Dependencies
恩,任何東西都有依賴性,何況資源阿,例如啟動一個web服務資源,應該先把網路卡和IP啟動吧,如果網路卡資源有問題,這臺機器上所有的資源產不多都應高FAILOVER了,這就是依賴性。
(5) Heartbeat
心跳,主流的保持叢集同步的方式,就看大家誰做的好了。VERITAS整個通訊基本都是自己寫的,主要包括LLT(LOW Latency Thansport)和GAB (Group Membership and Atomic Broadcast)。
LLT依賴於MAC地址實現穩定的底層協議,GAB基於LLT,實現VCS資源的同步。關於LLT和GAB有很多內容,這裡就不敘述了。
(6) Splitbrian
恩,如果一個叢集由於網路原因被分成了2個和多個部分,資源該在哪些機器上啟動呢,這個問題涉及內容很多,以後再討論
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11134849/viewspace-676409/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- IO基礎知識與概念
- Java基礎概念知識Java
- Linux基本知識與基礎命令Linux
- 基礎知識
- ZooKeeper 概念與基礎
- Envoy基礎知識
- DockerFile基礎知識Docker
- Webpack 基礎知識Web
- js基礎知識JS
- React基礎知識React
- 程式基礎知識
- Docker基礎知識Docker
- qml基礎知識
- Mybatis基礎知識MyBatis
- python基礎知識Python
- Hadoop基礎知識Hadoop
- webpack基礎知識Web
- AI 基礎知識AI
- JSP基礎知識JS
- Dart基礎知識Dart
- RabbitMQ基礎知識MQ
- Android基礎知識Android
- 1、基礎知識
- 前端基礎知識前端
- Camera基礎知識
- Kafka 基礎知識Kafka
- Vue基礎知識Vue
- java基礎知識Java
- linux基礎知識Linux
- PRML 基礎知識
- SpringCloud 基礎知識SpringGCCloud
- javascript基礎知識JavaScript
- python 基礎知識Python
- Laravel基礎知識Laravel
- BGP基礎知識
- Redis基礎知識Redis
- CSS基礎知識CSS
- ThinkPHP基礎知識PHP
- PHP基礎知識PHP