1. 程式人生 > >FastDFS--分布式文件系統

FastDFS--分布式文件系統

分布 mod 文件系統 libevent 服務器n useradd 查看 系統管理 openssl

分布式文件系統

什麽是分布式文件系統?

    (1)分布式文件系統是指文件系統管理的物理存儲資源不一定直接連接在本地節點上,而是通過計算機網絡與節點相連
    (2)分布式文件系統的設計基於客戶機/服務器模式

分布式文件系統的特點

(1)將固定於某個地點的某個文件系統,擴展到任意多個地點/多個文件系統
(2)每個節點可以分布在不同地點,通過網絡進行節點間的通信和數據傳輸 

基礎架構
客戶端--------------主控服務器
                      |
                      |
                      |
    數據服務器1  數據服務器2  數據服務器3  ...數據服務器n
    (把數據存放在一個服務器集群上,由集群中的服務器提供整個文件系統服務)

    主控服務器
    ——master管理各個數據服務器,分配任務
     —主控服務器上放著所有的文件目錄信息,要找文件,必須訪問它
     數據服務器
     —存放數據
     —冗余模式

FastDFS

  FastDFS服務端有兩個角色: 跟蹤器(tracker)和存儲節點(storage)
  —跟蹤器: 主要做調度工作,在訪問上起負載均衡作用
  —存儲節點: 完成文件管理的所有功能,即存儲、同步和提供存取接口,同時對文件的元數據進行管理
  FastDFS采用了分組存儲方式
  —集群由一個或多個組構成,集群存儲總容量為集群中所有組的存儲容量之和

FastDFS搭建

  [tracker50]
  #yum -y install gcc libevent make
  #unzip fastdfs.zip
  #tar zxf FastDFS_v4.06.tar.gz         
  #rpm -ivh libevent-*             
  #cd FastDFS
  #./make.sh
  #./make.sh install
  #cd init.d/
  #cp fdfs_trackerd /etc/init.d/
  #cp storage_ids.conf /etc/fdfs/
  修改配置文件
  #vim /etc/fdfs/tracler.conf
  base_path=/data/fastdfs       存儲路徑
  store_lookup=0            存儲組采用輪詢模式 0輪詢 1指定 2根據哪個空閑選則存儲
  use_storage_id = true     使用定義的stoaged_id
  #vim /etc/fdfs/storage_ids.conf
  # <id>  <group_name>  <ip_or_hostname>
    100001   group1  192.168.4.51
    100002   group1  192.168.4.52
  #/etc/init.d/fdfs_tracker start
  #chkconfig fdfs_tracker on
  #netstat -lnptu | grep 22122

  [storage51:52]
  #yum -y install gcc libevent make
  #unzip fastdfs.zip
  #tar zxf FastDFS_v4.06.tar.gz         
  #rpm -ivh libevent-*             
  #cd FastDFS
  #./make.sh
  #./make.sh install
  #cd init.d/
  #cp fdfs_storaged /etc/init.d/
  修改配置文件
  #group_name=group1    定義組名
  #base_path=/data/fastdfs   存儲路徑
  #store_path0=/data/fastdfs
  #tracker_server=192.168.4.50:22122  指定跟蹤器tracker路徑
  #/etc/init.d/fdfs_storaged start
  #chkconfig fdfs_storaged on 
  #netstat -lnptu | grep 23000

  [客戶端254]
  #mkdir /etc/fdfs
  #cp client.conf /etc/fdfs
  #vim etc/fdfs/client.conf
  #base_path=/data/fastdfs
  #tracker_server=192.168.4.50:22122
  scp 192.168.4.50:/usr/local/bin/* /usr/bin
  驗證
  #fdfs_upload_file /etc/fdfs/clients.conf a.txt
  group1/M00/00/00/wKgEM1ppWBCAJdssAACwEV-ILDc175.jpg

  使用web查看上傳文件
  [storage51:52]
  #tar zxf fastdfs-nginx-module_v1.16.tar.gz
  #tar zxf nginx-1.7.10.tar.gz 
  #yum -y install pcre-devel openssl-devel
  #cd nginx
  #useradd -s /sbin/nologin nginx
  #./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --add-module=../fastdfs-nginx-module/src/ --with-http_ssl_module
  #cp mod_fastdfs.conf /etc/fdfs/
  修改配置文件
  #vim /etc/fdfs/mod_fastdfs.conf
  tracker_server=192.168.4.50:22122
  group_name=group1
  url_have_group_name = true
  store_path0=/data/fastdfs
  修改nginx配置文件
  #vim /usr/local/nginx/conf/nginx.conf
    server {
        listen 80;
        server_name localhost;
        location / {
            ngx_fastfds_module;
            }
        }
  #/usr/local/nginx/sbin/nginx 
  #/etc/init.d/fdfs_storaged start

  驗證
  firefox http:192.168.4.51/group1/M00/00/00/wKgEM1ppWBCAJdssAACwEV-ILDc175.jpg

FastDFS--分布式文件系統