moose_file_system_moosefs_mfs
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[Linux]]
* Moose File System , MooseFS , mfs [#y0121727]
(参考:日経Linux を参考にしました)
#contents
&imgr(./image/moosefs.png,50%);
Linux、Mac 向け、分散ファイルシステム、MooseFS。~
以下のような特徴があります。~
+ いろいろなハードウェアに付いているローカルHDDを利用可能
+ 何台のサーバー、何十台のHDDであろうと1つのドライブとし...
+ 何台のサーバーが壊れても大丈夫にするか、設定ができる
+ ブラウザを利用した管理コンソール
+ 削除ファイルに対するゴミ箱機能
+ 各ハードウェアに付いているHDDのフォーマットは~
一般的なフォーマット(EXT3 や EXT4)が利用可能。
+ 各ハードウェアに付いている HDD 内は、既存データとの混在...
+ システムの停止無しに HDD の追加、削除も容易。
+ mdadm などのソフトウェア RAID に比べ格段に安定
+ Google File System (GFS) に似ている
+ Linux, Macは無料(Windowsは有料)
+ データがサーバー毎に分散されるため高速
* 構成 [#s2ce52ed]
+ 管理サーバーが必要です。ここでは mfsmaster とします。
+ 管理サーバーのバックアップです。ここでは mfsmetalogger ...
+ 各々の HDD が入っているPC、サーバーをここでは chunk ser...
*最初に構築した時 [#a056269e]
** インストール手順 [#q9a5b6ea]
+ DNS に mfsmaster を追加しましょう。~
--DNS サーバーが無い場合は、/etc/hosts ファイルに書きまし...
--hosts に追加するときは、127.0.0.1 で無くIPアドレスを記...
+ ./configure のオプションまとめ
-- --disable-mfsmaster
-- --disable-mfschunkserver
-- --disable-mfsmount
-- --enable-mfsmount
-- --prefix=DIRECTORY - install to given prefix (default ...
-- --sysconfdir=DIRECTORY - select configuration files di...
-- --localstatedir=DIRECTORY - select top variable data d...
-- --with-default-user=USER - user to run daemons as if n...
-- --with-default-group=GROUP - group to run daemons as i...
+ mfsmaster のセットアップ
++ インストール
sudo yum -y install gcc zlib zlib-devel
++ MooseFS ユーザ、グループの作成
sudo groupadd mfs
sudo useradd -g mfs mfs
++ [[moosefs のダウンロード:http://www.moosefs.org/downlo...
++ MooseFS の解凍
tar xzfv mfs-1.6.27.tar.gz
++ 3種類のサーバー機能のインストール(mfsmaster,metalogger...
cd mfs-1.6.27
./configure --prefix=/usr --sysconfdir=/etc --localstate...
make
sudo make install
++ サーバー設定ファイルのセットアップ(というか、コピー)
cd /etc/mfs/
sudo cp mfsmaster.cfg.dist mfsmaster.cfg
sudo cp mfsexports.cfg.dist mfsexports.cfg
++ metadata ファイルの準備
cd /var/lib/mfs/
sudo cp metadata.mfs.empty metadata.mfs
++ master server の起動
sudo /usr/sbin/mfsmaster start
sudo /usr/sbin/mfscgiserv
++ server コンソールの確認 [[http://mfsmaster:9425:http:/...
+ mfsmetalogger のセットアップ
++ インストール
sudo yum -y install gcc zlib zlib-devel
++ MooseFS ユーザ、グループの作成
sudo groupadd mfs
sudo useradd -g mfs mfs
++ [[moosefs のダウンロード:http://www.moosefs.org/downlo...
++ MooseFS の解凍
tar xzfv mfs-1.6.27-1.tar.gz
++ 3種類のサーバー機能のインストール(mfsmaster,metalogger...
cd mfs-1.6.27
./configure --prefix=/usr --sysconfdir=/etc --localstate...
make
sudo make install
++ サーバー設定ファイルのセットアップ(というか、コピー)
cd /etc/mfs/
sudo cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
++ metalogger server の起動
sudo /usr/sbin/mfsmetalogger start
++ 別のサーバで metalogger をマウント
sudo /usr/sbin/mfsmetalogger start
sudo mfsmount /mnt/mfsmeta -o mfsmeta,nonempty -H mfsmas...
+ chunk server のセットアップ
++ インストール
sudo yum -y install gcc zlib zlib-devel
++ MooseFS ユーザ、グループの作成
sudo groupadd mfs
sudo useradd -g mfs mfs
++ [[moosefs のダウンロード:http://www.moosefs.org/downlo...
++ MooseFS の解凍
tar xzfv mfs-1.6.27-1.tar.gz
++ 3種類のサーバー機能のインストール(mfsmaster,metalogger...
cd mfs-1.6.27
./configure --prefix=/usr --sysconfdir=/etc --localstate...
make
sudo make install
++ サーバー設定ファイルのセットアップ(というか、コピー)
+++ 新
cd /etc/mfs/
sudo cp mfshdd.cfg.sample mfshdd.cfg
sudo cp mfschunkserver.cfg.sample mfschunkserver.cfg
+++ 旧
cd /etc/mfs/
sudo cp mfshdd.cfg.dist mfshdd.cfg
sudo cp mfschunkserver.cfg.dist mfschunkserver.cfg
++ mfshdd.cfg の編集~
例)~
# mount points of HDD drives
#
#/mnt/hd1
#/mnt/hd2
#etc.
/mnt/f-dra
++ chunk server の起動
sudo /usr/sbin/mfschunkserver start
++ 複数サーバー、PCを chunk server にする場合は、~
上記の手順を繰り返して実行
+ Web 画面で設定結果の確認
** クライアントで MooseFS のマウント [#gff0ecee]
- 概要
-- 基本的には fuse が必要です。~
そのあと、--enable-mfsmount を指定して MooseFS を ./confi...
fuse がうまく使えないときは ./configure 中にエラーが出ま...
注意して見ましょう。
- mfsmaster の dns の登録をしておきましょうね。~
dns が無かったり使えない場合は /etc/hosts に書きましょう
- on Linux Ubuntu
++ 必要なサービスのインストール
sudo apt-get install gcc zlib1g zlib1g-dev fuse libfuse-...
++ MooseFS ユーザ、グループの作成
sudo groupadd mfs
sudo useradd -g mfs mfs
++ [[moosefs のダウンロード:http://www.moosefs.org/downlo...
++ 引き続き MooseFS のインストール作業
tar xzfv mfs-1.6.27-1.tar.gz
cd mfs-1.6.27
./configure --prefix=/usr --sysconfdir=/etc --localstate...
make
sudo make install
++ マウントポイントの作成
sudo mkdir /mnt/mfs
++ MooseFS のファイルシステムをマウント
sudo mfsmount /mnt/mfs -H mfsmaster
- on Mac
++ FUSE for Mac をダウンロード [[http://osxfuse.github.io...
++ MooseFS mfs ユーザ、mfs グループの作成
++ [[moosefs のダウンロード:http://www.moosefs.org/downlo...
++ MooseFS のインストール作業
tar xzfv mfs-1.6.27-1.tar.gz
cd mfs-1.6.27
./configure --prefix=/usr --sysconfdir=/etc --localstate...
make
sudo make install
++ マウントポイントの作成
sudo mkdir /mnt/mfs
++ MooseFS のファイルシステムをマウント
sudo mfsmount /mnt/mfs -H mfsmaster
** ファイル冗長化の設定(goal 数の設定) [#wa83d22e]
+ 現在の goal (冗長化)数の確認
mfsgetgoal /mnt/mfs/
+ 現在の goal (冗長化)数のセット
mfssetgoal -r 3 /mnt/mfs/
** Master Server の障害対策 [#dca4bbae]
+ mfsmetalogger サーバーを昇格
sudo /usr/sbin/mfsmetalogger stop
sudo mfsmaster -a
cd /etc/mfs/
sudo cp mfsmaster.cfg.dist mfsmaster.cfg
sudo cp mfsexports.cfg.dist mfsexports.cfg
sudo /usr/sbin/mfsmaster start
sudo /usr/sbin/mfscgiserv &
** missing となった時のデータ削除(消去)方法 [#oefa9ca1]
+ 以下のコマンドを実行し、どのファイルが missing かを探す
sudo find /mnt/mfs/ -type f -print0 | xargs -0 mfscheck...
+ さらにデリート処理をするために、mfs_missing.log に書き...
sudo find /mnt/mfs/ -type f -print0 | xargs -0 mfscheck...
+ missing file を消すための script を作成する PHP プログ...
<?php
$fp = fopen("mfs_missing.log", "r");
$sh_detail="";
while ($line = fgets($fp)) {
$fileName=substr($line,8,strlen($line)-9);
$sh_detail=$sh_detail."mfssettrashtime 1 \"".trim($fil...
$sh_detail=$sh_detail."rm \"".trim($fileName)."\"\n";
}
fclose($fp);
$fp = fopen("mfs_delete_log.sh", "w");
fwrite($fp, $sh_detail);
fclose($fp);
?>
+ mfs_missing.log 例
151342-/mnt/mfs/backup/ozubuntu1204_rsync/var/var/www/in...
151437-/mnt/mfs/backup/ozubuntu1204_rsync/var/var/tmp/kd...
+ mfs_delete_log.sh 例
mfssettrashtime 1 "/mnt/mfs/backup/ozubuntu1204_rsync/va...
rm "/mnt/mfs/backup/ozubuntu1204_rsync/var/var/lib/dpkg/...
+ 例
sudo find /mnt/mfsmeta/trash/ -name "*|data|*" -print0 |...
** 間違えて削除してしまったファイルの復活 [#q91a5a2f]
- これがとても便利!
-- 例1
sudo ls /mnt/mfsmeta/trash/
sudo mv /mnt/mfsmeta/trash/00000014\movie.mov /mnt/mfsme...
-- 例2
sudo find /mnt/mfsmeta/trash/ -name "*|data|*" | xargs -...
** CentOS で mfsmount [#g44d9222]
sudo yum install fuse-libs
sudo rpm -ivh mfs-client-1.6.27-18.1.i386.rpm
~
[[mfs-client-1.6.27-18.1.i386.rpm:http://rpm.pbone.net/in...
** /etc/fstab [#w6d4898d]
*** version 2 [#lefb805d]
- sudo vi /etc/fstab
mfsmount /mnt/mfs fuse mfsmaster=mfsmaster.hogehoge.com,...
mfsmount /mnt/mfsmeta fuse defaults,mfsdelayedinit,m...
*** version 3 [#qe2fdfac]
-new
-- sudo vi /etc/fstab
mfsmount /mnt/mfs fuse defaults,mfsdelayedin...
mfsmount /mnt/mfsmeta fuse defaults,mfsdelay...
-old
-- sudo vi /etc/fstab
mfsmount /mnt/mfs fuse defaults,mfsmaster=mfsmaster.hoge...
** quota の設定 [#fd36b267]
- quota の設定
sudo mfssetquota -HS 500G dirName
-- S がハードクォータ
-- s がソフトクォータ
- quota の確認
mfsgetquota dirName
- quota の削除
sudo mfsdelquota -sS dirName
** エラーの対応 [#kc8a28b3]
*** chunkserver がサーバーサイドで認識しない対応 [#t54ea9...
このエラーにえんらい苦しめられました。~
調べてもなかなか情報が無いし。。。~
いろいろと試してようやくわかりました。~
- chunkserver 側のエラーメッセージ
MATOCS_MASTER_ACK - wrong meta data id. Can't connect to...
- エラー対応
++ サーバー側の設定ファイルについて
--- サーバーサイドの関連ファイルは以下のディレクトリに有...
/var/lib/mfs
--- この中で chunkserver からの metaid を管理しているのは
chunkserverid.mfs
--- このファイルをリネームしてバックアップを取ります。
sudo mv /var/lib/mfs chunkserverid.mfs chunkserverid.mfs...
++ 以下は chunkserver 側
--- chunkserver を再起動します。
sudo mfschunkserver restart
-- 多分これで大丈夫。。。なはず。。。
*2回目構築(少し簡単になりました) [#e08e12ef]
** debian / ubuntu [#kc744c42]
+dns や hosts の設定は先に書きましょう
--DNS サーバーが無い場合は、/etc/hosts ファイルに書きまし...
--hosts に追加するときは、127.0.0.1 で無くIPアドレスを記...
+ユーザーとグループを作ります
sudo groupadd -g 1001 mfs
sudo useradd -u 1001 -g 1001 mfs
+ apt-get へ key のインポート
++ debian
sudo wget -O - https://ppa.moosefs.com/moosefs.key | sud...
++ Ubuntu 22.04
sudo wget -O - https://ppa.moosefs.com/moosefs.key | sud...
++ 少し前
sudo wget -O - http://ppa.moosefs.com/moosefs.key | sudo...
++ さらに前
sudo wget -O - http://ppa.moosefs.com/stable/apt/moosefs...
sudo apt-key add key
+apt-get の souce list へソースを追加
sudo vi /etc/apt/sources.list
--以下のどれかを追加
-- Ubuntu 22.04
sudo su -
echo "deb [arch=amd64] http://repository.moosefs.com/moo...
--For Ubuntu 20.04
echo "deb [arch=amd64] http://ppa.moosefs.com/moosefs-3/...
--For Ubuntu 18.04
echo "deb http://ppa.moosefs.com/moosefs-3/apt/ubuntu/bi...
--For Ubuntu 14.04 Trusty:
sudo echo "deb http://ppa.moosefs.com/moosefs-3/apt/ubun...
--- 少し前
deb http://ppa.moosefs.com/moosefs-3/apt/ubuntu/trusty t...
--- さらに前
deb http://ppa.moosefs.com/stable/apt/ubuntu/trusty trus...
--For Ubuntu 12.04 Precise:
deb http://ppa.moosefs.com/stable/apt/ubuntu/precise pre...
--For Ubuntu 10.10 Maverick:
deb http://ppa.moosefs.com/stable/apt/ubuntu/maverick ma...
--For Debian 12 Bookworm
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/moose...
--For Debian 11 Bullseye:
echo "deb [arch=amd64] http://ppa.moosefs.com/moosefs-3/...
--For Debian 7.0 Wheezy:
--- 今
deb http://ppa.moosefs.com/moosefs-3/apt/debian/wheezy w...
--- 少し前
deb http://ppa.moosefs.com/stable/apt/debian/wheezy whee...
--For Debian 6.0 Squeeze:
deb http://ppa.moosefs.com/stable/apt/debian/squeeze squ...
--For Debian 5.0 Lenny:
deb http://ppa.moosefs.com/stable/apt/debian/lenny lenny...
+apt-get の更新
sudo apt-get update
*** 必要なものをインストール [#s05d56df]
--master
sudo apt-get install moosefs-master
--web console
sudo apt-get install moosefs-cgiserv
--metaloger
sudo apt-get install moosefs-metalogger
--chunkServer
sudo apt-get install moosefs-chunkserver
--client
sudo apt-get install moosefs-cli moosefs-client
*** Web Console URL [#a5131fd8]
+ DNS 名前解決出来ない時
http://(IP):9425/
or~
+ DNS 名前解決できる時
http://mfsmaster.hogehoge.com:9425/
** CentOS yum のインストール [#n09b41b2]
(以下の作業は全て root 権限が必要です)
+ key のインポート
curl "http://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc...
+ repository の追加
++ Ver8
curl "http://ppa.moosefs.com/MooseFS-3-el8.repo" > /etc/...
++ Ver7
curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/...
++ Ver6
curl "http://ppa.moosefs.com/MooseFS-3-el6.repo" > /etc/...
+ moose file system のインストール
++ Master Server
yum install moosefs-master moosefs-cli moosefs-cgi moose...
++ Chunkservers:
yum install moosefs-chunkserver
++ Metaloggers:
yum install moosefs-metalogger
++ Clients:
yum install moosefs-client fuse
--- fstabの例
mfsmount /mnt/mfs fuse defaults,mfsdelay...
mfsmount /mnt/mfsmeta fuse defaults,mfsdelay...
** mac [#f358c9bf]
*** download package of moose file system [#e16abe97]
-[[http://ppa.moosefs.com/moosefs-3/osx/]]
*** install fuse [#vf11204c]
-[[https://osxfuse.github.io/]]
*** mount [#s5da451c]
-sudo mfsmount ./mnt/mfs -H mfsmaster.tar3.net
*** [#l2d08683]
-found metadata file with different id number - cleanup y...
-betsu de tukatteita ryouiki ga betsu no mfs de jissou de...
* 自動起動 [#l0e9a3d8]
** CentOS(RHEL, Alma, Rocky) [#ec5ad83e]
*** CentOS 6 [#q020e66f]
+ mfsmaster
sudo chkconfig moosefs-master
+ cgiserv
sudo chkconfig moosefs-cgiserv on
+ chunkserver
sudo chkconfig moosefs-chunkserver on
+ metalogger
sudo chkconfig moosefs-metalogger
*** AlamaLinux 8 [#e9f61d27]
+ mfsmaster
sudo systemctl enable moosefs-master
+ cgiserv
sudo systemctl enable moosefs-cgiserv.service
+ chunkserver
sudo systemctl enable moosefs-chunkserver
+ metalogger
sudo systemctl enable moosefs-metalogger
** Ubuntu [#e4bd725e]
*** 20.04 [#n17dbe85]
+ mfsmaster
sudo systemctl enable moosefs-master
+ cgiserv
sudo systemctl enable moosefs-cgiserv.service
+ chunkserver
sudo systemctl enable moosefs-chunkserver
+ metalogger
sudo systemctl enable moosefs-metalogger
* 停止手順 [#k77d9bd1]
** mfs client のアンマウント [#d21060a1]
+ umount -l /mnt/mfs
** chunk server のストップ [#e10dd6ce]
*** RHEL, CentOS, AlmaLinux, RockyLinux, [#l3a68f86]
+ 6
sudo service moosefs-chunkserver stop
+ 7以降
sudo systemctl stop moosefs-chunkserver
*** Ubuntu 20.04 [#g06b4852]
sudo systemctl stop moosefs-chunkserver
** Master server のストップ [#z1ff4959]
*** RHEL, CentOS, AlmaLinux, RockyLinux, [#h7b4657c]
+ 6
sudo service moosefs-master stop
+ 7以降
sudo systemctl stop moosefs-master
*** Ubuntu 20.04 [#m61cf92a]
sudo systemctl stop moosefs-master
** metalogger サーバーのストップ [#g126d9ad]
*** RHEL, CentOS, AlmaLinux, RockyLinux, [#l84e0f32]
+ 6
sudo service moosefs-metalogger stop
+ 7以降
sudo systemctl stop moosefs-metalogger
*** Ubuntu 20.04 [#f9665a4e]
sudo systemctl stop moosefs-metalogger
* その他 [#q5bed99b]
** 名前解決の問題でmfsmasterへ接続できない。(chunk, cgi) ...
- IP address を直接入力する。
-- vim /etc/mfs/mfschunkserver.cfg
** Trashの消去 [#l86cd09f]
- 以下のコマンドで mfsmetaを再マウント
mfsmount -o mfsmeta,mfsflattrash /mnt/mfsmeta
- cd /mnt/mfsmeta/trash
- rm *
-- Directory は消さない
- ファイル数が多すぎる場合は以下
echo ./* | xargs rm -fv
- 引数行が流すぎる場合
find ./ -name "*.*" -print0 | xargs -0 rm -fv
** metadataの場所 [#jd5b5dcc]
- [[参考(公式マニュアル,PDF):https://moosefs.com/Content/...
- /var/lib/mfs
終了行:
[[Linux]]
* Moose File System , MooseFS , mfs [#y0121727]
(参考:日経Linux を参考にしました)
#contents
&imgr(./image/moosefs.png,50%);
Linux、Mac 向け、分散ファイルシステム、MooseFS。~
以下のような特徴があります。~
+ いろいろなハードウェアに付いているローカルHDDを利用可能
+ 何台のサーバー、何十台のHDDであろうと1つのドライブとし...
+ 何台のサーバーが壊れても大丈夫にするか、設定ができる
+ ブラウザを利用した管理コンソール
+ 削除ファイルに対するゴミ箱機能
+ 各ハードウェアに付いているHDDのフォーマットは~
一般的なフォーマット(EXT3 や EXT4)が利用可能。
+ 各ハードウェアに付いている HDD 内は、既存データとの混在...
+ システムの停止無しに HDD の追加、削除も容易。
+ mdadm などのソフトウェア RAID に比べ格段に安定
+ Google File System (GFS) に似ている
+ Linux, Macは無料(Windowsは有料)
+ データがサーバー毎に分散されるため高速
* 構成 [#s2ce52ed]
+ 管理サーバーが必要です。ここでは mfsmaster とします。
+ 管理サーバーのバックアップです。ここでは mfsmetalogger ...
+ 各々の HDD が入っているPC、サーバーをここでは chunk ser...
*最初に構築した時 [#a056269e]
** インストール手順 [#q9a5b6ea]
+ DNS に mfsmaster を追加しましょう。~
--DNS サーバーが無い場合は、/etc/hosts ファイルに書きまし...
--hosts に追加するときは、127.0.0.1 で無くIPアドレスを記...
+ ./configure のオプションまとめ
-- --disable-mfsmaster
-- --disable-mfschunkserver
-- --disable-mfsmount
-- --enable-mfsmount
-- --prefix=DIRECTORY - install to given prefix (default ...
-- --sysconfdir=DIRECTORY - select configuration files di...
-- --localstatedir=DIRECTORY - select top variable data d...
-- --with-default-user=USER - user to run daemons as if n...
-- --with-default-group=GROUP - group to run daemons as i...
+ mfsmaster のセットアップ
++ インストール
sudo yum -y install gcc zlib zlib-devel
++ MooseFS ユーザ、グループの作成
sudo groupadd mfs
sudo useradd -g mfs mfs
++ [[moosefs のダウンロード:http://www.moosefs.org/downlo...
++ MooseFS の解凍
tar xzfv mfs-1.6.27.tar.gz
++ 3種類のサーバー機能のインストール(mfsmaster,metalogger...
cd mfs-1.6.27
./configure --prefix=/usr --sysconfdir=/etc --localstate...
make
sudo make install
++ サーバー設定ファイルのセットアップ(というか、コピー)
cd /etc/mfs/
sudo cp mfsmaster.cfg.dist mfsmaster.cfg
sudo cp mfsexports.cfg.dist mfsexports.cfg
++ metadata ファイルの準備
cd /var/lib/mfs/
sudo cp metadata.mfs.empty metadata.mfs
++ master server の起動
sudo /usr/sbin/mfsmaster start
sudo /usr/sbin/mfscgiserv
++ server コンソールの確認 [[http://mfsmaster:9425:http:/...
+ mfsmetalogger のセットアップ
++ インストール
sudo yum -y install gcc zlib zlib-devel
++ MooseFS ユーザ、グループの作成
sudo groupadd mfs
sudo useradd -g mfs mfs
++ [[moosefs のダウンロード:http://www.moosefs.org/downlo...
++ MooseFS の解凍
tar xzfv mfs-1.6.27-1.tar.gz
++ 3種類のサーバー機能のインストール(mfsmaster,metalogger...
cd mfs-1.6.27
./configure --prefix=/usr --sysconfdir=/etc --localstate...
make
sudo make install
++ サーバー設定ファイルのセットアップ(というか、コピー)
cd /etc/mfs/
sudo cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
++ metalogger server の起動
sudo /usr/sbin/mfsmetalogger start
++ 別のサーバで metalogger をマウント
sudo /usr/sbin/mfsmetalogger start
sudo mfsmount /mnt/mfsmeta -o mfsmeta,nonempty -H mfsmas...
+ chunk server のセットアップ
++ インストール
sudo yum -y install gcc zlib zlib-devel
++ MooseFS ユーザ、グループの作成
sudo groupadd mfs
sudo useradd -g mfs mfs
++ [[moosefs のダウンロード:http://www.moosefs.org/downlo...
++ MooseFS の解凍
tar xzfv mfs-1.6.27-1.tar.gz
++ 3種類のサーバー機能のインストール(mfsmaster,metalogger...
cd mfs-1.6.27
./configure --prefix=/usr --sysconfdir=/etc --localstate...
make
sudo make install
++ サーバー設定ファイルのセットアップ(というか、コピー)
+++ 新
cd /etc/mfs/
sudo cp mfshdd.cfg.sample mfshdd.cfg
sudo cp mfschunkserver.cfg.sample mfschunkserver.cfg
+++ 旧
cd /etc/mfs/
sudo cp mfshdd.cfg.dist mfshdd.cfg
sudo cp mfschunkserver.cfg.dist mfschunkserver.cfg
++ mfshdd.cfg の編集~
例)~
# mount points of HDD drives
#
#/mnt/hd1
#/mnt/hd2
#etc.
/mnt/f-dra
++ chunk server の起動
sudo /usr/sbin/mfschunkserver start
++ 複数サーバー、PCを chunk server にする場合は、~
上記の手順を繰り返して実行
+ Web 画面で設定結果の確認
** クライアントで MooseFS のマウント [#gff0ecee]
- 概要
-- 基本的には fuse が必要です。~
そのあと、--enable-mfsmount を指定して MooseFS を ./confi...
fuse がうまく使えないときは ./configure 中にエラーが出ま...
注意して見ましょう。
- mfsmaster の dns の登録をしておきましょうね。~
dns が無かったり使えない場合は /etc/hosts に書きましょう
- on Linux Ubuntu
++ 必要なサービスのインストール
sudo apt-get install gcc zlib1g zlib1g-dev fuse libfuse-...
++ MooseFS ユーザ、グループの作成
sudo groupadd mfs
sudo useradd -g mfs mfs
++ [[moosefs のダウンロード:http://www.moosefs.org/downlo...
++ 引き続き MooseFS のインストール作業
tar xzfv mfs-1.6.27-1.tar.gz
cd mfs-1.6.27
./configure --prefix=/usr --sysconfdir=/etc --localstate...
make
sudo make install
++ マウントポイントの作成
sudo mkdir /mnt/mfs
++ MooseFS のファイルシステムをマウント
sudo mfsmount /mnt/mfs -H mfsmaster
- on Mac
++ FUSE for Mac をダウンロード [[http://osxfuse.github.io...
++ MooseFS mfs ユーザ、mfs グループの作成
++ [[moosefs のダウンロード:http://www.moosefs.org/downlo...
++ MooseFS のインストール作業
tar xzfv mfs-1.6.27-1.tar.gz
cd mfs-1.6.27
./configure --prefix=/usr --sysconfdir=/etc --localstate...
make
sudo make install
++ マウントポイントの作成
sudo mkdir /mnt/mfs
++ MooseFS のファイルシステムをマウント
sudo mfsmount /mnt/mfs -H mfsmaster
** ファイル冗長化の設定(goal 数の設定) [#wa83d22e]
+ 現在の goal (冗長化)数の確認
mfsgetgoal /mnt/mfs/
+ 現在の goal (冗長化)数のセット
mfssetgoal -r 3 /mnt/mfs/
** Master Server の障害対策 [#dca4bbae]
+ mfsmetalogger サーバーを昇格
sudo /usr/sbin/mfsmetalogger stop
sudo mfsmaster -a
cd /etc/mfs/
sudo cp mfsmaster.cfg.dist mfsmaster.cfg
sudo cp mfsexports.cfg.dist mfsexports.cfg
sudo /usr/sbin/mfsmaster start
sudo /usr/sbin/mfscgiserv &
** missing となった時のデータ削除(消去)方法 [#oefa9ca1]
+ 以下のコマンドを実行し、どのファイルが missing かを探す
sudo find /mnt/mfs/ -type f -print0 | xargs -0 mfscheck...
+ さらにデリート処理をするために、mfs_missing.log に書き...
sudo find /mnt/mfs/ -type f -print0 | xargs -0 mfscheck...
+ missing file を消すための script を作成する PHP プログ...
<?php
$fp = fopen("mfs_missing.log", "r");
$sh_detail="";
while ($line = fgets($fp)) {
$fileName=substr($line,8,strlen($line)-9);
$sh_detail=$sh_detail."mfssettrashtime 1 \"".trim($fil...
$sh_detail=$sh_detail."rm \"".trim($fileName)."\"\n";
}
fclose($fp);
$fp = fopen("mfs_delete_log.sh", "w");
fwrite($fp, $sh_detail);
fclose($fp);
?>
+ mfs_missing.log 例
151342-/mnt/mfs/backup/ozubuntu1204_rsync/var/var/www/in...
151437-/mnt/mfs/backup/ozubuntu1204_rsync/var/var/tmp/kd...
+ mfs_delete_log.sh 例
mfssettrashtime 1 "/mnt/mfs/backup/ozubuntu1204_rsync/va...
rm "/mnt/mfs/backup/ozubuntu1204_rsync/var/var/lib/dpkg/...
+ 例
sudo find /mnt/mfsmeta/trash/ -name "*|data|*" -print0 |...
** 間違えて削除してしまったファイルの復活 [#q91a5a2f]
- これがとても便利!
-- 例1
sudo ls /mnt/mfsmeta/trash/
sudo mv /mnt/mfsmeta/trash/00000014\movie.mov /mnt/mfsme...
-- 例2
sudo find /mnt/mfsmeta/trash/ -name "*|data|*" | xargs -...
** CentOS で mfsmount [#g44d9222]
sudo yum install fuse-libs
sudo rpm -ivh mfs-client-1.6.27-18.1.i386.rpm
~
[[mfs-client-1.6.27-18.1.i386.rpm:http://rpm.pbone.net/in...
** /etc/fstab [#w6d4898d]
*** version 2 [#lefb805d]
- sudo vi /etc/fstab
mfsmount /mnt/mfs fuse mfsmaster=mfsmaster.hogehoge.com,...
mfsmount /mnt/mfsmeta fuse defaults,mfsdelayedinit,m...
*** version 3 [#qe2fdfac]
-new
-- sudo vi /etc/fstab
mfsmount /mnt/mfs fuse defaults,mfsdelayedin...
mfsmount /mnt/mfsmeta fuse defaults,mfsdelay...
-old
-- sudo vi /etc/fstab
mfsmount /mnt/mfs fuse defaults,mfsmaster=mfsmaster.hoge...
** quota の設定 [#fd36b267]
- quota の設定
sudo mfssetquota -HS 500G dirName
-- S がハードクォータ
-- s がソフトクォータ
- quota の確認
mfsgetquota dirName
- quota の削除
sudo mfsdelquota -sS dirName
** エラーの対応 [#kc8a28b3]
*** chunkserver がサーバーサイドで認識しない対応 [#t54ea9...
このエラーにえんらい苦しめられました。~
調べてもなかなか情報が無いし。。。~
いろいろと試してようやくわかりました。~
- chunkserver 側のエラーメッセージ
MATOCS_MASTER_ACK - wrong meta data id. Can't connect to...
- エラー対応
++ サーバー側の設定ファイルについて
--- サーバーサイドの関連ファイルは以下のディレクトリに有...
/var/lib/mfs
--- この中で chunkserver からの metaid を管理しているのは
chunkserverid.mfs
--- このファイルをリネームしてバックアップを取ります。
sudo mv /var/lib/mfs chunkserverid.mfs chunkserverid.mfs...
++ 以下は chunkserver 側
--- chunkserver を再起動します。
sudo mfschunkserver restart
-- 多分これで大丈夫。。。なはず。。。
*2回目構築(少し簡単になりました) [#e08e12ef]
** debian / ubuntu [#kc744c42]
+dns や hosts の設定は先に書きましょう
--DNS サーバーが無い場合は、/etc/hosts ファイルに書きまし...
--hosts に追加するときは、127.0.0.1 で無くIPアドレスを記...
+ユーザーとグループを作ります
sudo groupadd -g 1001 mfs
sudo useradd -u 1001 -g 1001 mfs
+ apt-get へ key のインポート
++ debian
sudo wget -O - https://ppa.moosefs.com/moosefs.key | sud...
++ Ubuntu 22.04
sudo wget -O - https://ppa.moosefs.com/moosefs.key | sud...
++ 少し前
sudo wget -O - http://ppa.moosefs.com/moosefs.key | sudo...
++ さらに前
sudo wget -O - http://ppa.moosefs.com/stable/apt/moosefs...
sudo apt-key add key
+apt-get の souce list へソースを追加
sudo vi /etc/apt/sources.list
--以下のどれかを追加
-- Ubuntu 22.04
sudo su -
echo "deb [arch=amd64] http://repository.moosefs.com/moo...
--For Ubuntu 20.04
echo "deb [arch=amd64] http://ppa.moosefs.com/moosefs-3/...
--For Ubuntu 18.04
echo "deb http://ppa.moosefs.com/moosefs-3/apt/ubuntu/bi...
--For Ubuntu 14.04 Trusty:
sudo echo "deb http://ppa.moosefs.com/moosefs-3/apt/ubun...
--- 少し前
deb http://ppa.moosefs.com/moosefs-3/apt/ubuntu/trusty t...
--- さらに前
deb http://ppa.moosefs.com/stable/apt/ubuntu/trusty trus...
--For Ubuntu 12.04 Precise:
deb http://ppa.moosefs.com/stable/apt/ubuntu/precise pre...
--For Ubuntu 10.10 Maverick:
deb http://ppa.moosefs.com/stable/apt/ubuntu/maverick ma...
--For Debian 12 Bookworm
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/moose...
--For Debian 11 Bullseye:
echo "deb [arch=amd64] http://ppa.moosefs.com/moosefs-3/...
--For Debian 7.0 Wheezy:
--- 今
deb http://ppa.moosefs.com/moosefs-3/apt/debian/wheezy w...
--- 少し前
deb http://ppa.moosefs.com/stable/apt/debian/wheezy whee...
--For Debian 6.0 Squeeze:
deb http://ppa.moosefs.com/stable/apt/debian/squeeze squ...
--For Debian 5.0 Lenny:
deb http://ppa.moosefs.com/stable/apt/debian/lenny lenny...
+apt-get の更新
sudo apt-get update
*** 必要なものをインストール [#s05d56df]
--master
sudo apt-get install moosefs-master
--web console
sudo apt-get install moosefs-cgiserv
--metaloger
sudo apt-get install moosefs-metalogger
--chunkServer
sudo apt-get install moosefs-chunkserver
--client
sudo apt-get install moosefs-cli moosefs-client
*** Web Console URL [#a5131fd8]
+ DNS 名前解決出来ない時
http://(IP):9425/
or~
+ DNS 名前解決できる時
http://mfsmaster.hogehoge.com:9425/
** CentOS yum のインストール [#n09b41b2]
(以下の作業は全て root 権限が必要です)
+ key のインポート
curl "http://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc...
+ repository の追加
++ Ver8
curl "http://ppa.moosefs.com/MooseFS-3-el8.repo" > /etc/...
++ Ver7
curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/...
++ Ver6
curl "http://ppa.moosefs.com/MooseFS-3-el6.repo" > /etc/...
+ moose file system のインストール
++ Master Server
yum install moosefs-master moosefs-cli moosefs-cgi moose...
++ Chunkservers:
yum install moosefs-chunkserver
++ Metaloggers:
yum install moosefs-metalogger
++ Clients:
yum install moosefs-client fuse
--- fstabの例
mfsmount /mnt/mfs fuse defaults,mfsdelay...
mfsmount /mnt/mfsmeta fuse defaults,mfsdelay...
** mac [#f358c9bf]
*** download package of moose file system [#e16abe97]
-[[http://ppa.moosefs.com/moosefs-3/osx/]]
*** install fuse [#vf11204c]
-[[https://osxfuse.github.io/]]
*** mount [#s5da451c]
-sudo mfsmount ./mnt/mfs -H mfsmaster.tar3.net
*** [#l2d08683]
-found metadata file with different id number - cleanup y...
-betsu de tukatteita ryouiki ga betsu no mfs de jissou de...
* 自動起動 [#l0e9a3d8]
** CentOS(RHEL, Alma, Rocky) [#ec5ad83e]
*** CentOS 6 [#q020e66f]
+ mfsmaster
sudo chkconfig moosefs-master
+ cgiserv
sudo chkconfig moosefs-cgiserv on
+ chunkserver
sudo chkconfig moosefs-chunkserver on
+ metalogger
sudo chkconfig moosefs-metalogger
*** AlamaLinux 8 [#e9f61d27]
+ mfsmaster
sudo systemctl enable moosefs-master
+ cgiserv
sudo systemctl enable moosefs-cgiserv.service
+ chunkserver
sudo systemctl enable moosefs-chunkserver
+ metalogger
sudo systemctl enable moosefs-metalogger
** Ubuntu [#e4bd725e]
*** 20.04 [#n17dbe85]
+ mfsmaster
sudo systemctl enable moosefs-master
+ cgiserv
sudo systemctl enable moosefs-cgiserv.service
+ chunkserver
sudo systemctl enable moosefs-chunkserver
+ metalogger
sudo systemctl enable moosefs-metalogger
* 停止手順 [#k77d9bd1]
** mfs client のアンマウント [#d21060a1]
+ umount -l /mnt/mfs
** chunk server のストップ [#e10dd6ce]
*** RHEL, CentOS, AlmaLinux, RockyLinux, [#l3a68f86]
+ 6
sudo service moosefs-chunkserver stop
+ 7以降
sudo systemctl stop moosefs-chunkserver
*** Ubuntu 20.04 [#g06b4852]
sudo systemctl stop moosefs-chunkserver
** Master server のストップ [#z1ff4959]
*** RHEL, CentOS, AlmaLinux, RockyLinux, [#h7b4657c]
+ 6
sudo service moosefs-master stop
+ 7以降
sudo systemctl stop moosefs-master
*** Ubuntu 20.04 [#m61cf92a]
sudo systemctl stop moosefs-master
** metalogger サーバーのストップ [#g126d9ad]
*** RHEL, CentOS, AlmaLinux, RockyLinux, [#l84e0f32]
+ 6
sudo service moosefs-metalogger stop
+ 7以降
sudo systemctl stop moosefs-metalogger
*** Ubuntu 20.04 [#f9665a4e]
sudo systemctl stop moosefs-metalogger
* その他 [#q5bed99b]
** 名前解決の問題でmfsmasterへ接続できない。(chunk, cgi) ...
- IP address を直接入力する。
-- vim /etc/mfs/mfschunkserver.cfg
** Trashの消去 [#l86cd09f]
- 以下のコマンドで mfsmetaを再マウント
mfsmount -o mfsmeta,mfsflattrash /mnt/mfsmeta
- cd /mnt/mfsmeta/trash
- rm *
-- Directory は消さない
- ファイル数が多すぎる場合は以下
echo ./* | xargs rm -fv
- 引数行が流すぎる場合
find ./ -name "*.*" -print0 | xargs -0 rm -fv
** metadataの場所 [#jd5b5dcc]
- [[参考(公式マニュアル,PDF):https://moosefs.com/Content/...
- /var/lib/mfs
ページ名: