发新话题
打印

VVR for SQL Server2000高可用性简单配置步骤

VVR for SQL Server2000高可用性简单配置步骤

以四节点为例
1.        四套有效的产品License,包含HA、GCO、VVR功能
2.        配置DNS,至少三个虚拟IP,Web VIP(可和GCO的心跳IP共用)、SQL VIP、VVR VIP每个节点加入域中
3.        安装对应选件,至少包含以下三个选件
VERITAS Volume Replicator (VVR)
◆ VERITAS Global Clustering Option
◆ VERITAS Cluster Server Enterprise Agent for Microsoft SQL
4.        配置每个站点的HA,创建ClusterService服务
5.        利用VEA在两个站点分别以相同的方法创建相同大小、相同名字的SQL Server数据卷、VVR日志卷、SQL Server注册表卷(不是必须,建议创建)
6.        每个节点以同样的方法安装SQL2K+SP3a
7.        将SQL Server所有主机上的所有服务改为手工启动
8.        在两个站点创建SQL Server服务组,确信在站点内部两节点之间切换SQL Server没问题,然后offline两个SQL Server服务组
9.        在VCS Java GUI界面手工分别添加两个站点VVR的VIP
10.        在主站点Online三个资源,VVR VIP、SQL DG、SQL Mount
11.        在备站点Online一个资源,VVR VIP
12.        创建RDS,等到同步完
13.        删除先前创建的VVR VIP,等会创建RVG SG的时候再启用
14.        在两个站点创建VVR RVG Service Group,选择Start>Programs>VERITAS>VERITAS Cluster Server>Volume Replicator Agent Configuration Wizard
15.         配置WAC,运行VCW->选Edit Existing Cluster->选Configure ClusterService Options->选GCO Option,成功配置完后,在ClusterService组,你将看到增加了一个叫wac的Process
16.        配置GCO,在VCS Java GUI界面Edit->Add/Delete Remote Cluster输入Web VIP ,成功配置完后,校验心跳连接是否是alive,到命令行执行 hahb -display.查看state attribute,如下例:如果state是unknown,重新online 两个站点的ClusterService组,且添加心跳IP到DNS
C:\>hahb -display
#HB          Attribute     Scope      Value
Icmp         AYAInterval   global     60
Icmp         AYARetryLimit global     3
Icmp         AYATimeout    global     300
Icmp         AgentState    global     ON
Icmp         Arguments     cluster40  10.196.83.32
Icmp         CleanTimeout  global     300
Icmp         ClusterList   global     cluster40
Icmp         InitTimeout   global     300
Icmp         LogDbg        global
Icmp         StartTimeout  global     300
Icmp         State         cluster40  ALIVE
Icmp         StopTimeout   global     300

如果state显示unknown, offline ClusterService 服务组然后online.

17.        在VCS Java GUI界面Edit->Configure Global Groups,选择要转换成全局组的组名,成功配置完后,你将看到该组名图标上有个圆圈标记。记住只在一个站点配置就行
18.        在主站点创建用户数据库,将被复制到远端站点。


Primary main.cf

include "types.cf"

cluster cluster40 (
        UserNames = { admin = HQRjQLqNRmRRpZRlQO }
        ClusterAddress = "10.196.83.32"
        Administrators = { admin }
        CredRenewFrequency = 0
        CounterInterval = 5
        )

remotecluster srtpc (
        ClusterAddress = "10.196.83.47"
        )

heartbeat Icmp (
        ClusterList = { srtpc }
        Arguments @srtpc = { "10.196.83.47" }
        )

system COMPAQ1 (
        )

system COMPAQ2 (
        )

group ClusterService (
        SystemList = { COMPAQ1 = 0, COMPAQ2 = 1 }
        UserStrGlobal = "LocalCluster@https://10.196.83.32:8443;"
        AutoStartList = { COMPAQ1, COMPAQ2 }
        )

        IP csg_ip (
                Address = "10.196.83.32"
                SubNetMask = "255.255.248.0"
                MACAddress @COMPAQ1 = "00:50:8BD:0D:F8"
                MACAddress @COMPAQ2 = "00:50:8BD:0E:15"
                )

        NIC csg_nic (
                MACAddress @COMPAQ1 = "00:50:8BD:0D:F8"
                MACAddress @COMPAQ2 = "00:50:8B:DD:0E:15"
                PingHostList = { "10.196.83.37" }
                )

        Process wac (
                StartProgram @COMPAQ1 = "C:\\Program Files\\VERITAS\\Cluster Server\\bin\\wac.exe"
                StartProgram @COMPAQ2 = "C:\\Program Files\\VERITAS\\Cluster Server\\bin\\wac.exe"
                StopProgram @COMPAQ1 = "C:\\Program Files\\VERITAS\\Cluster Server\\bin\\wacstop.exe"
                StopProgram @COMPAQ2 = "C:\\Program Files\\VERITAS\\Cluster Server\\bin\\wacstop.exe"
                MonitorProgram @COMPAQ1 = "C:\\Program Files\\VERITAS\\Cluster Server\\bin\\wacmonitor.exe"
                MonitorProgram @COMPAQ2 = "C:\\Program Files\\VERITAS\\Cluster Server\\bin\\wacmonitor.exe"
                )

        VRTSWebApp VCSweb (
                AppName = vcs
                InstallDir @COMPAQ1 = "C:\\Program Files\\VERITAS\\VRTSweb\\VERITAS"
                InstallDir @COMPAQ2 = "C:\\Program Files\\VERITAS\\VRTSweb\\VERITAS"
                )

        csg_ip requires csg_nic
        VCSweb requires csg_ip
        wac requires csg_ip


        // resource dependency tree
        //
        //        group ClusterService
        //        {
        //        VRTSWebApp VCSweb
        //            {
        //            IP csg_ip
        //                {
        //                NIC csg_nic
        //                }
        //            }
        //        Process wac
        //            {
        //            IP csg_ip
        //                {
        //                NIC csg_nic
        //                }
        //            }
        //        }


group sql2k (
        SystemList = { COMPAQ1 = 1, COMPAQ2 = 2 }
        ClusterList = { cluster40 = 1, srtpc = 0 }
        Authority = 1
        )

        IP sql2k-IP (
                Address = "10.196.83.33"
                SubNetMask = "255.255.248.0"
                MACAddress @COMPAQ1 = "00-50-8B-DD-0D-F8"
                MACAddress @COMPAQ2 = "00-50-8B-DD-0E-15"
                )

        Lanman sql2k-Lanman (
                VirtualName = VSQL2K
                IPResName = sql2k-IP
                )

        MSSearch sql2k-MSSearch (
                AppName = SQLServer
                )

        MountV sql2k-MountV (
                MountPath = "S:"
                VolumeName = sqldata
                VMDGResName = sql2k-VMDg
                )

        MountV sql2k-MountV-1 (
                MountPath = "R:"
                VolumeName = sqlreg
                VMDGResName = sql2k-VMDg
                )

        NIC sql2k-NIC (
                MACAddress @COMPAQ1 = "00-50-8B-DD-0D-F8"
                MACAddress @COMPAQ2 = "00-50-8B-DD-0E-15"
                )

        RVGPrimary sql2k-RVGPrimary (
                RvgResourceName = sqlrpsg-VvrRvg
                )

        RegRep sql2k-RegRep-MSSQL (
                MountResName = sql2k-MountV-1
                ReplicationDirectory = "\\sql2k-RegRep-MSSQL"
                Keys = {
                         "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MSSQLServer\\MSSQLServer",
                         "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MSSQLServer\\Providers",
                         "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MSSQLServer\\Replication",
                         "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MSSQLServer\\SQLServerAgent",
                         "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MSSQLServer\\Client" }
                ExcludeKeys = {
                         "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MSSQLServer\\Setup",
                         "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MSSQLServer\\SQLServerAgent\\Subsystems" }
                )

        RegRep sql2k-RegRep-MSSearch (
                MountResName = sql2k-MountV-1
                ReplicationDirectory = "\\sql2k-RegRep-MSSearch"
                Keys = {
                         "HKLM\\Software\\Microsoft\\Search\\1.0\\Gathering Manager\\Applications\\SQLServer",
                         "HKLM\\Software\\Microsoft\\Search\\1.0\\Gather\\Applications\\SQLServer",
                         "HKLM\\Software\\Microsoft\\Search\\1.0\\Applications\\Applications\\SQLServer",
                         "HKLM\\Software\\Microsoft\\Search\\1.0\\CatalogNames\\Applications\\SQLServer",
                         "HKLM\\Software\\Microsoft\\Search\\1.0\\Indexer\\Applications\\SQLServer",
                         "HKLM\\Software\\Microsoft\\Search\\1.0\\Databases\\Applications\\SQLServer" }
                )

        SQLServer2000 sql2k-SQLServer2000 (
                LanmanResName = sql2k-Lanman
                MountResName = sql2k-MountV
                )

        requires group sqlrpsg online local hard
        sql2k-SQLServer2000 requires sql2k-Lanman
        sql2k-SQLServer2000 requires sql2k-RegRep-MSSQL
        sql2k-SQLServer2000 requires sql2k-MountV
        sql2k-MountV requires sql2k-RVGPrimary
        sql2k-RegRep-MSSQL requires sql2k-MountV-1
        sql2k-MSSearch requires sql2k-RegRep-MSSearch
        sql2k-MSSearch requires sql2k-SQLServer2000
        sql2k-RegRep-MSSearch requires sql2k-MountV-1
        sql2k-MountV-1 requires sql2k-RVGPrimary
        sql2k-IP requires sql2k-NIC
        sql2k-Lanman requires sql2k-IP


        // resource dependency tree
        //
        //        group sql2k
        //        {
        //        MSSearch sql2k-MSSearch
        //            {
        //            RegRep sql2k-RegRep-MSSearch
        //                {
        //                MountV sql2k-MountV-1
        //                    {
        //                    RVGPrimary sql2k-RVGPrimary
        //                    }
        //                }
        //            SQLServer2000 sql2k-SQLServer2000
        //                {
        //                Lanman sql2k-Lanman
        //                    {
        //                    IP sql2k-IP
        //                        {
        //                        NIC sql2k-NIC
        //                        }
        //                    }
        //                RegRep sql2k-RegRep-MSSQL
        //                    {
        //                    MountV sql2k-MountV-1
        //                        {
        //                        RVGPrimary sql2k-RVGPrimary
        //                        }
        //                    }
        //                MountV sql2k-MountV
        //                    {
        //                    RVGPrimary sql2k-RVGPrimary
        //                    }
        //                }
        //            }
        //        }


group sqlrpsg (
        SystemList = { COMPAQ1 = 1, COMPAQ2 = 2 }
        Authority = 1
        )

        IP sqlrpsg-IP (
                Address = "10.196.83.35"
                SubNetMask = "255.255.248.0"
                MACAddress @COMPAQ1 = "00-50-8B-DD-0D-F8"
                MACAddress @COMPAQ2 = "00-50-8B-DD-0E-15"
                )

        NIC sqlrpsg-NIC (
                MACAddress @COMPAQ1 = "00-50-8B-DD-0D-F8"
                MACAddress @COMPAQ2 = "00-50-8B-DD-0E-15"
                )

        VMDg VMDg (
                DiskGroupName = sql2kdg
                )

        VvrRvg sqlrpsg-VvrRvg (
                RVG = sqlrvg
                VMDgResName = VMDg
                IPResName = sqlrpsg-IP
                )

        sqlrpsg-VvrRvg requires VMDg
        sqlrpsg-VvrRvg requires sqlrpsg-IP
        sqlrpsg-IP requires sqlrpsg-NIC


        // resource dependency tree
        //
        //        group sqlrpsg
        //        {
        //        VvrRvg sqlrpsg-VvrRvg
        //            {
        //            VMDg VMDg
        //            IP sqlrpsg-IP
        //                {
        //                NIC sqlrpsg-NIC
        //                }
        //            }
        //        }

TOP

好东西,谢了

TOP

Secondary main.cf

include "types.cf"

cluster srtpc (
        UserNames = { admin = HIJbIDiFJeJJhRJdIG, czy = cmjGnhLhnPjiMnnIno }
        ClusterAddress = "10.196.83.47"
        Administrators = { admin, czy }
        CredRenewFrequency = 0
        HacliUserLevel = COMMANDROOT
        CounterInterval = 5
        )

remotecluster cluster40 (
        ClusterAddress = "10.196.83.32"
        )

heartbeat Icmp (
        ClusterList = { cluster40 }
        Arguments @cluster40 = { "10.196.83.32" }
        )

system SRTPC1 (
        )

system SRTPC2 (
        )

group ClusterService (
        SystemList = { SRTPC2 = 0 }
        )

        IP webip (
                Address = "10.196.83.47"
                SubNetMask = "255.255.248.0"
                MACAddress = "00-C0-9F-40-5C-1C"
                )

        NIC csgnic (
                MACAddress = "00-C0-9F-40-5C-1C"
                PingHostList = { "10.196.83.37" }
                )

        Process wac (
                StartProgram @SRTPC2 = "C:\\Program Files\\VERITAS\\Cluster Server\\bin\\wac.exe"
                StopProgram @SRTPC2 = "C:\\Program Files\\VERITAS\\Cluster Server\\bin\\wacstop.exe"
                MonitorProgram @SRTPC2 = "C:\\Program Files\\VERITAS\\Cluster Server\\bin\\wacmonitor.exe"
                )

        VRTSWebApp VCSweb (
                AppName = vcs
                InstallDir @SRTPC2 = "C:\\Program Files\\VERITAS\\VRTSweb\\VERITAS"
                )

        webip requires csgnic
        wac requires webip
        VCSweb requires webip


        // resource dependency tree
        //
        //        group ClusterService
        //        {
        //        Process wac
        //            {
        //            IP webip
        //                {
        //                NIC csgnic
        //                }
        //            }
        //        VRTSWebApp VCSweb
        //            {
        //            IP webip
        //                {
        //                NIC csgnic
        //                }
        //            }
        //        }


group sql2k (
        SystemList = { SRTPC2 = 1 }
        ClusterList = { cluster40 = 1, srtpc = 0 }
        )

        IP sql2k-IP (
                Address = "10.196.83.46"
                SubNetMask = "255.255.248.0"
                MACAddress @SRTPC2 = "00-C0-9F-40-5C-1C"
                )

        Lanman sql2k-Lanman (
                VirtualName = VSQL2K
                IPResName = sql2k-IP
                )

        MSSearch sql2k-MSSearch (
                AppName = SQLServer
                )

        MountV sql2k-MountV (
                MountPath = "S:"
                VolumeName = sqldata
                VMDGResName = sql2k-VMDg
                )

        MountV sql2k-MountV-1 (
                MountPath = "R:"
                VolumeName = sqlreg
                VMDGResName = sql2k-VMDg
                )

        NIC sql2k-NIC (
                MACAddress @SRTPC2 = "00-C0-9F-40-5C-1C"
                )

        RVGPrimary sql2k-RVGPrimary (
                RvgResourceName = sqlrpsg-VvrRvg
                )

        RegRep sql2k-RegRep-MSSQL (
                MountResName = sql2k-MountV-1
                ReplicationDirectory = "\\sql2k-RegRep-MSSQL"
                Keys = { "HKLM\\SOFTWARE\\Microsoft\\MSSQLServer\\MSSQLServer",
                         "HKLM\\SOFTWARE\\Microsoft\\MSSQLServer\\Providers",
                         "HKLM\\SOFTWARE\\Microsoft\\MSSQLServer\\Replication",
                         "HKLM\\SOFTWARE\\Microsoft\\MSSQLServer\\SQLServerAgent",
                         "HKLM\\SOFTWARE\\Microsoft\\MSSQLServer\\Client" }
                ExcludeKeys = { "HKLM\\SOFTWARE\\Microsoft\\MSSQLServer\\Setup",
                         "HKLM\\SOFTWARE\\Microsoft\\MSSQLServer\\SQLServerAgent\\Subsystems" }
                )

        RegRep sql2k-RegRep-MSSearch (
                MountResName = sql2k-MountV-1
                ReplicationDirectory = "\\sql2k-RegRep-MSSearch"
                Keys = {
                         "HKLM\\Software\\Microsoft\\Search\\1.0\\Gathering Manager\\Applications\\SQLServer",
                         "HKLM\\Software\\Microsoft\\Search\\1.0\\Gather\\SQLServer",
                         "HKLM\\Software\\Microsoft\\Search\\1.0\\Applications\\SQLServer",
                         "HKLM\\Software\\Microsoft\\Search\\1.0\\CatalogNames\\SQLServer",
                         "HKLM\\Software\\Microsoft\\Search\\1.0\\Indexer\\SQLServer",
                         "HKLM\\Software\\Microsoft\\Search\\1.0\\Databases\\SQLServer" }
                )

        SQLServer2000 sql2k-SQLServer2000 (
                LanmanResName = sql2k-Lanman
                MountResName = sql2k-MountV
                )

        requires group sqlrpsg online local hard
        sql2k-IP requires sql2k-NIC
        sql2k-Lanman requires sql2k-IP
        sql2k-MSSearch requires sql2k-RegRep-MSSearch
        sql2k-MSSearch requires sql2k-SQLServer2000
        sql2k-MountV requires sql2k-RVGPrimary
        sql2k-MountV-1 requires sql2k-RVGPrimary
        sql2k-RegRep-MSSQL requires sql2k-MountV-1
        sql2k-RegRep-MSSearch requires sql2k-MountV-1
        sql2k-SQLServer2000 requires sql2k-Lanman
        sql2k-SQLServer2000 requires sql2k-RegRep-MSSQL
        sql2k-SQLServer2000 requires sql2k-MountV


        // resource dependency tree
        //
        //        group sql2k
        //        {
        //        MSSearch sql2k-MSSearch
        //            {
        //            RegRep sql2k-RegRep-MSSearch
        //                {
        //                MountV sql2k-MountV-1
        //                    {
        //                    RVGPrimary sql2k-RVGPrimary
        //                    }
        //                }
        //            SQLServer2000 sql2k-SQLServer2000
        //                {
        //                Lanman sql2k-Lanman
        //                    {
        //                    IP sql2k-IP
        //                        {
        //                        NIC sql2k-NIC
        //                        }
        //                    }
        //                RegRep sql2k-RegRep-MSSQL
        //                    {
        //                    MountV sql2k-MountV-1
        //                        {
        //                        RVGPrimary sql2k-RVGPrimary
        //                        }
        //                    }
        //                MountV sql2k-MountV
        //                    {
        //                    RVGPrimary sql2k-RVGPrimary
        //                    }
        //                }
        //            }
        //        }


group sqlrpsg (
        SystemList = { SRTPC2 = 1 }
        Authority = 1
        )

        IP sqlrpsg-IP (
                Address = "10.196.83.45"
                SubNetMask = "255.255.248.0"
                MACAddress @SRTPC2 = "00-C0-9F-40-5C-1C"
                )

        NIC sqlrpsg-NIC (
                MACAddress @SRTPC2 = "00-C0-9F-40-5C-1C"
                PingHostList = { "" }
                )

        VMDg sql2k-VMDg (
                DiskGroupName = sql2kdg
                DGGuid = dcd929c6-48b7-457a-aab7-6d7fededc7c2
                )

        VvrRvg sqlrpsg-VvrRvg (
                RVG = sqlrvg
                VMDgResName = sql2k-VMDg
                IPResName = sqlrpsg-IP
                )

        sqlrpsg-IP requires sqlrpsg-NIC
        sqlrpsg-VvrRvg requires sql2k-VMDg
        sqlrpsg-VvrRvg requires sqlrpsg-IP


        // resource dependency tree
        //
        //        group sqlrpsg
        //        {
        //        VvrRvg sqlrpsg-VvrRvg
        //            {
        //            VMDg sql2k-VMDg
        //            IP sqlrpsg-IP
        //                {
        //                NIC sqlrpsg-NIC
        //                }
        //            }
        //        }

TOP

不错,如果再加上一些注意事项就该算是精华贴了。

TOP

发新话题