天天看點

分布式檔案系統 FastDFS1      FastDFS介紹2      FastDFS+Nginx實作檔案伺服器3          附錄

1      FastDFS介紹

1.1    什麼是FastDFS

         FastDFS是用c語言編寫的一款開源的分布式檔案系統。FastDFS為網際網路量身定制,充分考慮了備援備份、負載均衡、線性擴容等機制,并注重高可用、高性能等名額,使用FastDFS很容易搭建一套高性能的檔案伺服器叢集提供檔案上傳、下載下傳等服務。

1.2    FastDFS架構

         FastDFS架構包括 Trackerserver和Storage server。用戶端請求Tracker server進行檔案上傳、下載下傳,通過Tracker server排程最終由Storage server完成檔案上傳和下載下傳。

         Trackerserver作用是負載均衡和排程,通過Tracker server在檔案上傳時可以根據一些政策找到Storage server提供檔案上傳服務。可以将tracker稱為追蹤伺服器或排程伺服器。

         Storageserver作用是檔案存儲,用戶端上傳的檔案最終存儲在Storage伺服器上,Storage server沒有實作自己的檔案系統而是利用作業系統的檔案系統來管理檔案。可以将storage稱為存儲伺服器。

如下圖:

分布式檔案系統 FastDFS1      FastDFS介紹2      FastDFS+Nginx實作檔案伺服器3          附錄

1.2.1  Tracker 叢集

         FastDFS叢集中的Trackerserver可以有多台,Tracker server之間是互相平等關系同時提供服務,Tracker server不存在單點故障。用戶端請求Tracker server采用輪詢方式,如果請求的tracker無法提供服務則換另一個tracker。

1.2.2  Storage叢集

         Storage叢集采用了分組存儲方式。storage叢集由一個或多個組構成,叢集存儲總容量為叢集中所有組的存儲容量之和。一個組由一台或多台存儲伺服器組成,組内的Storage server之間是平等關系,不同組的Storage server之間不會互相通信,同組内的Storage server之間會互相連接配接進行檔案同步,進而保證同組内每個storage上的檔案完全一緻的。一個組的存儲容量為該組記憶體儲伺服器容量最小的那個,由此可見組記憶體儲伺服器的軟硬體配置最好是一緻的。

         采用分組存儲方式的好處是靈活、可控性較強。比如上傳檔案時,可以由用戶端直接指定上傳到的組也可以由tracker進行排程選擇。一個分組的存儲伺服器通路壓力較大時,可以在該組增加存儲伺服器來擴充服務能力(縱向擴容)。當系統容量不足時,可以增加組來擴充存儲容量(橫向擴容)。

1.2.3  Storage狀态收集

         Storage server會連接配接叢集中所有的Tracker server,定時向他們報告自己的狀态,包括磁盤剩餘空間、檔案同步狀況、檔案上傳下載下傳次數等統計資訊。

1.2.4  檔案上傳流程

分布式檔案系統 FastDFS1      FastDFS介紹2      FastDFS+Nginx實作檔案伺服器3          附錄

         用戶端上傳檔案後存儲伺服器将檔案ID傳回給用戶端,此檔案ID用于以後通路該檔案的索引資訊。檔案索引資訊包括:組名,虛拟磁盤路徑,資料兩級目錄,檔案名。

n  組名:檔案上傳後所在的storage組名稱,在檔案上傳成功後有storage伺服器傳回,需要用戶端自行儲存。

n  虛拟磁盤路徑:storage配置的虛拟路徑,與磁盤選項store_path*對應。如果配置了store_path0則是M00,如果配置了store_path1則是M01,以此類推。

n  資料兩級目錄:storage伺服器在每個虛拟磁盤路徑下建立的兩級目錄,用于存儲資料檔案。

n  檔案名:與檔案上傳時不同。是由存儲伺服器根據特定資訊生成,檔案名包含:源存儲伺服器IP位址、檔案建立時間戳、檔案大小、随機數和檔案拓展名等資訊。

1.2.5  檔案下載下傳流程

分布式檔案系統 FastDFS1      FastDFS介紹2      FastDFS+Nginx實作檔案伺服器3          附錄

tracker根據請求的檔案路徑即檔案ID 來快速定義檔案。

比如請求下邊的檔案:

分布式檔案系統 FastDFS1      FastDFS介紹2      FastDFS+Nginx實作檔案伺服器3          附錄

1.通過組名tracker能夠很快的定位到用戶端需要通路的存儲伺服器組是group1,并選擇合适的存儲伺服器提供用戶端通路。 

2.存儲伺服器根據“檔案存儲虛拟磁盤路徑”和“資料檔案兩級目錄”可以很快定位到檔案所在目錄,并根據檔案名找到用戶端需要通路的檔案。

2      FastDFS+Nginx實作檔案伺服器

2.1    架構

2.1.1  架構圖

分布式檔案系統 FastDFS1      FastDFS介紹2      FastDFS+Nginx實作檔案伺服器3          附錄

2.1.2  架構描述

         出于高可用的需求tracker和storage都使用兩台伺服器,storage使用兩個組用以說明storage可以任意擴充組實作線性擴充。

2.1.2.1 client

client請求tracker進行檔案上傳、下載下傳、删除。

client可以通過java client API方式進行檔案上傳、下載下傳、删除。

client可以通過http方式進行檔案下載下傳。tracker通過nginx提供http下載下傳接口。

client也可以直接通路storage進行檔案上傳、下載下傳、删除,但建議client通過tracker進行檔案上傳、下載下傳、删除。

2.1.2.2 Tracker Server

         每個trackerserver互相平等,tracker server上部署nginx是為了對外提供http檔案下載下傳接口,tracker上nginx隻是起到負載均衡的作用。tracker的nginx會代理轉發至storage上的nginx。

         tracker上的兩個nginx可以采用主備方式實作高可用。nginx高可用參數nginx文檔。

2.1.2.3 Storage Server

         每台storage上也部署nginx,storage上的nginx與tracker上的nginx有差別,storage上的nginx需要安裝FastDSF-nginx子產品,此子產品的作用是使用FastDFS和nginx進行整合,nginx對外提供http檔案下載下傳接口,注意:nginx隻提供檔案下載下傳接口不提供上傳接口。檔案上傳仍然通過java client API進行。

2.2    FastDFS--tracker安裝

分别在192.168.101.3和192.168.101.4上安裝tracker。

注:初次安裝可隻安裝一台tracker友善調試。

2.2.1  下載下傳

tracker和storage使用相同的安裝包,下載下傳位址:http://sourceforge.net/projects/FastDFS/ 或https://github.com/happyfish100/FastDFS(推薦)

本教程下載下傳:FastDFS_v5.05.tar.gz

2.2.2  FastDFS安裝環境

   FastDFS是C語言開發,建議在linux上運作,本教程使用Centos6.5作為安裝環境。

   安裝FastDFS需要先将官網下載下傳的源碼進行編譯,編譯依賴gcc環境,如果沒有gcc環境,需要安裝gcc:yum install gcc-c++

2.2.3  .安裝libevent

FastDFS依賴libevent庫,需要安裝:

yum -y install libevent

2.2.4  安裝libfastcommon

         libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS運作所需要的一些基礎庫。

将libfastcommonV1.0.7.tar.gz拷貝至/usr/local/下

cd /usr/local

tar -zxvf libfastcommonV1.0.7.tar.gz

cd libfastcommon-1.0.7

./make.sh

./make.sh install

注意:libfastcommon安裝好後會自動将庫檔案拷貝至/usr/lib64下,由于FastDFS程式引用usr/lib目錄是以需要将/usr/lib64下的庫檔案拷貝至/usr/lib下。

要拷貝的檔案如下:

分布式檔案系統 FastDFS1      FastDFS介紹2      FastDFS+Nginx實作檔案伺服器3          附錄

2.2.5  tracker編譯安裝

将FastDFS_v5.05.tar.gz拷貝至/usr/local/下

tar -zxvf FastDFS_v5.05.tar.gz

cd FastDFS

./make.sh

./make.sh install

安裝成功将安裝目錄下的conf下的檔案拷貝到/etc/fdfs/下。

分布式檔案系統 FastDFS1      FastDFS介紹2      FastDFS+Nginx實作檔案伺服器3          附錄

2.2.6  配置

安裝成功後進入/etc/fdfs目錄:

分布式檔案系統 FastDFS1      FastDFS介紹2      FastDFS+Nginx實作檔案伺服器3          附錄

拷貝一份新的tracker配置檔案:

修改tracker.conf

vi tracker.conf

base_path=/home/yuqing/FastDFS  

改為:

base_path=/home/FastDFS

配置http端口:

http.server_port=80

2.2.7  啟動

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

啟動的日志顯示先停止5619程序(實際環境不是5619)再啟動,如下圖:

分布式檔案系統 FastDFS1      FastDFS介紹2      FastDFS+Nginx實作檔案伺服器3          附錄

注意:如果沒有顯示上圖要注意是否正常停止原有程序。

2.3    FastDFS--storage安裝

分别在192.168.101.5、192.168.101.6、192.168.101.7、192.168.101.8上安裝storage。

注:初次安裝可隻安裝一台storage友善調試。

2.3.1  安裝libevent

同tracker安裝

2.3.2  安裝libfastcommon

同tracker安裝。

2.3.3  storage編譯安裝

同tracker編譯安裝。

2.3.4  配置

安裝成功後進入/etc/fdfs目錄:

分布式檔案系統 FastDFS1      FastDFS介紹2      FastDFS+Nginx實作檔案伺服器3          附錄

拷貝一份新的storage配置檔案:

cp storage.conf.sample storage.conf

修改storage.conf

vi storage.conf

group_name=group1

base_path=/home/yuqing/FastDFS改為:base_path=/home/FastDFS

store_path0=/home/yuqing/FastDFS改為:store_path0=/home/FastDFS/fdfs_storage

#如果有多個挂載磁盤則定義多個store_path,如下

#store_path1=.....

#store_path2=......

tracker_server=192.168.101.3:22122   #配置tracker伺服器:IP

#如果有多個則配置多個tracker

tracker_server=192.168.101.4:22122

#配置http端口

http.server_port=80

2.3.5  啟動

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

啟動的日志顯示先停止8931程序(實際環境不是8931)再啟動,如下圖:

分布式檔案系統 FastDFS1      FastDFS介紹2      FastDFS+Nginx實作檔案伺服器3          附錄

注意:如果沒有顯示上圖要注意是否正常停止原有程序。

2.4    上傳圖檔測試

2.4.1  通過fdfs_test程式

FastDFS安裝成功可通過/usr/bin/fdfs_test測試上傳、下載下傳等操作。

修改/etc/fdfs/client.conf

base_path=/home/fastdfs

tracker_server=192.168.101.3:22122

tracker_server=192.168.101.4:22122

使用格式:

/usr/bin/fdfs_test 用戶端配置檔案位址  upload 上傳檔案

比如将/home下的圖檔上傳到FastDFS中:

/usr/bin/fdfs_test/etc/fdfs/client.conf upload /home/tomcat.png

列印如下日志:

This is FastDFS client testprogram v5.05

Copyright (C) 2008, Happy Fish/ YuQing

FastDFS may be copied onlyunder the terms of the GNU General

Public License V3, which may befound in the FastDFS source kit.

Please visit the FastDFS HomePage http://www.csource.org/

for more detail.

[2015-05-18 02:07:10] DEBUG -base_path=/home/FastDFS, connect_timeout=30, network_timeout=60,tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0,g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server idcount: 0

tracker_query_storage_store_list_without_group:

         server 1. group_name=, ip_addr=192.168.101.5, port=23000

         server 2. group_name=, ip_addr=192.168.101.6, port=23000

group_name=group1,ip_addr=192.168.101.5, port=23000

storage_upload_by_filename

group_name=group1,remote_filename=M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485.png

source ip address:192.168.101.5

file timestamp=2015-05-1802:07:11

file size=5103

file crc32=3979441827

example file url:http://192.168.101.5/group1/M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485.png

storage_upload_slave_by_filename

group_name=group1,remote_filename=M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png

source ip address: 192.168.101.5

file timestamp=2015-05-1802:07:11

file size=5103

file crc32=3979441827

example file url: http://192.168.101.5/group1/M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png

http://192.168.101.5/group1/M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png就是檔案的下載下傳路徑。

對應storage伺服器上的

/home/fastdfs/fdfs_storage/data/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png檔案。

由于現在還沒有和nginx整合無法使用http下載下傳。

2.4.2  通過java ClientAPI

完整的測試方法參考測試源代碼。

publicclass FastdfsClientTest {

    //用戶端配置檔案

    public String conf_filename = "F:\\workspace_indigo\\fastdfsClient\\src\\cn\\itcast\\fastdfs\\cliennt\\fdfs_client.conf";

    //本地檔案,要上傳的檔案

    public String local_filename = "F:\\develop\\upload\\linshiyaopinxinxi_20140423193847.xlsx";

//上傳檔案

    @Test

    publicvoid testUpload() {

        for(inti=0;i<100;i++){

        try {

            ClientGlobal.init(conf_filename);

            TrackerClient tracker = new TrackerClient();

            TrackerServer trackerServer =tracker.getConnection();

            StorageServer storageServer = null;

            StorageClient storageClient = newStorageClient(trackerServer,

                    storageServer);

            NameValuePair nvp [] = new NameValuePair[]{

                    new NameValuePair("item_id", "100010"),

                    new NameValuePair("width", "80"),

                    new NameValuePair("height", "90")

            };

            String fileIds[] =storageClient.upload_file(local_filename, null,

                    nvp);

            System.out.println(fileIds.length);

            System.out.println("組名:" + fileIds[0]);

            System.out.println("路徑: " + fileIds[1]);

        } catch (FileNotFoundExceptione) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        } catch (Exception e) {

           e.printStackTrace();

       }

        }

    }

}

2.5    FastDFS 和nginx整合

2.5.1  在tracker上安裝nginx

nginx的安裝細節參考nginx文檔。

一個tracker對應多個storage,通過nginx對storage負載均衡。

在每個tracker上安裝nginx,兩個 nginx為主備高可用。

建立nginx-fdfs.conf配置檔案:

#storage群group1組

upstream storage_server_group1{

             server192.168.101.5:80 weight=10;

                  server192.168.101.6:80 weight=10;

    }

    #storage群group2組

upstream storage_server_group2{

             server192.168.101.7:80 weight=10;

                  server 192.168.101.8:80weight=10;

    }

   server {

         listen 80;

         server_name ccc.test.com;

         location /group1{

                   proxy_redirect off;

                   proxy_set_header Host $host;

                   proxy_set_header X-Real-IP $remote_addr;

                   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

                   proxy_pass http://storage_server_group1;

         }

location /group2{

                   proxy_redirect off;

                   proxy_set_header Host $host;

                   proxy_set_header X-Real-IP $remote_addr;

                   proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for;

                   proxy_pass http://storage_server_group2;

         }

}

2.5.2  在Storage上安裝nginx

2.5.2.1 FastDFS-nginx-module

将FastDFS-nginx-module_v1.16.tar.gz傳至/usr/local/下

cd /usr/local

tar -zxvf FastDFS-nginx-module_v1.16.tar.gz

cd FastDFS-nginx-module/src

修改config檔案将/usr/local/路徑改為/usr/

分布式檔案系統 FastDFS1      FastDFS介紹2      FastDFS+Nginx實作檔案伺服器3          附錄

将FastDFS-nginx-module/src下的mod_FastDFS.conf拷貝至/etc/fdfs/下

cp mod_FastDFS.conf /etc/fdfs/

并修改mod_FastDFS.conf的内容:

vi /etc/fdfs/mod_FastDFS.conf

base_path=/home/FastDFS

tracker_server=192.168.101.3:22122

tracker_server=192.168.101.4:22122

url_have_group_name=true            #url中包含group名稱

store_path0=/home/FastDFS/fdfs_storage   #指定檔案存儲路徑

#如果有多個

将libfdfsclient.so拷貝至/usr/lib下

cp /usr/lib64/libfdfsclient.so /usr/lib/

建立nginx/client目錄

mkdir -p /var/temp/nginx/client

2.5.2.2 nginx安裝

添加FastDFS-nginx-module子產品

./configure \

--prefix=/usr/local/nginx \

--pid-path=/var/run/nginx/nginx.pid\

--lock-path=/var/lock/nginx.lock\

--error-log-path=/var/log/nginx/error.log\

--http-log-path=/var/log/nginx/access.log\

--with-http_gzip_static_module\

--http-client-body-temp-path=/var/temp/nginx/client\

--http-proxy-temp-path=/var/temp/nginx/proxy\

--http-fastcgi-temp-path=/var/temp/nginx/fastcgi\

--http-uwsgi-temp-path=/var/temp/nginx/uwsgi\

--http-scgi-temp-path=/var/temp/nginx/scgi\

--add-module=/usr/local/fastdfs-nginx-module/src

make

make install

2.5.2.3 nginx配置檔案

建立一個nginx配置檔案nginx-fdfs.conf.

添加server:

server {

        listen       80;

        server_name  192.168.101.7;

        location /group1/M00/{

                root /home/fastdfs/fdfs_storage/data;

                ngx_fastdfs_module;

        }

}

說明:

server_name指定本機ip

location /group1/M00/:group1為nginx 服務FastDFS的分組名稱,M00是FastDFS自動生成編号,對應store_path0=/home/FastDFS/fdfs_storage,如果FastDFS定義store_path1,這裡就是M01

2.5.3  測試

通過java用戶端上傳檔案,使用浏覽器通路,比如通路上傳圖檔測試的檔案:

通路storage:

http://192.168.101.5/group1/M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png

ip位址改為192.168.101.6也行,因為同一個分組的storage檔案互相同步。

通路tracker:

http://192.168.101.3/group1/M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png

ip位址改為192.168.101.4也行。

使用域名通路tracker (推薦):

兩個tracker的nginx為主備,對外由vip提供服務,使用域名通路如下:

比如vip對應的域名為img.test.com:

http://img.test.com/group1/M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png

3          附錄

3.1    tracker.conf

1 基本配置

disable

#func:配置是否生效

#valu:true、false

disable=false

bind_addr

#func:綁定IP

#valu:IP位址

bind_addr=192.168.6.102

port

#func:服務端口

#valu:端口整數值

port=22122

connect_timeout

#func:連接配接逾時

#valu:秒機關正整數值

connect_timeout=30

network_timeout

#func:網絡逾時

#valu:秒機關正整數值

network_timeout=60

base_path

#func:Tracker資料/日志目錄位址

#valu:路徑

base_path=/home/michael/fdfs/base4tracker

max_connections

#func:最大連接配接數

#valu:正整數值

max_connections=256

work_threads

#func:線程數,通常設定CPU數

#valu:正整數值

work_threads=4

store_lookup

#func:上傳檔案的選組方式。

#valu:0、1或2。

# 0:表示輪詢

# 1:表示指定組

# 2:表示存儲負載均衡(選擇剩餘空間最大的組)

store_lookup=2

store_group

#func:指定上傳的組,如果在應用層指定了具體的組,那麼這個參數将不會起效。另外如果store_lookup如果是0或2,則此參數無效。

#valu:group1等

store_group=group1

store_server

#func:上傳伺服器的選擇方式。(一個檔案被上傳後,這個storageserver就相當于這個檔案的storage server源,會對同組的storage server推送這個檔案達到同步效果)

#valu:0、1或2

# 0: 輪詢方式(預設)

# 1: 根據ip 位址進行排序選擇第一個伺服器(IP位址最小者)

# 2: 根據優先級進行排序(上傳優先級由storageserver來設定,參數名為upload_priority),優先級值越小優先級越高。

store_server=0

store_path

#func:上傳路徑的選擇方式。storageserver可以有多個存放檔案的base path(可以了解為多個磁盤)。

#valu:

# 0: 輪流方式,多個目錄依次存放檔案

# 2: 存儲負載均衡。選擇剩餘空間最大的目錄存放檔案(注意:剩餘磁盤空間是動态的,是以存儲到的目錄或磁盤可能也是變化的)

store_path=0

download_server

#func:下載下傳伺服器的選擇方式。

#valu:

# 0:輪詢(預設)

# 1:IP最小者

# 2:優先級排序(值最小的,優先級最高。)

download_server=0

reserved_storage_space

#func:保留白間值。如果某個組中的某個伺服器的剩餘自由空間小于設定值,則檔案不會被上傳到這個組。

#valu:

# G or g for gigabyte

# M or m for megabyte

# K or k for kilobyte

reserved_storage_space=1GB

log_level

#func:日志級别

#valu:

# emerg for emergency

# alert

# crit for critical

# error

# warn for warning

# notice

# info for information

# debug for debugging

log_level=info

run_by_group / run_by_user

#func:指定運作該程式的使用者組

#valu:使用者組名或空

run_by_group=

#func:

#valu:

run_by_user=

allow_hosts

#func:可以連接配接到tracker server的ip範圍。可設定多個值。

#valu

allow_hosts=

check_active_interval

#func:檢測 storage server 存活的時間隔,機關為秒。

#     storage server定期向tracker server 發心跳,

#     如果tracker server在一個check_active_interval内還沒有收到storage server的一次心跳,

#     那邊将認為該storage server已經下線。是以本參數值必須大于storage server配置的心跳時間間隔。

#     通常配置為storage server心跳時間間隔的2倍或3倍。

check_active_interval=120

thread_stack_size

#func:設定線程棧的大小。 線程棧越大,一個線程占用的系統資源就越多。

#     如果要啟動更多的線程(V1.x對應的參數為max_connections,V2.0為work_threads),可以适當降低本參數值。

#valu:如64KB,預設值為64,trackerserver線程棧不應小于64KB

thread_stack_size=64KB

storage_ip_changed_auto_adjust

#func:這個參數控制當storageserver IP位址改變時,叢集是否自動調整。注:隻有在storage server程序重新開機時才完成自動調整。

#valu:true或false

storage_ip_changed_auto_adjust=true

2 同步

storage_sync_file_max_delay

#func:同組storage伺服器之間同步的最大延遲時間。存儲伺服器之間同步檔案的最大延遲時間,根據實際情況進行調整

#valu:秒為機關,預設值為1天(24*3600)

#sinc:v2.0

storage_sync_file_max_delay=86400

storage_sync_file_max_time

#func:存儲伺服器同步一個檔案需要消耗的最大時間,預設為300s,即5分鐘。

#sinc:v2.0

storage_sync_file_max_time=300

sync_log_buff_interval

#func:同步或重新整理日志資訊到硬碟的時間間隔。注意:tracker server 的日志不是時時寫硬碟的,而是先寫記憶體。

#valu:以秒為機關

sync_log_buff_interval=10

3 trunk 和 slot

#func:是否使用trunk檔案來存儲幾個小檔案

#valu:true或false

#sinc:v3.0

use_trunk_file=false

#func:最小slot大小

#valu:<= 4KB,預設為256位元組

#sinc:v3.0

slot_min_size=256

#func:最大slot大小

#valu:>= slot_min_size,當小于這個值的時候就存儲到trunk file中。預設為16MB。

#sinc:v3.0

slot_max_size=16MB

#func:trunk file的size

#valu:>= 4MB,預設為64MB

#sinc:v3.0

trunk_file_size=64MB

4 HTTP 相關

是否啟用 HTTP

#func:HTTP是否生效

#valu:true或false

http.disabled=false

HTTP 伺服器端口号

#func:tracker server上的http port

#valu:

#note:隻有http.disabled=false時才生效

http.server_port=7271

檢查Storage存活狀态的間隔時間(心跳檢測)

#func:檢查storage httpserver存活的間隔時間

#valu:機關為秒

#note:隻有http.disabled=false時才生效

http.check_alive_interval=30

心跳檢測使用的協定方式

#func:檢查storage httpserver存活的方式

#valu:

# tcp:連接配接到storage server的http端口,不進行request和response。

# http:storage check aliveurl must return http status 200.

#note:隻有http.disabled=false時才生效

http.check_alive_type=tcp

檢查 Storage 狀态的 URI

#func:檢查storage httpserver是否alive的uri/url

#note:隻有http.disabled=false時才生效

http.check_alive_uri=/status.html

繼續閱讀