Ubuntu 14.04
Sponsored Link

Ceph : クラスターの設定
2014/06/11
 
分散ファイルシステム Ceph をインストールして設定します。
ここでは例として、以下のような構成で Ceph クラスターを構築します。
                                    |
     +------------------+           |           +-----------------+
     |  [ Admin Node ]  |10.0.0.80  |  10.0.0.30|  [ Client PC ]  |
     |   Ceph-Deploy    |-----------+-----------|                 |
     | Meta Data Server |           |           |                 |
     +------------------+           |           +-----------------+
                                    |
        +---------------------------+--------------------------+
        |                           |                          |
        |10.0.0.81                  |10.0.0.82                 |10.0.0.83 
+-------+----------+       +--------+---------+       +--------+---------+
| [ Ceph Node #1 ] |       | [ Ceph Node #2 ] |       | [ Ceph Node #3 ] |
|  Monitor Daemon  +-------+  Monitor Daemon  +-------+  Monitor Daemon  |
|  Object Storage  |       |  Object Storage  |       |  Object Storage  |
+------------------+       +------------------+       +------------------+

[1] 事前準備として、管理ノード、および 各 Ceph ノード全てで以下のように設定しておきます。 sudo の権限設定をしている一般ユーザーは任意のユーザーでOKです。ここで設定したユーザーを Ceph 管理用ユーザーとします。
trusty@ceph01:~$
sudo apt-get -y install openssh-server
trusty@ceph01:~$
echo "trusty ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph

trusty@ceph01:~$
sudo chmod 440 /etc/sudoers.d/ceph

[2] 管理ノードから各 Ceph ノードへ、ノンパスフレーズで SSH 鍵認証接続できるように鍵の作成と配布を行います。 作業は管理ノード上で、[1]で設定した管理用ユーザーで行います。
trusty@ceph-mds:~$
ssh-keygen

Generating public/private rsa key pair.
Enter file in which to save the key (/home/trusty/.ssh/id_rsa):    
# Enter

Created directory '/home/trusty/.ssh'.
Enter passphrase (empty for no passphrase):    
# Enter

Enter same passphrase again:    
# Enter

Your identification has been saved in /home/trusty/.ssh/id_rsa.
Your public key has been saved in /home/trusty/.ssh/id_rsa.pub.
The key fingerprint is:
8e:34:cb:bf:52:d5:19:7c:ec:05:60:e1:da:7c:62:6f trusty@dlp
The key's randomart image is:
...
...
trusty@ceph-mds:~$
vi ~/.ssh/config
# 新規作成 ( 各ノードと接続ユーザーを定義する )

Host ceph-mds
    Hostname ceph-mds.srv.world
    User trusty
Host ceph01
    Hostname ceph01.srv.world
    User trusty
Host ceph02
    Hostname ceph02.srv.world
    User trusty
Host ceph03
    Hostname ceph03.srv.world
    User trusty

# 他ノードに鍵を転送

trusty@ceph-mds:~$
ssh-copy-id ceph01

The authenticity of host 'ceph01.srv.world (10.0.0.81)' can't be established.
ECDSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:2b:4b:6e.
Are you sure you want to continue connecting (yes/no)?
yes

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
trusty@ceph01.srv.world's password:    
# 接続ユーザーのパスワード

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'ceph01'"
and check to make sure that only the key(s) you wanted were added.

# 同様に全ノードに鍵を転送

trusty@ceph-mds:~$
ssh-copy-id ceph02

trusty@ceph-mds:~$
ssh-copy-id ceph03

[3] 管理ノード上から各 Ceph ノードの設定を行います。
trusty@ceph-mds:~$
sudo apt-get -y install ceph-deploy ceph-common ceph-mds
trusty@ceph-mds:~$
mkdir ceph

trusty@ceph-mds:~$
cd ceph

# クラスターを構成

trusty@ceph-mds:~/ceph$
ceph-deploy new ceph01 ceph02 ceph03
# 各ノードに Ceph をインストール

trusty@ceph-mds:~/ceph$
ceph-deploy install ceph01 ceph02 ceph03
# 監視と共有鍵の初期設定

trusty@ceph-mds:~/ceph$
ceph-deploy mon create-initial

[4] 管理ノード上からストレージの設定を行います。
ここでは例として、3台の各 Ceph ノード ceph01, ceph02, ceph03 上に /storage01, /storage02, /storage03 ディレクトリを事前に作成しています。
# Object Storage Daemon プリペア

trusty@ceph-mds:~/ceph$
ceph-deploy osd prepare ceph01:/storage01 ceph02:/storage02 ceph03:/storage03

# Object Storage Daemon アクティベート

trusty@ceph-mds:~/ceph$
ceph-deploy osd activate ceph01:/storage01 ceph02:/storage02 ceph03:/storage03

# Meta Data Server 設定

trusty@ceph-mds:~/ceph$
ceph-deploy admin ceph-mds

trusty@ceph-mds:~/ceph$
ceph-deploy mds create ceph-mds

# 動作確認

trusty@ceph-mds:~/ceph$
ceph mds stat

e4: 1/1/1 up {0=ceph-mds=up:active}
trusty@ceph-mds:~/ceph$
ceph health

HEALTH_OK    
# 設定に問題なければ数分後に OKステータスになる

関連コンテンツ
 
Tweet