一:防火墙
ufw status
二:下载
分别是(环境依赖,网络模块依赖,安装包)
git clone https://github.com/happyfish100/libfastcommon.git
git clone https://github.com/happyfish100/libserverframe.git
git clone https://github.com/happyfish100/fastdfs.git
三:安装前置
apt-get -y install git gcc g++ make automake autoconf libtool pcre2-utils libpcre2-dev zlib1g zlib1g-dev openssl libssh-dev wget vim
四:依次安装
先安装依赖,然后网络模块,然后fdfs
sudo ./make.sh clean
sudo ./make.sh
sudo ./make.sh install
(./make.sh clean && ./make.sh && ./make.sh install)
注意:依赖安装后需要
export LD_LIBRARY_PATH=/usr/lib64/
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
然后再安装fastdfs
五:配置
创建文件夹
mkdir -p /data/fastdfs/tracker
mkdir -p /data/fastdfs/storage
cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.conf
vim client.conf
vim storage.conf
vim tracker.conf
启动
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
查看后台服务
ps -ef | grep fdfs
netstat -lnp |grep fdfs
验证上传
/usr/bin/fdfs_test /etc/fdfs/client.conf upload hellow.txt
同步方案:
1、 在新的storage server服务器上停止所有的storage 进程。
service fdfs_storaged stop
2、修改storage 的配置文件
vim /etc/fdfs/storage.conf
将tracker server改成旧tracker 的ip;
tracker_server=【IP】:22122
保存退出;
3、开始同步
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
4、在旧的tracker_server 查看同步进程
fdfs_monitor /etc/fdfs/storage.conf
状态码为active,则表示新的storage加入之时时间戳之前的存量数据已经同步完成。
5、同步完成后,停掉所有的storage
service fdfs_storaged stop
6、修改storage 的配置文件
vim /etc/fdfs/storage.conf
将配置文件中的tracker server改成新tracker 的ip
tracker_server=【IP】:22122
保存退出
7、开启同步
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
8、修改.data_init_flag文件
cd /songyafeng/fastdfs/storage/data/
vim .data_init_flag
将sync_src_server配置项留空,其它配置项不变
sync_src_server=
9、开启新的storage服务
service fdfs_storaged start
10、检查数据量是否一致,有两种方式:
查看源端和目的端storage的同步信息的总数据量total storage是否一致
fdfs_monitor /etc/fdfs/storage.conf
查看两边storage的data目录的storage_stat.dat信息数据量是否一致。
补充
storage状态列表:
// FDFS_STORAGE_STATUS:INIT :初始化,尚未得到同步已有数据的源服务器
//FDFS_STORAGE_STATUS:WAIT_SYNC :等待同步,已得到同步已有数据的源服务器
//FDFS_STORAGE_STATUS:SYNCING :同步中
// FDFS_STORAGE_STATUS:DELETED :已删除,该服务器从本组中摘除
// FDFS_STORAGE_STATUS:OFFLINE :离线
// FDFS_STORAGE_STATUS:ONLINE :在线,尚不能提供服务
// FDFS_STORAGE_STATUS:ACTIVE :在线,可以提供服务,同步完成
当storage状态从SYNCING变为ACTIVE,说明同步完成
storage报错日志
[2024-05-13 16:58:40] ERROR - file: tracker_proto.c, line: 50, server: 10.60.50.53:22122, response status 22 != 0
[2024-05-13 16:58:40] ERROR - file: storage_func.c, line: 2420, tracker server 10.60.50.53:22122, recv response fail, errno: 22, error info
: Invalid argument.
[2024-05-13 16:58:40] CRIT - exit abnormally!
疑似连接不到生产