MFS分散ファイルシステム

A、MFSのエンタープライズアプリケーションのシナリオ

> 多台web服务器通过nfs共享一个存储,虽然业务上满足需求,但在性能与容量上无法胜任更高的要求,nfs服务器不堪重负,出现超时问题,同时也存在单点故障问题。尽管可以使用rsync同步数据到另一台服务器上做nfs服务的备份,但对提高整个系统的性能毫无帮助。可对nfs进行优化或者采取别的解决方案,但是优化并不能满足日益增多的客户端的性能要求。
解决方案是采用分布式文件系统。采用分布式文件系统后,服务器之间的数据访问不再是一对多的关系,而是多对多的关系(即多web服务器对多文件服务器),这样可以使性能得到大幅提升。
MFS分布式文件系统,即moosefs,可提供容量PB级别的共享存储,无需昂贵的专业硬件服务器便可完成构件。具有冗余容错功能,高可用、可扩展的海量级别分布式文件系统,保证数据的安全性。
MFS把数据分散在多台服务器上,但用户看到的只是一个源。

二、分散ファイルシステムのMFS原理

分布式文件系统是指文件系统管理的物理存储资源不一定直接连接本地节点上,而是通过计算机网络与节点相连。就是把一些分散的(分布在局域网内各个计算机上)共享文件夹,集合到一个文件夹内(虚拟共享文件夹)。对于用户来说,要访问这些共享文件夹时,只要打开这个虚拟共享文件夹,就可以看到所有连接到虚拟共享文件夹内的共享文件,用户感觉不到这些共享文件夹是分散于各个计算机上的。
  • 利点:集中アクセス、業務を合理化、データの災害復旧、パフォーマンスのファイル・アクセス、オンライン容量拡張を改善します。
  • 物理サーバを複数に格納されたデータを破壊し、ユーザに提示されたネットワークフォールトトレラント分散ファイルシステムは、ユニフォーム・リソースである場合MFS、統一されたソースのため、使用が実装することができます。
構図 効果
マスターメタデータ・サーバ システム全体、メタデータのメンテナンスで、ファイルシステムの管理を担当します。
metaloggerメタデータジャーナリングサーバー バックアップマスターサーバーの変更ログファイル、ファイルタイプchangelog_ml。*。設定Mfs。マスターサーバーのデータが失われたり破損している場合は、ログ・ファイル・サーバからの回復を得ることができます。
チャンクサーバーのデータ・ストレージ・サーバー データを格納する実サーバ。ファイルを保存すると、ファイルがブロックを保存し、サーバ間でデータをコピーする、より多くのデータ・サーバは、大容量、高い信頼性、優れたパフォーマンスで使用することができます。
クライアントクライアント 同じことがMFSファイルシステム、同じ操作をマウントするNFSマウントのようにすることができます。
  • 処理MFSのデータ読み出し
    クライアントに伝える>必要なメタデータサーバーのデータ格納場所(IPアドレスサーバーのチャンクとチャンクID) -クライアント(クライアント)は、メタデータサーバ(マスター)に読み取り要求を発行します- >既知のチャンクサーバからクライアント要求データ- >チャンクサーバがクライアントにデータを送信します

  • MFS書き込みデータ処理
    メタデータサーバ(マスタ)へのクライアント(クライアント)が書き込み要求を送信する- (この相互作用をブロックチャンクのために必要な場合にのみ存在する)>メタデータチャンクサーバがサーバと対話します、しかし、メタデータサーバは、いくつかの新しいサーバー・ブロック・チャンクをのみ作成され、成功裏に動作してメタデータサーバに通知するために作成されている- >メタデータサーバはチャンクチャンクサーバにデータを書き込むことができ、クライアントを、伝えます- >クライアント>他のチャンクサーバとチャンク・サーバーのデータ同期を、チャンクサーバは、クライアントデータが成功に書かれている指示した後- -この変更のためのクライアント通知メタデータサーバーが完了する>指定されたチャンクサーバにデータを書き込みます

第三に、シミュレーションがmfsファイルシステムを設定します

サーバー IP 予め用意
マスター 192.168.2.11 MFS-1.6.27
metalogger 192.2.12 MFS-1.6.27
チャンクSERVER1 192.168.2.13 MFS-1.6.27増加5Gハードディスク
チャンクSERVER2 192.168.2.14 MFS-1.6.27増加5Gハードディスク
チャンクサーバー3 192.168.2.15 MFS-1.6.27増加5Gハードディスク
クライアント 192.168.2.16 MFS-1.6.27、ヒューズ-2.9.2

自分の時間を構築するための成功を構築、ブログに同時に便利ではありません、我々は書かれている、我々は、スクリプトの実行をコピーするには、時間のこの部分を構築することを学ぶことができます。もちろん、あなたが持っている前提は、自分のBaiduのダウンロード上記の環境を準備するために行うには(バージョンがもつれていません)

  1. マスター構成
useradd -M -s /sbin/nologin mfs
yum -y install zlib-devel
tar -xf mfs-1.6.27-5.tar.gz -C /usr/src/
cd /usr/src/mfs-1.6.27/
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount && make && make install

cd /usr/local/mfs/etc/mfs/
ls
mfsexports.cfg.dist    mfsmetalogger.cfg.dist
mfsmaster.cfg.dist     mfstopology.cfg.dist
#被挂载目录及权限配置文件
cp mfsexports.cfg.dist mfsexports.cfg 
#主配置文件   
cp mfsmaster.cfg.dist mfsmaster.cfg      
cp mfstopology.cfg.dist mfstopology.cfg
cd /usr/local/mfs/var/mfs/
cp metadata.mfs.empty metadata.mfs
/usr/local/mfs/sbin/mfsmaster start
#验证是否启动
ps aux |grep mfs|grep -v grep
  1. metaloggerサーバ構築します(ノートがIPに対応し、仮想マシンを変更し、混乱しないでください)
useradd -M -s /sbin/nologin mfs
yum -y install zlib-devel
tar xf mfs-1.6.27-5.tar.gz -C /usr/src/
cd /usr/src/mfs-1.6.27/
.configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount && make && make install
cd /usr/local/mfs/etc/mfs/
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

vim mfsmetalogger.cfg
MASTER_HOST=192.168.2.11 //元数据服务器的master的IP地址
*这个步骤用sed能改,自己思考一下,但建议还是亲自打开修改,以免失误*

ll -d /usr/local/mfs/var/mfs/
/usr/local/mfs/sbin/mfsmetalogger start
ps aux |grep mfs |grep -v grep
  1. 3台のチャンクサーバ(3同じ方法)を構築します
fdisk -l|grep /dev/
fdisk /dev/sdb
接下来的步骤是对/dev/sdb分区和格式化,分一个区,大小直接回车,w保存
partx -a /dev/sdb
mkfs.ext4 /dev/sdb1
mkdir /data
mount /dev/sdb1 /data/
chown -R mfs.mfs /data/
df -hT

partx男
partxは、fdiskプログラムではありません-パーティションの追加や削除がディスクを変更しない、それだけで、ディスク上のパーティションの存在と番号についてカーネルに指示します。

`` `
useraddの-M -s / sbinに/ nologinにMFS
yumを-Y-develのzlibをインストール
タール1.6.27-5.tar.gz -C MFS XFは/ usr / src /
CDの/usr/src/mfs-1.6を。 27 /
は./configure --prefix =は/ usr / LOCA / MFS --with-デフォルト・ユーザー・グループ-MFS --with-デフォルト= MFS --with-グループデフォルト= MFS --disable-mfsmaster --disable make installを作る&& && -mfsmount
CDは/ usr / local / MFSの/ etc / MFS
LS
mfschunkserver.dist mfshdd.cfg.dist
CP mfschunkserver.cfg.dist mfschunkserver.cfg
CP mfshdd.cfg.dist mfshdd.cfg
vimのmfschunkserver.cfg
MASTER_HOST 192.168.2.11 =
vimのmfshdd.cfg
/データ//この行を追加し、/ dataパーティションは、本番環境は、このディレクトリをマウントする別のパーティションまたは別のディスクを使用するのが最善である、MFSことです

/ usr / local / MF / sbinに/ mfschunkserver開始
のps補助|グレップのMFS | grepの-v grepを

3台のサーバが同じに設定されているので、効率を向上させるためには、シェルスクリプトを介して達成することができます。
私がここに書いたときansibleによって達成するための良い方法もあり、非常に高速なリストを、参加しているこれらのIPホストは、非常にせっかちされている、私たちはansibleによって達成できることを願っています。私は私のブログを参照して、問題ではありませんansibleを知りません

おすすめ

転載: www.cnblogs.com/liuwei-xd/p/11110606.html