1,环境介绍
由俩台服务器实现fastdfs的高可用
192.168.174.132 tracker,nginx,storage
192.168.174.150 tracker,nginx,storage
2,初始化centos7
2.1,关闭selinux
1 2
| setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
|
2.2, 关闭防火墙
1
| systemctl stop firewalld && systemctl disable firewalld
|
2.3, 配置时间同步
storage 同步文件依赖时间戳,所以要保证所有服务器时间一致。
1 2 3
| yum install -y chrony \ && systemctl start chronyd && systemctl enable chronyd \ && timedatectl set-timezone Asia/Shanghai && timedatectl set-ntp yes &&timedatectl set-local-rtc 0
|
2.4,配置limit
1 2 3 4 5 6
| vi /etc/security/limits.conf root soft nofile 65535 root hard nofile 65535 * soft nofile 65535 * hard nofile 65535
|
注:只配置最后两行不就可以了吗,为啥还要单独为root用户配置呢?查了网上资料,说是*这样的通配符对root用户无效,所以root需要单独配置
3, 高可用安装fastdfs
3.1 ,生成安装路径
俩台服务器都创建目录
1 2 3 4
| mkdir -p /data/docker/fastdfs/tracker/data #data为tracker基础数据存储目录 mkdir -p /data/docker/fastdfs/storage/data #data为storage基础数据 mkdir -p /data/docker/fastdfs/upload/path{0,1,2,3} #存储上传的文件,当有多块硬盘时,挂载到相应目录上即可 /data/fastdfs/upload/path0~n
|
3.2,上传配置文件并修改配置
https://github.com/jiamiao442/fastdfs-nginx.git
将配置文件fastdfs-conf中的文件上传到第一台服务器上/data/docker/fastdfs/ 目录中
1 2
| [root@ip-192-168-174-132 fastdfs] conf/ nginx_conf/ nginx_conf.d/ setting_conf.sh* storage/ tracker/ upload/
|
修改setting_conf.sh,主要修改以下几个参数,其他不变
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| tracker_port=22122
tracker_server="tracker_server = 192.168.174.132:$tracker_port\ntracker_server = 192.168.174.150:$tracker_port"
storage_ids=" 100001 group1 192.168.174.132 100002 group1 192.168.174.150 "
allow_hosts="allow_hosts = 192.168.174.0/24\n"
storage_group_name="group1" storage_server_port=23000 store_path_count=1
|
运行脚本生成配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| [root@ip-192-168-174-132 fastdfs] 请先设置好本脚本的tracker \ storage 的参数变量,然后再选择: [1] 配置 tracker [2] 配置 storage please input number 1 to 2: 1 配置文件设置完毕,建议人工复核一下 [root@ip-192-168-174-132 fastdfs] 请先设置好本脚本的tracker \ storage 的参数变量,然后再选择: [1] 配置 tracker [2] 配置 storage please input number 1 to 2: 2 配置文件设置完毕,建议人工复核一下 [root@ip-192-168-174-132 fastdfs]
|
检测没有问题后将配置文件复制到另一台服务器
1 2 3
| scp -r /data/docker/fastdfs/conf root@192.168.174.150:/data/docker/fastdfs/ scp -r /data/docker/fastdfs/nginx_conf root@192.168.174.150:/data/docker/fastdfs/ scp -r /data/docker/fastdfs/nginx_conf.d root@192.168.174.150:/data/docker/fastdfs/
|
3.3, 启动tracker
两台同时启动
1 2 3 4
| docker run -d --net=host --restart=always --name=tracker \ -v /data/docker/fastdfs/tracker/data:/data/fastdfs_data \ -v /data/docker/fastdfs/conf:/etc/fdfs \ jiamiao442/fastdfs-nginx:latest tracker
|
3.4 启动storage
两台同时启动
1 2 3 4 5 6 7 8
| docker run -d --net=host --restart always --name=storage0 \ --privileged=true \ -v /data/docker/fastdfs/storage/data:/data/fastdfs_data \ -v /data/docker/fastdfs/conf:/etc/fdfs \ -v /data/docker/fastdfs/upload:/data/fastdfs/upload \ -v /data/docker/fastdfs/nginx_conf/nginx.conf:/usr/local/nginx/conf/nginx.conf \ -v /data/docker/fastdfs/nginx_conf.d:/usr/local/nginx/conf.d \ jiamiao442/fastdfs-nginx:latest storage
|
3.5 检查是否可用
1 2 3 4 5 6 7 8 9
| docker exec -it storage0 sh
date >aaa.txt fdfs_upload_file /etc/fdfs/client.conf aaa.txt group1/M00/00/00/oYYBAGR4VxSAdTkeAAAAHYhCyck239.txt
浏览器访问 http://192.168.174.132:9088/group1/M00/00/00/oYYBAGR4VxSAdTkeAAAAHYhCyck239.txt http://192.168.174.150:9088/group1/M00/00/00/oYYBAGR4VxSAdTkeAAAAHYhCyck239.txt
|
本文遵循 CC BY-NC-SA 4.0 许可协议
本文链接:
https://www.jiamiao.net.cn/2023/10/24/部署高可用fastdfs/