今天所有的企业都在努力提升效率,无一例外都想快速响应客户需求。对数据中心或者IT部门而言,就是提升应用可用性,同时又不增加成本,这真是一个又想马儿跑得快、又想马儿少吃草的时代。于是,云计算开始兴风作浪,让传统的企业数据中心不得不奋起应对挑战:私有云、公有云和混合云应运而生,引领所有传统企业数据中心的再造。
云计算的目标
传统企业看到公有云的创新而深受鼓舞,最常见的想法就是效仿公有云做法,建立自己的私有云或者混合云。这也经常是新问题的开始。稍微研究一下几大主要公有云IaaS供应商,你就会发现他们的架构大都遵循如下几个原则:
-
单一的x86Hypervisor平台和统一的虚拟平台层;
-
单一的专为云计算构建的管理平台;
-
平台的价值主要来自软件,而非硬件。
现在你可以仔细想一想你见过的私有云方案书,通常都是通过看似公平的流程,将不同的部件拼起来,结果要么彻底失败,要么价格昂贵。为什么呢?
要想平衡各路神仙,就是让每个IT部门继续基于他们喜欢的技术扩展,架构标准化绝对是难以达成的目标,并且多供应商采购也经常被认为是一种省钱的好办法。因此,很多私有云项目最初都以效仿那几家知名公有云为目标,但最终建成后往往同它所效仿的公有云架构迥异。如此构建的私有云通常会有以下几个特征:
-
多种Hypervisor共存,烟囱式的管理;
-
一种或多种云管理平台,协同完成多种虚拟化、存储、网络和安全组件的管理;
-
同时拥有了软件和硬件优化的组件。
如果多供应商采购如此美好,为什么它不受公有云领头羊的待见?原因很简单:没有优势。但为什么一般企业都会选择多供应商采购虚拟化软件、存储、网络和计算架构呢?原因也很简单:繁杂产生利润。为什么呢?传统的厂商和咨询公司的收费常常是基于复杂度来定价,他们理所当然希望你将架构整得越繁杂越好。当面临繁杂性的时候,不妨扪心自问:我服务的对象有人关心我有几种Hypervisor吗?
实际上,无论你的客户、供应商、业务部门等,他们大多都没有兴趣告诉你怎么做你自己的工作。当然某些现实的需求,比如:容灾需求、负载可迁移性等会对平台提出一些要求,但这往往将你推向架构的标准化,而不是多供应商采购。
云计算前行之路
中国目前大多企业数据中心仍然在规划自己的私有云或混合云,改变航向正当其时。如果你想用最低的成本建成最有弹性的云平台,所用部件种类毫无疑问越少越好。这根本不是高深的科学。
如果你想效仿VMware、亚马逊、谷歌、阿里云或其他公有云平台,第一架构原则就是简单和标准化。当然,如果你全部基于VMware一家的平台来建造你的私有云,肯定会让VMware获益良多,但别忘了,你和你的企业也同样获益良多:企业获得了成本节约,你则获得了省心建造和运维,何乐不为呢?在云时代,你必须和少量的供应商建立战略合作,大家一起同生存共命运。当然,另外一个选择就是完全自己建造,这当然也有巨大的成本风险和人才挑战,很少有企业适合走这条路。
云计算供应商选择
成本最优和最具扩展性的IaaS平台应该是由一家厂商或云服务商来提供标准化的组件为核心建造而成,当然内核肯定要支持高度的自动化。这样的厂家或服务商需要有完善的生态圈来支撑,只有这样才能实现想要的功能,同时又不增加繁杂性。当然,适当的专业服务投资也是必须的,确保第一个私有云的成功是云计算之旅成功的关键。为此,选择有经验的服务团队来和你一起并肩作战绝对没错。但要注意:专业服务的目标不是从一张白纸开始,而是集成一个成熟的云平台方案。
建造繁杂的系统已经成为IT的历史,那只是某些惦记你钱包的厂商的旧伎俩。选择你信得过的战略合作伙伴,化繁为简,享受你的云计算之旅吧。
注:本文已经发表在《软件和信息服务》2014年3月刊上,如果想了解@云界漫步 对云计算的最新观点,请直接订阅"中国云梦"微信公众号。也可微信扫描下面的二维码,直接订阅。订阅"中国云梦"后,直接回复"40009"阅读该文。
本文出自 "中国云梦" 博客,请务必保留此出处http://virtualman.blog.51cto.com/200540/1372467
目录:
1.MySQL复制简介
2.MySQL复制的优势与思路
3.数据复制环境之主服务器设置
4.数据复制环境之从服务器设置
5.创建复制帐号
6.获取主服务器二进制日志信息
7.对现有数据库进行快照备份
8.配置从服务器连接主服务器进行数据复制
9.数据同步验证
1. MySQL复制
使用MySQL复制功能可以将主服务器上的数据复制到多台从服务器上。默认情况下复制是异步传输方式,从服务器不需要总是连接主服务器去更新数据。也就是说数据更新可以在远距离连接的情况下进行,甚至是在使用拨号网络的临时连接环境下也可以进行。根据自定义设置,我们可以对所有数据库或部分数据库甚至是部分数据表进行复制。通过主从复制,在企业级应用环境中就不必再担心数据库的单点故障,当一台服务器宕机时其他服务器一样可以提供非常稳定可靠的数据服务。
2. MySQL复制的优势:
-
高性能:通过将请求分配给多台不同的从服务器提高性能与速度。在这种环境中,所有对数据库的写操作必须提供给主服务器,但读操作可以被平均地分配给多台从服务器。
-
数据安全:数据是从主服务器复制到从服务器的,而且从服务器可以随时暂停复制,这样我们就实现数据备份与还原。
-
远程数据分享:如果企业拥有多处位于其他地理位置的分公司,而这些分公司希望共享总部的数据库资源,就可以使用复制实现数据的共享,而且分公司不必时时连接主服务器,可以仅在需要时进行复制。
MySQL复制有两种核心的格式,一种是基于SQL语句的复制(SBR:Statement Based Replication),另一种是基于行的复制(RBR:Row BasedReplication),另外有时也可以使用混合模式复制。MySQL 5.6默认采用的是基于语句的复制。
MySQL服务器之间的复制是基于二进制日志机制。在主服务器上当MySQL实例进行写操作时会同时生成一条操作事件日志并写入二进制日志文件中,而从服务器则负责读取主服务器上的二进制日志,并在从服务器本机重新执行该事件,从而实现复制数据至本地服务器。当主服务器开启了二进制日志功能后,所有的SQL语句都将被记录至日志。而从服务器复制这些二进制日志的条目,并且根据自己的需要决定哪些语句需要重新在从服务器执行,而哪些语句不需要再执行。我们无法控制主服务器仅记录特定语句到日志文件。如果没有进行其他设置,所有主服务器中的日志事件都将在从服务器上重新执行,当然你可以配置从服务器仅执行主服务器中的一部分日志事件。因为从服务器会记录二进制日志的进度与位置(比如执行到了第几条语句),所以从服务器可以断开与主服务器之间的连接,并在重新建立连接后继续进行复制工作。
在具体操作过程中,主服务器与从服务器都需要配置一个唯一的ID编号。另外,所有的从服务器还必须设置主服务器的主机名、日志文件名、文件位置等参数。
本节我们将演示如何一步一步实现MySQL服务器之间的数据复制(演示环步骤中命令提示符为master则代表指令在MySQL主服务器上运行,提示符为slave1则代表指令在MySQL从服务器上运行)。整个过程一般分为以下几个步骤:
-
在主服务器上开启二进制日志功能,设置唯一的服务器ID编号。这些设置需要重启MySQL服务。
-
在所有从服务器上设置唯一的服务器ID编号,这些设置需要重启MySQL服务。
-
在主服务器上为不用的从服务器创建可以读取主服务器日志文件的账户,或使用相同的统一账户。
-
在进行数据复制之前,你还需要记录主服务器上二进制日志的位置标记。
3.数据复制环境之主服务器设置
在实际的生产环境中,可能在我们还没有部署数据复制前,数据库中就已经存在大量数据,所以,这里我们事先创建一个测试用数据库及数据表,用来演示如何对已经存在的数据进行数据同步备份。
[root@master ~]# mysql -u root -p mysql> create database hr; mysql> create table employees( -> employee_id INT NOT NULL AUTO_INCREMENT, -> name char( 20 ) NOT NULL, -> e_mail var char( 50 ), -> PRIMARY KEY(employee_id)); mysql> INSERT INTO employees values ->( 1 , 'TOM' , 'tom@example.com' ), ->( 2 , 'Jerry' , 'jerry@example.com' ); |
我们需要在主服务器上开启二进制日志并设置服务器编号,服务器唯一编号必须是1至232-1之间的整数,根据自己的实际情况进行设置。进行这些设置需要关闭MySQL数据库并编辑my.cnf或my.ini文件,并在[mysqld]设置段添加相应的配置选项。关于MySQL软件的安装这里不再赘述,请参考4.11.2章节内容。
[root@master ~]# vim /etc/my.cnf
[mysqld] log-bin=Jacob-bin#启用二进制日志,并设置二进制日志文件前缀 server-id=254#设置服务器编号 |
[root@master ~]# service mysqld restart
[root@master ~]# service iptables stop
l注意:在配置文件中不可以使用skip-networking参数选项,否则从服务器将无法与主服务器进行连接并复制数据。 |
4.数据复制环境之从服务器设置
如果从服务器ID编号没有设置,或服务器ID编号与主服务器有冲突,就必须关闭MySQL服务并重新编辑配置文件,设置唯一的服务器编号,最后重启MySQL服务。如果有多台从服务器,则所有的服务器ID编号都必须是唯一的。可以考虑将服务器ID编号与服务器IP地址关联,这样ID编号同时可以唯一标识一台服务器计算机,如采用IP地址的最后一位作为MySQL服务器ID编号。
[root@slave1 ~]# vim /etc/my.cnf
订阅:
博文评论 (Atom)
|
没有评论:
发表评论