網絡存儲主要技術

網絡存儲主要技術

目錄   

     1.1 NAS簡介html

      1.2 SAN簡介前端

      1.3 SAN與NAS的區別node

      1.4 SCSI訪問控制原理介紹linux

      1.5 NAS實現類型對比:統一式、網關式和橫向擴展式(Scale-out)web

      1.6 SAN網絡性能問題排錯指南算法

      1.7 存儲性能瓶頸的成因、定位與排查數據庫

      1.8 什麼是zone?如何作zone?如何作好zone? windows

      1.9 CIFS安全協議之Kerberos後端

 

     1.1 NAS簡介

在20世紀80年代初,英國紐卡斯爾大學布賴恩.蘭德爾教授 ( Brian Randell)和同事經過「紐卡斯爾鏈接」成功示範和開發了在整套UNIX機器上的遠程文件訪問。繼「紐卡斯爾鏈接」以後, 1984 年Sun公司發佈了NFS協議,容許網絡服務器與網絡客戶分享他們的存儲空間。90年代初Auspex工程師建立了集成的NetApp文件管理器,它支持windows CIFS和UNIX NFS協議,並有卓越的可擴展性和易於部署,今後市場有了專用NAS設備。在短短几年中,NAS憑藉簡便高效應用的中心思想,逐漸成爲網絡數據存儲方案的主打設備之一。目前EMC公司 Celerra產品擁有優異的性能及多功能性,在全球NAS市場處於領導地位。緩存

 

 

NAS概念

 

NAS(Network-Attached Storage,網絡附加存儲)是指鏈接到計算機網絡的文件級別計算機數據存儲,能夠爲不一樣客戶端提供數據存取。

 

NAS被定義爲一種特殊的專用數據存儲服務器,包括存儲器件(一個或多個硬盤驅動器的網絡設備,這些硬盤驅動器一般安排爲邏輯的、冗餘的存儲容器或者RAID陣列)和內嵌系統軟件,可提供跨平臺文件共享功能。NAS一般在一個LAN上佔有本身的節點,無需應用服務器的干預,容許用戶在網絡上存取數據,在這種配置中,NAS集中管理和處理網絡上的全部數據,將負載從應用或企業服務器上卸載下來,有效下降總擁有成本,保護用戶投資。

 

 

 

NAS自己可以支持多種協議(如NFS、CIFS、FTP、HTTP等),並且可以支持各類操做系統。NAS是真正即插即用的產品,而且物理位置靈活,可放置在工做組內,也可放在混合環境中,如混合了Unix/Windows局域網的環境中,而無需對網絡環境進行任何的修改。NAS產品直接經過網絡接口鏈接到網絡上,只需簡單地配置一下IP地址,就能夠被網絡上的用戶所共享。

 

 

NAS特色

 

與採用存儲區域網絡(SAN-Storage Area Network)的方案比較,採用網絡附加存儲(NAS-Network-Attached Storage)結構的方案具備如下特色:

 

1. 以網絡爲中心,開放的標準協議支持

 

區別於存儲區域網絡(SAN)的設計方案,網絡接入存儲(NAS)的模式以網絡爲中心。該方案利用現有的以太網網絡資源來接入專用的網絡存儲設備,而不是另外再部署昂貴的光纖交換機網絡來鏈接傳統的存儲設備,這樣保護了用戶對以太網的投資。

 

近年來,千兆以太網的傳輸帶寬(1000Mbps,爲125MB/s)已經獲得普及,而且有望朝萬兆以太網發展。屆時,以太網的傳輸帶寬將會是10倍於SAN賴以生存的各類SCSI和 Fiber Channel協議的傳輸帶寬。EMC公司Celerra產品支持目前最流行的TCP/IP網絡協議,而使用的NFS和CIFS文件服務協議也是業界標準協議,充分作到設備的兼容性。

 

 

2. 獨立的操做系統

 

Celerra的DART操做系統具有自主知識產權,專一於文件系統的傳輸。該操做系統功能強大,性能優越,保證了文件系統高速可靠的傳輸。 Celerra後端經過SAN網絡鏈接後端存儲設備,擁有多條鏈路冗餘,避免單點故障,保障了數據安全性。用戶的數據只要保存一個拷貝,便可被前端的各類類型的主機所使用,所以,具有主機無關性。Celerra的DART操做系統對於不一樣操做系統Unix和Windows一樣保證了數據共享,而且各自的訪問權限亦可獲得相應的保證。

 

 

3. 安裝及管理簡便

 

NAS無需服務器直接上網,而是採用面向用戶設計的、專門用於數據存儲的簡化操做系統,內置了與網絡鏈接所需的協議,整個系統的管理和設置較爲簡單。Celerra只要現有的網絡具備空閒的網口,在無需關機的狀況下,便可提供給前端不一樣類型主機進行訪問,無需在主機上安裝任何的軟硬件。

 

 

4. NAS底層協議

 

NAS採用了NFS(Sun)溝通Unix陣營和CIFS溝通NT陣營,這也反映了NAS是基於操做系統的「文件級」讀寫操做,訪問請求是根據「文件句柄+偏移量」得出。

 

因爲NAS以上諸多優勢及良好的兼容性,筆者相信NAS將來將會獲得更加普遍的應用。

 

  1.2 SAN簡介

SAN(Storage Area Network的簡稱)直譯過來就是存儲區域網絡,它採用光纖通道(Fibre Channel)技術,經過光纖通道交換機鏈接存儲陣列和服務器主機,創建專用於數據存儲的區域網絡。SAN網絡存儲是一種高速網絡或子網絡,SAN存儲系統提供在計算機與存儲系統之間的數據傳輸。一個SAN網絡由負責網絡鏈接的通訊結構、負責組織鏈接的管理層、存儲部件以及計算機系統構成,從而使SAN技術保證數據傳輸的安全性和力度。

 

SAN具備如下幾點優點:

 

  1. SAN的可擴展性意味着你有少數的磁盤不受鏈接到系統上的限制。SAN能夠增加到數百個磁盤,可是普通物理服務器的極限只有十幾個。

     

  2. SAN的性能不會受到以太網流量或本地磁盤訪問量的制約。數據經過SAN從本身的私有網絡傳送,隔開用戶流量、備份流量和其餘SAN流量。

     

  3. 在正確的配置環境下,SAN數據被區域劃分。用戶保存數據的分區和其餘人處在一樣的SAN.SAN區域隔離就如同將UNIX服務器和Windows服務器鏈接到相同的SAN上,但這兩種服務器上的數據訪問是不一樣的,事實上,Windows系統不能「看到」UNIX的數據,反之亦然。

     

  4. SAN系統不須要從新啓動就能添加新的磁盤,更換磁盤或配置RAID組。數據流徹底避開服務器系統,SAN一樣增長了數據備份和恢復性能。

     

  5. 分區也能夠在SAN上將你的工做負載分離。不只是將你的數據分離保護,並且對那些影響應用程序性能的不相關的工做負載採起屏蔽。在適當的區域應用SAN共享從性能上講不是問題。

     

  6. SAN有個無可比擬的優點,就是存儲鏈接距離爲10千米距離(約6英里)。不是說你必定會用到這個優點,但當你須要的時候,它就能顯現出來。具備距離優點,能夠將數據存儲到一個獨立的位置,從系統服務中脫離出來。

     

  7. 在如SAN這樣的存儲網絡上的自動精簡配置的空間利用效率,要比本地存儲的來得高。當一個系統須要更多的存儲資源時,SAN將動態分配資源。這意味着物理系統能夠享受自動精簡配置,就像虛擬化那樣。

      1.3 SAN與NAS的區別

目前磁盤存儲市場上,存儲分類(以下表一)根據服務器類型分爲:封閉系統的存儲和開放系統的存儲,封閉系統主要指大型機,AS400等服務器,開放系統指基於包括Windows、UNIX、Linux等操做系統的服務器;開放系統的存儲分爲:內置存儲和外掛存儲;開放系統的外掛存儲根據鏈接的方式分爲:直連式存儲(Direct-Attached Storage,簡稱DAS)和網絡化存儲(Fabric-Attached Storage,簡稱FAS);開放系統的網絡化存儲根據傳輸協議又分爲:網絡接入存儲(Network-Attached Storage,簡稱NAS)和存儲區域網絡(Storage Area Network,簡稱SAN)。因爲目前絕大部分用戶採用的是開放系統,其外掛存儲佔有目前磁盤存儲市場的70%以上,所以本文主要針對開放系統的外掛存儲進行論述說明。 

 

表一: 

 

 

 

今天的存儲解決方案主要爲:直連式存儲(DAS)、存儲區域網絡(SAN)、網絡接入存儲(NAS)。以下:

 

表二:

 

 

 

 

開放系統的直連式存儲(Direct-Attached Storage,簡稱DAS)已經有近四十年的使用歷史,隨着用戶數據的不斷增加,尤爲是數百GB以上時,其在備份、恢復、擴展、災備等方面的問題變得日益困擾系統管理員。 

 

 

主要問題和不足爲: 

 

直連式存儲依賴服務器主機操做系統進行數據的IO讀寫和存儲維護管理,數據備份和恢復要求佔用服務器主機資源(包括CPU、系統IO等),數據流須要迴流主機再到服務器鏈接着的磁帶機(庫),數據備份一般佔用服務器主機資源20-30%,所以許多企業用戶的平常數據備份經常在深夜或業務系統不繁忙時進行,以避免影響正常業務系統的運行。直連式存儲的數據量越大,備份和恢復的時間就越長,對服務器硬件的依賴性和影響就越大。 

 

直連式存儲與服務器主機之間的鏈接通道一般採用SCSI鏈接,帶寬爲10MB/s、20MB/s、40MB/s、80MB/s等,隨着服務器CPU的處理能力愈來愈強,存儲硬盤空間愈來愈大,陣列的硬盤數量愈來愈多,SCSI通道將會成爲IO瓶頸;服務器主機SCSI ID資源有限,可以創建的SCSI通道鏈接有限。 

 

不管直連式存儲仍是服務器主機的擴展,從一臺服務器擴展爲多臺服務器組成的羣集(Cluster),或存儲陣列容量的擴展,都會形成業務系統的停機,從而給企業帶來經濟損失,對於銀行、電信、傳媒等行業7×24小時服務的關鍵業務系統,這是不可接受的。而且直連式存儲或服務器主機的升級擴展,只能由原設備廠商提供,每每受原設備廠商限制。 

 

存儲區域網絡(Storage Area Network,簡稱SAN)採用光纖通道(Fibre Channel)技術,經過光纖通道交換機鏈接存儲陣列和服務器主機,創建專用於數據存儲的區域網絡。SAN通過十多年曆史的發展,已經至關成熟,成爲業界的事實標準(但各個廠商的光纖交換技術不徹底相同,其服務器和SAN存儲有兼容性的要求)。SAN存儲採用的帶寬從100MB/s、200MB/s,發展到目前的1Gbps、2Gbps。 

 

網絡接入存儲(Network-Attached Storage,簡稱NAS)採用網絡(TCP/IP、ATM、FDDI)技術,經過網絡交換機鏈接存儲系統和服務器主機,創建專用於數據存儲的存儲私網。隨着IP網絡技術的發展,網絡接入存儲(NAS)技術發生質的飛躍。早期80年代末到90年代初的10Mbps帶寬,網絡接入存儲做爲文件服務器存儲,性能受帶寬影響;後來快速以太網(100Mbps)、VLAN虛網、Trunk(Ethernet Channel) 以太網通道的出現,網絡接入存儲的讀寫性能獲得改善;1998年千兆以太網(1000Mbps)的出現和投入商用,爲網絡接入存儲(NAS)帶來質的變化和市場普遍承認。因爲網絡接入存儲採用TCP/IP網絡進行數據交換,TCP/IP是IT業界的標準協議,不一樣廠商的產品(服務器、交換機、NAS存儲)只要知足協議標準就可以實現互連互通,無兼容性的要求;而且2002年萬兆以太網(10000Mbps)的出現和投入商用,存儲網絡帶寬將大大提升NAS存儲的性能。NAS需求旺盛已經成爲事實。首先NAS幾乎繼承了磁盤列陣的全部優勢,能夠將設備經過標準的網絡拓撲結構鏈接,擺脫了服務器和異構化構架的桎梏。

 

其次,在企業數據量飛速膨脹中,SAN、大型磁帶庫、磁盤櫃等產品雖然都是很好的存儲解決方案,但他們那高貴的身份和複雜的操做是資金和技術實力有限的中小企業不管如何也不能接受的。NAS正是知足這種需求的產品,在解決足夠的存儲和擴展空間的同時,還提供極高的性價比。所以,不管是從適用性仍是TCO的角度來講,NAS天然成爲多數企業,尤爲是大中小企業的最佳選擇。 

 

 

NAS與SAN的分析與比較

 

針對I/O是整個網絡系統效率低下的瓶頸問題,專家們提出了許多種解決辦法。其中抓住癥結並通過實踐檢驗爲最有效的辦法是:將數據從通用的應用服務器中分離出來以簡化存儲管理。 

 

問題: 

 

 

圖 1 

由圖1可知原來存在的問題:每一個新的應用服務器都要有它本身的存儲器。這樣形成數據處理複雜,隨着應用服務器的不斷增長,網絡系統效率會急劇降低。 

 

解決辦法: 

 

 

圖 2 

從圖2可看出:將存儲器從應用服務器中分離出來,進行集中管理。這就是所說的存儲網絡(Storage Networks)。 

 

使用存儲網絡的好處:

 

統一性:形散神不散,在邏輯上是徹底一體的。 

實現數據集中管理,由於它們纔是企業真正的命脈。 

容易擴充,即收縮性很強。 

具備容錯功能,整個網絡無單點故障。 

專家們針對這一辦法又採起了兩種不一樣的實現手段,即NAS(Network Attached Storage)網絡接入存儲和SAN(Storage Area Networks)存儲區域網絡。 

 

NAS:用戶經過TCP/IP協議訪問數據,採用業界標準文件共享協議如:NFS、HTTP、CIFS實現共享。 

 

SAN:經過專用光纖通道交換機訪問數據,採用SCSI、FC-AL接口。 

 

 

什麼是NAS和SAN的根本不一樣點? 

 

NAS和SAN最本質的不一樣就是文件管理系統在哪裏。如圖:

 

 圖3 

由圖3能夠看出,SAN結構中,文件管理系統(FS)仍是分別在每個應用服務器上;而NAS則是每一個應用服務器經過網絡共享協議(如:NFS、CIFS)使用同一個文件管理系統。換句話說:NAS和SAN存儲系統的區別是NAS有本身的文件系統管理。 

 

NAS是將目光集中在應用、用戶和文件以及它們共享的數據上。SAN是將目光集中在磁盤、磁帶以及聯接它們的可靠的基礎結構。未來從桌面系統到數據集中管理到存儲設備的全面解決方案將是NAS加SAN。

      1.4 SCSI訪問控制原理介紹

 

SCSI-2 Reserve(預留)/Release(釋放)/Reset(重置)

 

SCSI-2協議中客戶端訪問lun過程以下:

一、客戶端向lun發起預留操做

二、預留操做成功後,客戶端得到lun操做權限;預留失敗,提示預留衝突,會繼續嘗試,直到預留成功。

三、客戶端操做完畢後,執行釋放操做,其餘客戶端能夠預留。

SCSI-2訪問控制主要缺點有:

一、預留操做基於路徑。預留和釋放必須由相同的客戶端完成,一臺主機不能釋放另一臺主機的預留,同一主機HBA卡不能取消相同主機另一塊HBA的預留。

二、預留沒法長久保留。主機重啓將會丟失預留信息。

三、若是lun已經被預留,其餘主機沒法再預留。若是其餘主機要想得到lun操做權限,必須對lun進行重置,重置操做可能會致使數據丟失。重置後釋放掉lun現有的預留,重置操做由lun主動發起,原來預留主機並不知曉。

 

SCSI-3 Persistent Reserve (PR)/ PREEMPT(搶佔)

 

SCSI-3協議引入PGR(persistent group reservation)功能。在訪問lun以前,客戶端首先向lun註冊(registration)一個預留密鑰(reservation key),註冊成功後客戶端能夠嘗試進行永久預留(reserve),永久預留成功後就能夠得到lun操做權限。預留密鑰是一串16進制的ASCII碼,最長8個字節。永久預留一共6種類型,由一、三、五、六、七、8數字表示。包括兩種操做類型和三種客戶類型,操做類型包括寫排它和全部訪問排他,客戶類型包括全部客戶端、已註冊客戶端和所屬客戶端。數字與永久預留類型對應關係以下:

1-> write exclusive

3-> exclusive access

5-> write exclusive - registrants only

6-> exclusive access - registrants only

7-> write exclusive - all registrants

8-> exclusive access - all registrants.

不一樣註冊類型對應不一樣訪問權限。與SCSI-2不一樣,SCSI-3釋放操做根據預留密鑰。不一樣客戶端能夠使用相同密鑰或是不一樣密鑰進行預留,具體能夠結合永久預留類型決定。客戶端能夠經過搶佔來獲取已被永久預留的lun訪問權限。SCSI-3搶佔和SCSI-2重置不同,搶佔不會形成數據丟失。

SCSI-3關於PGR相關操做命令分爲兩大類:分別是PRIN和PROUT。PRIN主要用於查詢,PROUT用於修改。SCSI命令執行過程當中,須要明確該命令是哪一種類型。

 

常見使用場景

一、 集羣I/O Fencing

爲了防止集羣故障發生「腦裂」現象,2-節點集羣能夠經過SCSI-2 Reseve/Release觸發I/O fencing來保證整個集羣正常運行,是SCSI-2不適用於多-節點集羣,多-節點集羣能夠使用SCSI-3 PGR。主流廠商集羣套件都已經支持SCSI-3 PGR,好比:VCS、HACAMP、RHCS等。

二、 集羣文件系統

集羣文件系統須要保證多節點同時訪問存儲時的數據一致性,SCSI-2/SCSI-3均可以知足,當一個節點嘗試訪問一個已經被預留的存儲就會產生訪問權限衝突。SCSI-3 PGR相比SCSI-2 Reserve/Release更可以減小訪問權限衝突。

 

小結:

 

SCSI-2具體基本訪問控制能力,可是沒法知足Active/Active多路徑環境和集羣多節點訪問存儲的需求。SCSI-3經過引入客戶端註冊和操做權限分類概念,強化並行訪問權限控制,彌補SCSI-2的不足。

參考

 

      1.5 NAS實現類型對比:統一式、網關式和橫向擴展式(Scale-out)

 

介紹

 

NAS主要有三種類型的實現:統一式、網關式和橫向擴展式(Scale-out)。統一NAS使用統一的存儲平臺將基於NAS和基於SAN的數據訪問合併,提供了能夠同時管理二種環境的統一管理界面。網關NAS使用外部存儲來存取數據,網關NAS和存儲的管理操做是分開的。橫向擴展式(Scale-out)NAS可組合多個節點,造成一個集羣NAS系統。本文將對比三種不一樣NAS實現類型。

 

更多信息

 

統一NAS

 

統一NAS提供文件服務,同時負責存儲文件數據,並提供塊數據訪問。它支持用於文件訪問的CIFS和NFS協議,以及用於塊級訪問的SCSI和FC協議。由於基於NAS和基於SAN的訪問合併到同一個存儲平臺,統一NAS下降了企業的基礎設施成本和管理成本。

 

統一NAS的一個系統中包括了一個或多個NAS頭及存儲。NAS頭與存儲控制器鏈接,提供到存儲的訪問。存儲控制器提供了與iSCSI和FC主機的鏈接。存儲可以使用不一樣的磁盤類型(例如SAS、ATA、FC和閃存盤),以知足不一樣的負載需求。下圖顯示的是一個統一NAS鏈接的例子。

 

 

 

網關式NAS

 

網關式NAS設備包含一個或多個NAS頭,使用外部存儲或者獨立管理的存儲。與統一NAS類似,存儲是與其餘使用塊級I/O的應用共享的。這種解決方案的管理功能比統一存儲複雜,由於NAS頭和存儲器的管理任務是分開的。網關式解決方案能夠利用FC基礎設施,例如:交換機等,訪問SAN存儲陣列或直連式存儲陣列。

 

網關式NAS的擴展性比統一NAS好,由於NAS頭和存儲陣列能夠獨立地根據需求進行擴展升級。例如:能夠經過增長NAS頭的方式提高NAS設備的性能。當存儲容量達到上限時,網關NAS設備能夠獨立於NAS頭對SAN進行擴展,增長存儲容量。網關式NAS經過在SAN環境中進行存儲共享,提升了存儲資源的利用率。下圖顯示的是一個網關式NAS鏈接的例子。

 

 

 

橫向擴展式(Scale-out)NAS

 

統一NAS和網關NAS實現都提供了必定的擴展性能,能夠在數據增加和性能需求提升時對資源進行擴展。對NAS設備進行擴展主要涉及增長CPU、內存和存儲容量。擴展性受制於NAS設備對後續增長NAS頭和存儲容量的支持能力。

 

橫向擴展式(Scale-out)NAS可組合多個節點,造成一個集羣NAS系統。只須要向集羣NAS架構中添加節點便可實現資源的擴展。整個集羣可看做是一個NAS設備,資源是集中管理的。在須要擴大容量或提升性能的時候,可向集羣中添加節點,這不會形成停機下線的狀況。橫向擴展NAS能夠集合許多性能和可用性中等的節點,造成集羣系統擁有更好的整體性能和可用性。它還有易使用、成本低以及理論上可無限擴展的優點。

 

橫向擴展式(Scale-out)NAS在集羣中的全部節點上建立了一個單一文件系統。節點的全部信息均可以彼此共享,所以鏈接到任何節點的客戶端均可以訪問整個文件系統。集羣NAS將數據在全部節點間分條,同時使用鏡像或效驗方式進行數據保護。數據從客戶端發送到集羣時,數據被分割,並行分配給不一樣節點。當客戶端發送文件讀取請求時,集羣NAS從多個節點獲取相應的塊,將他們組合成文件,而後將文件發給客戶端。隨着節點的增長,文件系統實現動態擴展,數據在節點之間均衡分佈。每一個增長的節點都增長了整個集羣的存儲、內存、CPU和網絡能力。所以,整個集羣的性能都獲得提高。

 

橫向擴展式(Scale-out)NAS適合解決企業和客戶當前面臨的大數據問題。它統一管理和存儲高速增加的數據,同時又十分靈活,能知足各類性能需求。下圖顯示的是一個橫向擴展式(Scale-out)NAS鏈接的例子。

 

 

 

 

 

應用於

 

 

瞭解統一式、網關式和橫向擴展式(Scale-out)NAS的概念和區別。

 

        1.6 SAN網絡性能問題排錯指南

介紹

 

      主機和FC陣列間出現了性能問題,應該如何排錯?快來看看下面的建議,也許可讓你少走很多彎路。

 

更多信息

 

  1. 因爲性能問題一般難以定位(特別當工程師在以遠程的方式提供服務),事先收集足夠詳細和明確的信息能夠節省後續大量的時間和精力
  • 問題的詳細描述
  • 問題第一次出現是何時?是怎麼發現的?
  • 問題再次出現是何時?
  • 問題最嚴重的時刻是什麼時候?
  • 出現了哪些症狀?
  • 主機上出現了哪些錯誤?
  • 哪些設備(主機的LUN,大型機的UCB)受到影響?
  1. 你是如何測量性能問題的?
  • 曲線圖
  • 圖表
  • 使用的工具和監控協議(如SNMP)採樣時間間隔
  1. 最近針對SAN網絡有什麼變更?提供這些變更的細節
  • SAN網絡中增長或移除的設備,包括主機、存儲陣列、遠程複製設備和交換機
  • 存放或備份的數據量的變化
  • 整個網絡帶寬(SAN、LAN或WAN)的變化
  • 任何其餘會影響到性能的變化
  1. 物理層是否已經都檢查過了?
  • 參考如下步驟排錯光纖交換機端口通信問題
  1.                                             i.    確認涉及通信故障的節點和交換機端口
  2.                                            ii.    確認交換機端口狀態是」 Administratively Up」
  3.                                           iii.    將SFP模塊連同光纖線纜換到同一臺交換機的其它插槽
  4.                                          iv.    若是問題依舊,則交換機有問題。若是問題解決了,則多是SFP模塊、光纖線或節點HBA有問題
  5.                                           v.    若是SFP模塊、光纖線的問題都排除了,則繼續檢查主機端的HBA
  • 若是須要,EMC工程師會幫忙開單並派遣現場工程師上門檢查物理層設備
  • 確認全部鏈路連通性節點(主機到交換機、遠端陣列到交換機、光纖跳線板等)已嘗試過物理復位(重插拔)
  1. 提供出現性能問題的數據路徑上端到端的設備信息
  • 是否有同一數據鏈路上的其餘設備也遇到了性能問題?
  • 後端設備的型號是?
  • 主機類型和版本是?
  • HBA類型和版本是?
  • 主機上安裝的EMC軟件和版本(好比PowerPath)
  • 哪些應用受影響?
  • 提供HBA的pWWN和目標陣列(FA/SP等)的pWWN
  • 提供交換機物理接口信息
  • 提供主機initiator連入的交換機日誌
  • 提供目標陣列連入的交換機日誌
  • 提供光纖網絡邏輯圖(Visio、網絡管理軟件、網絡快照等)

      EMC Connectivity售後團隊會盡最大努力幫助客戶分析並糾正性能問題。但售後團隊主要的工做內容是故障修復(break/fix),若是這一問題最終被確認爲不是由於故障而引發的性能問題,那咱們會將問題移交給EMC Professional Service部門的性能分析團隊來處理。若是您確實須要這一服務的話,EMC售後團隊會幫您聯絡必要的資源。

 

參考

 

EMC知識庫文檔

emc237381 「Connectrix: Troubleshooting SAN performance issues」

emc132384 「How do I troubleshoot Fibre Channel node to switch port communication problems?」

應用於

 

Brocade系列光纖交換機、Cisco MDS系列光纖交換機

        1.7 存儲性能瓶頸的成因、定位與排查

介紹

 

企業數據存儲性能瓶頸經常會發生在端口,控制器和磁盤,難點在於找出引發擁塞的單元,每每須要應用多重工具以及豐富的經驗來查找並解決。

本文詳細闡述存儲瓶頸發生最多見的四種狀況,可能發生的擁塞點,須要監控的參數指標,以及部署存儲系統的最佳實踐。

 

更多信息

 

數據存儲瓶頸的四個常見場景:

 

如下是儲瓶頸發生最多見的四種典型狀況:

 

1.

當多個用戶同時訪問某一業務應用,不管是郵件服務器,企業資源規劃(ERP)系統或數據庫,數據請求會累積在隊列中。單個I/O的響應時間開始增加,短暫延時開始轉變成爲漫長的等待。

這類響應時間敏感型應用的特徵是,不少隨機請求,讀取比寫入更多,I/O較小。最好的方法是:將負載分佈在多塊磁盤上,不然可能形成性能瓶頸。

若是應用增長了更多用戶,或應用IOPS請求增長,則可能須要在RAID組中添加更多磁盤,或數據可能須要跨越更多磁盤,在更多層級作條帶化。

存儲在這樣的狀況下每每首先被懷疑,但大多數狀況下並不是存儲引起,緣由可能在於網絡、應用或服務器。

 

2.

帶寬敏感型應用——如數據備份,視頻流或安全登陸,這類應用當多個用戶同時訪問大型文件或數據流時可能形成瓶頸。

定位這一問題存儲管理員應當從備份服務器開始一路向下檢查至磁盤,緣由可能存在於這一通路的任何地方。

問題不必定發生在存儲,多是因爲備份應用建立的方式或是磁帶系統的工做方式引發的。若是瓶頸定位於存儲,那麼多是因爲服務I/O的磁盤數量不足,在控制器形成爭用,或是陣列前端口帶寬不足。

性能調優須要針對不一樣應用程序負載來完成。針對大型文件和流數據的調優並不適合於小型文件,反之亦然。這也就是爲何在大多數存儲系統中每每作一個平衡,須要用戶嘗試並找出系統的折中。用戶一般須要優化吞吐量或IOPS,但並不須要對二者同時優化。

 

3.

RAID組中的磁盤故障。特別是在RAID 5中會形成性能的降低,由於系統須要重建校驗數據。相比數據讀寫操做,重建會對性能形成更大影響。

即使壞盤是形成故障的根源,但控制器仍是可能成爲瓶頸,由於在重建過程當中它須要不停地服務數據。當重建完成時,性能纔會恢復正常。

 

4.

部署了一種新的應用,而卷存在於處理繁忙郵件系統的同一磁盤。若是新的應用變得繁忙,郵件系統性能將會遭受影響。額外的流量最終會將磁盤徹底覆蓋。

 

存儲瓶頸常發區域:

 

存儲區域網絡(Storage-area network, SAN)/陣列前端口

 

存儲部署於集中化SAN環境時,需考慮服務器和SAN之間的潛在網絡瓶頸。例如,運行多部虛擬機的整合服務器可能不具有支持工做負載要求的足夠網絡端口。添加網絡端口或轉移網絡密集型工做負載至其餘服務器可解決這一問題。如前所述,對於帶寬集中型應用,需考慮NFS有多少Fiber Channel 端口, or iSCSI 端口 or Ethernet 端口,須要用戶站在帶寬的角度來考量整個架構。

 

可能發生的問題包括:

  • 若是陣列中端口數量不夠,就會發生過飽和/過分使用。
  • 虛擬服務器環境下的過量預約
  • 端口間負載不均衡
  • 交換機間鏈路爭用/流量負荷太重
  • 如某一HBA端口負載太重將致使HBA擁塞。使用虛擬機會致使問題更加嚴重。

 

存儲控制器

 

一個標準的主動——被動或主動——主動控制器都有一個性能極限。接近這條上限取決於用戶有多少塊磁盤,由於每塊磁盤的IOPS和吞吐量是固定的。

 

可能出現的問題包括:

  • 控制器I/O過飽和,使得從緩存到陣列可以處理的IOPS受到限制
  • 吞吐量「淹沒「處理器
  • CPU過載/處理器功率不足
  • 性能沒法跟上SSD

 

Cache

 

因爲服務器內存和CPU遠比機械磁盤快得多,需爲磁盤添加高速內存以緩存讀寫數據。例如,寫入磁盤的數據存儲在緩存中直到磁盤可以跟上,同時磁盤中的讀數據放入緩存中直到能被主機讀取。Cache比磁盤快1000倍,所以將數據寫入和讀出Cache對性能影響巨大。智能緩存算法可以預測你須要查找的數據,你是否會對此數據頻繁訪問,甚至是將訪問頻繁的隨機數據放在緩存中。

 

可能發生的問題包括:

  • Cache memory不足
  • Cache寫入過載,引發性能下降
  • 頻繁訪問順序性數據引發cache超負荷
  • Cache中須要持續不斷地寫入新數據,所以若是cache老是在refill,將沒法從cache獲益。

 

磁盤

 

磁盤瓶頸與磁盤轉速有關, 慢速磁盤會引入較多延時。存儲性能問題的排查首先考慮的因素就是磁盤速度,同時有多少塊磁盤可進行併發讀寫。而另外一因素是磁盤接口。採用更快的接口可以緩解磁盤瓶頸,但更重要的是在快速接口與相應更大的緩存大小以及轉速之間取得平衡。一樣,應避免將快速和慢速磁盤混入同一接口,由於慢速磁盤將會形成快速接口與快速磁盤的性能浪費。

 

可能引起的問題包括:

  • 過多應用命中磁盤
  • 磁盤數量不足以知足應用所需的IOPS或吞吐量
  • 磁盤速度過慢沒法知足性能需求及支持繁重工做負荷
  • Disk group每每是classic存儲架構的潛在性能瓶頸,這種結構下RAID最多配置在16塊磁盤。Thin結構一般每一個LUN擁有更多磁盤,從而數據分佈於更多spindle,因增長的併發性而減小了成爲瓶頸的可能。

 

須要監控的指標:

 

曾經一度存儲廠商們強調的是IOPS和吞吐量,但如今重點逐漸轉變成爲響應時間。也就是說,不是數據移動的速度有多快,而在於對請求的響應速度有多快。

 

正常狀況下,15,000 rpm Fibre Channel磁盤響應時間爲4ms,SAS磁盤響應時間約爲5ms至6ms,SATA爲10ms,而SSD少於1ms。若是發現Fibre Channel磁盤響應時間爲12ms,或SSD響應時間變成5ms,那麼就說明可能產生了爭用,可能芯片發生了故障。

 

除了響應時間,其餘須要監控的指標包括:

  • 隊列長度,隊列中一次積累的請求數量,平均磁盤隊列長度;
  • 平均I/O大小千字節數;
  • IOPS (讀和寫,隨機和順序,總體平均IOPS);
  • 每秒百萬字節吞吐量;
  • 讀寫所佔比例;
  • 容量(空閒,使用和保留)。

 

數據存儲性能最佳實踐:

 

性能調優和改進的方式有不少種,用戶固然能夠經過添加磁盤,端口,多核處理器,內存來改善,但問題是:性價比,以及對業務是否實用。本文建議的方式是在預算範圍內找尋性能最大化的解決方案。另一個須要考慮的方面是環境並不是一塵不變,系統部署方案要可以適應環境的改變需求。

 

首先須要考慮刷數據的性能特徵,須要瞭解IO工做狀況是怎樣的。是不是cache友好型?是不是CPU集中型?業務數據很大數量不多,仍是很小但數量不少?另一方面就是構成存儲環境的組件。包括應用,存儲系統自己,網絡。。。瓶頸可能在哪裏,改善哪裏最有效?

 

如下是一些常規建議:

  1. 不要僅僅根據空閒空間來分配存儲,而須要結合考慮性能需求,確保爲吞吐量或IOPS分配足夠多的磁盤。
  2. 在磁盤間均衡分佈應用負載,以減小熱點地區的產生。
  3. 理解應用負載類型,並針對負載選擇匹配的RAID類型。例如,寫密集型應用建議使用RAID 1而不是RAID 5。由於當寫入RAID 5時,須要計算校驗位,需耗費較多時間。而RAID 1,寫入兩塊磁盤速度快得多,無需計算。
  4. 磁盤類型(Fibre Channel, SAS, SATA)與指望性能相匹配。對於關鍵業務應用部署高性能磁盤,例如15,000 rpm Fibre Channel。
  5. 對於I/O密集型應用考慮採用SSD,但並不適用於寫性能重要型應用。只要沒有達到控制器瓶頸,SSD對讀性能提高顯著,但對寫性能提高並無明顯效果。
  6. 採用端對端的監控工具,特別是虛擬服務器環境。虛擬端與物理端之間有一道防火牆,因此,須要穿透防火牆進行端到端的監控。
  7. 有些性能分析工具涵蓋從應用到磁盤,有些僅侷限於存儲系統自己。因爲性能是一個連鎖反應包含不少變量,因此須要全面地分析數據。
  8. 以數據僅寫入磁盤外部扇區的方式格式化磁盤。因減小數據定位時間而在高I/O環境下提高性能。負面做用是至關一部分磁盤容量未能得以使用。

 

應用於

 

存儲性能分析、定位與排查

      1.8 什麼是zone?如何作zone?如何作好zone? 

一.什麼是zone

Zone是FC-SAN交換機上的一種獨有的邏輯配置,經過配置特定的設備加入zone,從而容許設備之間互相通訊。當交換機上配置了zone時,同在一個zone裏的設備之間能夠互相通訊,沒有加入任何zone的設備不能與其餘設備通訊。

早期交換機廠商根據zone的實現方式,把zone分爲hard zone和soft zone,區別在於前者經過硬件芯片來實現,後者經過軟件來實現。後來你們把基於domain ID/端口號的zone叫作hard zone,基於wwn的zone爲soft zone。如今這兩種類型的zone都是基於硬件芯片實現。

Zone的類型:

1.  基於Domain ID/端口號(D,P)的普通zone模式

這種zone容許接在某幾個端口上的設備互相通訊,即便端口上的設備改變也不會影響zone的使用,在更換主機HBA卡時不須要進行任何zone配置的更改。

 

2.  基於wwpn/wwnn的普通zone模式

這種zone容許擁有特定wwn的設備之間互相通訊,不關心設備接在交換機的哪一個口上。當某個設備從一個端口移到另外一個端口時,不須要進行任何zone配置的更改。但更換主機HBA卡時,須要根據新HBA卡的wwn更改zone配置。注意若是交換機上接有NPIV模式的刀片交換機或主機集羣時,必須使用基於wwn的zone

 

3.  混合zone(session based hard zoning)

當一臺設備在兩個或多個zone裏分別使用D,P和wwn模式的zone,這臺設備會進入混合zone模式。在混合zone模式裏的設備在跟其餘設備通訊時須要經過交換機CPU進行軟件驗證。

 

4.  LSAN zone

LSAN zone只有在啓用了FCR時纔會被應用到,它能容許在不一樣的fabric中的設備經過fc router進行通訊。須要在交換機上安裝integrated routing license後才能打開FCR功能。

 

5.  TI zone(Traffic Isolation zone)

TI zone能夠把一根或者多根ISL設置成某個zone的專用ISL,不須要license

 

6.  QOS zone

QOS zone在網絡中出現擁堵時能夠容許高QOS的zone成員優先通訊,須要在交換機上安裝adaptive networking license

 

Zoneset是zone的集合。一臺交換機同時只能啓用一個zoneset,同一個SAN網絡中交換機的active zoneset必須保持一致,否則會形成網絡分裂(fabric segment)

Alias,或叫作別名,是使配置zone更簡便的一個功能。對於每臺設備,能夠預先設置好alias,以後在配置zone時使用alias來代替D,P或wwn

Default zone:思科與博科交換機都有default zone,它的功能是在沒有任何zone配置時容許全部鏈接在交換機上的設備互相通訊。

 

二.如何作zone

  1. 1. 博科交換機CLI命令行:

首先對每一個須要作zone的設備建立alias,而後建立zone並把alias加入,建立cfg(zoneset)並把須要的zone加入,最後啓用cfg

幫助命令: zonehelp

顯示現有配置:cfgshow

建立/增長成員/移除成員/刪除alias

     alicreate "aliName","member[; member...]"

     aliadd "aliName","member[; member...]"

     aliremove "aliName","member[; member...]"

     alidelete "aliName"

建立/增長成員/移除成員/刪除zone:

     zonecreate "zonename", "member[;member...]"

     zoneadd "zoneName", "member[;member...]"

     zoneremove "zoneName", "member[;member...]"

     zonedelete "zoneName"

注意:根據zone的最佳實踐,EMC推薦每一個zone裏只放一個initiator(主機,Vplex的BE口等)。多個initiator互相zone在一塊兒會致使不少反常現象。

建立/增長成員/移除成員/刪除cfg

     cfgcreate "cfgName", "member[;member...]"

     cfgadd "cfgName", "member[;member...]"

     cfgremove "cfgName", "member[;member...]"

     cfgdelete "cfgName", "member[;member...]"

保存/啓用cfg

     cfgsave

     cfgenable "cfgName"

注意:激活某個cfg會使其餘正被使用cfg中止工做,一個fabric裏同時只能有一個cfg處於工做狀態。

更改default zone配置:

     defzone [--noaccess | --allaccess | --show]

 

  1. 2. 博科交換機GUI界面:

進入webtools後點擊Zone Admin,進入zone配置界面。

V6.x.x界面:

1.jpg

V7.x.x界面:

2.jpg

進入Zone Admin後v6.x.x與v7.x.x版本的界面基本一致。

3.jpg

建立alias

4.jpg

點擊New鍵或右邊的new alias鍵,輸入alias名字,注意只能輸入數字字母或下劃線。

5.jpg

點擊OK後注意6.jpg 欄內已經顯示剛纔輸入的alias名字,而後從左邊的列表裏選中相應的wwn或交換機端口,點擊add member鍵加入右邊的alias members裏。

建立zone並添加成員:

選中標籤頁中的zone標籤,點擊New按鍵,輸入zone名字並點擊OK

7.jpg

而後從左邊列表裏選中相應的wwn,交換機端口或以前設置好的alias,點擊add member鍵加入右邊的zone members裏。

注意:根據zone的最佳實踐,EMC推薦每一個zone裏只放一個initiator(主機,Vplex的BE口等)。多個initiator互相zone在一塊兒會致使不少反常現象。

 

建立cfg並添加成員:

選中標籤頁中的zone config標籤,點擊New鍵,輸入cfg的名字並點擊OK

9.jpg

而後從左邊列表裏選中相應的zone,點擊add member鍵加入到右邊的zone config members裏。

 

保存並激活cfg

選中標籤頁中的zone config標籤,查看name右邊下拉菜單,確認當前的cfg是須要激活的cfg

9.jpg

點擊save config按鈕,保存以前更改好的cfg

點擊enable config按鈕,激活當前選中的cfg

注意:激活某個cfg會使其餘正被使用cfg中止工做,一個fabric裏同時只能有一個cfg處於工做狀態。

 

更改default zone配置:

點選zoning actions菜單,選中set default mode裏的no access或all access

10.jpg

 

3. 思科交換機CLI命令行:

思科交換機與博科交換機最大的不一樣就是vsan,每一個vsan都擁有本身獨立的zone和zoneset

其次還有enhanced zoning與basic zoning的區別。

enhanced zoning會在用戶試圖更改zone配置時建立一個session,防止其餘用戶同時更改配置形成配置丟失。開啓了enhanced zoning功能的交換機在作完zone配置更改以後須要commit以使配置生效並關閉session

另外須要注意的是enhanced zoning會自動開啓廣播zone,而MDS9500系列在升級到第四代端口板的時候須要禁用廣播zone才能是第四代端口板生效。

顯示命令:

     # show fcalias vsan x

     # show zoneset vsan x

     # show active zoneset vsan x

     # show zone status vsan x

啓用enhanced zoning

     # configure terminal

     (config)# zone mode enhanced vsan x

更改alias

     (config)# fcalias name A123 vsan x

     (config-fcalias)# member pwwn 10:00:00:00:00:00:00:00

     (config-fcalias)# exit

     (config)# zone commit vsan x

更改zone

     (config)# zone name zone123 vsan x

     (config-zone)# member interface fc1/1

     (config-zone)# member pwwn 20:00:00:00:00:00:00:00

     (config-zone)# member fcalias A123

     (config-zone)# exit

     (config)# zone commit vsan x

更改zoneset

     (config)# zoneset name zoneset123 vsan x

     (config-zoneset)# member zone123

     (config-zoneset)# exit

     (config)# zone commit vsan x

激活zoneset(只在basic zone模式下有效)

     (config)# zoneset activate name zoneset123 vsan 1

禁用廣播zone

     (config)# no zone broadcast enable vsan x

 

4. 思科交換機GUI界面(DCNM與DCFM基本一致)

點擊DCNM界面zone菜單中的edit local full zone database…

11.jpg

編輯zone的界面以下:

13.jpg

編輯fcalias

首先在左下角找到fc-alias,右鍵點擊insert並輸入alias名和wwn

14.jpg15.jpg

點擊OK後建立alias的窗口並不會馬上關閉,能夠更改alias名和wwn,再點擊OK來連續建立其餘alias

 

編輯zone

點擊左下角的zones,右擊並選中insert,能夠建立zone

16.jpg17.jpg

點擊OK後會看到新創的zone顯示在列表裏,在左下角點開zones前的加號,選中新增的zone來編輯其成員。

18.jpg19.jpg

在右下角的列表裏找到相應的wwn或device alias,點擊add to zone加入到zone裏,或在左下角把fcalias拖進相應的zone裏。

20.jpg

編輯zoneset

把以前編輯好的zone從左下角拖進左上角的zoneset便可。

 

確認編輯/激活zoneset

點擊右下角的commit changes按鈕,會把對該vsan作的更改發佈到整個SAN網絡裏。

21.jpg

選中某個zoneset,點擊右下角的activate按鈕,會顯示以前對這個zoneset作過的更改。

22.jpg

23.jpg

點擊close以後顯示保存running-config到startup-config的對話框,若是確實要執行該操做,打上選項前的勾並點擊continue activation

24.jpg

25.jpg

顯示success了就說明激活zoneset並保存配置成功了。

 

 

三.如何作好zone

作一個zone很簡單,可是如何作好zone,卻要考慮到方方面面的問題。

1.  推薦使用wwn zone(客戶有特殊要求或FICON環境除外),緣由以下:

1)  port zone只能經過物理隔離來保證zone安全,而wwn zone能限制只有指定設備才能訪問zone

2)  NPIV和AG環境中,只能使用wwn zone來劃分zone給cluster上的主機或虛機。

3)  IVR/FCR和磁帶加速技術只能使用wwn zone

 

2.  LUN masking和zone同時使用

Zone和LUN masking均可以隔離主機和存儲之間的通訊,可是這二者做用在不一樣的層面。Zone在交換機上面生效,LUN masking在存儲端口生效,二者沒法作相互取代。

 

3.  alias命名應該清晰易懂,確保不會混淆。

 

4.  博科交換機儘可能避免使用混合zone模式。博科交換機在6.4.3以前有一個bug,會致使在混合zone裏的主機自動登出存儲。

 

5.  思科交換機使用enhanced zoning,防止多個用戶同時更改zone配置致使配置丟失。

 

6.  關閉default zone,避免未經驗證的設備登入網絡。

 

 

附錄:

相關命令可參考EMC論壇專題:https://community.emc.com/docs/DOC-32182

SAN網絡學習資料可參考EMC論壇專題:https://community.emc.com/thread/147284

EMC的SAN網絡專家認證考試爲E20-532,詳細內容可參考如下連接:https://education.emc.com/content/_common/docs/exam_descriptions/e20_532_SA_Networked_Storage_SAN_Specialist_exam.pdf

      1.9 CIFS安全協議之Kerberos

 你們都知道對於NAS的CIFS 來講,NTLM和Kerberos是兩個比較重要的驗證方式。今天咱們來討論一下做爲CIFS安全認證之一的Kerberos協議。

         Kerberos 是一種依賴於驗證技術共享密鑰的協議,其基本概念很簡單,若是一個祕密只有兩我的知道,任何一我的均可以經過他們之間共享的祕密來肯定對方的身份。用技術的語言來說,就是對稱加密,互相確認。

     說到這裏,可能有人會問,NTLM也是CIFS的安全認證啊,爲何Kerberos會用的更普遍呢?他的優勢又在哪呢?相信你們瞭解了Kerberos的工做原理以後就會清楚了。

 

Kerberos認證和咱們看電影的過程差很少,主要分三個步驟:

第一步諮詢:用戶登錄domain

第二步買票:用戶得到service票據

第三步來訪:使用服務票據訪問某服務

kerberos.png

 

 

  • 用戶登錄domain (Logging into the Domain)

1. Authentication Server request

    AS_REQ,即上圖步驟(1)

 

           一個用戶在一臺Client機上第一次登錄時,會有弾框提示輸入用戶名和密碼。這時用戶密碼信息會經過Hash算法產生一個用戶的Long Term Key(LTK),再和用戶登錄Client端時的時間戳一塊兒進行加密,而後這個用戶驗證請求被髮送給Kerberos Data Center(KDC),並要求KDC返回一個相應的Ticket Granting
Ticket(TGT)。

 

2. Authentication Server response

     AS_REP,即上圖步驟(2)

 

 

        KDC在數據庫中先找到該用戶的密碼,並用一樣的Hash算法生成一個LTK。 而後KDC經過LTK從預認證信息Preauth包KRB_AR_REQ中解密出用戶信息和時間戳, 若是用戶信息無誤,而且時間戳和目前信息相差在5分鐘以內,KDC會認爲該用戶驗證經過。KDC將生成一個TGT,並準備把TGT返回給Client。

 

 

     在生成TGT的同時,KDC生成一組隨機數做爲Logon Session Key,並讓他和客戶端傳來的LTK再次進行加密,產生一個名叫enc-part的信息放在該KRB_AS_REP包中,KDC還會用生成的TGT與能被全部KDC識別的LTK進行加密,再次產生一個enc-part放在TGT的頭中,這樣就獲得了一個只有KDC能解開的TGT,最後把這個TGT加入KRB_AS_REP包中併發送至Client端。

 

3. Ticket cache

           Client端收到KRB_AS_REP後會用本身的LTK來解密KRB_AS_REP中的enc-part,這裏咱們默認會獲得KDC選用的隨機數Logon Session Key。這時候Client端將會把獲得的Logon Session Key和KRB_AS_REP中帶有原始時間戳的TGT一塊兒存入票據內存中準備給下面過程使用。

PS:這時候KDC爲了減小自身負擔,並無吧Logon Session Key保存在本身這邊,全部只有這個用戶在Client端的票據內存裏面纔有該記錄了。

 

 

  • 用戶得到service票據(Getting a Service Ticket)

 

1. Ticket Granting Server request

     TGS_REQ,即上圖步驟(3)

 

 

Client端接下來會拿着TGT去告訴KDC我要訪問某服務,並讓KDC給他訪問該服務的票據(service ticket),之後他就能夠拿着這張票據直接訪問該服務了. Client端用如今的時間戳和以前存在票據內存中的Logon Session Key進行加密生成Authenticator,而後再把帶有原始時間戳的TGT一塊兒打包發送給KDC等待驗證。

 

2.  Ticket Granting Server response

     TGS_REP,即上圖步驟(4)

 

KDC收到KRB_TGS_REQ後會用本身的LTK解密出TGT,而後看看TGT中的原始時間戳,若是來肯定TGT如今仍是處於有效的狀態,KDC就會從TGT中讀取Logon Session Key,並用這個Logon Session Key解密Authenticator來得到第二次記錄的時間戳,若是該時間差在5分鐘以內,KDC認爲驗證成功,並將生成一個service ticket。

PS:Kerberos爲了防止重演攻擊,特別加入了對時間戳的驗證。

接下來KDC又會生成一組叫作Service Session Key的隨機數,並把這組隨機數和service ticket中記錄的Logon Session Key進行加密,產生一個名叫enc-part的信息放在該KRB_TGS_REP包中,KDC還會用生成的service ticket與能被全部KDC識別的LTK進行加密,再次產生一個enc-part放在TGS的頭中,這樣就獲得了一個只有KDC能解開的service ticket,最後把這個service ticket加入KRB_AS_REP包中併發送至Client端。

 

3. Ticket Cache

 

     Client收到KRB_TGS_REP後,經過票據內存中的Logon Session Key解密enc-part,而後獲得KDC生成的Service Session Key。最後把Service Session Key和service ticket一塊兒做爲訪問目標服務器的Credential存入票據內存中。

 

 

  • 使用服務票據訪問某服務(Using the Service Ticket)

 

1. Application Server request

    AP_REQ,即上圖步驟(5)

   

     通過上面的兩次驗證,Client如今就能拿着服務票據去訪問該服務了。Client記錄下時間戳,並讀取內存中的Service Session Key與他進行加密生成新的Authenticator,同時用戶還要標記好本身是否須要雙向認證 (Mutual
Authentication),最後再加上以前的服務票據一塊兒發送給該服務的server(在NAS系統中相對應的服務就是CIFS,server就是咱們加入domain的CIFS server)。

 

2. Application Server response

     AP_REP,即上圖步驟(6)

 

NAS收到這個加密的KBR_AP_REQ以後,用本身的LTK進行解密。接着server從service ticket裏面讀出service session Key來解密Authenticator中的時間戳。若是時間差小於5分鐘,NAS就容許該用戶對他進行訪問了,而且爲這個Client上的這個用戶建立一個security token。

 

Kerberos優勢:

 

雖然上面Kerberos的工做原理稍微有點複雜,不過咱們仍是能從中看出Kerberos的高效性,相互身份驗證以及互操做性的優勢。

 

    1. 高效性:客戶端不用每次訪問NAS時都去DC驗證,而經過查詢client credentials就能夠驗證了。
    2. 相互身份驗證:client和server能夠互相驗證。
    3. 互操做性:微軟的Kerberos V5實現是基於IETF的推薦標準規範。這樣,Windows Server 2003的Kerberos V5實現就爲其餘使用Kerberos V5協議的網絡的互操做打下了基。
相關文章
相關標籤/搜索