読者です 読者をやめる 読者になる 読者になる

5400rpm

人生シングルスレッド

夏休みの自由工作(3)

日記

続々・Raspberry Pi3でCephを動かす

3. Ceph環境構築の続き

  • 昨日バージョンを入れ替えた ceph-deploy の導入の続きを行う

3-1. モニタの構成の続き

  • Verを入れ替え systemd 関連での問題は解消した

    • 新たにmonサービス起動で ceph-deploy mon create-initial 実行時にエラー
  • ceph-deployの導入ドキュメントを参考に既存のインストールデータの削除を実施

    Storage Cluster Quick Start — Ceph Documentation

  • 無事にmonの起動を確認できた

3-2. トラブル ceph-node1脱落

  • ここで問題発生。ceph-node1が突然のシャットダウン

    • 再起動するも dpkg 周りの不整合が続く
    • 解消するも以降kernelが起動せず
    • ハードウェアが原因なのかソフトウェアが原因なのかの切り分けもできず
    • SDHDへイメージの焼き直しも複数回試したが解消しなかったため以降MONノードは2台で運用する
  • 今のところraspai3本体側の問題ではないかと考えているが環境構築を優先する

    • 後々kernel起動できるよう復活したらノード追加の手順を確認するために利用する

3-2-1. ノード減少対応

  • ceph-nodde1をパージして再構成
$ ceph-deploy purge ceph-node1
$ ceph-deploy new ceph-node2 ceph-node3
$ ceph-deploy install ceph-node2 ceph-node3 ceph-node4
$ ceph-deploy --overwrite-conf mon create-initial
  • OSD数も減るため ceph.conf に複製数を3から2に変更する設定を明示する
osd_pool_default_size = 2

3-3. OSDノード用領域の作成

  • node2,node3に2本ずつ接続しているUSBメモリOSDノード領域として利用する
    • /data/OSD** にてマウント。node1をパージした分の繰り上げは行わない
ubuntu@ceph-node2:~$ sudo mkdir -p /data/OSD{01,04}
ubuntu@ceph-node2:~$ ls /dev/sd??
/dev/sda1  /dev/sdb1
ubuntu@ceph-node2:~$ sudo mount -t auto -o noatime /dev/sda1 /data/OSD01
ubuntu@ceph-node2:~$ sudo mount -t auto -o noatime /dev/sdb1 /data/OSD04
ubuntu@ceph-node2:~$ df /data/OSD0*
Filesystem     1K-blocks   Used Available Use% Mounted on
/dev/sda1      119269620 183868 113004116   1% /data/OSD01
/dev/sdb1      119269620  60984 113127000   1% /data/OSD04
ubuntu@ceph-node2:~$ grep OSD /etc/mtab
/dev/sda1 /data/OSD01 ext4 rw,noatime,data=ordered 0 0
/dev/sdb1 /data/OSD04 ext4 rw,noatime,data=ordered 0 0
  • 同様の手順をceph-node3でもOSD02,OSD05として実施

3-4. OSD領域の登録

  • 作成したデータ領域を ceph-deploy osd prepare で登録
ceph-deploy osd prepare ceph-node2:/data/OSD01 ceph-node2:/data/OSD04 ceph-node3:/data/OSD02 ceph-node3:/data/OSD05
  • ここまでやって手順 3-3. が間違っていたことに気付く。mkdirだけでよかった模様
    • マウントした各 /data/OSD*umount した後に再度下記の登録を実施
ceph-deploy osd prepare ceph-node2:/dev/sda1:/data/OSD01/jounal1
ceph-deploy osd prepare ceph-node2:/dev/sdb1:/data/OSD04/jounal4
ceph-deploy osd prepare ceph-node3:/dev/sda1:/data/OSD02/jounal2
ceph-deploy osd prepare ceph-node3:/dev/sdb1:/data/OSD05/jounal5
  • activateの実行
ceph-deploy osd activate ceph-node2:/dev/sda1:/data/OSD01/jounal1
ceph-deploy osd activate ceph-node2:/dev/sdb1:/data/OSD04/jounal4
ceph-deploy osd activate ceph-node3:/dev/sda1:/data/OSD02/jounal2
ceph-deploy osd activate ceph-node3:/dev/sdb1:/data/OSD05/jounal5

3-5. adminノードの登録

  • 今回の構成では ceph-node4 該当
ceph-deploy admin ceph-node4 ceph-node2 ceph-node3
ubuntu@ceph-node4:~$ sudo chmod +r /etc/ceph/ceph.client.admin.keyring
ubuntu@ceph-node4:~$ ll /etc/ceph/ceph.client.admin.keyring
-rw-r--r-- 1 root root 63 Aug 17 20:10 /etc/ceph/ceph.client.admin.keyring
  • ノード状態の確認ができているかを確認
ubuntu@ceph-node4:~$ ceph osd stat
     osdmap e21: 6 osds: 4 up, 4 in; 47 remapped pgs
            flags sortbitwise

ubuntu@ceph-node4:~$ ceph health
HEALTH_WARN 17 pgs degraded; 64 pgs stuck unclean; 17 pgs undersized; 1 mons down, quorum 1,2 ceph-node2,ceph-node3
  • 登録中typoした関係で2OSDが死んでたりceph-node1のmon登録がちゃんと消えていなくて生き残ってたりと汚い

続く

  • 会社の夏季休業が本日(8/17)のため夏休み中の完成は無理でした
    • 平日は気力体力共にやれないと思うので土日で少しづつ進めます。8月中完成を目標