FastDFS迁移步骤

特别说明:一切的前提是参考  https://www.cnblogs.com/eos666/p/9830630.html 先把环境搭建起来再说。

1.相同服务器本地数据迁移

 1.1     本地服务器数据迁移

   server5 192.168.1.245  数据目录:/fastdfs/fdfs_storage

   server5 192.168.1.245  数据目录:/data

需求:

FastDFS 系统下存储的数据迁移至本ip下的另外一个盘,不是不同ip间的数据迁移。

以下例子是将/fastdfs/fdfs_storage上的数据迁移至/data下。

 注:

a)       迁移完后,原来的/fastdfs/fdfs_storage目录就做废了。

b)       fdht去重数据和fdfs_trackerd都是存储到这个点的数据。

 

1.2     停止服务

killall nginx

killall fdfs_trackerd

killall fdfs_storaged

killall fdhtd

 

1.3     拷贝文件,迁移数据

cp -r /fastdfs/fdfs_storage  /data

 

1.4     修改配置文件路径

vim /etc/fdfs/storage.conf 

store_path0=/data/fdfs_storage/fdfs_storage_0

base_path=/data/fdfs_storage

vim /etc/fdfs/mod_fastdfs.conf 

store_path0=/data/fdfs_storage/fdfs_storage_0 

base_path=/data/fdfs_storage

vim /etc/fdfs/client.conf

base_path=/data/fdfs_client

1.5     修改Nginx配置文件

vim  /usr/local/nginx/conf/nginx.conf

location /group1/M00/ {

    root /data/fdfs_storage/fdfs_storage_0;  #指向新的目录

    ngx_fastdfs_module;

   }

1.6     重启服务

#启动服务

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

/usr/local/bin/fdhtd   /etc/fdht/fdhtd.conf   restart

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

/usr/local/nginx/sbin/nginx

 

至此,本次数据迁移完毕。

 

2.不同服务器数据迁移

2.1     本地服务器数据迁移

   server5 192.168.1.245  数据目录:/fastdfs/fdfs_storage

   server4 192.168.1.244  数据目录:/fastdfs/fdfs_storage

需求:

server5服务器下存储的数据迁移至server4服务器,不同ip间的数据迁移。

其实,就是扩容1个storage节点。

2.2     在新的机器server4上安装FastDFS

安装步骤,具体可参照《01-FastDFS+FastDHT 单节点安装》。

 

2.3     将新的storage接到老的tracker机器上,用来同步数据

vim /etc/fdfs/storage.conf   # 其实直接从server5把配置文件拷贝过来就行

tracker_server=192.168.1.245:22122  # 此IP一定是要指向server5

2.4     拷贝FastDHT配置文件过来

scp -r /etc/fdht root@192.168.1.244:/etc/

cat /etc/fdfs/storage.conf   # 其实直接从server5把配置文件拷贝过来就行

#此处特别需要注意配置,## 开头才是注释

#include /etc/fdht/fdht_servers.conf

2.5     启动storage服务

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

 

2.6     数据同步

数据量不大的话,很快就同步过来了。

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf |grep sync  #查看同步结果

# server5 数据目录/fastdfs/fdfs_storage 的数据就同步到 server4 上面了。

ls /fastdfs/fdfs_storage #在servrer4服务器上面查看

 

3.迁移后的数据需要独立运行

server4 同步完server5 的storage 数据后,想在server4 上面重新搭建一套FastDFS+FastDHT服务使用。

 

3.1     在新的机器server4上安装FastDFS+FastDHT

参照《01-FastDFS+FastDHT 单节点安装》,进行安装;

注!!!:

所有启动服务项都先跳过,等配置修改完后再顺序启动各服务。

[ nginx、fdfs_trackerd、fdfs_storaged、fdhtd ] 均不启动。

 

3.2     拷贝FastDHT的去重数据

从server5上面把/usr/local/db-18.1.25目录拷贝到server4上面。

scp -r /usr/local/db-18.1.25 root@192.168.1.244:/usr/local/

 

3.3     修改各服务的配置文件

(1)配置/etc/fdfs/storage.conf文件

vim storage.conf

group_name=group1

base_path=/fastdfs/fdfs_storage 

store_path_count=1  

store_path0=/fastdfs/fdfs_storage/fdfs_storage_0

tracker_server=192.168.1.244:22122   # 一定要配置自己的IP地址

port=23000

http.server_port=8888

check_file_duplicate=1

key_namespace=FastDFS

keep_alive=1

#include /etc/fdht/fdht_servers.conf

(2)配置/etc/fdfs/tracker.conf文件

vim tracker.conf

base_path=/fastdfs/fdfs_tracker/

port=22122  #侦听端口

http.server_port=80  #配置http端口

(3)      配置fdhtd服务相关文件

a)       配置/etc/fdht/fdht_client.conf文件

vim /etc/fdht/fdht_client.conf

base_path=/fastdfs/fastdht 

keep_alive=1

#include /etc/fdht/fdht_servers.conf

b)       配置/etc/fdht/fdht_servers.conf 文件

vim /etc/fdht/fdht_servers.conf

group_count = 1

group0 = 192.168.1.244:11411  # 一定要配置自己的IP地址

c)        配置/etc/fdht/fdhtd.conf文件

vim /etc/fdht/fdhtd.conf

port=11411

bash_path= /fastdfs/fastdht

#include /etc/fdht/fdht_servers.conf

(4)      配置Nginx服务相关文件

 a)       配置/etc/fdfs/mod_fastdfs.conf文件

 vim /etc/fdfs/mod_fastdfs.conf

base_path=/fastdfs/fdfs_nginx

tracker_server=192.168.1.244:22122  # 一定要配置自己的IP地址

url_have_group_name=true      

store_path_count=1

store_path0=/fastdfs/fdfs_storage/fdfs_storage_0

b)       配置/usr/local/nginx/conf/nginx.conf

 vim /usr/local/nginx/conf/nginx.conf

##-----------------------------------------

user  nobody;

worker_processes  2;

 

pid  /var/run/nginx/nginx.pid;

 

worker_rlimit_nofile 65535;

 

events {

    worker_connections  65535;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    log_format main  '$remote_addr - $remote_user [$time_local] "$request" '

               '$status $body_bytes_sent "$http_referer" '

               '"$http_user_agent" $http_x_forwarded_for';

 

    access_log  /var/log/nginx/access.log  main;

    error_log  /var/log/nginx/error.log  error;

 

    server_names_hash_bucket_size 128;

    client_header_buffer_size 32k;

    large_client_header_buffers 4 32k;

    client_max_body_size 8m;

 

    sendfile        on;

    tcp_nopush      on;

    tcp_nodelay     on;

    keepalive_timeout  65;

 

    fastcgi_connect_timeout 300;

    fastcgi_send_timeout 300;

    fastcgi_read_timeout 300;

    fastcgi_buffer_size 64k;

    fastcgi_buffers 4 64k;

    fastcgi_busy_buffers_size 128k;

    fastcgi_temp_file_write_size 128k;

 

    gzip on;

    gzip_min_length 1k;

    gzip_buffers 4 16k;

    gzip_http_version 1.0;

    gzip_comp_level 2;

    gzip_types text/plain application/x-javascript text/css application/xml;

    gzip_vary on;

 

    server {

        listen       80;

        server_name  192.168.1.244;  # 一定要配置自己的IP地址

        location / {

            root   html;

            index  index.html index.htm;

        }

 

        location /group1/M00/ {

            root /fastdfs/fdfs_storage/fdfs_storage_0;

            ngx_fastdfs_module;

        }

 

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

    }

}

 

 

##-----------------------------------------

3.4     删除部分索引相关数据,使其重新生成

rm -rf /fastdfs/fdfs_storage/data/sync/192.168.1.245_23000.mark

rm -rf /fastdfs/fdfs_storage/data/.data_init_flag

 

3.5     启动各服务

#start fastdfs

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

/usr/local/bin/fdhtd   /etc/fdht/fdhtd.conf   restart

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

/usr/local/nginx/sbin/nginx

# 查看状态

fdfs_monitor /etc/fdfs/client.conf

 至此,server4服务器也是一台提供FastDFS+FastDHT服务的单节点服务器了。

 

3.6     server5删除server4这个storage节点

因为server4之前是扩展节点,已经加入进来了,但现在server4独立运行了,需要把server4剔除掉。

 注:在server5上面操作

 删除STORAGE SERVER

fdfs_monitor /etc/fdfs/client.conf delete group1 192.168.1.244  #删除server4

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf stop

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf stop

删除或修改以下文件:

rm -rf /fastdfs/fdfs_tracker/data/storage_changelog.dat

vim /fastdfs/fdfs_tracker/data/storage_servers_new.dat

#删除server4相关的记录,并把storage_count=2 修改为:

storage_count=1

> /fastdfs/fdfs_tracker/data/storage_sync_timestamp.dat

#清除该文件所有记录

重启服务:

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

fdfs_monitor /etc/fdfs/client.conf |more

 

# 检查STORAGE SERVER,又恢复到一个storage节点了。

fdfs_monitor /etc/fdfs/client.conf

 

原文地址:https://www.cnblogs.com/eos666/p/9830706.html