ホームページ データベース mysql チュートリアル 实现基于SQLServer存储账号的MDaemon群集

实现基于SQLServer存储账号的MDaemon群集

Jun 07, 2016 pm 03:44 PM
sqlserver に基づく ストレージ 成し遂げる

欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入 ?本章概述 MDaemon Server(以下简称 MDaemon) 的冗余方案有多种选择,本章将以微软公司出品的 SQL Server 2005 简体中文企业版(以下简称 SQL2005)作为 MDaemon 账户存储数据库,在微软群集(MS

欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入

  ?本章概述
 
  MDaemon Server(以下简称 MDaemon) 的冗余方案有多种选择,本章将以微软公司出品的 SQL Server 2005 简体中文企业版(以下简称 SQL2005)作为 MDaemon 账户存储数据库,在微软群集(MSCS)上部署 SQL2005 虚拟服务器群集,从而实现 MDaemon 的故障自动转移,达到用户所要求的高可用性。

  因为本章重点放在 MDaemon 群集的实现上,所以关于 MSCS 和 SQL2005 群集的部署请参考:
  1.Windows Server 2003 群集的创建和配置
      http://www.microsoft.com/china/technet/prodtechnol/windowsserver2003/technologies/clustering/confclus.mspx

  本次实验所使用的 MDaemon 版本是 v7.23 英文版,建议大家不论测试还是实际生产环境最好都使用英文版以避免不必要的错误故障,如果情况允许最好操作系统也选择英文版,因为在实际情况中发现英文版的 MDaemon 与中文系统存在兼容性会导致菜单显示不完整。

  ?测试环境      
  宿主:
  硬件配置:PIV2.4G / 1.5G-DDR400 / 80G-7200pm / 8139C-NIC
  操作系统:Windows XP Pro With SP2 ENU
  虚拟平台:VMware GSX 3.2.1

  NodeA:
  硬件配置:PIV2.4G / 512M / 10G+0.5G(Qdisk)+4G(Sdisk) / vlance-NIC+vmxnet-NIC
  操作系统:Windows Server 2003 EE With SP1 CHS
  网络信息:vlance-NIC:10M 全速半双工 / Heartbeat / IP192.168.236.250
                      vmxnet-NIC:1000M 全速全双工 / Public / IP192.168.199.250
  承载信息:DC+DNS+IIS+SQL2005+MSCS

  NodeB:
  硬件配置:PIV2.4G / 512M / 10G+0.5G(Qdisk)+4G(Sdisk) / vlance-NIC+vmxnet-NIC
  操作系统:Windows Server 2003 EE With SP1 CHS
  网络信息:vlance-NIC:10M 全速半双工 / Heartbeat / IP192.168.236.251
                      vmxnet-NIC:1000M 全速全双工 / Public / IP192.168.199.251
  承载信息:DC+DNS+IIS+SQL2005+MSCS

  MSCS:
  MSCS:IP192.168.199.200 / HostName:CLUSTER
  SQL2005 VirtualHost:IP192.168.199.201 /HostName:SQL2005

  ?理论概念 & 最终目标

  使用 SQL2005 作为 MDaemon 账户存储数据库并基于群集模式,以保障 MDaemon 任何一个节点服务器出现故障后仍然能够提供域和帐户的验证及管理。

  使用资源磁盘(以下简称Sdisk)来存储 MDaemon 的用户数据,以保障 MDaemon 任何一个节点服务器出现故障后,用户在通过验证后登录到 MDaemon 上取得的邮件与数据一致。

  最后通过 MSCS 的故障自动转移,实现 MDaemon 的冗余。

  为此,在 SQL2005 中创建一个用来保存 MDaemon 域和帐户信息的数据库,命名为 MDaemonUsers。然后将 MDaemon 账户存储方式配置为 ODBC 方式,并创建与 SQL2005 中 MDaemonUsers 数据库的连接,导入账户数据库查询。修改 MDaemon 默认账户模板的存储路径,在群集管理器中将 MDaemon 配置为群集中的一个“通用服务”资源。

  ?实施部署
 
  首先在获得活动资源的节点服务器上安装 MDaemon ,请记录下安装时管理员的名称和密码,完成 MDaemon 的安装后,强烈建议重新启动一次系统,确保 MDaemon 服务正常运转。之后进行以下的操作:

  1、打开数据库管理器,创建一个新的数据库,名称为:MDaemonUsers。

实现基于SQLServer存储账号的MDaemon群集

  2、打开服务管理器,找到 MDaemon 服务,将启动类型改为“手动”。

实现基于SQLServer存储账号的MDaemon群集

  3、因为 MDaemon 当前只绑定在 192.168.199.251 上,群集 IP 不在绑定范围,会导致实际中出现访问故障。为此,打开 MDaemon 管理器并点击导航栏上的“Setup”,选择“Primary domain...”。

实现基于SQLServer存储账号的MDaemon群集

  4、进入“Primary Domain”后,在“Domain”页下将“Primary domain IP”改为“127.0.1.1”,确定后退出。

实现基于SQLServer存储账号的MDaemon群集

  5、为了让 MDaemon 的用户数据都保存在 Sdisk 下,需要修改默认新用户配置。为此,点击导航栏上的“Accounts”,选择“New account defaults...”。

实现基于SQLServer存储账号的MDaemon群集

  6、在“Account Defaults”页下,将“Mail directory”改为“S:\MDaemon Users\$DOMAIN$\$MAILBOX$\”,根据需要再配置其他项,完成后确定退出。

实现基于SQLServer存储账号的MDaemon群集

  7、因为在 MDaemon 安装时创建了一个管理员,为了保证每个节点中 MDaemon 管理员的一致性,则需要将管理员的数据也迁移到 Sdisk 中。为此,点击导航栏上的“Accounts”,选择“Account manager...”。

实现基于SQLServer存储账号的MDaemon群集

  8、选中账号“Admin”,进入“Account Editor”并切换到“Mailbox”页下,将“Message directory”改为“S:\MDaemon USERS\maytide.net\admin\”,完成后确定并退出。

实现基于SQLServer存储账号的MDaemon群集

  9、现在进行 MDaemon 账户存储方式的修改,将其改为 ODBC 中的 SQL Server 存储方式。为此,点击导航栏上的“Accounts”,选择“Account database...”。

实现基于SQLServer存储账号的MDaemon群集

  10、进入“Account Database Options”后,将“Account database”页下的选择改为“Store account data in a ODBC accessible store”,并点击“Configure”开始配置。

实现基于SQLServer存储账号的MDaemon群集

  11、进入配置页面后,点击“New DSN”,开始创建数据源。

实现基于SQLServer存储账号的MDaemon群集

  12、在“选择数据源”配置中,切换到“机器数据源”,并选择“新建”。

实现基于SQLServer存储账号的MDaemon群集

  13、在“创建新数据源”配置中,选择数据源类型为“系统数据源(只用于当前机器)”,并点击“下一步”。

实现基于SQLServer存储账号的MDaemon群集

  14、选择“SQL Server”作为数据源的驱动程序,并点击“下一步”。

实现基于SQLServer存储账号的MDaemon群集

  15、至此,就完成了以 SQL Server 为连接类型的系统数据源的创建,点击“完成”。

实现基于SQLServer存储账号的MDaemon群集

  16、此时系统自动弹出连接 SQL Server 的 ODBC 数据源创建向导,根据提示填写信息。为了方便管理,我将此 ODBC 数据源命名为“MDaemonUsers”,注意服务器这项应当选择主机名为“SQL2005”的服务器,因为“SQL2005”是本次实验中的 SQL2005群集虚拟主机。

实现基于SQLServer存储账号的MDaemon群集

  17、验证与连接配置中,我是按照默认配置的。

实现基于SQLServer存储账号的MDaemon群集

  18、将默认的数据库改为 SQL2005 中名为“MDaemonUsers”的数据库,因为此数据库将用来保存 MDaemon 的域和用户信息。

实现基于SQLServer存储账号的MDaemon群集

  19、其他选项为默认,并点击“完成”。

实现基于SQLServer存储账号的MDaemon群集

  20、弹出完成后的提示,这里可以选择“测试数据源”来进行连接测试。

实现基于SQLServer存储账号的MDaemon群集

  21、至此就在本节点服务器上建立了一个以 SQL Server 连接,名为“MDaemonUsers”的 ODBC 机器数据源。

实现基于SQLServer存储账号的MDaemon群集

  22、完成 ODBC 的配置后,回到 MDaemon 的“ODBC Selector Wizard”下,可以看到“MDaemonUsers”已经在数据源列表中,选中它后点击“下一步”。

实现基于SQLServer存储账号的MDaemon群集

  23、因为 ODBC 中的“MDaemonUsers”数据源所对应的 SQL2005 下的数据库“MDaemonUsers”中没有 MDaemon 所需要的表,所以我们运行 MDaemon 自带的脚本来创建它。为此,点击“Run a script to created the necessary tables...”。

实现基于SQLServer存储账号的MDaemon群集

  24、向导将自动定位到 SQL scritps 所在的位置,此处有多个脚本选择,因为我们使用的是 SQL Server ,所以选择名为“AccountsDB-SQLServer.sql”的脚本文件,并选择“打开”。

实现基于SQLServer存储账号的MDaemon群集

  25、此时会弹出“Tables created successfully!”的提示,如果失败请重新检查之前的步骤确保数据源创建成功。

实现基于SQLServer存储账号的MDaemon群集

  26、回到“ODBC Selector Wizard”界面,我们会看到成功创建的两个表“domains”、“userlist”,点击“完成”。

实现基于SQLServer存储账号的MDaemon群集

  27、MDaemon 开始转换数据,并给出提示。

实现基于SQLServer存储账号的MDaemon群集

  好了,可以休息一下了。因为到这里就完成了 MDaemon 以 SQL Server 为账户存储方式的建立。感觉是不是够累得,其实真的操作的时候是非常简单的要不了多长时间,基本上一路选择下来是非常的顺利。不过说真的我是够累得,写到这里已经是17:42分了,下班时间过去12分钟了,决定继续写完。

  基本上工作已经完成了一大半了,下面请关闭这台节点,切换到其他节点进行 MDaemon 的安装后配置,关于第二台节点上 MDaemon 的安装配置就不再重复了。

  不过需要提醒注意的是:第二台节点上 MDaemon 安装时的管理员名称及密码都应该与第一台上的相同,在完成安装的最后有一个选项“Start MDaemon”,最好不要勾选,因为下来我们需要手工配置这台节点上的 MDaemon 使用数据库存储账户。

  为此,打开系统管理工具程序组中的“数据源(ODBC)”参考第一个节点的数据源安装步骤为第二个节点创建与之前相同的数据源。之后,用文字编辑器打开 MDaemon 所在安装下 App 目录中的“MDaemon.ini”文件,加入以下配置:

代码
[Advanced]
UserDllType=ODBC
[USER_ODBC]
DSN=MDaemonUsers
User=
Password=

  注:DSN 是配置 MDaemon 使用服务器 ODBC 中哪个数据库源,User 和 Password 是指定数据源的访问账号和密码,同样如果 mdaemon.ini 配置文件中没有 [USER_ODBC] 配置字段则添加。

  将本节点上的 MDaemon 服务也改为“手动”方式(参考2)。运行 MDaemon ,修改默认的绑定IP(参考3~4),修改默认账号路径与第一个节点相同(参考5~6)。进入账号管理你能看到此节点上的管理员数据所在位置是在 Sdisk 上,因为第一次启动 MDaemon 前,已经手工为其配置了数据库存储账户信息,所以当第一次启动后 MDaemon 是直接从数据库中获取账户的信息。现在可以测试一下邮局是否工作正常!访问 http://IP_Address:3000 登录 WorldClient 操作测试。

  28、完成以上步骤及测试后, MDaemon 的冗余部署的准备工作算是完成了,为了实现故障自动转移,还需要将 MDaemon 配置到 MSCS 中,在开始配置之前强烈建议关闭 MDaemon 服务避免不必要的错误,因为当配置完 MDaemon 后,其监视及控制权已经转交给了 MSCS 。接下来开始为 MDaemon 配置群集,为此在当前节点上打开“群集管理器”,在 SQL Server 所在的群集组“组0”中新建一个“资源”。

实现基于SQLServer存储账号的MDaemon群集

  29、在“新建资源”中填写相关信息,这里我为资源命名为“MDaemon Server”,因为 MDaemon 本身并不支持群集,而它的群集实现纯粹是靠 DIY 出来的,所以为了能够使 MDaemon 被 MSCS 所支持,在“资源类型”中选择“通用服务”,完成后点击“下一步”。

实现基于SQLServer存储账号的MDaemon群集

  30、在“可能的所有者”中将“可用节点”中的服务器添加到“可能的所有者中”,完成后点击“下一步”。

实现基于SQLServer存储账号的MDaemon群集

  31、在“依存”关系中,请将 MDaemon 群集依赖的资源添加到“资源依存”中,完成后点击“下一步”。

实现基于SQLServer存储账号的MDaemon群集

  32、在“一般服务参数”中,“服务名”为“MDaemon”;“启动参数”为“C:\MDaemon\APP\MDAEMON.EXE”,完成后点击“下一步”。

实现基于SQLServer存储账号的MDaemon群集

  33、完成资源添加后,“MDaemon Server”便出现在“组0”中,将其联机后,系统会自动启动 MDaemon。

实现基于SQLServer存储账号的MDaemon群集

  至此,便实现了基于 SQL Server 存储账号的 MDaemon 群集,下来我们可以创建一个邮件账号进行 webmail 方式的登录来检测 MDaemon 与 SQL Server 群集连接是否正常。

实现基于SQLServer存储账号的MDaemon群集

  ?结尾
     
   MDaemon 的群集创建结束了,下来我们可以开启第一台节点进行灾难模拟,以检验此次部署实施的 MDaemon 冗余方案的效果。经过测试,当一台节点停止后,另一台节点迅速接管群集资源,并启动 MDaemon 服务。小注:当只剩下一台节点时,通过 MDaemon 自身来停止服务是无效的,经过测试关闭 MDaemon 服务后,系统会自动再次开启 MDaemon 服务,如果在此环境下作 MDaemon 的停机维护,需要通过群集管理器将 MDaemon Server 脱机。

  关于 MDaemon 的群集打算做成一个系列,而这个系列的名字就以需求为根本,名为《MDaemon Server 冗余方案系列》,在今后还将推出多种 MDaemon 的冗余方式供大家参考选择。不过,个人认为此次群集的实施方式所达到的冗余,可能只有在大环境中才能得到真正的应用。如果能够脱离微软群集(MSCS)来实现 MDaemon 的冗余就会有很大的应用市场。

  欢迎大家与我共同探讨关于 MDaemon 的冗余实现技术,同时希望大家能参与到讨论中。

  作者:gOxiA

实现基于SQLServer存储账号的MDaemon群集

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

指定されたオブジェクトが sqlserver データベースにすでに存在するという問題を解決する方法 指定されたオブジェクトが sqlserver データベースにすでに存在するという問題を解決する方法 Apr 05, 2024 pm 09:42 PM

SQL Server データベースに既に存在する同じ名前のオブジェクトについては、次の手順を実行する必要があります。 オブジェクトの種類 (テーブル、ビュー、ストアド プロシージャ) を確認します。 IF NOT EXISTS を使用すると、オブジェクトが空の場合に作成をスキップできます。オブジェクトにデータがある場合は、別の名前を使用するか、構造を変更してください。既存のオブジェクトを削除するには、DROP を使用します (注意してください。バックアップを推奨します)。スキーマの変更をチェックして、削除または名前変更されたオブジェクトへの参照がないことを確認します。

mdfファイルをsqlserverにインポートする方法 mdfファイルをsqlserverにインポートする方法 Apr 08, 2024 am 11:41 AM

インポート手順は次のとおりです。 MDF ファイルを SQL Server のデータ ディレクトリ (通常は C:\Program Files\Microsoft SQL Server\MSSQL\DATA) にコピーします。 SQL Server Management Studio (SSMS) でデータベースを開き、[アタッチ] を選択します。 「追加」ボタンをクリックして、MDF ファイルを選択します。データベース名を確認し、「OK」ボタンをクリックします。

sqlserver サービスを開始できない場合の対処方法 sqlserver サービスを開始できない場合の対処方法 Apr 05, 2024 pm 10:00 PM

SQL Server サービスの開始に失敗した場合の解決手順は次のとおりです。 エラー ログを確認して、根本原因を特定します。サービス アカウントにサービスを開始する権限があることを確認してください。依存関係サービスが実行されているかどうかを確認します。ウイルス対策ソフトウェアを無効にします。 SQL Server のインストールを修復します。修復が機能しない場合は、SQL Server を再インストールします。

SQLサーバーのポート番号を確認する方法 SQLサーバーのポート番号を確認する方法 Apr 05, 2024 pm 09:57 PM

SQL Server のポート番号を表示するには: SSMS を開いてサーバーに接続します。オブジェクト エクスプローラーでサーバー名を見つけ、右クリックして [プロパティ] を選択します。 「接続」タブで、「TCP ポート」フィールドを表示します。

sqlserverで誤って削除したデータベースを回復する方法 sqlserverで誤って削除したデータベースを回復する方法 Apr 05, 2024 pm 10:39 PM

SQL Server データベースを誤って削除した場合は、次の手順を実行して回復できます: データベース アクティビティの停止、ログ ファイルのバックアップ、データベース ログの確認、回復オプション: バックアップからの復元、トランザクション ログからの復元、DBCC CHECKDB の使用、3 番目の使用パーティーツール。データ損失を防ぐために、データベースを定期的にバックアップし、トランザクション ログを有効にしてください。

Huawei 携帯電話にデュアル WeChat ログインを実装するにはどうすればよいですか? Huawei 携帯電話にデュアル WeChat ログインを実装するにはどうすればよいですか? Mar 24, 2024 am 11:27 AM

Huawei 携帯電話にデュアル WeChat ログインを実装するにはどうすればよいですか?ソーシャルメディアの台頭により、WeChatは人々の日常生活に欠かせないコミュニケーションツールの1つになりました。ただし、多くの人は、同じ携帯電話で同時に複数の WeChat アカウントにログインするという問題に遭遇する可能性があります。 Huawei 社の携帯電話ユーザーにとって、WeChat の二重ログインを実現することは難しくありませんが、この記事では Huawei 社の携帯電話で WeChat の二重ログインを実現する方法を紹介します。まず第一に、ファーウェイの携帯電話に付属するEMUIシステムは、デュアルアプリケーションを開くという非常に便利な機能を提供します。アプリケーションのデュアルオープン機能により、ユーザーは同時に

SQLserver データベースはどこにありますか? SQLserver データベースはどこにありますか? Apr 05, 2024 pm 08:21 PM

SQL Server データベース ファイルは、通常、次のデフォルトの場所に保存されます。 Windows: C:\Program Files\Microsoft SQL Server\MSSQL\DATALinux: /var/opt/mssql/data データベース ファイルの場所は、データベース ファイル パスを変更することでカスタマイズできます。設定。

インストールが失敗した場合に sqlserver を削除するにはどうすればよいですか? インストールが失敗した場合に sqlserver を削除するにはどうすればよいですか? Apr 05, 2024 pm 11:27 PM

SQL Server のインストールが失敗した場合は、次の手順に従ってクリーンアップできます。 SQL Server をアンインストールする レジストリ キーを削除する ファイルとフォルダーを削除する コンピューターを再起動する

See all articles