欢迎进入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。
2、打开服务管理器,找到 MDaemon 服务,将启动类型改为“手动”。
3、因为 MDaemon 当前只绑定在 192.168.199.251 上,群集 IP 不在绑定范围,会导致实际中出现访问故障。为此,打开 MDaemon 管理器并点击导航栏上的“Setup”,选择“Primary domain...”。
4、进入“Primary Domain”后,在“Domain”页下将“Primary domain IP”改为“127.0.1.1”,确定后退出。
5、为了让 MDaemon 的用户数据都保存在 Sdisk 下,需要修改默认新用户配置。为此,点击导航栏上的“Accounts”,选择“New account defaults...”。
6、在“Account Defaults”页下,将“Mail directory”改为“S:\MDaemon Users\$DOMAIN$\$MAILBOX$\”,根据需要再配置其他项,完成后确定退出。
7、因为在 MDaemon 安装时创建了一个管理员,为了保证每个节点中 MDaemon 管理员的一致性,则需要将管理员的数据也迁移到 Sdisk 中。为此,点击导航栏上的“Accounts”,选择“Account manager...”。
8、选中账号“Admin”,进入“Account Editor”并切换到“Mailbox”页下,将“Message directory”改为“S:\MDaemon USERS\maytide.net\admin\”,完成后确定并退出。
9、现在进行 MDaemon 账户存储方式的修改,将其改为 ODBC 中的 SQL Server 存储方式。为此,点击导航栏上的“Accounts”,选择“Account database...”。
10、进入“Account Database Options”后,将“Account database”页下的选择改为“Store account data in a ODBC accessible store”,并点击“Configure”开始配置。
11、进入配置页面后,点击“New DSN”,开始创建数据源。
12、在“选择数据源”配置中,切换到“机器数据源”,并选择“新建”。
13、在“创建新数据源”配置中,选择数据源类型为“系统数据源(只用于当前机器)”,并点击“下一步”。
14、选择“SQL Server”作为数据源的驱动程序,并点击“下一步”。
15、至此,就完成了以 SQL Server 为连接类型的系统数据源的创建,点击“完成”。
16、此时系统自动弹出连接 SQL Server 的 ODBC 数据源创建向导,根据提示填写信息。为了方便管理,我将此 ODBC 数据源命名为“MDaemonUsers”,注意服务器这项应当选择主机名为“SQL2005”的服务器,因为“SQL2005”是本次实验中的 SQL2005群集虚拟主机。
17、验证与连接配置中,我是按照默认配置的。
18、将默认的数据库改为 SQL2005 中名为“MDaemonUsers”的数据库,因为此数据库将用来保存 MDaemon 的域和用户信息。
19、其他选项为默认,并点击“完成”。
20、弹出完成后的提示,这里可以选择“测试数据源”来进行连接测试。
21、至此就在本节点服务器上建立了一个以 SQL Server 连接,名为“MDaemonUsers”的 ODBC 机器数据源。
22、完成 ODBC 的配置后,回到 MDaemon 的“ODBC Selector Wizard”下,可以看到“MDaemonUsers”已经在数据源列表中,选中它后点击“下一步”。
23、因为 ODBC 中的“MDaemonUsers”数据源所对应的 SQL2005 下的数据库“MDaemonUsers”中没有 MDaemon 所需要的表,所以我们运行 MDaemon 自带的脚本来创建它。为此,点击“Run a script to created the necessary tables...”。
24、向导将自动定位到 SQL scritps 所在的位置,此处有多个脚本选择,因为我们使用的是 SQL Server ,所以选择名为“AccountsDB-SQLServer.sql”的脚本文件,并选择“打开”。
25、此时会弹出“Tables created successfully!”的提示,如果失败请重新检查之前的步骤确保数据源创建成功。
26、回到“ODBC Selector Wizard”界面,我们会看到成功创建的两个表“domains”、“userlist”,点击“完成”。
27、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”中新建一个“资源”。
29、在“新建资源”中填写相关信息,这里我为资源命名为“MDaemon Server”,因为 MDaemon 本身并不支持群集,而它的群集实现纯粹是靠 DIY 出来的,所以为了能够使 MDaemon 被 MSCS 所支持,在“资源类型”中选择“通用服务”,完成后点击“下一步”。
30、在“可能的所有者”中将“可用节点”中的服务器添加到“可能的所有者中”,完成后点击“下一步”。
31、在“依存”关系中,请将 MDaemon 群集依赖的资源添加到“资源依存”中,完成后点击“下一步”。
32、在“一般服务参数”中,“服务名”为“MDaemon”;“启动参数”为“C:\MDaemon\APP\MDAEMON.EXE”,完成后点击“下一步”。
33、完成资源添加后,“MDaemon Server”便出现在“组0”中,将其联机后,系统会自动启动 MDaemon。
至此,便实现了基于 SQL Server 存储账号的 MDaemon 群集,下来我们可以创建一个邮件账号进行 webmail 方式的登录来检测 MDaemon 与 SQL Server 群集连接是否正常。
?结尾
MDaemon 的群集创建结束了,下来我们可以开启第一台节点进行灾难模拟,以检验此次部署实施的 MDaemon 冗余方案的效果。经过测试,当一台节点停止后,另一台节点迅速接管群集资源,并启动 MDaemon 服务。小注:当只剩下一台节点时,通过 MDaemon 自身来停止服务是无效的,经过测试关闭 MDaemon 服务后,系统会自动再次开启 MDaemon 服务,如果在此环境下作 MDaemon 的停机维护,需要通过群集管理器将 MDaemon Server 脱机。
关于 MDaemon 的群集打算做成一个系列,而这个系列的名字就以需求为根本,名为《MDaemon Server 冗余方案系列》,在今后还将推出多种 MDaemon 的冗余方式供大家参考选择。不过,个人认为此次群集的实施方式所达到的冗余,可能只有在大环境中才能得到真正的应用。如果能够脱离微软群集(MSCS)来实现 MDaemon 的冗余就会有很大的应用市场。
欢迎大家与我共同探讨关于 MDaemon 的冗余实现技术,同时希望大家能参与到讨论中。
作者:gOxiA

데이터베이스 최적화에서 쿼리 요구 사항에 따라 인덱싱 전략을 선택해야합니다. 1. 쿼리에 여러 열이 포함되고 조건 순서가 수정되면 복합 인덱스를 사용하십시오. 2. 쿼리에 여러 열이 포함되어 있지만 조건 순서가 고정되지 않은 경우 여러 단일 열 인덱스를 사용하십시오. 복합 인덱스는 다중 열 쿼리를 최적화하는 데 적합한 반면 단일 열 인덱스는 단일 열 쿼리에 적합합니다.

MySQL 느린 쿼리를 최적화하려면 SlowQueryLog 및 Performance_Schema를 사용해야합니다. 1. SlowQueryLog 및 Set Stresholds를 사용하여 느린 쿼리를 기록합니다. 2. Performance_schema를 사용하여 쿼리 실행 세부 정보를 분석하고 성능 병목 현상을 찾고 최적화하십시오.

MySQL 및 SQL은 개발자에게 필수적인 기술입니다. 1.MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템이며 SQL은 데이터베이스를 관리하고 작동하는 데 사용되는 표준 언어입니다. 2.MYSQL은 효율적인 데이터 저장 및 검색 기능을 통해 여러 스토리지 엔진을 지원하며 SQL은 간단한 문을 통해 복잡한 데이터 작업을 완료합니다. 3. 사용의 예에는 기본 쿼리 및 조건 별 필터링 및 정렬과 같은 고급 쿼리가 포함됩니다. 4. 일반적인 오류에는 구문 오류 및 성능 문제가 포함되며 SQL 문을 확인하고 설명 명령을 사용하여 최적화 할 수 있습니다. 5. 성능 최적화 기술에는 인덱스 사용, 전체 테이블 스캔 피하기, 조인 작업 최적화 및 코드 가독성 향상이 포함됩니다.

MySQL 비동기 마스터 슬레이브 복제는 Binlog를 통한 데이터 동기화를 가능하게하여 읽기 성능 및 고 가용성을 향상시킵니다. 1) 마스터 서버 레코드는 Binlog로 변경됩니다. 2) 슬레이브 서버는 I/O 스레드를 통해 Binlog를 읽습니다. 3) 서버 SQL 스레드는 데이터를 동기화하기 위해 Binlog를 적용합니다.

MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 1) 데이터베이스 및 테이블 작성 : CreateAbase 및 CreateTable 명령을 사용하십시오. 2) 기본 작업 : 삽입, 업데이트, 삭제 및 선택. 3) 고급 운영 : 가입, 하위 쿼리 및 거래 처리. 4) 디버깅 기술 : 확인, 데이터 유형 및 권한을 확인하십시오. 5) 최적화 제안 : 인덱스 사용, 선택을 피하고 거래를 사용하십시오.

MySQL의 설치 및 기본 작업에는 다음이 포함됩니다. 1. MySQL 다운로드 및 설치, 루트 사용자 비밀번호를 설정하십시오. 2. SQL 명령을 사용하여 CreateAbase 및 CreateTable과 같은 데이터베이스 및 테이블을 만듭니다. 3. CRUD 작업을 실행하고 삽입, 선택, 업데이트, 명령을 삭제합니다. 4. 성능을 최적화하고 복잡한 논리를 구현하기 위해 인덱스 및 저장 절차를 생성합니다. 이 단계를 사용하면 MySQL 데이터베이스를 처음부터 구축하고 관리 할 수 있습니다.

innodbbufferpool은 데이터와 색인 페이지를 메모리에로드하여 MySQL 데이터베이스의 성능을 향상시킵니다. 1) 데이터 페이지가 버퍼 풀에로드되어 디스크 I/O를 줄입니다. 2) 더러운 페이지는 정기적으로 디스크로 표시되고 새로 고침됩니다. 3) LRU 알고리즘 관리 데이터 페이지 제거. 4) 읽기 메커니즘은 가능한 데이터 페이지를 미리로드합니다.

MySQL은 설치가 간단하고 강력하며 데이터를 쉽게 관리하기 쉽기 때문에 초보자에게 적합합니다. 1. 다양한 운영 체제에 적합한 간단한 설치 및 구성. 2. 데이터베이스 및 테이블 작성, 삽입, 쿼리, 업데이트 및 삭제와 같은 기본 작업을 지원합니다. 3. 조인 작업 및 하위 쿼리와 같은 고급 기능을 제공합니다. 4. 인덱싱, 쿼리 최적화 및 테이블 파티셔닝을 통해 성능을 향상시킬 수 있습니다. 5. 데이터 보안 및 일관성을 보장하기위한 지원 백업, 복구 및 보안 조치.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

WebStorm Mac 버전
유용한 JavaScript 개발 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기
