選單
GSS 技術部落格
在這個園地裡我們將從技術、專案管理、客戶對談面和大家分享我們多年的經驗,希望大家不管是喜歡或是有意見,都可以回饋給我們,讓我們有機會和大家對話並一起成長!
若有任何問題請來信:gss_crm@gss.com.tw
3 分鐘閱讀時間 (543 個字)

[SQL]安裝SQL Server 2012 Cluster - 1(環境準備)

unsplash-coding007
以下介紹使用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

硬碟的大小,可依您允許的大小設定哦!

image
 
另外,Hyper-V的Virtual Switch設定如下,

image
 
因為想要讓外面的NB可以連得到SQL,所以設定SQLCluster網卡為靜態IP(10.10.10.5),如下,

image
 
以下開始一台一台安裝及設定

SQL-DC

image
image
image
先給512MB,並勾選Use Dynamic Memory for this virtual machine. 選項

 
image
使用先前建立的「SQLCluster」

 
image
先給第1個vhdx (15G),如果您的HD有粉多的話,也可以多給一點,因為Windows 2012 R2安裝起來約9G多!

 
image
設定Windows 2012 R2的ISO檔就可以開始安裝了!

 
image
安裝時,預設是安裝Server Core,所以要記得選擇Server with a GUI哦!

 
image
 
因為不想一台一台的安裝,所以在安裝完SQL-DC後,可以用這台為Base,然後Copy成為其他台。所以請在命令視窗中輸入以下的指令,

cd C:\Windows\System32\Sysprep
sysprep /generalize /oobe /mode:vm /shutdown

image
詳細請參考:Sysprep 變更SID(Security Identifier),以 Windows Server 2012 為例
 
然後可以將SQL-DC Copy,並改目錄名稱 及檔案名稱成為SQL-A, SQL-B,如下,

image
 

SQL-A

以下開始建立SQL-A

image
image
image
初始先給1G的RAM,並勾選Use Dynamic Memory for this virtual machine.

 
image
VHDX請選取剛才Copy並改名的SQL-A.vhdx檔案。

 
image
 
因為VM以 Sysprep 一般化過,所以第一次開機時需要重新輸入key & 設定密碼(因為是測試,所以密碼可以給p@ssw0rd),如下,

image
image
image
 
當SQL-DC, SQL-A, SQL-B都建立好了之後,可以建立VM的checkPoint,以避某個Step發生錯誤可以回覆到某個狀態!

image
 
初始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

image
 
重開機後,加入 「Active Directory 網域服務 」(Active Directory Domain Services)  角色,如下,

image
image
image
安裝完成後,就將SQL-DC Promote 成為DC

 
image
Domain Name設定成最常用的「contoso.com」。

 
image
image
image
image
image
image
安裝完成後,重開機就會用AD的帳號登入。

 
AD安裝完之後,可以加入Reverse Lookup Zone,所以請開啟DNS Manager,然後 New Zone…

image
image
image
image
image
image
image
image
image
建立好了之後,可以在命令視窗下輸入,

Ipconfig /flushdns
Ipconfig /registerdns

 
資料就會寫到Reverse Lookup Zone之中了,如下,

image
 
因為等一下要新增iSCSI Target Server,所以先關閉VM,並新增一個HD給它。

image
image
image
image
您可以依您的HD大小來決定哦!  可參考:  SQL Server 2008 R2 容錯移轉叢集環境架設 的設定哦!

 
image
 
請設定Online, Initialize Disk及並設定磁碟

image
image
 
接下來要建立「iSCSI 目標伺服器」 (iSCSI Target Server)。新增 iSCSI Target Server,如下,

image
image
image
image
接下來我們要建立4個virtual disk (大小請依您的需求來決定) 可參考:  SQL Server 2008 R2 容錯移轉叢集環境架設 的設定哦!
  1. 仲裁磁碟 (Quorum Disk) 1G (沒有見證磁碟似乎也可以)
  2. MSDTC (分散式交易) 500M (建議使用1G)
  3. SQL Server專用磁碟 8G
  4. SQL Server專用磁碟 5G
 
先建立仲裁磁碟 (Quorum Disk) 1G

image
image
image
一開始沒有iSCSI Target,所以選新增

image
 
新增那些initiator可以存取,我們可以設定SQL-A, SQL-B可以存取它!

image
image
image
image
image
image
加入到原先建立的iSCSI Target即可!

image
image
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

image
重開機登入後,再來將SQL-A加入contoso.com 網域

netdom join SQL-A /domain:contoso.com

image
 
再重開機然後以 administrator@contoso.com 登入!

image
 

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。

image
image
image
詳細請參考: Implementing Windows Server 2012 Hyper-V Failover Clustering
以下為各機器的網卡設定(您可以將網卡改名成public 及 heartbeat),

SQL-DC

image
image
 
SQL-A, SQL-B的設定如下,只是IP不同哦!

image
image
image
image
image
image
 
下一篇,將介紹如何設定Windows 2012 Cluster!

 

參考資料

安裝 SQL Server 2008 容錯轉移叢集心得筆記
Implementing Windows Server 2012 Hyper-V Failover Clustering
SQL Server 2008 R2 容錯移轉叢集環境架設
Sysprep 變更SID(Security Identifier),以 Windows Server 2012 為例
 
本文也發表於亂馬客Blog
[SQL]安裝SQL Server 2012 Cluster - 2(Windows容錯移轉)
[.NET]如何讓相同的DLL使用bin目錄的,而不要使用到GAC的呢?

相關文章

 

評論

尚無評論
已經注冊了? 這裡登入
Guest
2024/05/20, 週一

Captcha 圖像