使用適用於Linux的SIOS Protection Suite的SQL Server高可用性快速入門指南
本指南旨在說明使用用於Linux的SIOS Protection Suite的Microsoft SQL Server保護。 此處使用的環境是VMware ESXi,其中添加了運行CentOS 7.6的虛擬機。 Microsoft SQL 2017正在用於創建數據庫服務器。 數據庫和事務日誌將存儲在本地磁盤上,這些磁盤將使用DataKeeper在節點之間複製–證明共享存儲可以用作本地磁盤的簡單替代。
本指南以pdf格式提供。
下載所需的Microsoft軟件
- 在https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-setup?view=sql-server-ver15中打開以下Microsoft安裝SQL指南
計劃SQL環境配置
以下配置設置將用於創建本快速入門指南描述的集群環境。 根據您的特定係統環境調整您的配置設置。
常規配置
- 我們在此快速入門指南中安裝的示例使用CentOS。 由於CentOS與Red Hat二進制兼容,因此適用Red Hat指令。
- 無論它們是在VMware環境中運行,在雲環境中還是在物理安裝中運行,本快速入門指南中的示例都非常相似。
節點1配置
- 主機名:IMAMSSQL-1
- 公用IP:192.168.4.21
- 專用IP:10.1.4.21
- / dev / sdb(10GiB)
- / dev / sdc(10GiB)
節點2配置
- 主機名:IMAMSSQL-2
- 公用IP:192.168.4.22
- 專用IP:10.1.4.22
- / dev / sdb(10GiB)
- / dev / sdc(10GiB)
用於SQL Access的虛擬IP
- 168.4.20,這將受到LifeKeeper和節點之間的“浮動”的保護
操作系統
- CentOS的7.6
SQL數據庫配置
- SQL數據庫:
- SQL虛擬主機名:IMAMSSQL
- SQL虛擬IP:192.168.4.20
SQL文件系統掛載點
- /數據庫/數據
- /數據庫/ xlog
準備安裝系統
安裝MS-SQL
初始SQL安裝
在本節中,我們將Microsoft軟件包位置添加到我們的Linux操作系統中,然後指示該操作系統安裝SQL Server。
- 打開以下Microsoft指南以安裝SQL Server:
https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-setup?view=sql-server-ver15 - 以root特權登錄,或者在每個命令之前使用sudo
- curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
- 百勝安裝-y mssql-server
- / opt / mssql / bin / mssql-conf設置,我使用評估許可證安裝了SQL Server
- yum install -y mssql-tools unixODBC-devel
- echo‘export PATH =” $ PATH:/ opt / mssql-tools / bin”‘>>〜/ .bash_profile
- echo‘export PATH =” $ PATH:/ opt / mssql-tools / bin”’>>〜/ .bashrc
- 來源〜/ .bashrc
- systemctl stop mssql-server.service,我們將停止SQL服務,並且只有在標題為“存儲”的部分中配置了用作存儲的磁盤後,才能啟動SQL服務
“創建數據庫和事務日誌文件系統以及掛載點”。 - / opt / mssql / bin / mssql-conf設置filelocation.masterdatafile /database/data/master.mdf
- / opt / mssql / bin / mssql-conf設置filelocation.masterlogfile /database/xlog/mastlog.ldf
創建數據庫和事務日誌文件系統以及掛載點
我們將使用xfs文件系統類型進行此安裝。 請參閱LifeKeeper支持的文件系統類型,以確定要配置的文件系統。 確保將磁盤配置為使用GUID標識符。 在這裡,我們將對本地連接的磁盤進行分區和格式化。裝載,創建和許可我們要SQL使用的數據庫位置,最後,我們將啟動SQL,這將在我們指定的位置創建新的Master DB和事務日誌。 請注意,在創建分區時,DataKeeper要求分區中的塊數為奇數。 例如。 20973567(結束)– 2048(開始)= 20971519。
- fdisk / dev / sdb
- mkfs -t xfs / dev / sdb1
- fdisk / dev / sdc
- mkfs -t xfs / dev / sdc1
- mkdir /數據庫; mkdir /數據庫/數據; mkdir /數據庫/ xlog
- chown mssql /數據庫/; chgrp mssql /數據庫/
- chown mssql /數據庫/數據/; chgrp mssql /數據庫/數據/
- chown mssql /數據庫/ xlog /; chgrp mssql /數據庫/ xlog /
- vi / etc / fstab
- 將/ dev / sdb1安裝添加到/ database / data,例如/ dev / sdb1 / database / data xfs默認值0 0
- 將/ dev / sdb1安裝添加到/ database / xlog,例如/ dev / sdb1 / database / xlog xfs默認值0 0
- 掛載/ dev / sdb1
- 掛載/ dev / sdc1
- chown mssql /數據庫/數據/; chgrp mssql /數據庫/數據/
- chown mssql /數據庫/ xlog /; chgrp mssql /數據庫/ xlog /
- systemctl啟動mssql-server.service,既然已經安裝了本地磁盤,我們就啟動SQL服務–這將創建新的主數據庫和事務日誌
安裝LifeKeeper
請參閱安裝指南
http://docs.us.sios.com/spslinux/9.5.1/en/topic/sios-protection-suite-for-linux-installation-guide
創建LifeKeeper資源層次結構
在主節點上打開LifeKeeper GUI:
#/ opt / LifeKeeper / bin / lkGUIapp&
溝通路徑
創建後端和/或前端IP路由,在我們的示例中,後端為10.2.4.21和22,前端為192.168.4.21&22
- [AWS only] 右鍵單擊AWS管理控制台中的每個實例,然後選擇“網絡連接''→“更改源/目的地''。 檢查並確保源/目的地檢查已禁用。
- 在LifeKeeper GUI中,單擊創建通訊路徑。
- 在``遠程服務器''對話框中,添加其他群集節點的主機名並選擇它們。
- 選擇適當的本地(10.2.4.21)和遠程(10.2.4.22)IP地址。
- 重複此過程,在每個網絡的所有遠程節點對之間創建通信路徑(例如12.0.1.30和12.0.2.30)。完成後,所有群集節點對之間都應存在通信路徑。
IP資源
IP資源是將用於訪問SQL Server的虛擬IP –在這種情況下為192.168.4.20
- 通過運行以下命令,驗證是否已從網絡接口中刪除了所有虛擬IP。
“ ip addr show”。 - 為MSSQL虛擬IP創建IP資源。
- 在LifeKeeper GUI中,單擊“創建資源層次結構'',然後選擇IP。
4。 出現提示時,輸入IP 192.168.4.20並選擇子網掩碼255.255.0.0。
5, 輸入標籤名稱,例如ip-192.168.4.20-MSSQL。
DataKeeper資源
這是用於存儲數據庫和事務日誌,/ database / data和/ database / xlog的驅動器
數據複製資源
- 確保所有SQL文件系統都已安裝在主群集節點上/ database下的適當安裝點上。
# 山
…
/ database /數據類型xfs上的/ dev / sdb1(rw,relatime,attr2,inode64,noquota)
/ database / xlog上的/ dev / sdc1類型xfs(rw,relatime,attr2,inode64,noquota)
…
2.確保文件系統未安裝在備份群集節點上。
3。在LifeKeeper GUI中,單擊“創建資源層次結構'',然後選擇“數據複製''。
4。 對於層次結構類型,選擇複製現有文件系統。
5, 對於“現有掛載點”,選擇/ database / data
6。 為其餘的創建對話框選擇適當的值,以適合您的環境
對/ database / data和/ database / xlog文件系統重複步驟3-6。
快速服務保護
我們將使用LifeKeeper的快速服務保護ARK保護mssql-server服務,這將監視MSSQL服務並確保其正在運行。
- 在節點1上使用systemctl status mssql-server.service以確保MSSQL正在運行
- 在節點2上使用systemctl status mssql-server.service來確保MSSQL未運行,如果正在運行,則需要使用systemctl stop mssql-server.service停止該服務,然後卸載/ database / data和/ database / xlog目錄。
- 在LifeKeeper GUI中,單擊添加資源
- 從下拉列表中選擇QSP ARK
- 當可用服務列表填充時,選擇mssql-server.service
- 為其餘的創建對話框選擇適當的值,以適合您的環境
- 將層次結構擴展到節點2
- 在節點1上的Linux CLI上,運行“ / opt / LifeKeeper / bin / lkpolicy -g –v”,輸出將類似於以下內容:
- 如果為QSP-mssql-server設置了LocalRecovery:On,那麼我們需要在兩個節點上都禁用本地恢復,這是通過在兩個節點上執行來完成的:
- / opt / LifeKeeper / bin / lkpolicy -s LocalRecovery -E標籤=“ QSP-mssql-server”
- 確認在兩個節點“ / opt / LifeKeeper / bin / lkpolicy -g –v”上均禁用了本地恢復:
轉載自SIOS