1 双机知识
1.1 预备知识
1.1.1 基本概念
双机热备:双机热备双机管理软件可以根据心跳自动检测环境运行情况,如果发现一个节点挂掉了,会自动切换到另外一个节点上运行,前台用户根本看不出。缺点是如果在切换过程中两个节点都挂掉数据很容易丢失掉。
像邮件服务器就需要通过双机热备,来避免长时间的服务中断,保证系统长期、可靠的服务。
双机热备分为共享的存储设备方式和纯软件的方式:
共享的存储设备方式基于存储共享的双机热备是双机热备的最标准方案。对于这种方式,采用两台服务器(邮件系统同时运行在两台服务器上),使用共享的存储设备磁盘阵列(邮件系统的数据都存放在该磁盘阵列中)。两台服务器可以采用互备、主从、并行等不同的方式。在工作过程中,两台服务器将以一个虚拟的IP地址对外提供服务,依工作方式的不同,将服务请求发送给其中一台服务器承担。同时,服务器通过心跳线侦测另一台服务器的工作状况。当一台服务器出现故障时,另一台服务器根据心跳侦测的情况做出判断,并进行切换,接管服务。对于用户而言,这一过程是全自动的,在很短时间内完成,从而对业务不会造成影响。由于使用共享的存储设备,因此两台服务器使用的实际上是一样的数据,由双机或集群软件对其进行管理
优点:对于共享方式,数据库放在共享的存储设备上。当一台服务器提供服务时,直接在存储设备上进行读写。而当系统切换后,另一台服务器也同样读取该存储设备上的数据。它可以在无人值守的情况下提供快速的切换,保证不会有数据丢失现象。
缺点:增加了昂贵的存储设备(磁盘阵列)投资
纯软件的方式,通过镜像软件,将数据可以实时复制到另一台服务器上,这样同样的数据就在两台服务器上各存在一份,如果一台服务器出现故障,可以及时切换到另一台服务器。
优点:
a.避免了磁盘阵列的单点故障
b.节约投资:不需购买昂贵的磁盘阵列。
c.不受距离的限制
缺点:
a.可靠性相对较差,两服务器间的数据实时复制是一个比较脆弱的环节。
b.一旦某台服务器出现中断,恢复后还要进行比较复杂的数据同步恢复。并且,这个时段系统处于无保护状态。
c.没有事务机制,由于其复制是在文件和磁盘层进行的,复制是否成功不会影响数据库事务操作,因此有出现数据不完整变化的情况,这个存在着相当的风险。
双机冷备:双机冷备需要手动操作双机管理软件来切换节点,比起热备可靠性更高,但是每次切换时环境都会在另外一个节点停掉后再在另外一个节点上启动,故前台用户能感知环境宕机。
双机冷备核心数据都放存储上,动的数据都放存储上,不动的数据才放本机上。
PortalONE都是用的双机冷备的方式。一般是挂载一个磁盘阵列实现数据共享,并采用LVM的分区方式来灵活增缩磁盘容量。
1.1.2 双机安装流程
1.2 预备知识
1.2.1 基本概念
磁盘阵列:Raid技术(Redundant Arrays of Independent Disks,RAID)廉价磁盘冗余整列。磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上
RAID就是多个硬盘,合在一起作为一个磁盘整体来用并通过raid技术提供数据冗余,通过多磁盘并行运行来提高计算机的存储IO性能,可提高数据存取速度及安全性。
磁盘阵列作为独立系统在主机外直连或通过网络与主机相连。磁盘阵列有多个端口可以被不同主机或不同端口连接。一个主机连接阵列的不同端口可提升传输速度。
RAID分类有很多种,现代RAID共有7类,常用的就4类:RAID0、RAID1、RAID5、RAID6
我们这边用RAID一是提高性能,另外可以实现双机共享。
LVM:
传统磁盘管理的问题:当磁盘空间满了或分区大小不够时无法扩展其大小,只能添加硬盘创建新的分区来扩充空间,但是新添加进来的硬盘作为独立的文件系统存在,原有的文件系统如/home目录并未得到扩充,只能让现有磁盘下线换上新的磁盘后将原始数据导入,但是在生产环境上并不是所有的环境都可以掉线的,这个时候用传统的磁盘管理就不可行了。那么LVM就可以不影响原来环境在线运行的情况下增加或缩减空间。
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制。LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。前面谈到,LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。
也就是将底层的物理硬盘抽象封装起来,以逻辑卷的形式表现给上层系统,逻辑卷的大小可以动态调整,而且不会丢失现有数据,而传统的磁盘分区方式,所有的文件系统都是建立在磁盘或者分区上,lvm是在逻辑卷的基础上建立文件系统,格式化也是格式化逻辑卷。
通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组 (volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系统并挂载目录。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配.
通过fdisk –l命令来查看磁盘的分区情况:
详细参考:
http://baike.baidu.com/view/361916.htm