以下介紹使用Hyper-V及Windows 2012 R2來建立SQL Server 2012 Cluster。
那共享磁碟要怎麼辦呢? 可以透過Windows 2012中的「iSCSI 目標伺服器」來達成哦!
讓使用NB也可以Easy的建立出SQL Cluster環境!
以下介紹使用Hyper-V及Windows 2012 R2來建立SQL Server 2012 Cluster。
準備的VM(OS:Windows 2012 R2)如下,
SQL-DC : 10.10.10.10
當DC & iSCSI Target Server
2個VHDX (15G, 15G)
SQL-A : 10.10.10.20 (dns:10.10.10.10)
192.168.95.2 (dns:不用設) Heartbeat
20G
SQL-B : 10.10.10.30 (dns:10.10.10.10)
192.168.95.2 (dns:不用設) Heartbeat
20G
硬碟的大小,可依您允許的大小設定哦!
另外,Hyper-V的Virtual Switch設定如下,
因為想要讓外面的NB可以連得到SQL,所以設定SQLCluster網卡為靜態IP(10.10.10.5),如下,
以下開始一台一台安裝及設定
SQL-DC
先給512MB,並勾選Use Dynamic Memory for this virtual machine. 選項
使用先前建立的「SQLCluster」
先給第1個vhdx (15G),如果您的HD有粉多的話,也可以多給一點,因為Windows 2012 R2安裝起來約9G多!
設定Windows 2012 R2的ISO檔就可以開始安裝了!
安裝時,預設是安裝Server Core,所以要記得選擇Server with a GUI哦!
因為不想一台一台的安裝,所以在安裝完SQL-DC後,可以用這台為Base,然後Copy成為其他台。所以請在命令視窗中輸入以下的指令,
cd C:\Windows\System32\Sysprep
sysprep /generalize /oobe /mode:vm /shutdown
詳細請參考:Sysprep 變更SID(Security Identifier),以 Windows Server 2012 為例
然後可以將SQL-DC Copy,並改目錄名稱 及檔案名稱成為SQL-A, SQL-B,如下,
SQL-A
以下開始建立SQL-A
初始先給1G的RAM,並勾選Use Dynamic Memory for this virtual machine.
VHDX請選取剛才Copy並改名的SQL-A.vhdx檔案。
因為VM以 Sysprep 一般化過,所以第一次開機時需要重新輸入key & 設定密碼(因為是測試,所以密碼可以給p@ssw0rd),如下,
當SQL-DC, SQL-A, SQL-B都建立好了之後,可以建立VM的checkPoint,以避某個Step發生錯誤可以回覆到某個狀態!
初始VM(SQL-DC, SQL-A, SQL-B)準備好之後,開始來一台一台的設定(因為是測試,所以防火牆可以先關掉哦!)
SQL-DC
修改IP為 10.10.10.10, Subnet mask為 255.255.255.0, DNS為 10.10.10.10
修改電腦名稱為 SQL-DC
netdom renamecomputer %computername% /newname:SQL-DC
重開機後,加入 「Active Directory 網域服務 」(Active Directory Domain Services) 角色,如下,
安裝完成後,就將SQL-DC Promote 成為DC
Domain Name設定成最常用的「contoso.com」。
安裝完成後,重開機就會用AD的帳號登入。
AD安裝完之後,可以加入Reverse Lookup Zone,所以請開啟DNS Manager,然後 New Zone…
建立好了之後,可以在命令視窗下輸入,
Ipconfig /flushdns
Ipconfig /registerdns
資料就會寫到Reverse Lookup Zone之中了,如下,
因為等一下要新增iSCSI Target Server,所以先關閉VM,並新增一個HD給它。
您可以依您的HD大小來決定哦! 可參考: SQL Server 2008 R2 容錯移轉叢集環境架設 的設定哦!
請設定Online, Initialize Disk及並設定磁碟
接下來要建立「iSCSI 目標伺服器」 (iSCSI Target Server)。新增 iSCSI Target Server,如下,
接下來我們要建立4個virtual disk (大小請依您的需求來決定) 可參考: SQL Server 2008 R2 容錯移轉叢集環境架設 的設定哦!
- 仲裁磁碟 (Quorum Disk) 1G (沒有見證磁碟似乎也可以)
- MSDTC (分散式交易) 500M (建議使用1G)
- SQL Server專用磁碟 8G
- SQL Server專用磁碟 5G
先建立仲裁磁碟 (Quorum Disk) 1G
一開始沒有iSCSI Target,所以選新增
新增那些initiator可以存取,我們可以設定SQL-A, SQL-B可以存取它!
加入到原先建立的iSCSI Target即可!
SQL-DC & iSCSI Target Service設定好了之後,就可以開始設定SQL-A 及 SQL-B了!
SQL-A
登入後,設定IP為10.10.10.20, subnet Mask為255.255.255.0, DNS設定為 10.10.10.10
修改電腦名稱為SQL-A,並重新開機,
netdom renamecomputer %computername% /newname:SQL-A
重開機登入後,再來將SQL-A加入contoso.com 網域
netdom join SQL-A /domain:contoso.com
再重開機然後以 administrator@contoso.com 登入!
SQL-B
設定方式同SQL-A, IP改為10.10.10.30,電腦名稱改成SQL-B,重新開機登入後,再加入 contoso.com domain,然後以 administrator@contoso.com 登入!
因為Windows Cluster需要2張網卡,所以SQL-A,SQL-B再建立一張Private的網卡給他,並設定IP為192.168.95.2 及192.168.95.3,以做為Heartbeat。
詳細請參考: Implementing Windows Server 2012 Hyper-V Failover Clustering
以下為各機器的網卡設定(您可以將網卡改名成public 及 heartbeat),
SQL-DC
SQL-A, SQL-B的設定如下,只是IP不同哦!
下一篇,將介紹如何設定Windows 2012 Cluster!
參考資料
Implementing Windows Server 2012 Hyper-V Failover Clustering