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

 

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

網上的 AlwaysOn能夠說是很是的多,也能夠說是很是的千篇一概,並且不少都是搭建很是順利的,沒有坑的,難道搭建 AlwaysOn真的能夠這麼順利嗎??????node

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

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

本文但願可以詳細的在Windows Server 2012 R2 搭建 AlwaysOn的過程寫出來,減小你們踩坑的機會 。windows

 

 

實驗環境:安全

準備工做

軟件準備

(1) SQL Server 2012 服務器

(2) Windows Server 2012 R2 DataCenter   64位網絡

(3) VMware-workstation 10.0less

操做系統:都是Windows Server 2012 R2   DataCenter  64位(win2012/win2012R2 只有DataCenter 版本才能使用故障轉移集羣)tcp

 

固然,生產環境服務器最好每臺服務器都配置兩個網卡,一個網卡用做業務,一個網卡用做心跳,固然一個網卡也沒有什麼問題

至於各個計算機的計算機名我這裏不作修改,在真實生產環境計算機名是須要修改的

 

計算機名

域控:win-felbg10uu7f

node1:win-7107jjj2bcc

node2:win-5pmsdhui0kq

 

 

故障轉移集羣VIP跟AlwaysOn 的VIP的做用是不同的

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

AlwaysOn 的VIP(192.168.66.171)是讓你鏈接AlwaysOn 的

因此故障轉移集羣VIP跟AlwaysOn 的VIP不能同樣!


步驟

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

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

 

域控端

一、配置域控ip,ipv6去掉,由於DNS服務器就安裝在域控上,因此首選DNS服務器填寫:127.0.0.1 迴環地址

 

 

 

二、安裝AD域服務

 

 

 

 安裝AD域服務的同時,操做系統會同時安裝好DNS服務器

三、點擊服務器管理器右上角的小旗幟,彈出對話框,點擊「將此服務器提高爲域控制器」以提高爲域控

 

 

 

四、進入AD域服務配置嚮導,設置域名 abc.com

 

五、設置DSRM密碼爲123456

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

 

NetBIOS名稱不須要設置,至於什麼是NetBIOS名稱,能夠在本文最後的兩本書中進行了解

 

AD DS數據庫文件路徑保持默認就能夠了,固然將日誌文件和數據庫文件放在不一樣的磁盤有助提高性能,更多信息能夠在本文最後的兩本書中進行了解

 

六、安裝完AD DS以後會自動重啓服務器,重啓服務器以後打開DNS管理器

能夠看到域控制器win-felbg10uu7f.abc.com已經將主機名(win-felbg10uu7f)和IP地址(192.168.66.155)註冊到DNS服務器內

 

能夠看到動態更新已開啓

在_tcp文件夾內,_ldap記錄和_gc記錄說明這臺服務器已經正確註冊爲域控制器和擔當全局編錄服務器

注意:若是在_tcp文件夾內沒有_ldap記錄和_gc記錄相關的記錄,那麼請重啓Netlogon服務來從新註冊

 

七、檢查AD域服務和Netlogon服務是否正常啓動

 

八、在AD用戶和計算機裏添加域用戶DCADMIN,請務必記住DCADMIN的密碼,由於後面第二篇和第三篇都須要用到DCADMIN這個域用戶

注意:若是域控機器上默認的Administrator本地計算機帳戶沒有被禁用的話,在安裝完域控以後,Administrator本地帳戶會從本地的SAM本地帳戶移動到域帳戶(這時候本地帳戶已經不存在Administrator這個帳戶,除非將域控進行降級)

這時候其餘非域控機器均可以利用Administrator域帳戶進行登陸,可是咱們通常不使用Administrator域帳戶,而是新建一個域用戶來作,這裏就是另外新建一個DCADMIN帳戶

詳細能夠查看《Windows Server2012系統配置指南》書

域用戶DCADMIN建立完畢

 

九、將這個域用戶加入到域計算機組和域管理員組

 

九、將系統自動更新關閉掉

 

客戶端

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

 

 

二、加域,填寫域名abc.com,並輸入剛剛在 AD域用戶(DCADMIN)和密碼

加域以前最好在客戶端先ping一下DNS(abc.com)和域控的IP,看可否ping通,若是ping不通,加域確定不成功了,須要進一步排查爲什麼ping不通

須要先檢查一下防火牆,通常都是防火牆的問題

在客戶端的網絡和共享中心能夠看到機器當前已經加入abc.com這個域網絡

 

加域以後,在域控的DNS管理器裏能看到新添加的機器的主機和IP地址

在AD用戶和計算機裏的Computers容器裏也能看到新添加的機器

 

 

三、加域後客戶端計算機會自動重啓,重啓後使用本地Administrator用戶登陸計算機,先不要用DCADMIN這個域用戶來登陸計算機

 

四、打開計算機管理-》本地用戶和組,選擇組,選中Administrators組,右鍵-》添加到組

點擊添加

 

輸入域用戶(DCADMIN)和密碼

 

 

這樣DCADMIN域用戶就有了這臺客戶端計算機的Administrator權限

 

五、將系統自動更新關閉掉

 

另外一臺客戶端計算機的配置這裏就再也不敘述了,步驟都是同樣的

 

最後在域控裏查看DNS和AD Computers容器,兩個節點都已經添加成功


總結

經過上面的步驟演示,在搭建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數據文件,日誌文件所在盤符

fsutil fsinfo ntfsInfo  D:

若是每一個扇區字節數和每一個物理扇區字節數這兩個值, 各個副本顯示不一樣,那麼最好不要搭建AlwaysOn

在副本上每一個扇區字節數顯示512,每一個物理扇區字節數顯示512

在輔助副本上每一個扇區字節數顯示512,每一個物理扇區字節數顯示512

這樣是沒有問題的

或者

在副本上每一個扇區字節數顯示512,每一個物理扇區字節數顯示4096

在輔助副本上每一個扇區字節數顯示512,每一個物理扇區字節數顯示512

這樣也是沒有問題的

或者

在副本上每一個扇區字節數顯示512,每一個物理扇區字節數顯示512

在輔助副本上每一個扇區字節數顯示512,每一個物理扇區字節數顯示4096

這樣是有問題的

NTFS對於大於2GB的分區,默認簇大小爲8個扇區(4KB),分配單元默認是4096字節是由於內存頁是4kb
簇=分配單元 windows7默認呢的分配單元是4096字節,那麼一個6000字節的文件就須要兩個分配單元,分配單元是windows讀寫文件的基本單位
邏輯扇區:512字節,操做系統將分配單元的讀寫請求劃分爲多個512字節大小,而後寫入到磁盤,其實就是操做系統作了一層轉換
物理扇區:512 ,物理磁盤讀寫的基本單位,舊磁盤是512字節,新磁盤是4kb
高級格式化:操做系統對盤符進行格式化,按照分配單元大小
低級格式化:磁盤廠家對磁盤作的低級格式化,按照512字節大小

因爲新磁盤使用了4kb字節大小,某些操做系統和應用程序沒法適應,因此磁盤廠家退出了512E格式,對磁盤增長了一個模擬層,底層是4kb,模擬層是512字節
操做系統對磁盤的讀寫依然是512字節,這樣廠家推出的新磁盤就能夠向下兼容舊操做系統,由於是模擬出來的,因此名字叫 512-byte Emulation或512e
最新操做系統例如win2012已經能夠支持4kb磁盤,因此使用命令fsutil fsinfo ntfsInfo D: 的時候,若是每扇區和每物理扇區都顯示爲4096,那麼表示
磁盤使用的是最新的支持4kb磁盤,win2012操做系統對物理扇區進行了對齊,邏輯扇區是4096,物理扇區是4096,就是原生4K模式,因此名字叫4K native或4Kn

參考文章:
https://support.microsoft.com/en-us/kb/2510009
http://stackoverflow.com/questions/9465451/how-can-i-determine-the-sector-size-in-windows
https://blogs.msdn.microsoft.com/psssql/2011/01/13/sql-server-new-drives-use-4k-sector-size/
https://msdn.microsoft.com/en-us/library/windows/desktop/hh848035%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396
http://ask.zol.com.cn/q/16407.html
http://www.cnblogs.com/diabloxl/p/4422120.html

解決辦法:經過fusionIO或者一些SSD磁盤的管理界面修改磁盤的參數

例如惠普的fusionIO,進去管理界面,將4KB扇區大小改成512字節

修改成

 

估計Hyper-V是沒法修改磁盤的物理扇區大小,那若是使用Hyper-v就只能全部副本都用Hyper-V,而不能有些副本使用物理機,有些副本使用Hyper-V跑在虛擬機裏面

 

京東IO卡爲第一代產品,與目前最新採購的第三代產品
第一代產品爲512字節,第三代產品爲4KB
Node_A:第一代產品
Node_B:第三代產品

 

因爲格式化磁盤的時候能夠選擇分配單元512字節~64KB,因此log block要適應文件系統的分配單元不然不能原子寫入磁盤

https://blogs.msdn.microsoft.com/psssql/2013/05/15/sql-serverstorage-spacesvhdx-and-4k-sector-size/
Is this safe for SQL Server?

The answer is yes.  An I/O subsystem can return a larger sector size than actual, physical sector size as long as all reported values can be evenly divided by 512 bytes.
4096的塊只要能被512整除就無問題
As the diagram below shows, SQL Server maintains parity on 512 byte boundaries, for the log, regardless of the reported sector size.   This allows SQL Server to detect a partial write (torn behavior.)   For example, if the system reported a sector size of 4K but the physical sector size was 512 bytes, the I/O subsystem is only guaranteed to flush to a 512 byte mark.   If the first 4, physical sectors are flushed (2K of the 4K aligned block) and a power outage occurs, SQL Server will be able to detect the entire 4K was not properly flushed.

 

Microsoft SQL Server IO Internals ppt下載地址

http://files.cnblogs.com/files/lyhabc/MicrosoftSQLServerIOInternals.pptx


關於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  

相關文章
相關標籤/搜索