设为首页 收藏本站
查看: 1403|回复: 0

[经验分享] fastDFS文件服务器服务器实现双机热备

[复制链接]

尚未签到

发表于 2019-2-1 06:34:30 | 显示全部楼层 |阅读模式
  两台文件fastDFS文件服务器
服务器A: 192.168.10.157
服务器B:192.168.10.158
上面实现目的:增加一台fastDFS备份服务器(192.168.10.158)做为fastDFS文件服务器(192.168.10.157)的从服务器,这两台fastDFS文件服务器之间实现双机热备。
即:从服务器(192.168.10.158)上面数据永远与主服务器(192.168.10.157)上面数据保持同步,并且随着主服务器(192.168.10.157)上面数据变化而变化。
环境说明
1、fastDFS主服务器 主机名称:Master
系统:CentOS 6.6   IP:192.168.10.157    FastDFS_v5.03.+nginx-1.6.2+libevent-2.0.21-stable
2  fastDFS从服务器 主机名称 :Slave
系统:CentOS 6.6   IP:192.168.10.158    FastDFS_v5.03.+nginx-1.6.2+libevent-2.0.21-stable
备注:作为主从服务器的fastDFS和nginx 版本建议使用同一版本!
开始:
一、安装libevent
明:在两台MySQL服务器192.168.10.157和192.168.21.158上分别进行如下操作,
1、下载libevent-2.0.21-stable.tar.gz
          http://sourceforge.net/  
2、解压并安装配置
tar  -zxvf libevent-2.0.21-stable.tar.gz
cd  libevent-2.0.21-stable
mkdir -p /usr/local/libevnet
./configure --prefix=/usr/local/libevent
make && make install
#为libevent创建软链接到/lib库下,64位系统对应/lib64
ln -s /usr/local/libevent/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5

ln -s /usr/local/libevent/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5
到此,libevent安装完成!
二、安装fastDFS文件服务器

1、下载lFastDFS_v5.03.tar.gz
         http://sourceforge.net/projects/fastdfs/
2、解压并安装配置
tar zxvf FastDFS_v5.03.tar.gz
cd FastDFS
vim make.sh
#WITH_LINUX_SERVICE=1 /取消此行的注释
./make.sh
./make.sh install
到此,fastDFS安装完成!
涉及ip的文件: /etc/fdfs/storage.conf        /etc/fdfs/client.conf         /etc/fdfs/mod_fastdfs.conf
涉及目录的文件: /etc/fdfs/storage.conf     /etc/fdfs/tracker.conf       /etc/fdfs/client.conf      /etc/fdfs/mod_fastdfs.conf
#trackerd
/usr/local/bin/stop.sh  /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf
/usr/local/bin/restart.sh  /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf
#storaged
/usr/local/bin/stop.sh  /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf

/usr/local/bin/restart.sh  /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf
3、建立存储路径并配置fastDFS_v5.03


     mkdir -p  /www/geebook_storage     #建立storage存储目录
     mkdir -p  /www/geebook_tracker       #建立tracker调度器目录
     mkdir -p  /www/geebook_client          #建立client客户端目录
     cp /etc/fdfs/storage.conf /etc/fdfs/storage.conf-bak    #备份配置文件
     cp /etc/fdfs/tracker.conf /etc/fdfs/tracker.conf-bak       #备份配置文件
     cp /etc/fdfs/client.conf  /etc/fdfs/client.conf-bak           #备份配置文件
     vi  /etc/fdfs/storage.conf                      #修改storage配置文件修改参数
         base_path=/www/geebook_stoarge     # the base path to store data and log files
         store_path0=/www/geebook_storage   # store_path#, based 0, if store_path0 not exists, it's value is base_path
         tracker_server=192.168.10.157          # 指定tracker server地址 可以有多个同步的IP
         tracker_server=192.168.10.158
     vi /etc/fdfs/tracker.conf    #修改tracker配置文件修改参数


  
         base_path=/www/geebook_tracker     # the base path to store data and log files
  
     vi /etc/fdfs/client.conf    #修改client配置文件修改参数
          base_path=/www/geebook_client      # the base path to store log files
          tracker_server=192.168.10.157          # 指定tracker server地址 可以有多个同步的IP
         tracker_server=192.168.10.158

三、fastdfs-nginx-mod-install 安装与配置
      1、安装准备工作    ####重点#####
cat /etc/fdfs/mod_fastdfs.conf   中必须要有 #include http.conf ,
  cat /etc/fdfs/client.conf       中可以有 #include http.conf , 表示注释 ##include http.conf
#####增加用户和组   adduser --system --no-create-home --disabled-password --disabled-login --group nginx
groupadd nginx
useradd -g nginx -s /bin/false -M nginx
2、下载安装包和相关的依赖包并建立安装目录
# wget http://nginx.org/download/nginx-1.6.2.tar.gz
# rewrite 模块需要 pcre 库    # wget http://downloads.sourceforge.net/project/pcre/pcre/8.36/pcre-8.36.zip
# ssl 功能需要 openssl 库      # wget http://www.openssl.org/source/openssl-1.0.2.tar.gz
# gzip 模块需要 zlib 库          # wget http://zlib.net/zlib-1.2.8.tar.gz
# ngx_cache_purge 清除缓存
# wget --no-check-certificate https://github.com/FRiCKLE/ngx_cache_purge/archive/master.zip -O ngx_cache_purge-master.zip
# nginx-echo
# wget --no-check-certificate https://github.com/agentzh/echo-nginx-module/archive/master.zip -O echo-nginx-module-master.zip
# nginx-upstream-fair  
# wget --no-check-certificate https://github.com/gnosek/nginx-upstream-fair/archive/master.zip -O nginx-upstream-fair-master.zip
# fastdfs nginx module
# wget http://fastdfs.googlecode.com/files/fastdfs-nginx-module_v1.15.tar.gz


####centos install
yum -y install gcc g++ gcc-c++ autoconf automake make unzip
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
mkdir -p /usr/local/nginx/conf                    mkdir -p /usr/local/nginx/conf/vhost
mkdir -p /usr/local/nginx/logs                     mkdir -p /usr/local/nginx/cache/body
mkdir -p /usr/local/nginx/cache/fastcgi      mkdir -p /usr/local/nginx/cache/uwsgi
mkdir -p /usr/local/nginx/cache/scgi          mkdir -p /usr/local/nginx/cache/proxy
3、配置安装
  cd  /usr/src/nginx
  tar zxvf nginx-1.6.2.tar.gz
  tar zxvf fastdfs-nginx-module_v1.16.tar.gz
unzip ngx-cache-purge-master.zip
unzip echo-nginx-module-master.zip
unzip nginx-upstream-fair-master.zip
  cd nginx-1.6.2
./configure --prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--error-log-path=/usr/local/nginx/logs/error.log \
--http-log-path=/usr/local/nginx/logs/access.log \
--lock-path=/usr/local/nginx/logs/nginx.lock \
--pid-path=/usr/local/nginx/logs/nginx.pid \
--http-client-body-temp-path=/usr/local/nginx/cache/body \
--http-fastcgi-temp-path=/usr/local/nginx/cache/fastcgi \
--http-uwsgi-temp-path=/usr/local/nginx/cache/uwsgi \
--http-scgi-temp-path=/usr/local/nginx/cache/scgi \
--http-proxy-temp-path=/usr/local/nginx/cache/proxy \
--with-pcre-jit \
--with-http_random_index_module \
--with-file-aio \
--with-debug \
--with-http_addition_module \
--with-http_gzip_static_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_sub_module \
--with-poll_module \
--with-http_ssl_module \
--add-module=/usr/src/nginx/echo-nginx-module-master \
--add-module=/usr/src/nginx/nginx-upstream-fair-master \
--add-module=/usr/src/nginx/ngx_cache_purge-master \
--add-module=/usr/src/nginx/fastdfs-nginx-module/src
make


make install

*************************** 配置nginx mod_fastdfs.conf***************************
/etc/fdfs/mod_fastdfs.conf 中必须要有 #include http.conf     注意不是注释 如果是注释是:      ##include http.conf
cp /usr/src/nginx/fastdfs-nginx-module/src/mod_fastdfs.conf     /etc/fdfs/     #复制配置文件到/etc/fdfs/  
cp /etc/fdfs/mod_fastdfs.conf  /etc/fdfs/mod_fastdfs.conf-bak                        #备份初始配置文件
mkdir -p /www/logs
vi /etc/fdfs/mod_fastdfs.conf
  base_path=/www/logs  #the base path to store log files 存放日志文件
  store_path0=/www/geebook_storage  # must same as storage.conf  
  url_have_group_name = ture
  tracker_server=192.168.10.157:22122
  tracker_server=192.168.10.158:22122
  #include http.conf
*************************** 配置nginx.conf***************************
cp    /usr/local/nginx/conf/nginx.conf    /usr/local/nginx/conf/nginx.conf-bak     #备份配置文件



八、测试fastDFS主从服务器双机热备是否成功
1、分别进入fastDFS主从服务器启动各服务
#trackerd
/usr/local/bin/stop.sh  /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf
/usr/local/bin/restart.sh  /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf
tail -f  /www/geebook_storage/logs/*.log   
#storaged
/usr/local/bin/stop.sh  /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf

/usr/local/bin/restart.sh  /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf
tail -f  /www/geebook_tracker/logs/*.log   
#nginx
chown -R nginx.nginx /usr/local/nginx/logs/
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
tail -f  /usr/local/nginx/logs/*.log   

2、在主从服务器分别测试上传下载删除查询文件

在主服务器上传文件:/usr/local/bin/fdfs_upload_file  /etc/fdfs/client.conf  /www/geebook_client/a.jpg
返回信息:group1/M00/00/00/wKgKnVTv-lqADpl3AAAs_VD7qBc394.jpg
浏览器访问http://192.168.10.157/group1/M00/00/00/wKgKnVTv-lqADpl3AAAs_VD7qBc394.jpg
浏览器访问http://192.168.10.158/group1/M00/00/00/wKgKnVTv-lqADpl3AAAs_VD7qBc394.jpg
下载文件:/usr/local/bin/fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKgKnVTv-lqADpl3AAAs_VD7qBc394.jpg
删除文件:/usr/local/bin/fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKgKnVTv-lqADpl3AAAs_VD7qBc394.jpg
查询服务器 /usr/local/bin/fdfs_monitor /etc/fdfs/client.conf
--------------------------------------------------------------------------------------------------------------------------------------
在主服务器上传文件:/usr/local/bin/fdfs_upload_file  /etc/fdfs/client.conf  /www/geebook_client/b.jpg
返回信息:group1/M00/00/00/wKgKnlTv-2mAdfNQAAA06ICuy-Q058.jpg
浏览器访问http://192.168.10.158/group1/M00/00/00/wKgKnlTv-2mAdfNQAAA06ICuy-Q058.jpg
浏览器访问http://192.168.10.157/group1/M00/00/00/wKgKnlTv-2mAdfNQAAA06ICuy-Q058.jpg
下载文件:/usr/local/bin/fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKgKnlTv-2mAdfNQAAA06ICuy-Q058.jpg  xxx.jpg
删除文件:/usr/local/bin/fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKgKnlTv-2mAdfNQAAA06ICuy-Q058.jpg
查询服务器 /usr/local/bin/fdfs_monitor /etc/fdfs/client.conf
删除无效的存储服务器,active时,禁止删除 /usr/local/bin/fdfs_monitor /etc/fdfs/client.conf delete group1 10.0.250.103
####浏览器访问http://存储服务器ip:group1/M00/
  ------------------------------------------------------------------------------------------------------------
至此,fastDFS文件服务器双机热备实例教程完成
  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-670169-1-1.html 上篇帖子: FastDFS分布式文件系统集群安装与配置 下篇帖子: 轻量级分布式文件系统fastDFS分布式的构建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表