さて、前回・前々回とCephクラスタを構築したが、これらはあくまでも最低台数でのクラスタを構築していた。
今回は、このクラスタにOSD(データノード)を追加し、3台構成から5台構成にする。
1.事前準備
さて、まず事前準備として、追加するデータノードに対し、以下のコマンドを実行する。
# NTP
yum install -y chrony
systemctl enable chronyd
systemctl start chronyd
# SELinux
setenforce 0
sed -i.bak "/SELINUX/s/enforcing/disabled/g" /etc/selinux/config
# Firewalld
systemctl stop firewalld
systemctl disable firewalld
# User追加
useradd ceph
passwd ceph
echo 'ceph ALL = (root) NOPASSWD:ALL' | sudo tee /etc/sudoers.d/ceph
echo 'Defaults env_keep+="http_proxy"' | sudo tee -a /etc/sudoers.d/ceph
echo 'Defaults env_keep+="https_proxy"' | sudo tee -a /etc/sudoers.d/ceph
chmod 0440 /etc/sudoers.d/ceph
sed -i 's/Defaults.*requiretty/Defaults !requiretty/g' /etc/sudoers
その後、既存の各Cephデータノード、Ceph管理ノードのhostsに、新規追加するデータノードを登録する。
2.追加ノードへCephのインストール
最初に、Ceph管理ノードで配布する設定ファイルの以下項目に対し、追加対象ノードを追記する。
- mon_initial_members
- mon_host
設定ファイル追記後、各Cephノード(管理ノード、既存・新規のデータノード)に対し、設定ファイルを配布する。
ceph-deploy --overwrite-conf config push Ceph管理ノード Cephデータノード1 ... CephデータノードN
Ceph管理ノードから、以下のコマンドで追加するCephデータノードに対しCephをインストールする。
ceph-deploy install 追加データノード1 ... 追加データノードN
対象データノードに対しCephインストール後、以下のコマンドでモニタに新規Cephデータノードを追加する。
ceph-deploy mon add 追加データノード # 1台づつ実行する
3.追加ノードへOSD/RadosGatewayの追加
追加ノードに対し、以下のコマンドを実行しOSD/RadosGatewayの追加を実施する。
まず、追加する各Cephデータノードで以下のコマンドを実行する。
sudo /mkdir -p /ceph
fdisk /dev/sdb
mkfs.xfs /dev/sdb1
mount /dev/sdb1 /ceph
sudo chown ceph:ceph /ceph
echo "/dev/sdb1 /ceph xfs defaults 0 0" >> /etc/fstab
Ceph管理ノードで以下のコマンドを実行し、追加データノードでOSDを構成する。
※各ノードごとに実行していく
ceph-deploy --overwrite-conf osd prepare データノード名:データの書き出しディレクトリ:ジャーナル用デバイス
ceph-deploy osd activate データノード名:データの書き出しディレクトリ:ジャーナル用デバイス
次に、Ceph管理ノードからモニタリングが行えるよう、各ノードへ認証鍵を配布する。
以下のコマンドをCeph管理ノードで実行する。
ceph-deploy admin 追加データノード1 ... 追加データノードN
RadosGWの追加については、詳細は前回記述したこちらの内容を参考にしてもらいたい。
とりあえず、Ceph管理ノードで以下のコマンドを実行することで、RadosGatewayが構築できる。
ceph-deploy rgw create 追加データノード1 ... 追加データノードN
疎通確認でうまくいかない場合は、前回の内容を参考にしてもらいたい。