天天看點

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

第一篇

http://www.cnblogs.com/lyhabc/p/4678330.html

第二篇

http://www.cnblogs.com/lyhabc/p/4682028.html

第三篇

http://www.cnblogs.com/lyhabc/p/4682986.html

第四篇

http://www.cnblogs.com/lyhabc/p/6136227.html

搭建非域AlwaysOn win2016+SQL2016

http://www.cnblogs.com/lyhabc/p/6498712.html

SQL Server AG叢集啟動不起來的臨時自救大招

http://www.cnblogs.com/lyhabc/p/6953255.html

安裝完之後别忘了還需要安裝SSMS,這是坑爹的地方之二,幹嘛不內建到SQL Server安裝包裡還要使用者自己單獨下載下傳

下載下傳位址:https://msdn.microsoft.com/en-us/library/mt238290.aspx?f=255&MSPPError=-2147217396

AlwaysOn是SQL Server2012推出的最新的高可用技術,用以取代原有的SQL Serve鏡像

網上的 AlwaysOn可以說是非常的多,也可以說是非常的千篇一律,而且很多都是搭建非常順利的,沒有坑的,難道搭建 AlwaysOn真的可以這麽順利嗎??????

由于公司使用的是最新的Windows Server 2012 R2,網上用的都是Windows Server 2008 R2 ,2012 R2和2008 R2在故障轉移叢集界面菜單和AD 服務管理工具

已經有較大變化,有一些步驟跟Windows Server 2008 R2可能會不一樣。

本文希望能夠詳細的在Windows Server 2012 R2 搭建 AlwaysOn的過程寫出來,減少大家踩坑的機會 。

實驗環境:

(1) SQL Server 2012 

(2) Windows Server 2012 R2 DataCenter   64位

(3) VMware-workstation 10.0

作業系統:都是Windows Server 2012 R2   DataCenter  64位(win2012/win2012R2 隻有DataCenter 版本才能使用故障轉移叢集)

當然,生産環境伺服器最好每台伺服器都配置兩個網卡,一個網卡用作業務,一個網卡用作心跳,當然一個網卡也沒有什麼問題

至于各個計算機的計算機名我這裡不做修改,在真實生産環境計算機名是需要修改的

計算機名

域控:win-felbg10uu7f

node1:win-7107jjj2bcc

node2:win-5pmsdhui0kq

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

故障轉移叢集VIP跟AlwaysOn 的VIP的作用是不一樣的

故障轉移叢集VIP(192.168.66.170)是讓你連接配接故障轉移叢集管理器的叢集用的,而不是讓你連接配接AlwaysOn 

AlwaysOn 的VIP(192.168.66.171)是讓你連接配接AlwaysOn 的

是以故障轉移叢集VIP跟AlwaysOn 的VIP不能一樣!

步驟

下面使用step by step guide的方式來展示怎麽安裝域控

注意:先把各台機器的防火牆關掉。

域控端

1、配置域控ip,ipv6去掉,因為DNS伺服器就安裝在域控上,是以首選DNS伺服器填寫:127.0.0.1 回環位址

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

2、安裝AD域服務

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)
從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

 安裝AD域服務的同時,作業系統會同時安裝好DNS伺服器

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

3、點選伺服器管理器右上角的小旗幟,彈出對話框,點選“将此伺服器提升為域控制器”以提升為域控

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

4、進入AD域服務配置向導,設定域名 abc.com

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

5、設定DSRM密碼為123456

預設林中的第一棵域樹的根域的域控制器必須擔當全局編錄伺服器和必須安裝DNS服務,不能是隻讀域控制器

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

建立DNS委派,直接跳過,不設定

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

NetBIOS名稱不需要設定,至于什麼是NetBIOS名稱,可以在本文最後的兩本書中進行了解

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

AD DS資料庫檔案路徑保持預設就可以了,當然将日志檔案和資料庫檔案放在不同的磁盤有助提升性能,更多資訊可以在本文最後的兩本書中進行了解

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

6、安裝完AD DS之後會自動重新開機伺服器,重新開機伺服器之後打開DNS管理器

可以看到域控制器win-felbg10uu7f.abc.com已經将主機名(win-felbg10uu7f)和IP位址(192.168.66.155)注冊到DNS伺服器内

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)
從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

可以看到動态更新已開啟

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

在_tcp檔案夾内,_ldap記錄和_gc記錄說明這台伺服器已經正确注冊為域控制器和擔當全局編錄伺服器

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

注意:如果在_tcp檔案夾内沒有_ldap記錄和_gc記錄相關的記錄,那麼請重新開機Netlogon服務來重新注冊

7、檢查AD域服務和Netlogon服務是否正常啟動

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)
從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

8、在AD使用者和計算機裡添加域使用者DCADMIN,請務必記住DCADMIN的密碼,因為後面第二篇和第三篇都需要用到DCADMIN這個域使用者

注意:如果域控機器上預設的Administrator本地計算機賬戶沒有被禁用的話,在安裝完域控之後,Administrator本地賬戶會從本地的SAM本地賬戶移動到域賬戶(這時候本地賬戶已經不存在Administrator這個賬戶,除非将域控進行降級)

這時候其他非域控機器都可以利用Administrator域賬戶進行登入,但是我們一般不使用Administrator域賬戶,而是建立一個域使用者來做,這裡就是另外建立一個DCADMIN賬戶

詳細可以檢視《Windows Server2012系統配置指南》書

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)
從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)
從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)
從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

域使用者DCADMIN建立完畢

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

9、将這個域使用者加入到域計算機組和域管理者組

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)
從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)
從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)
從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

9、将系統自動更新關閉掉

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

win2016

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

用戶端

1、設定用戶端ip,ipv6去掉,注意要設定網關,禁用TCP/IP上的NetBIOS

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

2、加域,填寫域名abc.com,并輸入剛剛在 AD域使用者(DCADMIN)和密碼

加域之前最好在用戶端先ping一下DNS(abc.com)和域控的IP,看能否ping通,如果ping不通,加域肯定不成功了,需要進一步排查為什麽ping不通

需要先檢查一下防火牆,一般都是防火牆的問題

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)
從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

在用戶端的網絡和共享中心可以看到機器目前已經加入abc.com這個域網絡

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

加域之後,在域控的DNS管理器裡能看到新添加的機器的主機和IP位址

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

在AD使用者和計算機裡的Computers容器裡也能看到新添加的機器

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

3、加域後用戶端計算機會自動重新開機,重新開機後使用本地Administrator使用者登入計算機,先不要用DCADMIN這個域使用者來登入計算機

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

4、打開計算機管理-》本地使用者群組,選擇組,選中Administrators組,右鍵-》添加到組

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

點選添加

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

輸入域使用者(DCADMIN)和密碼

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)
從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

這樣DCADMIN域使用者就有了這台用戶端計算機的Administrator權限

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

5、将系統自動更新關閉掉

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

另一台用戶端計算機的配置這裡就不再叙述了,步驟都是一樣的

最後在域控裡檢視DNS和AD Computers容器,兩個節點都已經添加成功

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)
從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

總結

通過上面的步驟示範,在搭建AD DS服務的時候有一些地方是需要注意的,希望大家能夠看清楚截圖,一步一步進行配置,基本上就沒有問題了

現在AlwaysOn可用性組已經完全支援 Windows Azure ,可以把輔助副本部署到 Windows Azure 上

希望通過這篇文章讓大家體會到新一代高可用技術AlwaysOn的強大,下一篇是安裝并設定故障轉移叢集

參考文章

AlwaysON – HADRON Learning Series: – How does AlwaysON Process a Synchronous Commit Request

https://blogs.msdn.microsoft.com/psssql/2011/04/01/alwayson-hadron-learning-series-how-does-alwayson-process-a-synchronous-commit-request/

2016-9-10補充

在開始本文的操作之前,大家需要留意主副本機器和各個輔助副本機器的扇區是否一緻,如果扇區不一緻,或者環境不一樣有可能導緻同步慢或IP沖突問題

AlwaysOn就會出現問題

在伺服器上運作下面指令,D盤為SQL Server資料檔案,日志檔案所在盤符

每個扇區位元組數:硬碟暴露給OS的邏輯扇區

每個實體扇區位元組數:硬碟裡的磁碟的實體扇區

每個簇位元組數:作業系統的配置設定單元/block,也就是OS block

阿裡雲ecs,本地SSD

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

NTFS對于大于2GB的分區,預設簇大小為8個扇區(4KB),配置設定單元預設是4096位元組是因為記憶體頁是4kb

簇==配置設定單元: windows7預設的配置設定單元是4096位元組,那麼一個6000位元組的檔案就需要兩個配置設定單元,配置設定單元是windows讀寫檔案的基本機關

邏輯扇區:512位元組,整個硬碟暴露給作業系統的扇區,一般跟實體扇區的大小是一樣的,保持對齊,作業系統将配置設定單元的讀寫請求劃分為多個512位元組大小,為了适應邏輯扇區的大小

實體扇區:512位元組 ,實體磁盤讀寫的基本機關,舊磁盤是512位元組,硬碟裡面每個磁碟真正的讀寫扇區,新磁盤(固态硬碟的實體扇區和邏輯扇區都是為了相容機械硬碟模拟出來的,固态硬碟實際用的是塊/頁)是4kb

進階格式化:作業系統對檔案系統盤符進行格式化,規劃每配置設定單元/簇大小

低級格式化:存儲廠家對實體存儲硬體做的低級格式化,例如機械硬碟,規劃每扇區大小,通常512位元組

注意:邏輯扇區和實體扇區都是硬碟裡的概念,不是作業系統的概念

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

HDD的扇區是512位元組,512n,最小讀寫機關

SSD的塊是4K,最小讀寫機關

扇區是HDD的概念,塊是SSD的概念

這可能會讓不少人誤解,首先SSD的确是沒有實體扇區的概念的,但是為了與HDD完全在接口層面相容,是以SSD一樣向作業系統提供了扇區參數,其次SSD都是以4K作為最低實體層面讀寫的最小機關,就算它向作業系統彙報512位元組,實際上内部還是按照4K來讀寫,是以不對齊的情況下會導緻跨實體存儲區的讀寫而導緻性能下降甚至于影響壽命。SSD到底向作業系統彙報是512還是4k純粹是SSD的固件決定的,比如intel官方就提供了相關工具可以随便切換扇區資料 

整個來說,不管SSD的固件顯示是512還是4k,分區的時候都應該按照4k對齊來分

為什麼存在磁盤塊/簇

讀取友善:由于扇區的數量比較小,數目衆多在尋址時比較困難,是以作業系統就将相鄰的扇區組合在一起,形成一個塊,再對塊進行整體的操作。

分離對底層的依賴:作業系統忽略對底層實體存儲結構的設計。通過虛拟出來磁盤塊的概念,在系統中認為塊是最小的機關。

簇和塊的差別

通俗的來講,在Windows下如NTFS等檔案系統中叫做簇或配置設定單元;在Linux下如Ext4等檔案系統中叫做塊(block)。每個簇或者塊可以包括2、4、8、16、32、64…2的n次方個硬碟的邏輯扇區

檔案系統就是作業系統的一部分,是以檔案系統操作檔案的最小機關是塊/簇。

塊與頁的關系

作業系統經常與記憶體和硬碟這兩種儲存設備進行通信,類似于“塊”的概念,都需要一種虛拟的基本機關。是以,與記憶體操作,是虛拟一個頁的概念來作為最小機關。與硬碟打交道,就是以塊為最小機關

x86系統所有的記憶體以64K邊界粒度, 4K頁面大小配置設定,包括Linux預設4KB,Windows預設4KB

各個Windows版本對新舊磁盤實體扇區/塊的支援情況,可以看到隻有Windows2012或以上版本的作業系統才支援4K native(4K對齊),是以一定要用高版本的作業系統

3種硬碟扇區格式類型

512n——實體扇區和邏輯扇區大小均為512byte,邏輯扇區和實體扇區對齊,早期的硬碟都是這樣,原生512,512B native

512e——實體扇區大小為4096位元組,邏輯扇區為(8個)512位元組扇區,為了相容性的一種過渡,硬碟層面上的“欺騙”,邏輯扇區512,實體扇區4096

4Kn——即原生4KB,實體扇區和邏輯扇區大小都是4KB,邏輯扇區和實體扇區對齊,邏輯扇區4096,實體扇區4096

京東IO卡為第一代産品,與目前最新采購的第三代産品,實體機器

第一代産品為512e),第三代産品為4Kn

Node_A:第一代産品

Node_B:第三代産品

存儲極客 | 4KB扇區硬碟來了,RAID、VMware相容不?

這篇文章得出的結論

1、要真正支援4Kn對齊,那麼,硬碟/儲存設備必須要使用4Kn,然後檔案系統要感覺得到4Kn,不能使用虛拟機,公有雲廠商的雲伺服器因為大部分用的kvm,是以大部分都是512e

例子:最新的固态硬碟,預設都是4KB塊/頁,然後作業系統使用rhel6或以上,Windows2012R2或以上,然後要用實體機,不能用虛拟化

2、要真正支援512n對齊,那麼,硬碟/儲存設備必須要使用512n,然後檔案系統都支援512byte,然後硬碟不能用固态硬碟,用機械硬碟

3、真正的原子寫,符合對齊就是真正的原子寫,比如 符合512n或4Kn,  更改Windows配置設定單元/簇或Linux的block與實體扇區對齊并不科學,如果硬碟使用的是512e,一個特殊例外是,IO卡不經過檔案系統直接讀寫儲存設備/硬碟的,也是原子寫

虛拟化更加複雜,多了一個虛拟化層VMFS block

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

參考:

https://blogs.msdn.microsoft.com/psssql/2013/05/15/sql-serverstorage-spacesvhdx-and-4k-sector-size/

Is this safe for SQL Server?

關于Windows Server的SID

Secure ID即SID 安全辨別符,是區分系統的重要辨別,SID不僅代表機器本身的辨別,還代表其他安全主體,

包括域計算機帳号,使用者和安全組,具有同一個SID的伺服器将會被視為一台機器,具有相同SID的計算機不能同時加入到一個域裡。

SID會在安裝好系統後在配置過程中生成,使用模闆部署的雲主機、虛拟機很容易發生SID重複問題,是以作為模闆的虛拟機要想辦法清除SID

在早期Windows Server裡可以使用NewSID小工具清除系統已有的SID。但從Windows 2008開始這個工具不能使用,取而代之的是系統自帶sysprep.exe

使用sysprep工具在關機選項裡要選擇關機,而不能選擇重新啟動,因為系統準備工具在清除完SID後,如果重新啟動會給虛拟機生成新的SID,這樣

起不到清除SID的效果

摘錄自《軟體定義資料中心 Windows Server SDDC 技術與實踐》

如有不對的地方,歡迎大家拍磚o(∩_∩)o