Ceph Jewel : クラスターの設定2015/12/10 |
分散ファイルシステム 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 管理用に任意の一般ユーザーを追加しておきます。
当例では「cent」ユーザーで進めます。 |
[2] | Ceph 管理用に追加した一般ユーザーに sudo による root 権限を付与しておきます。 また、必要なリポジトリもインストールしておきます。 さらに、Firewalld を有効にしている場合は、SSH サービスの許可が必要です。 いずれも、全ノードで実施しておきます。 |
[root@dlp ~]#
echo -e 'Defaults:cent !requiretty\ncent ALL = (root) NOPASSWD:ALL' | tee /etc/sudoers.d/ceph [root@dlp ~]# chmod 440 /etc/sudoers.d/ceph
[root@dlp ~]#
[root@dlp ~]# yum -y install epel-release yum-plugin-priorities \ https://download.ceph.com/rpm-jewel/el7/noarch/ceph-release-1-1.el7.noarch.rpm [root@dlp ~]# sed -i -e "s/enabled=1/enabled=1\npriority=1/g" /etc/yum.repos.d/ceph.repo
firewall-cmd --add-service=ssh --permanent [root@dlp ~]# firewall-cmd --reload |
[3] | モニターノード (Monitor Daemon 稼働ノード) で Firewalld を有効にしている場合、必要なポートの開放が必要です。 |
[root@dlp ~]# firewall-cmd --add-port=6789/tcp --permanent [root@dlp ~]# firewall-cmd --reload |
[4] | ストレージノード (Object Storage 稼働ノード) で Firewalld を有効にしている場合、必要なポートの開放が必要です。 |
[root@dlp ~]# firewall-cmd --add-port=6800-7100/tcp --permanent [root@dlp ~]# firewall-cmd --reload |
[5] | 以降は Ceph 管理ユーザーで作業します。 管理ノードから各 Ceph ストレージノードへ、ノンパスフレーズでの SSH 鍵認証接続を設定します。 |
[cent@dlp ~]$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/cent/.ssh/id_rsa): Created directory '/home/cent/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/cent/.ssh/id_rsa. Your public key has been saved in /home/cent/.ssh/id_rsa.pub. The key fingerprint is: 54:c3:12:0e:d3:65:11:49:11:73:35:1b:e3:e8:63:5a cent@dlp.srv.world The key's randomart image is:
[cent@dlp ~]$
vi ~/.ssh/config # 新規作成 ( 各ノードと接続ユーザーを定義する ) Host dlp Hostname dlp.srv.world User cent Host node01 Hostname node01.srv.world User cent Host node02 Hostname node02.srv.world User cent Host node03 Hostname node03.srv.world User cent
[cent@dlp ~]$
chmod 600 ~/.ssh/config # 他ノードに鍵を転送 [cent@dlp ~]$ ssh-copy-id node01 cent@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. # 同様に全ノードに鍵を転送 [cent@dlp ~]$ ssh-copy-id node02 [cent@dlp ~]$ ssh-copy-id node03 |
[6] | 管理ノード上から各 Ceph ノードの設定を行います。 |
[cent@dlp ceph]$ ceph-deploy new node01
[cent@dlp ceph]$
vi ./ceph.conf # 最終行に追記
osd pool default size = 2
# 各ノードに Ceph をインストール [cent@dlp ceph]$ ceph-deploy install dlp node01 node02 node03
# 監視と共有鍵の初期設定 [cent@dlp ceph]$ ceph-deploy mon create-initial |
[7] | 管理ノード上からストレージクラスターの設定を行います。 |
# Object Storage Daemon プリペア [cent@dlp ceph]$ ceph-deploy osd prepare node01:/var/lib/ceph/osd node02:/var/lib/ceph/osd node03:/var/lib/ceph/osd
# Object Storage Daemon アクティベート [cent@dlp ceph]$ ceph-deploy osd activate node01:/var/lib/ceph/osd node02:/var/lib/ceph/osd node03:/var/lib/ceph/osd
# 設定ファイル等を各ノードに配布 [cent@dlp ceph]$ ceph-deploy admin dlp node01 node02 node03 [cent@dlp ceph]$ # 動作確認 (問題なければ OK と表示される) [cent@dlp ceph]$ ceph health HEALTH_OK |
[8] | なお、一から設定をやり直したい場合は、以下のようにコマンド投入します。 |
# パッケージ削除 [cent@dlp ceph]$ ceph-deploy purge dlp node01 node02 node03
# 設定情報削除 [cent@dlp ceph]$ ceph-deploy purgedata dlp node01 node02 node03 [cent@dlp ceph]$ ceph-deploy forgetkeys
|
Sponsored Link |