文件共享存储&&主备实时热备实现方案

一、方案图

该方案可以解决nfs服务器的单点故障问题,也可以解决数据的备份难题,可以作为公司从nfs文件系统-->分布式存储系统的过渡解决方案。由于我公司从初创到至今,用户的产生数据量与日俱增,在探讨了现有nfs文件系统不能解决现有问题以及现阶段部署分布式存储系统的大量财力、人力的基础上,提出这么一个可以过度的方案。使用LVM磁盘管理技术可以很方便的在每个主机上进行磁盘的扩容。辅助监控监本智能监测服务状态,节省了运维成本!

二、配置步骤

1、LVM管理(主机、备机)

创建分区:fdisk /dev/xvde

p 查看分区表

n 创建分区

t 修改分区类型 8e LVM

w 保存分区表并退出(写入分区表)

使分区生效: partprobe

创建pv:pvcreate /dev/xvde1    #创建物理卷

pvdisplay  #查看已经产生的pv

创建VG:vgcreate VGdata /dev/xvde1  #创建卷组,名称为VGdata

vgdisplay  #查看卷组表

创建LV:lvcreate -L 20G -n LVdata VGdata #-L lv的大小 -n 指定lv的名称

lvdisplay #显示LV信息

格式化LV并挂载文件系统

mkfs.ext4 /dev/VGdata/LVdata

mount /dev/VGdata/LVdata /data

管理--> 增加lv大小

首先创建一块新的分区并格式化分区

mkfs.ext4 /dev/xvde2

创建pv,扩容VG,LV

vgextend VGdata /dev/xvde2 #扩容VG

lvextend -L 50G /dev/VGdata/LVdata #扩容LV到50G   +50G是对LV直接增加50G

扩容文件系统:

resize2fs /dev/VGdata/LVdata  #执行该命令重设大小,对于当前正在使用的LVdata有效

查看扩容情况:df -h

============================================================

如果希望创建一个使用全部卷组的逻辑卷,则需要首先察看该卷组的PE数,然后在创

建逻辑卷时指定:

# vgdisplay web_document| grep “Total PE”

Total PE 45230

# lvcreate -l 45230 web_document -n www1

一般建议最好将文件系统卸载,调整大小,然后再加载:

# umount /dev/web_document/www1

# resize_reiserfs /dev/web_document/www1

# mount -treiserfs /dev/web_document/www1 /data/wwwroot

==============================================================

2.inotify+rsync安装与配置(主机、备机)

安装rsync

cd /usr/local/usr/

wget http://rsync.samba.org/ftp/rsync/src/rsync-3.1.1.tar.gz

tar xf rsync-3.1.1.tar.gz

cd rsync-3.1.1

./configure --prefix=/usr/local/rsync && make && make install

建立密码认证文件:

echo "yzkj1234" >/usr/local/rsync/rsync.passwd

chmod 600 /usr/local/rsync/rsync.passwd

安装inotify

cd /usr/local/src/

wget http://cloud.github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz

tar xf inotify-tools-3.14.tar.gz

cd inotify-tools-3.14

./configure --prefix=/usr/local/inotify && make && make install

===========================================

使用脚本进行后台运行监测文件的状态(主机)

sh /opt/shell/rsync.sh &

#!/bin/bash

host=10.124.x.x  # 备机IP地址

src=/data/       # 主机数据源路径

des=DataBack         # 备机/usr/local/rsync/rsyncd.conf文件设置的认证模块名

user=cloud       # 与备机进行数据传输的认证用户,备机/usr/local/rsync/rsyncd.passwd 文件记录验证用户名:密码

#yestoday=`date -d"1 day ago" +"%F"` #定义昨天的日期

#todayTime=`date +%H%M%S` #120255 时分秒

#使用inotifywait命令对源数据路径文件进行列表遍历,并定义了日志的输入格式: 17/04/15 16:32 /data/10ATTRIB was rsynced.

/usr/local/inotify/bin/inotifywait -mrq --timefmt ‘%d/%m/%y %H:%M‘ --format ‘%T %w%f%e‘ -e modify,delete,create,attrib $src | while read files

do

#使用rsync命令对新产生的数据进行同步,其中--delete将在传输数据的过程中将主机中不存在而备机上存在的数据进行删除,如果需要保持备机的数据不被删除,则将--delete参数去掉即可

/usr/local/rsync/bin/rsync -vzrtopg --delete --progress --password-file=/usr/local/rsync/rsyncd.passwd $src [email protected]$host::$des

echo "${files} was rsynced." >>/usr/local/rsync/logs/rsync.log 2>&1

#使用crontab计划任务实现日志的轮转  crontab -e 0 0 * * * mv /usr/local/rsync/logs/rsync.log /usr/local/rsync/logs/rsync-$yestoday.log

#    if [[ ${todayTime} -ge 000000 ]]

#    then

#        mv /usr/local/rsync/logs/rsync.log /usr/local/rsync/logs/rsync-$yestoday.log

#        touch /usr/local/rsync/logs/rsync.log

#    fi

done

配置rsyncd.conf文件并启动rsyncd服务(备机)

vim /usr/local/rsync/rsyncd.conf

uid = root

gid = root

use chroot = no

max connections = 10

pid file = /usr/local/rsync/rsyncd.pid

lock file = /usr/local/rsync/rsync.lock

log file = /usr/local/rsync/logs/rsyncd.log

[DataBack]

path=/data/

comment = update

ignore errors

read only = no

write only = no

list = flase

hosts allow = 10.124.X.X

auth users = cloud

uid = root

gid = root

rsync服务启动脚本vim  /etc/init.d/rsyncd   chmod +x /etc/init.d/rsyncd

=======================================

#!/bin/bash

#

# rsyncd      This shell script takes care of starting and stopping

#             standalone rsync.

#

# chkconfig: - 99 50

# description: rsync is a file transport daemon

# processname: rsync

# config: /usr/local/rsync/rsyncd.conf

# Source function library

. /etc/rc.d/init.d/functions

RETVAL=0

rsync="/usr/local/rsync/bin/rsync"

prog="rsync"

CFILE="/usr/local/rsync/rsyncd.conf"

start() {

# Start daemons.

[ -x $rsync ] || \

{ echo "FATAL: No such programme";exit 4; }

[ -f $CFILE ] || \

{ echo "FATAL: config file does not exist";exit 6; }

echo -n $"Starting $prog: "

daemon $rsync --daemon --config=$CFILE

RETVAL=$?

[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog

echo

return $RETVAL

}

stop() {

# Stop daemons.

echo -n $"Stopping $prog: "

killproc $prog -QUIT

RETVAL=$?

echo

[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog

return $RETVAL

}

# call the function we defined

case "$1" in

start)

start

;;

stop)

stop

;;

restart|reload)

stop

start

RETVAL=$?

;;

status)

status $prog

RETVAL=$?

;;

*)

echo $"Usage: $0 {start|stop|restart|reload|status}"

exit 2

esac

exit $RETVAL

==============================================

使用脚本进行后台运行监测文件的状态(备机)

sh /opt/shell/rsync.sh &

#!/bin/bash

host=10.124.x.x  # 备机IP地址

src=/data/       # 主机数据源路径

des=DataMain         # 备机/usr/local/rsync/rsyncd.conf文件设置的认证模块名

user=cloud       # 与备机进行数据传输的认证用户,备机/usr/local/rsync/rsyncd.passwd 文件记录验证用户名:密码

#yestoday=`date -d"1 day ago" +"%F"` #定义昨天的日期

#todayTime=`date +%H%M%S`

#使用inotifywait命令对源数据路径文件进行列表遍历,并定义了日志的输入格式: 17/04/15 16:32 /data/10ATTRIB was rsynced.

/usr/local/inotify/bin/inotifywait -mrq --timefmt ‘%d/%m/%y %H:%M‘ --format ‘%T %w%f%e‘ -e modify,delete,create,attrib $src | while read files

do

#使用rsync命令对新产生的数据进行同步,其中--delete将在传输数据的过程中将主机中不存在而备机上存在的数据进行删除,如果需要保持备机的数据不被删除,则将--delete参数去掉即可

/usr/local/rsync/bin/rsync -vzrtopg --delete --progress --password-file=/usr/local/rsync/rsyncd.passwd $src [email protected]$host::$des

echo "${files} was rsynced." >>/usr/local/rsync/logs/rsync.log 2>&1

done

配置rsyncd.conf文件并启动rsyncd服务(主机)

vim /usr/local/rsync/rsyncd.conf  启动服务:/usr/local/bin/rsync --daemon --config=/usr/local/rsync/rsyncd.conf

uid = root

gid = root

use chroot = no

max connections = 10

pid file = /usr/local/rsync/rsyncd.pid

lock file = /usr/local/rsync/rsync.lock

log file = /usr/local/rsync/logs/rsyncd.log

[DataMain]

path=/data/

comment = update

ignore errors

read only = no

write only = no

list = flase

hosts allow = 10.124.X.X

auth users = cloud

uid = root

gid = root

service rsyncd start

==================================================================

3.nginx安装与配置(主机、备机)

user  nginx;

group nginx;

worker_processes  1;

error_log  logs/error.log;

pid        logs/nginx.pid;

events {

worker_connections  5000;

use epoll;

}

http {

include       mime.types;

default_type  application/octet-stream;

#access_log  logs/access.log  main;

server_names_hash_bucket_size 64;

fastcgi_intercept_errors on;

server_tokens off;

tcp_nodelay on;

sendfile        on;

tcp_nopush     on;

#keepalive_timeout  0;

keepalive_timeout  65;

#gzip  on;

server {

listen       80;#端口

server_name  localhost;#服务名

root /data/; #显示的根索引目录

autoindex on;#开启索引功能

autoindex_exact_size off;#关闭计算文件确切大小(单位bytes),只显示大概大小(单位kb、mb、gb)

autoindex_localtime on;   # 显示本机时间而非 GMT 时间

charset utf-8;

#access_log  logs/host.access.log  main;

error_page  404  = http://www.apicloud.com/404.html;

# redirect server error pages to the static page /50x.html

error_page   500 502 503 504  /50x.html;

location = /50x.html {

root  /data/html;

}

}

}

=================================================================

监控lvs状态的脚本(主机)

/usr/local/nagios/libexec/check_lvs_rsync.sh

#!/bin/bash -x

##################################

#Author:qingbo.song              #

#Date:2015-4-17                  #

#E-mail:[email protected] #

#Comment:Lvs_status              #

##################################

#0 正常

#1 告警

#2 紧急

#3 未知

keepalived_process=`ps aux|grep [k]eepalived|grep -v ‘check_lvs_rsync.sh‘|wc -l`

processNum=`ps -ef|grep [r]sync.sh|grep -v ‘check_rsync_process.sh‘|wc -l`

#sed -n ‘9p‘ file  获取某一行的数据

ip=`ip addr|sed -n ‘9p‘|awk ‘{print $2}‘` #获取vip地址

file=/opt/shell/rsync.sh

if [ "x${keepalived_process}" = "x3" ] #判断keepalived进程数是否正常

then

if [ "${ip}" = "10.124.x.x/32" ] #keepalived进程数正常,判断VIP是否正常

then

if [ ${processNum} = 2 ] #keepalived进程数正常,VIP正常,判断rsync实时备份进程数是否正常

then

echo "Keepalived is OK!数据传输到主机!Rsync实时备份脚本运行正常!"

exit 0 #keepalived进程数正常,VIP正常,rsync实时备份进程数正常,返回信号0--正常

else

if [ ! -f "$file" ] #keepalived进程数正常,VIP正常,rsync实时备份进程数不正常,判断rsync.sh脚本是否存在

then

echo "Keepalived is OK!数据传输到主机!Rsync实时备份进程&&rsync.sh脚本不存在,请联系管理员!"

exit 2 #keepalived进程数正常,VIP正常,rsync实时备份进程数不正常,判断rsync.sh脚本不存在,返回信号量2请管理员处理

else

/usr/bin/sh /opt/shell/rsync.sh &  #执行rsync.sh脚本并后台运行

if [ ${processNum} = 2 ] #keepalived进程数正常,VIP正常,rsync实时备份进程数不正常,判断rsync.sh脚本存在,重新执行之后再次判断rsync进程数

then

echo "Keepalived is OK!数据传输到主机!Rsync实时备份进程已重新启动!"

exit 0  #rsync.sh正常执行,返回信号量0--正常

else

echo "Keepalived is OK!数据传输到主机!Rsync实时备份进程未能重新启动,请联系管理员!"

exit 2 #rsync.sh不能正常执行,返回信号量2--紧急,请求管理员处理

fi

fi

fi

else

if [ ${processNum} = 2 ] #keepalived进程数正常,VIP不正常,判断rsync实时备份进程数是否正常

then

/usr/bin/pkill rsync.sh #杀死rsync.sh进程,数据写到备机,主机这边应该将rsync.sh脚本暂停

if [ ${processNum} = 2 ]  #再次判断rsync.sh进程数

then

echo "Keepalived is OK!数据传输到备机!Rsync实时备份进程未能正常关闭,请联系管理员!"

exit 2  #rsync.sh进程不能杀死,返回信号2--紧急,请求管理员处理

else

echo "Keepalived is OK!数据传输到备机!Rsync实时备份进程正常关闭!"

exit 1  #rsync.sh进程关闭成功,返回信号量1--警告,但数据应该是传输到备机上的,所以这块儿管理员需要进行检查

fi

else #keepalived进程数正常,VIP不正常,rsync实时备份进程数不正常,则是rsync.sh脚本已经停止执行

echo "Keepalived is OK!数据传输到备机!Rsync实时备份进程正常关闭!"

exit 1

fi

fi

else

if [ ${processNum} = 2 ] #keepalived进程数异常,判断rsync实时备份进程数是否正常

then

/usr/bin/pkill rsync.sh #rsync实时备份进程数正常的话,我们需要kill掉

if [ ${processNum} = 2 ]

then

echo "Keepalived is ERR!Rsync实时备份进程未能正常关闭,请联系管理员!"

exit 2 #Rsync实时备份进程未能关掉,返回信号量2--紧急,请联系管理员

else

echo "Keepalived is ERR!Rsync实时备份进程正常关闭!"

exit 1 #Rsync实时备份进程正常关掉,返回信号量1--警告

fi

else

echo "Keepalived is ERR!Rsync实时备份进程正常关闭!"

exit 1

fi

fi

===================================================================================

监控lvs状态的脚本(备机)

/usr/local/nagios/libexec/check_lvs_rsync.sh

#!/bin/bash -x

##################################

#Author:qingbo.song              #

#Date:2015-4-17                  #

#E-mail:[email protected] #

#Comment:Lvs_status              #

##################################

#/usr/local/nagios/libexec/check_lvs_rsync.sh

#0 正常

#1 告警

#2 紧急

#3 未知

keepalived_process=`ps aux|grep [k]eepalived|grep -v ‘check_lvs_rsync.sh‘|wc -l`

processNum=`ps -ef|grep rsync.sh|grep -v grep|wc -l`

#sed -n ‘9p‘ file  获取某一行的数据

ip=`ip addr|sed -n ‘9p‘|awk ‘{print $2}‘` #获取vip地址

file=/opt/shell/rsync.sh

if [ "x${keepalived_process}" = "x3" ] #判断keepalived进程数是否正常

then

if [ "${ip}" = "10.124.151.4/32" ] #keepalived进程数正常,判断VIP是否正常

then

if [ ${processNum} = 2 ] #keepalived进程数正常,VIP正常,判断rsync实时备份进程数是否正常

then

echo "Keepalived is OK!数据传输到备机!Rsync实时备份脚本运行正常!"

exit 0 #返回信号量0表示正常

else

if [ ! -f "$file" ] #keepalived进程数正常,VIP正常,rsync实时备份进程数不正常,判断rsync.sh脚本是否存在

then

echo "Keepalived is OK!数据传输到备机!Rsync实时备份进程&&rsync.sh脚本不存在,请联系管理员!"

exit 2 #keepalived进程数正常,VIP正常,rsync实时备份进程数不正常,判断rsync.sh脚本不存在,返回信号量2请管理员处理

else

/usr/bin/sh /opt/shell/rsync.sh &  #执行rsync.sh脚本并后台运行

if [ ${processNum} = 2 ] #再次判断rsync进程数

then

echo "Keepalived is OK!数据传输到备机!Rsync实时备份进程已重新启动!"

exit 0  #rsync.sh正常执行,返回信号量0--正常

else

echo "Keepalived is OK!数据传输到备机!Rsync实时备份进程未能重新启动,请联系管理员!"

exit 2 #rsync.sh不能正常执行,返回信号量2--紧急,请求管理员处理

fi

fi

fi

else

if [ ${processNum} = 2 ]

then

/usr/bin/pkill rsync.sh #杀死rsync.sh进程,数据写到主机,备机这边应该将rsync.sh脚本暂停

if [ ${processNum} = 2 ]  #再次判断rsync.sh进程数

then

echo "Keepalived is OK!数据传输到主机!Rsync实时备份进程未能正常关闭,请联系管理员!"

exit 2

else

echo "Keepalived is OK!数据传输到主机!Rsync实时备份进程正常关闭!"

exit 0

fi

else

echo "Keepalived is OK!数据传输到主机!Rsync实时备份进程关闭正常!"

exit 0

fi

fi

else

if [ ${processNum} = 2 ] #keepalived进程数异常,判断rsync实时备份进程数是否正常

then

/usr/bin/pkill rsync.sh #rsync实时备份进程数正常的话,我们需要kill掉

if [ ${processNum} = 2 ]

then

echo "Keepalived is ERR!Rsync实时备份进程未能正常关闭,请联系管理员!"

exit 2 #Rsync实时备份进程未能关掉,返回信号量2--紧急,请联系管理员

else

echo "Keepalived is ERR!Rsync实时备份进程正常关闭!"

exit 1 #Rsync实时备份进程正常关掉,返回信号量1--警告

fi

else

echo "Keepalived is ERR!Rsync实时备份进程正常关闭!"

exit 1

fi

fi

=====================================================================

4.keepalived安装与配置

1)Keepalived的编译安装

cd /usr/local/src/

wget http://www.keepalived.org/software/keepalived-1.1.20.tar.gz

tar xf keepalived-1.2.15.tar.gz

cd keepalived-1.1.20

./configure --prefix=/usr/local/keepalived --with-kernel-dir=/usr/src/kernels/2.6.32-279.el6.x86_64/

make && make install

将Keepalived做成服务:

cd /usr/local/keepalived/ && cp etc/rc.d/init.d/keepalived /etc/rc.d/init.d/ && cp etc/sysconfig/keepalived /etc/sysconfig/ && mkdir /etc/keepalived && cp etc/keepalived/keepalived.conf /etc/keepalived/ && cp sbin/keepalived /usr/sbin/

2)修改防火墙

-A INPUT -p vrrp -j ACCEPT #基于DR模式,当用户发出请求后,只有DR响应ARP广播包,允许vrrp虚拟路由器冗余协议

重启防火墙:service iptables restart

3)keepalived配置文件修改

vim /etc/keepalived/keepalived (主)

==================================================

! Configuration File for keepalived

global_defs {

notification_email {                        //定义邮件服务的

[email protected]                         //定义收件人,这里改为本机,只是测试使用

}

notification_email_from [email protected]   //定义发件人,

smtp_server 127.0.0.1                       //定义邮件服务器,一定不能使用外部地址

smtp_connect_timeout 30                     //超时时间

router_id  LVS_DOWNLOAD

}

vrrp_instance VI_1 {          //定义虚拟路由,VI_1 为虚拟路由的标示符,自己定义名称

state MASTER              //开启后,该节点的优先级比另一节点的优先级高,所以转化为MASTER状态

interface eth0            //所有的通告等信息都从eth0这个接口出去

virtual_router_id 7      //虚拟路由的ID,而且这个ID也是虚拟MAC最后一段的来源,这个ID号一般不能大于255,且这个ID一定不能有冲突

priority 100            //初始优先级

advert_int 1            //通告的个数

authentication {        //认证机制

auth_type yzkj      //认证类型

auth_pass yzkj1234      //密码,应该为随机的字符串

}

virtual_ipaddress {     //虚拟地址,即VIP

10.124.151.4

}

}

==========================================================

vim /etc/keepalived/keepalived (备)

==========================================================

! Configuration File for keepalived

global_defs {

notification_email {                        //定义邮件服务的

[email protected]                         //定义收件人,这里改为本机,只是测试使用

}

notification_email_from [email protected]   //定义发件人,

smtp_server 127.0.0.1                       //定义邮件服务器,一定不能使用外部地址

smtp_connect_timeout 30                     //超时时间

router_id  LVS_DOWNLOAD

}

vrrp_instance VI_1 {          //定义虚拟路由,VI_1 为虚拟路由的标示符,自己定义名称

state BACKUP              //修改从节点的状态,主节点为MASTER,从节点就为BACKUP

interface eth0            //所有的通告等信息都从eth0这个接口出去

virtual_router_id 7      //虚拟路由的ID,而且这个ID也是虚拟MAC最后一段的来源,这个ID号一般不能大于255,且这个ID一定不能有冲突

priority 99            //修改优先级,注意从节点的优先级一定要小于主节点

advert_int 1            //通告的个数

authentication {        //认证机制

auth_type yzkj      //认证类型

auth_pass yzkj1234      //密码,应该为随机的字符串

}

virtual_ipaddress {     //虚拟地址,即VIP

10.124.151.4

}

}

至此服务器配置完毕!

附注:参考链接

LVM磁盘管理 http://www.cnblogs.com/gaojun/archive/2012/08/22/2650229.html

基于keepalived实现VIP转移 lvs nginx的高可用 http://www.it165.net/admin/html/201309/1865.html

rsync启动脚本  http://my.oschina.net/u/236631/blog/113472

inotifyrsync -- 用inotify和rsync实现多机文件实时同步 http://gaopenghigh.iteye.com/blog/1746741

文件共享存储&&主备实时热备实现方案

时间: 2024-10-18 15:55:23

文件共享存储&&主备实时热备实现方案的相关文章

全网实时热备inotify+rsync

title: 全网实时热备inotify+rsynctags: 备份,inotify,rsyncgrammar_cjkRuby: true [TOC] 全网实时热备inotify+rsync 1 为什么需要inotify? 当全网部署了NFS存储后,如果提供NFS服务的设备宕机或者故障了,那么我们的与之相连的NFS客户端都会受到影响,严重可能会导致数据丢失,因此,为了防止单点故障,我们要给提供NFS服务的主机的数据目录做一个实时同步,这样NFS服务器宕机或者其他故障后,我们能很轻易的把备份节点设

MySQL 主从复制(实时热备)原理与配置

MySQL是现在普遍使用的数据库,但是如果宕机了必然会造成数据丢失.为了保证MySQL数据库的可靠性,就要会一些提高可靠性的技术.MySQL主从复制可以做到实时热备数据.本文介绍MySQL主从复制原理及其配置过程. 术语:主从复制——master slave replication(M-S模式). 用途 备份 读写分离 高可用和故障切换(需要做HA) MySQL升级测试 原理 实际上,它的原理思路很简单.MySQL 中有一种日志叫做 bin 日志(二进制日志),这个日志会记录下所有修改了数据库的

win2003域控主备(热备)搭建

假设有2台SERVER,要将两台SERVER做成主备域控制器. 假设SERVER1为AD1,SERVER2为AD2,步骤如下: 1.在AD1上按正常方法安装一个新的域控制器同时安装DNS服务(一步骤): 2.将AD2的主DNS地址写成AD1的IP地址: 3.用DCPROMO /ADV 命令在AD2上安装额外的域控制器(二步骤): 4.完成安装后重启,重启后安装DNS服务(三步骤): 5.安装完成DNS后不用做任何操作,稍等片刻后,系统会自动将主备域控制器的域名加入到正向解析列表中: 6.将主备域

inotify+rsync实现实时热备

mkdir /backup/ -p  :创建一个备份目录 echo "yangdi" >/etc/rsync.password :往密码文件输入密码,需要和rsync客户端相同 chmod 600 /etc/rsync.password chmod 4755 /usr/bin/rsync rsync -avz  --delete  /backup/ [email protected]::backup --password-file=/etc/rsync.password   推送

【分享】搭建域环境实现主域和文件服务器的热备冗余

好多年前玩过域了,当时都是单独一个主域,没有辅域的环境,也是好怕服务器出问题,还好,离开的时候都还没出问题 现在这家公司原来没域,客户机120左右,我想是时候该上域了,为了方便以后的管理,统一部署. 主域采用虚拟机,在SERVER2012 R2上用hyper-v虚拟一台做主域,实体机做的文件服务器. 由于预算问题,辅域用了台组装电脑,就直接做在了实体机上面,安装SERVER2012 R2,硬盘4T,做了文件服务器的命名空间和复制,在域组策略映射文件服务器命名空间路径,达到文件服务器负载均衡和热备

主备切换,双机热备,负载均衡,nginx

MySQL主备切换 数据库由主服务器和备份服务器组成,主备同时运行,主服务器有数据改动后,立刻会同步到备份服务器.在日常运维中,为了防患未然,切换的操作只需要将连接池中数据库服务器的IP换成备份服务器的IP就可以了.Nginx高性能的http和反向代理服务,能实现主备切换工作. 双机热备 双机热备特指基于高可用系统中的两台服务器的热备(或高可用),因两机高可用在国内使用较多,故得名双机热备,双机高可用按工作中的切换方式分为:主-备 方式(Active-Standby方式)和双主机方式(Activ

centos实现heartbeat 双机热备

centos实现heartbeat 双机热备 双机热备就是使用两台服务器共同执行同一服务,在运行过程中实时相互备份,当一台服务器出现故障时候,另一台可以立即发现故障并接管那天服务器的服务,从而在不需要人工干预的情况下自动保证系统能持续提供服务.常见的有两种情况:使用共同存储设备.使用不同存储设备(需要通过软件保持同步),在同一时间内主服务器保持激活状态,备份服务器处于监听状态,当主服务器出现故障无法启动时候,备份服务器会通过心跳诊断将备份服务器激活,保证服务正常使用.这里主要是用在提供web服务

RAID与双机热备简单介绍与区别

一.    RAID技术详解 RAID是英文Redundant Array of Independent Disks的缩写,翻译成中文意思是“独立磁盘冗余阵列”,有时也简称磁盘阵列(Disk Array).    简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术.组成磁盘阵列的不同方式成为RAID级别(RAID Levels).数据备份的功能是在用户数据一旦发生损坏后,利用备份信息可以使损坏数据

oracle双机热备概念

1. 双机热备概述      双机热备有两种实现模式,一种是基于共享的存储设备的方式,另一种是没有共享的存储设备的方式,一般称为纯软件方式.      基于存储共享的双机热备是双机热备的最标准方案.      对于这种方式,采用两台(或多台)服务器,使用共享的存储设备(磁盘阵列柜或存储区域网SAN).两台服务器可以采用互备.主从.并行等不同的方式.在工作过程中,两台服务器将以一个虚拟的IP地址对外提供服务,依工作方式的不同,将服务请求发送给其中一台服务器承担.同时,服务器通过心跳线(目前往往采用