/mtnd

Primary LanguageCGNU General Public License v3.0GPL-3.0

/**************************************************************************/
/*                                                                        */
/* mtnd README.ja                                                         */
/*                                                                        */
/*                                           Copyright (C) 2012 KLab Inc. */
/**************************************************************************/

【はじめに】
  mtndは「もったいないでえ」と読みます。mtndを複数台のサーバで起動しておく
  と、mtnfsとmtnexecのサーバとして動作します。
  
  mtnfs)
    mtndが起動しているサーバのストレージをひとつのボリュームとして取り扱う
    ことができます。

  mtnfile)
    mtnfsを使わずにmtnfsと同じようなファイル操作ができます。

  mtnexec)
    比較的暇そうなサーバを選択してシェルコマンドを実行させることができます。
    同じコマンドを全サーバで実行することもできます。
 
【インストール方法】
  $ ./configure
  $ make
  $ sudo make install

  mtnfsはfuseを利用しています。
  mtnfsが不要な場合は --disabel-mtnfs を指定して下さい。

  $ ./configure --disabel-mtnfs
  $ make
  $ sudo make install

【ファイル構成】
  /usr/local/sbin/mtnd    # もったいないでえ本体
  /usr/local/sbin/mtnfs   # もったいないFS
  /usr/local/bin/mtnfile  # ファイル操作用コマンドラインツール
  /usr/local/bin/mtnexec  # リモートシェル用コマンドラインツール

【mtnfsの使用方法】

  +--------------+ +--------------+  +--------------+
  | node1(mtnd)  | | node2(mtnd)  |  | node3(mtnd)  |
  | /mtnexport/  | | /mtnexport/  |  | /mtnexport/  |
  |        file1 | |        file3 |  |        file5 |
  |        file2 | |        file4 |  |        file6 |
  +--------------+ +--------------+  +--------------+ 
         |                |                 |
         +----------------+-----------------+
                          |
                  +--------------+
                  | node0(mtnfs) |
                  | /mtn/mtnfs/  |
                  |        file1 |
                  |        file2 |
                  |        file3 |
                  |        file4 |
                  |        file5 |
                  |        file6 |
                  +--------------+

  node1:# mkdir /mtnexport
  node1:# mtnd -e /mtnexport

  node2:# mkdir /mtnexport
  node2:# mtnd -e /mtnexport

  node3:# mkdir /mtnexport
  node3:# mtnd -e /mtnexport

  node0:# mkdir /mnt/mtnfs
  node0:# mtnfs /mnt/mtnfs


【mtnexecの使用方法】
  各サーバでmtndを立ち上げます

  node1:# mkdir /var/tmp/mtnexec
  node1:# mtnd -E /var/tmp/mtnexec

  node2:# mkdir /var/tmp/mtnexec
  node2:# mtnd -E /var/tmp/mtnexec

  Rオプションをつけてコマンドを指定すると、
  どれか1台のサーバ上でコマンドが実行されます
  node0:# mtnexec -R hostname
  node1

  Aオプションをつけてコマンドを指定すると、
  全サーバでコマンドが実行されます
  node0:# mtnexec -A hostname
  node1
  node2

mtnexecとmtnfsを併用する場合は -e と -E を両方指定します
node1:# mtnd -e /mtnexport -E /var/tmp/mtnexec