SIOS SANless clusters

SIOS SANless clusters High-availability Machine Learning monitoring

  • Home
  • 產品
    • SIOS DataKeeper for Windows
    • SIOS Protection Suite for Linux
  • 新闻与活动
  • 伺服器集群简单化
  • 成功案例
    • 台灣成功案例
  • 聯繫我們
  • English
  • 中文 (中国)
  • 中文 (台灣)
  • 한국어
  • Bahasa Indonesia
  • ไทย

如何使用Windows Server 2016從Windows事件觸發電子郵件警報

9 11 月, 2018 by Jason Aw Leave a Comment

使用Windows Server 2016從Windows事件觸發電子郵件警報

循序漸進:如何使用Windows Server 2016從包含事件詳細信息的Windows事件觸發電子郵件警報

介紹

從Windows事件觸發電子郵件警報使用Windows Server 2016只需要幾個步驟。指定觸發該任務時將發生的操作。由於Microsoft已決定棄用“發送電子郵件”選項,因此我們唯一的選擇是啟動程序。在我們的例子中,該程序將是一個Powershell腳本,用於收集事件日誌信息並對其進行解析。這樣,我們就可以發送包含重要日誌事件詳細信息的電子郵件。此工作已在Windows Server 2016上得到驗證。但我懷疑它應該適用於Windows Server 2012 R2和Windows Server 2019。如果您在任何其他平台上工作,請發表評論,如果您需要更改任何內容,請告訴我們。

步驟1-編寫Powershell腳本

首先要做的是寫一個Powershell腳本,運行時可以發送電子郵件。在研究這個問題時,我發現了很多方法來完成這項任務,所以我要向您展示的只是一種方式,但您可以隨意嘗試並使用適合您環境的方法。在我的實驗室中,我沒有運行自己的SMTP服務器,因此我必須編寫一個可以利用我的Gmail帳戶的腳本。您將在我的Powershell腳本中看到,對SMTP服務器進行身份驗證的電子郵件帳戶的密碼是純文本格式。如果您擔心某人可能有權訪問您的腳本並發現您的密碼,請加密您的憑據。Gmail需要和SSL連接。 您的密碼應該是安全的,就像任何其他電子郵件客戶端一樣。我有一個Powershell腳本的例子。與任務計劃程序一起使用時,它將在Windows事件日誌中記錄任何指定的事件時自動發送電子郵件警報。在我的環境中,我將此腳本保存到C: Alerts DataKeeper.ps1

$ EventId = 16,20,23,150,219,220

$ A = Get-WinEvent -MaxEvents 1 -FilterHashTable @ {Logname =“System”; ID = $ EventId}
$ Message = $ A.Message
$ EventID = $ A.Id
$ MachineName = $ A.MachineName
$ Source = $ A.ProviderName


$ EmailFrom =“sios@medfordband.com”
$ EmailTo =“sios@medfordband.com”
$ Subject =“來自$ MachineName的警報”
$ Body =“EventID:$ EventID`nSource:$ Source`nMachineName:$ MachineName`nMessage:$ Message”
$ SMTPServer =“smtp.gmail.com”
$ SMTPClient = New-Object Net.Mail.SmtpClient($ SmtpServer,587)
$ SMTPClient.EnableSsl = $ true
$ SMTPClient.Credentials = New-Object System.Net.NetworkCredential
(“sios@medfordband.com”,“mySMTPP @ 55w0rd”);
$ SMTPClient.Send($ EmailFrom,$ EmailTo,$ Subject,$ Body)

從Powershell腳本生成的電子郵件示例如下所示。使用Windows Server 2016從Windows事件觸發電子郵件警報 您可能已經註意到,此Powershell腳本使用Get-WinEvent cmdlet根據指定的LogName,Source和eventID獲取最新的Event Log條目。然後它解析事件並將EventID,Source,MachineName和Message分配給將用於撰寫電子郵件的變量。您將看到指定的LogName,Source和eventID與您在步驟2中設置計劃任務時指定的ID相同。

第2步 – 設置計劃任務

在任務計劃程序中創建一個任務,如以下屏幕截圖所示。

  1. 創建任使用Windows Server 2016從Windows事件觸發電子郵件警報務確保將任務設置為“運行”,無論用戶是否已登錄。使用Windows Server 2016從Windows事件觸發電子郵件警報
  2.  在“觸發器”選項卡上,選擇“新建”以創建將啟動“在事件上”任務的觸發器。在我的示例中,我將創建一個事件,觸發任何時候DataKeeper(extmirr)將重要事件記錄到系統日誌。使用Windows Server 2016從Windows事件觸發電子郵件警報 創建一個自定義事件和新事件過濾器,如下所示…對於我的觸發器,使用Windows Server 2016從Windows事件觸發電子郵件警報我觸發通常受監控的SIOS DataKeeper(ExtMirr)EventIDs 16,20,23,150,219,220。您需要設置事件以觸發要監視的特定事件。如果要通知來自不同日誌或來源的事件,可以將多個觸發器放在同一個任務中。
    使用Windows Server 2016從Windows事件觸發電子郵件警報
    創建一個新的事件過濾器

     

  3. 配置事件觸發器後,您將需要配置事件運行時發生的操作。在我們的例子中,我們將運行我們在步驟1中創建的Powershell腳本。使用Windows Server 2016從Windows事件觸發電子郵件警報使用Windows Server 2016從Windows事件觸發電子郵件警報
  4. 默認的Condition參數應該足夠了。使用Windows Server 2016從Windows事件觸發電子郵件警報
  5. 最後,在“設置”選項卡上,確保允許按需運行任務,並在任務已在運行時“排隊新實例”。

    使用Windows Server 2016從Windows事件觸發電子郵件警報

步驟3(如有必要) – 修復Microsoft Windows DistributedCOM事件ID:10016錯誤

理論上,如果您正確地執行了所有操作,您應該能夠使用Windows Server 2016從Windows事件觸發電子郵件警報。但是,我在我的一台服務器上遇到了一個奇怪的權限問題。這是我解決問題的方法。希望它也會對你有所幫助。在我手動觸發事件的情況下,或者如果我直接運行Powershell腳本,一切都按預期工作,我會收到一封電子郵件。但是,如果正在監視的某個EventID被記錄到事件日誌中,則不會導致發送電子郵件。我唯一的線索是事件ID:10016。每次我希望任務觸發器檢測到記錄的事件時,它都記錄在我的系統事件日誌中。

日誌名稱:系統
來源:Microsoft-Windows-DistributedCOM
日期:10/27/2018 5:59:47 PM
事件ID:10016
任務類別:無
等級:錯誤
關鍵詞:經典
用戶:DATAKEEPER  dave
電腦:sql1.datakeeper.local
描述:
特定於應用程序的權限設置不授予“本地激活”權限 
對於具有CLSID的COM Server應用程序 
{D63B10C5-BB46-4990-A94F-E40B9D520160}
和APPID 
{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}
給用戶DATAKEEPER  dave SID(S-1-5-21-25339xxxxx-208xxx580-6xxx06984-500) 
來自地址LocalHost 
(使用LRPC)在應用程序容器中運行不可用SID(不可用)。
可以使用組件服務管理工具修改此安全權限。

許多針對該錯誤的Google搜索結果表明該錯誤是良性的。它包含有關如何抑制錯誤而不是修復錯誤的說明。但是,我很確定這個錯誤是我目前失敗的原因。如果我沒有正確解決問題,使用Windows Server 2016從Windows事件觸發電子郵件警報將很困難。經過多次搜索,我偶然發現了這個新聞組的討論。  Marc Whittlesey的回應使我指出了正確的方向。這是他寫的……

在轉到組件服務中的DCOM配置之前,您必須設置2個註冊表項:CLSID密鑰和APPID密鑰。

我建議你按照一些步驟解決問題:

1。 按Windows + R鍵並鍵入regedit,然後按Enter鍵。2。 轉到HKEY_Classes_Root CLSID * CLSID *。3。 右鍵單擊它然後選擇權限。4。 單擊“高級”並將所有者更改為管理員。同時單擊將顯示在所有者行下方的框。5。 適用完全控制。6。 關閉選項卡,然後轉到HKEY_LocalMachine Software Classes AppID * APPID *。7。 右鍵單擊它然後選擇權限。8。 單擊“高級”並將所有者更改為管理員。9。 單擊將顯示在所有者行下方的框。10。 單擊“應用”並向管理員授予完全控制權。11。 關閉所有選項卡,然後轉到管理工具。12。 開放組件服務。13。 單擊“計算機”,單擊“我的電腦”,然後單擊“DCOM”。14。 查找錯誤查看器上顯示的相應服務。15。 右鍵單擊它,然後單擊屬性。16。 單擊安全選項卡,然後單擊添加用戶,添加系統,然後應用 17。 勾選激活本地框。因此,請在此處使用相關密鑰,DCOM配置應該可以訪問灰色區域:CLSID {D63B10C5-BB46-4990-A94F-E40B9D520160} APPID {9CA88EE3-ACB7-47C8-AFC4-AB702511C276}

我幾乎可以逐字逐句地遵循步驟1-15。然而,當我到達第16步時,我真的無法確切地說出他希望我做什麼。起初我將DATAKEEPER dave用戶帳戶完全控制權授予了RuntimeBroker,但這並沒有解決問題。最後我只是在所有三個權限上選擇了“使用默認值”並修復了問題。使用Windows Server 2016從Windows事件觸發電子郵件警報 我不確定這是怎麼發生的。我想我最好把它全部寫下去,以防它再次發生,因為我花了一段時間來弄清楚它。

第4步 – 自動部署

如果需要在多個系統上啟用相同的警報,請將任務導出到XML文件並將其導入其他系統。使用Windows Server 2016從Windows事件觸發電子郵件警報使用Windows Server 2016從Windows事件觸發電子郵件警報 或者甚至更好。 在文件共享上提供XML文件後,通過Powershell腳本自動執行導入作為構建過程的一部分,如以下示例所示。

PS C:> Register-ScheduledTask -Xml(get-content 
'\ myfileshare  tasks  DataKeeperAlerts.xml'|出弦) 
-TaskName“DataKeeperAlerts” - 用戶數據管理員 dave 
-Password MyDomainP @ 55W0rd -Force

使用Windows Server 2016從Windows事件觸發電子郵件警報

在我的下一篇文章中,我將向您展示如何在指定的服務啟動或停止時收到通知。當然,您只需從Service Control Monitor監視EventID 7036即可。但是,只要任何服務開始或停止,這都會通知您。我們需要深入挖掘,以確保只有在我們關心的服務開始或停止時才會收到通知。如果您對我們的操作方法文章感興趣,例如使用Windows Server 2016從Windows事件觸發電子郵件警報,請單擊此處。從Clusteringformeremortals.com轉載

Filed Under: 伺服器集群简单化

Azure Outage Post Mortem第3部分

8 11 月, 2018 by Jason Aw Leave a Comment

蔚藍的停電驗屍

結束Azure Outage Post-Mortem第3部分

我以前的博客帖子,Azure Outage Post-Mortem – 第1部分和Azure Outage Post-Mortem第2部分,基於來自博客帖子和Twitter的有限信息做出了一些假設。我剛剛參加了Ignite的一次會議,它更明確地說明了實際發生的事情。明天某個時候你應該能夠自己查看會話。BRK3075 – 為意外做準備:解決Azure中斷官方根本原因分析即將發布。與此同時,這裡有一些從會話中收集到的信息。

原因

從死後的蔚藍停電中,停電不是由先前報導的雷擊引起的。相反,由於風暴的性質,電風暴下陷和膨脹。結果,它鎖定了第一個數據中心的冷水機組。在第一次停電期間,他們能夠快速恢復冷卻器,沒有明顯的影響。此後不久,第二個數據中心發生了第二次中斷,無法正常恢復。這開始了一系列不幸的事件。

第二次停電

在此次停電期間,微軟表示“工程師沒有正確分類警報 – 冷水機組恢復沒有優先考慮”。此時觸發了大量警報。不幸的是,冷凍機處於脫機狀態並沒有得到應有的優先權。關於為何發生這種情況的RCA仍在調查中。微軟聲稱當然有多餘的冷卻系統。但是,冷卻系統未設置為自動故障轉移。最近安裝的新設備尚未經過全面測試。 所以它被設置為手動模式,直到測試完成。45分鐘後,環境冷卻失敗,硬件停機,空氣處理人員關閉,因為他們認為發生火災。 工作人員因虛假火警而被疏散。在此期間,數據中心的溫度在升高。某些硬件沒有正常關閉,導致某些存儲和網絡損壞。手動重置冷卻器並打開空氣處理器後,溫度開始恢復正常。他們花了大約3小時29分鐘才能全面了解數據中心的狀態。最大的問題是存儲損壞。微軟最關心的是數據保護。Microsoft將努力恢復數據以確保不會丟失數據。這當然需要一些時間,這延長了停機的總長度。好消息是沒有客戶數據丟失。 壞消息是,事情似乎需要24-48小時才能恢復正常。這是基於我在Twitter上從抱怨長時間停機的客戶那裡讀到的內容。

假設

每個人都預計這次中斷會影響在中南部地區的客戶。但他們沒想到的是,停電會對該地區產生影響。在會話中,Microsoft討論了中斷的一些擴展範圍。

Azure服務管理器(ASM)

這可以控制Azure“Classic”資源,AKA,ARM之前的資源。任何依賴ASM的人都可能受到影響。我不清楚為什麼會這樣。南中部地區似乎擁有該服務的一些重要組成部分,而這些組成部分無法使用。

Visual Studio團隊服務(VSTS)

同樣,似乎許多支持此服務的資源都在中南部地區託管。Azure DevOps此博客文章的工程總監Buck Hodges(@tfsbuck)詳細介紹了這次中斷。

POSTMORTEM:VSTS 2018年9月4日

Azure Active Directory(AAD)

當中南部地區失敗時,AAD按照預期的方式行事,並開始將身份驗證請求指向其他地區。隨著東海岸開始醒來並上線,身份驗證流量開始增加。現在通常AAD會通過自動縮放來處理流量的增加。但是自動縮放依賴於ASM,當然它是離線的。如果沒有自動縮放功能,AAD無法處理身份驗證請求的增加。令人惱火的情況是Office客戶端中的一個錯誤,這使得它們具有非常積極的重試邏輯,並且沒有退避邏輯。這種額外的身份驗證流量最終使AAD陷入困境。他們沒有時間在Ignite會議期間進一步討論這個問題。 他們將介紹的一個功能是讓用戶能夠在將來手動故障轉移存儲帳戶。因此,如果恢復時間目標(RTO)比(RPO)更重要,則用戶將能夠在備用數據中心恢復其異步複製的地理冗餘存儲,如果Microsoft未來再次遭遇延長中斷的話。

你現在能做什麼

在此之前,您將不得不依賴其他復制解決方案,例如SIOS DataKeeper Azure Site Recovery。或者是特定於應用程序的複制解決方案,它能夠跨區域複製數據,並能夠在您的控件中實施災難恢復計劃。了解有關我們的蔚藍停電事件的更多信息,經Clusteringformeremortals.com許可轉載

Filed Under: 伺服器集群简单化 Tagged With: 蔚藍的停電驗屍

Azure Outage Post Mortem第2部分

7 11 月, 2018 by Jason Aw Leave a Comment

 蔚藍中斷後驗屍第2部分

發生了什麼?這是我們的Azure Outage Post Mortem第2部分

蔚藍中斷後驗屍第2部分

發生了什麼?這是我們的Azure Outage Post Mortem第2部分

我之前的博客文章稱,雲到雲或混合雲可以讓您與CSP可能遇到的任何問題隔離開來。但是,如果在中南部地區提供可用區,則可以避免由此自然災害造成的大部分停機時間。微軟發布了9月4日南中央停電的初步RCA。整個摘要中最重要的部分如下……

“儘管有現實的冗餘,有一些情景,其中一個數據中心的冷卻故障會影響受影響的數據中心的客戶工作。”

這對你來說代表著什麼?

如果您的應用程序都在同一個數據中心運行,那麼您將來可能會遇到相同類型的中斷。在微軟的辯護中,這對你來說真的不應該是新聞。無論您是在Azure,AWS,Google還是自己的數據中心運行,這一直都是如此。未能提前計劃將數據複製到不同的數據中心以及製定快速恢復應用程序的計劃只是缺乏您的計劃。Microsoft未發布確切的可用區位置。如果你相信這張地圖發表在這裡,你可能會猜到它們可能相距2-10英里。Azure Datacenters.png 除了最極端的情況之外,在可用區之間複製數據應該足以用於數據保護。某些應用程序(如SQL Server)內置了複製技術。但是,對於廣泛的應用程序,操作系統和數據類型,請研究塊級複製SANless群集解決方案。SANless集群解決方案傳統上用於多站點集群。但是,相同的技術也可以在可用區,區域或混合雲中的雲中使用,以實現高可用性和災難恢復。無論是Azure,AWS還是Google,實施跨越可用區的SANless群集都是一個非常簡單的過程,只需要合適的工具。作為宰藍式停電事件的一部分,這裡有一些資源可以幫助您入門。循序漸進:在Azure中配置跨越可用區的文件服務器群集如何在Google Cloud Platform中構建SANless SQL Server故障轉移群集實例MS SQL Server v.Next在具有復制和高可用性的Linux上#Azure #Cloud #Linux在AWS快速入門中的AWS SANless Linux群集中的#Azure資源管理器(ARM)SAN SANless SQL Server群集中部署Microsoft SQL Server 2014故障轉移群集

Azure Outage Post Mortem的教訓

如果您在Azure中,則可能還需要考慮Azure站點恢復(ASR)。ASR允許您將整個VM從一個Azure區域複製到另一個區域。ASR將實時復制您的虛擬機,並允許您隨時進行無中斷的災難恢復測試。它支持大多數版本的Windows和Linux,並且相對容易設置。您還可以創建具有“多VM一致性”的複製作業。這意味著必須從完全相同的時間點恢復服務器,這些時間點可以放在此一致性組中,並且它們將具有完全相同的恢復點。實質上,如果您在單個區域中構建具有DataKeeper的SANless群集以實現高可用性,則DR有兩個選項。一種是您可以將SANless群集擴展到不同區域中的節點,或者可以使用ASR複製一致性組中的兩個節點。ASR

有什麼不同?

與ASR的權衡是RPO和RTO不如使用SANless多站點群集那麼好。雖然它很容易配置並適用於任何應用程序。小心點 如果您的應用程序定期超過10 MBps的磁盤寫入活動,ASR將無法跟上。此外,基於Storage Spaces Direct的群集無法使用ASR進行複制,並且在Azure中使用時通常缺乏良好的DR策略。管理磁盤發布後的一段時間,ASR直到大約一年後才完全支持它們。對於許多希望使用ASR的人來說,對託管磁盤的全面支持是一個很大的障礙。幸運的是,從2018年2月開始,ASR完全支持託管磁盤。但是,剛剛引入了另一個問題。隨著可用區的引入,ASR再次落後於時代。它們目前不支持已部署在可用區中的VM。

2018-09-25_00-10-24
支持矩陣,用於從一個Azure區域複製到另一個Azure區域

無論如何我繼續嘗試了。似乎可以配置複製,我能夠進行測試故障轉移。

我使用ASR從中美到東2複製SQL1和SQL3,並進行了測試故障轉移。除了沒有將VM放置在美國東部的AZ中之外,它似乎也有效。[/ caption]我希望在Ignite會議上找到更多有關此限制的信息。雖然這種限制並不像Managed Disk那樣重要。 因為可用區尚未廣泛使用。因此,希望ASR能夠獲得對可用區的支持,因為其他區域點亮了可用區,並且它們被更廣泛地採用。

了解有關Azure Outage Post Mortem的分析的更多信息,經過Clusteringformeremortals.com的許可轉載

Filed Under: 伺服器集群简单化

Azure Outage Post-Mortem第1部分

6 11 月, 2018 by Jason Aw Leave a Comment

Azure的停電,驗屍-PT-1

Azure Outage Post-Mortem

關於上週發生的Azure Outage,第一次官方Post-Mortems開始出現在微軟上面。第一個Azure Outage Post-Mortem專門解決Azure DevOps中斷問題(以前稱為Visual Studio Team Service或VSTS)。它為我們提供了一些關於中斷的廣度和深度的額外見解。它證實了停電的原因。它還讓我們深入了解了微軟在快速恢復在線狀態時所面臨的挑戰。此外,它暗示了微軟可能會考慮在未來更好地處理這種情況的一些特性/功能。正如我在上一篇文章中提到的,Azure中推出的新可用區等功能可能會最大限度地減少此次中斷的影響。在驗屍中,微軟確認了我之前所說的內容。

我們正在努力改進處理數據中心故障的主要解決方案是可用區,我們正在探索異步複製的可行性。

其他預防措施

在可用區域跨越更多區域推出唯一的災難恢復選項之前,您需要跨區域,混合雲甚至跨雲異步複製。目前可用的基於軟件的#SANless群集解決方案將實現此類配置。 提供非常強大的RTO和RPO,即使在復制很遠的距離時也是如此。借助SaaS / PaaS解決方案,您可以依靠雲服務提供商(CSP)來實施具有鐵的HA / DR解決方案。在這種情況下,似乎有一個非常重要的缺陷暴露。我們只能希望它能引導所有CSP仔細研究他們的SaaS / PaaS產品。以及解決可能存在的任何HA / DR差距。在此之前,消費者有責任了解風險。他們需要盡其所能來降低延長中斷的風險,或者只是在風險得到解決之前選擇不使用PaaS / SaaS。

RTO還是RPO?

驗屍確實是問題的根源……你更重視什麼,RTO或RPO?

我從根本上不想為客戶決定是否接受數據丟失。我有客戶告訴我他們會花費數據丟失來讓一個大型團隊再次快速生產,其他客戶告訴我他們不希望任何數據丟失,並且等待恢復時間不長。

CSP不可能為客戶做出決定。CSP不希望丟失客戶數據,除非原始數據完全丟失且無法恢復。在這種情況下,近乎實時的異步副本與您在意外故障中獲得的RPO一樣好。然而,這次停電是否真的出乎意料而且沒有任何警告?現代衛星圖像和天氣預報的改進給予了公平的警告,該地區將發生重大的天氣相關事件。當我寫這篇文章時,颶風佛羅倫薩正在美國東南部。如果數據中心位於路徑中,請採取主動措施將工作負載移出受影響的區域。主動災難恢復與反應式災難恢復的好處很多。沒有數據丟失,有足夠的時間來解決意外問題。它還包括管理人力資源,使員工可以擔心照顧家人,而不是工作。同樣,制定主動的災難恢復將是CSP代表其所有客戶做出的艱難決定。跨地區的計劃遷移將導致一定程度的停機。這個決定必須由客戶掌握。從Azure Outage Post-Mortem中吸取教訓,教育您的客戶。

Slide 2.png
颶風佛羅倫薩衛星圖像取自新的GOES-16衛星,由Tropical Tidbits提供

得到保護

那麼您可以做些什麼來保護您的業務關鍵應用程序和數據?讓我們從Azure Outage Post-Mortem中汲取一些教訓。採用基於軟件的#SANless集群解決方案的跨區域,跨雲或混合雲模型將大大有助於解決您的HA / DR問題。此外,它還為基於雲的IaaS部署提供了出色的RTO和RPO。除應用程序特定解決方案外,還有其他選項。基於軟件的塊級卷複製解決方案(如SIOS DataKeeper和SIOS Protection Suite)可複制所有數據,並為Linux和Windows平台提供數據保護解決方案。我的大兒子剛剛在羅格斯大學開始他的氣象學本科學位。想像一下,人工智能(AI)和機器學習(ML)處理來自NOAA的天氣相關數據的那一天。他們可以在暴風雨襲擊前兩天觸發計劃的災難恢復遷移?我想我剛剛為他的碩士論文找到了一個完美的主題。或者更好的是,讓他和他在WeatherWatcher LLC的聰明的朋友獲得資金,為一家技術創業公司應用AI和ML來安排相關數據以控制主動災難恢復事件。我認為我們正處於IT分析解決方案的尖端。我們可以應用先進的機器學習技術來減少確保關鍵應用程序服務交付的時間和精力。 SIOS iQ是該領域領先的解決方案之一。壓扁艙口並做好準備。颶風季剛剛開始,我們已經開始瘋狂騎行了。如果您想在Twitter @daveberm上討論您的HA / DR策略,請與我聯繫。

在這裡閱讀其他Azure Outage Post-Mortem
經Clusteringformeremortals.com許可轉載

Filed Under: 伺服器集群简单化

在Azure跨可用區中配置文件服務器故障轉移群集

5 11 月, 2018 by Jason Aw Leave a Comment

配置 - 文件服務器故障轉移群集功能於Azure的跨可用性 - 區

循序漸進:在Azure跨越可用區中配置文件服務器群集

配置 - 文件服務器故障轉移群集功能於Azure的跨可用性 - 區

循序漸進:在Azure跨越可用區中配置文件服務器群集

在本文中,我們將詳細介紹在Azure中部署跨越新可用區的雙節點文件服務器故障轉移群集所需的特定步驟。我將假設您熟悉基本的Azure概念以及基本的故障轉移群集概念。我將重點介紹在Azure中跨可用區部署文件服務器故障轉移群集的獨特之處。如果您的Azure區域尚不支持可用區,則必須使用Fault Domains,如前面的帖子中所述。使用DataKeeper Cluster Edition,您可以獲取本地連接的託管磁盤,無論是高級磁盤還是標準磁盤,並在兩個或多個集群節點之間同步,異步或混合或同時復制這些磁盤。此外,DataKeeper Volume資源在Windows Server故障轉移群集中註冊,該資源取代了物理磁盤資源。DataKeeper Volume不是像物理磁盤資源那樣控制SCSI-3保留,而是控製鏡像方向。它確保活動節點始終是鏡像的源。就故障轉移群集而言,它的外觀,感覺和氣味就像物理磁盤一樣,其使用方式與物理磁盤資源的使用方式相同。

先決條件

  • 您之前使用過Azure Portal,並且很樂意在Azure IaaS中部署虛擬機。
  • 已獲得SIOS DataKeeper的許可證或eval許可證

在Azure中部署文件服務器故障轉移群集

要在Azure中構建雙節點文件服務器故障轉移群集實例,我們假設您具有基於Azure資源管理器的基本虛擬網絡。您至少有一個虛擬機已啟動並正在運行並配置為域控制器。配置虛擬網絡和域後,您將配置兩個新虛擬機,它們將充當群集中的兩個節點。我們的環境將如下所示:DC1 – 我們的域控制器和文件共享見證SQL1和SQL2 – 文件服務器群集的兩個節點。不要讓這些名字讓你感到困惑。我們正在本指南中構建文件服務器群集。在我的下一篇文章中,我將演示SQL Server群集配置。

配置兩個群集節點

使用Azure門戶,我們將以完全相同的方式配置SQL1和SQL2。  有多種選擇可供選擇,包括實例大小,存儲選項等。本指南並不是在Azure中部署服務器的詳盡指南。 有一些非常好的資源,每天都有更多的資源。但是,在創建實例時要記住幾個關鍵事項,尤其是在群集環境中。可用區 – SQL1,SQL2駐留在不同的可用區中非常重要。為了本指南的目的,我們假設您使用的是Windows 2016,並將使用Cloud Witness進行群集仲裁。如果使用Windows 2012 R2或Windows Server 2008 R2而不是Windows 2016,則需要在第3個可用區中配置文件共享見證。直到Windows Server 2016才推出Cloud Witness。通過將群集節點放在不同的可用區中,我們確保每個群集節點位於同一區域中的不同Azure數據中心。利用可用區而不是舊的故障域是有益的。它將您與幾週前發生的中斷類型隔離開來,這些中斷使整個中南部地區連續多天。請務必將每個群集節點添加到其他可用區。如果您利用文件共享見證,它應該位於第三個可用區。[/ caption]

靜態IP地址

配置每個VM後,您將需要進入設置並更改設置,以使IP地址為靜態。我們不希望更改群集節點的IP地址。確保每個群集節點都使用靜態IP [/ caption]

存儲

就存儲而言,您將需要參考Azure虛擬機中SQL Server的性能最佳實踐。在任何情況下,您至少需要為每個群集節點添加至少一個額外的託管磁盤。DataKeeper可以在本地存儲空間中使用基本磁盤,高級存儲甚至多個磁盤。如果您確實要使用本地存儲空間,請注意在任何群集配置之前創建存儲空間。這是由於故障轉移群集和本地存儲空間的已知問題。所有磁盤都應格式化為NTFS。

創建群集

假設已按上述方式配置了兩個群集節點(SQL1和SQL2)並將其添加到現有域中,我們就可以創建群集了。在創建群集之前,需要啟用一些功能。這些功能是.Net Framework 3.5和故障轉移群集。需要在兩個群集節點上啟用這些功能。您還需要啟用FIle服務器角色。在兩個群集節點上啟用.Net Framework 3.5和故障轉移群集功能以及文件服務器。[/ caption]一旦啟用了該角色和這些功能,您已準備好構建群集。我要向您展示的大多數步驟都可以通過PowerShell和GUI執行。但是,我將建議您在第一步中使用PowerShell創建群集。如果您選擇使用故障轉移群集管理器GUI來創建群集,您將發現最終會向群集發出重複的IP地址。在不詳細介紹的情況下,您會發現Azure VM必須使用DHCP。通過在Azure門戶中創建VM時指定“靜態IP”,我們所做的就是創建一種DHCP預留。它不完全是DHCP保留,因為真正的DHCP保留會從DHCP池中刪除該IP地址。相反,在Azure門戶中指定靜態IP只是意味著如果在VM請求它時該IP地址仍然可用,Azure將向其發出該IP。但是,如果您的VM處於脫機狀態且另一台主機在同一子網中聯機,則可能會發出相同的IP地址。

Azure如何實現DHCP的另一個副作用

使用Windows Server Failover Cluster GUI創建群集時,無法指定群集IP地址。相反,它依靠DHCP來獲取地址。奇怪的是,DHCP將發出重複的IP地址。通常與請求新IP地址的主機具有相同的IP地址。群集安裝將完成,但您可能會遇到一些奇怪的錯誤。您可能需要從其他節點運行Windows Server Failover Cluster GUI才能使其運行。一旦運行它,您將需要將核心群集IP地址更改為網絡上當前未使用的地址。只需通過Powershell創建集群並指定集群IP地址作為PowerShell命令的一部分來創建集群,就可以避免這種混亂。您可以使用New-Cluster命令創建集群,如下所示:

New-Cluster -Name cluster1 -Node sql1,sql2 -StaticAddress 10.0.0.100 -NoStorage

群集創建完成後,您還需要運行以下命令來運行群集驗證。您應該會看到有關存儲和網絡的一些警告,但這在Azure中是可以預期的,您可以忽略這些警告。如果報告任何錯誤,您需要在繼續之前解決這些錯誤。

測試群集

創建仲裁群集

如果您運行的是Windows 2016或2019,則需要為群集仲裁創建Cloud Witness。如果您運行的是Windows Server 2012 R2或2008 R2,則需要創建文件共享見證。關於證人創建的詳細說明可以在這裡找到。

安裝DataKeeper

創建集群後,就可以安裝DataKeeper了。在創建初始群集後安裝DataKeeper非常重要,這樣可以向群集註冊自定義群集資源類型。如果在創建群集之前安裝了DataKeeper,則只需再次運行安裝並執行修復安裝。在創建群集後安裝DataKeeper [/ caption]在安裝過程中,您可以使用所有默認選項。 您使用的服務帳戶必須是域帳戶,並且位於群集中每個節點上的本地管理員組中。9 服務帳戶必須是每個節點上Local Admins組中的域帳戶一旦安裝DataKeeper並在每個節點上獲得許可,您將需要重新啟動服務器。

創建DataKeeper卷資源

10 要創建DataKeeper Volume Resource,您需要啟動DataKeeper UI並連接到這兩個服務器。連接到SQL1 [/ caption] 連接到SQL2 [/ caption]連接到每個服務器後,即可創建DataKeeper卷。右鍵單擊Jobs並選擇“Creat13e Job”為作業命名和描述。14 選擇源服務器,IP和卷。IP地址是複制流量是否會傳播。15 選擇目標服務器。16 選擇你的選擇。對於兩個VM位於同一地理區域的目的,我們將選擇同步複製。對於更長距離的複制,您將需要使用異步並啟用一些壓縮。17 通過在上次彈出窗口中單擊“是”,您將在故障轉移群集中的可用存儲中註冊新的DataKeeper卷資源。18 您將在可用存儲中看到新的DataKeeper卷資源。19

創建文件服務器群集資源

要創建文件服務器群集資源,我們將再次使用Powershell而不是故障轉移群集接口。原因在於,再次因為虛擬機配置為使用DHCP,基於GUI的嚮導不會提示我們輸入群集IP地址,而是發出重複的IP地址。為避免這種情況,我們將使用簡單的powershell命令創建FIle Server群集資源並指定IP地址

Add-ClusterFileServerRole -Storage“DataKeeper Volume E”-Name FS2 -StaticAddress 10.0.0.101

記下您在此處指定的IP地址。它必須是網絡上唯一的IP地址。我們稍後在創建內部負載均衡器時將使用相同的IP地址。

創建內部負載均衡器

以下是Azure中的故障轉移群集與傳統基礎結構的不同之處。Azure網絡堆棧不支持免費ARPS,因此客戶端無法直接連接到群集IP地址。相反,客戶端連接到內部負載平衡器並重定向到活動群集節點。我們需要做的是創建一個內部負載均衡器。這可以通過Azure門戶完成,如下所示。如果客戶端通過公共Internet連接,則可以使用公共負載均衡器。但假設您的客戶端位於同一個vNet中,我們將創建一個內部負載均衡器。需要注意的重要一點是,虛擬網絡與群集節點所在的網絡相同。此外,您指定的專用IP地址將與用於創建文件服務器群集資源的地址完全相同。此外,由於我們使用的是可用區,因此我們將創建一個區域冗餘標準負載均衡器,如下圖所示。負載均衡器 創建內部負載均衡器(ILB)後,您需要對其進行編輯。我們要做的第一件事就是添加一個後端池。通過此過程,您將選擇兩個群集節點。後端池 接下來我們要做的就是添加一個Probe。我們添加的探針將探測端口59999。此探針確定群集中哪個節點處於活動狀態。探測 最後,我們需要一個負載平衡規則來重定向SMB流量,TCP端口445。在下面的屏幕截圖中需要注意的重要事項是直接服務器返回已啟用。確保你做出改變。規則

修復文件服務器IP資源

配置的最後一步是在其中一個群集節點上運行以下PowerShell腳本。這將允許群集IP地址響應ILB探測。還要確保群集IP地址和ILB之間沒有IP地址衝突。請注意;您需要編輯此腳本以適合您的環境。子網掩碼設置為255.255.255.255。 這不是一個錯誤,保持原樣。這將創建一個特定於主機的路由,以避免與ILB發生IP地址衝突。

#定義變量
$ ClusterNetworkName =“” 
#群集網絡名稱(在更高的Windows Server 2012上使用Get-ClusterNetwork查找名稱)
$ IPResourceName =“” 
#IP地址資源名稱 
$ ILBIP =“” 
#內部負載均衡器的IP地址(ILB)
導入模塊FailoverClusters
#如果您使用的是Windows Server 2012或更高版本:
Get-ClusterResource $ IPResourceName | Set-ClusterParameter -Multiple @ {Address = $ ILBIP; ProbePort = 59999; SubnetMask =“255.255.255.255”; Network = $ ClusterNetworkName; EnableDhcp = 0}
#如果您使用的是Windows Server 2008 R2,請使用以下命令: 
#cluster res $ IPResourceName / priv enabledhcp = 0 address = $ ILBIP probeport = 59999 subnetmask = 255.255.255.255

創建文件共享

您會發現在故障轉移群集管理器中使用文件共享嚮導不起作用。相反,您只需在活動節點上的Windows資源管理器中創建文件共享。故障轉移群集會自動獲取這些共享並將其放入群集中。請注意,此配置不支持文件共享的“連續可用性”選項。

結論

您現在應該在Azure中具有可用的文件服務器故障轉移群集,該群集跨越可用區。 如果您需要DataKeeper評估密鑰,請填寫http://us.sios.com/clustersyourway/cta/14-day-trial上的表格,SIOS將發送一份發送給您的評估密鑰。

要了解有關群集的更多信息,請單擊此處
經Clusteringformeremortals.com許可轉載

Filed Under: 伺服器集群简单化 Tagged With: 天藍色的文件服務器故障轉移群集, 文件服務器

  • « Previous Page
  • 1
  • …
  • 81
  • 82
  • 83
  • 84
  • 85
  • …
  • 108
  • Next Page »

最近的帖子

  • 繼承 DataKeeper
  • 高可用性與容錯性:關鍵差異詳解
  • 業務連續性計劃,以實現高可用性和災難復原
  • 導致叢集崩潰的 3 個常見配置錯誤
  • 指南:在 Azure 中部署多區域和多區域 SQL Server FCI

最熱門的帖子

加入我們的郵件列表

Copyright © 2026 · Enterprise Pro Theme on Genesis Framework · WordPress · Log in