Ceph : クラスターの設定2016/04/23 |
|
分散ファイルシステム Ceph をインストールしてストレージクラスターを構成します。
ここでは例として、管理ノード 1台と 3台のストレージノードでクラスターを構成します。
|
+--------------------+ | +-------------------+
| [dlp.srv.world] |10.0.0.30 | 10.0.0.x| [ Client ] |
| Ceph-Deploy +-----------+-----------+ |
| | | | |
+--------------------+ | +-------------------+
+----------------------------+----------------------------+
| | |
|10.0.0.51 |10.0.0.52 |10.0.0.53
+-----------+-----------+ +-----------+-----------+ +-----------+-----------+
| [node01.srv.world] | | [node02.srv.world] | | [node03.srv.world] |
| Object Storage +----+ Object Storage +----+ Object Storage |
| Monitor Daemon | | | | |
| | | | | |
+-----------------------+ +-----------------------+ +-----------------------+
|
| [1] |
全ノードで、Ceph 管理用に任意の一般ユーザーを追加しておきます。
当例では「ubuntu」ユーザーで進めます。 |
| [2] | 必要なパッケージをインストールし、Ceph 管理用に追加した一般ユーザーに sudo による root 権限を付与しておきます。全ノードで実施します。 |
|
root@dlp:~#
root@dlp:~# apt-get -y install openssh-server python-ceph echo -e 'Defaults:ubuntu !requiretty\nubuntu ALL = (root) NOPASSWD:ALL' | tee /etc/sudoers.d/ceph root@dlp:~# chmod 440 /etc/sudoers.d/ceph |
| [3] | 以降は Ceph 管理ユーザーで作業します。 管理ノードから各 Ceph ストレージノードへ、ノンパスフレーズでの SSH 鍵認証接続を設定します。 |
|
ubuntu@dlp:~$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/ubuntu/.ssh/id_rsa): Created directory '/home/ubuntu/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/ubuntu/.ssh/id_rsa. Your public key has been saved in /home/ubuntu/.ssh/id_rsa.pub. The key fingerprint is: SHA256:ogXYs9lEWNcve2h8RvYKpCD01eHuyOe2A5/rcoRgkOA ubuntu@dlp.srv.world The key's randomart image is:
ubuntu@dlp:~$
vi ~/.ssh/config # 新規作成 ( 各ノードと接続ユーザーを定義する )
Host dlp
Hostname dlp.srv.world
User ubuntu
Host node01
Hostname node01.srv.world
User ubuntu
Host node02
Hostname node02.srv.world
User ubuntu
Host node03
Hostname node03.srv.world
User ubuntu
ubuntu@dlp:~$
chmod 600 ~/.ssh/config # 他ノードに鍵を転送 ubuntu@dlp:~$ ssh-copy-id node01 ubuntu@node01.srv.world's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'node01'" and check to make sure that only the key(s) you wanted were added. # 同様に全ノードに鍵を転送 ubuntu@dlp:~$ ssh-copy-id node02 ubuntu@dlp:~$ ssh-copy-id node03 |
| [5] | 管理ノード上から各 Ceph ノードの設定を行います。 |
|
ubuntu@dlp:~/ceph$ ceph-deploy new node01
ubuntu@dlp:~/ceph$
vi ./ceph.conf # 最終行に追記
osd pool default size = 2
# 各ノードに Ceph をインストール ubuntu@dlp:~/ceph$ ceph-deploy install dlp node01 node02 node03
# 監視と共有鍵の初期設定 ubuntu@dlp:~/ceph$ ceph-deploy mon create-initial |
| [6] | 管理ノード上からストレージクラスターの設定を行います。 ここでは例として、各 Ceph ノード node01, node02, node03 上に /storage01, /storage02, /storage03 ディレクトリを事前に作成し、所有者を「ceph:ceph」としています。 |
|
# Object Storage Daemon プリペア ubuntu@dlp:~/ceph$ ceph-deploy osd prepare node01:/storage01 node02:/storage02 node03:/storage03
# Object Storage Daemon アクティベート ubuntu@dlp:~/ceph$ ceph-deploy osd activate node01:/storage01 node02:/storage02 node03:/storage03
# 設定ファイル等を各ノードに配布 ubuntu@dlp:~/ceph$ ceph-deploy admin dlp node01 node02 node03 # 動作確認 (問題なければ OK と表示される) ubuntu@dlp:~/ceph$ sudo ceph health HEALTH_OK |
| [7] | なお、一から設定をやり直したい場合は、以下のようにコマンド投入します。 |
|
# パッケージ削除 ubuntu@dlp:~/ceph$ ceph-deploy purge dlp node01 node02 node03
# 設定情報削除 ubuntu@dlp:~/ceph$ ceph-deploy purgedata dlp node01 node02 node03 ubuntu@dlp:~/ceph$ ceph-deploy forgetkeys
|
| Sponsored Link |
|
|