CephFS OSDs
https://ceph.readthedocs.io/en/latest/start/intro/によれば
「A Ceph OSD (object storage daemon, ceph-osd) stores data, handles data replication, recovery, rebalancing,
and provides some monitoring information to Ceph Monitors and Managers by checking other Ceph OSD Daemons for a heartbeat.」
とあり他のOSDノードと連携してデータの保存、レプリケーション、リカバリ、リバランスを行う.

こちらも「At least 3 Ceph OSDs are normally required for redundancy and high availability.」とあり運用時は3台以上必要.

望ましい構成

RedHat/SUSEのドキュメントを読むと

  • 1OSDは1HDD
  • OSDはプライマリーストレージデバイス、WAL(write-ahead-log)デバイス、DB(RocksDB)デバイスで構成可能
  • OSDの1TB毎に10GBのDBデバイス
  • OSDのサイズに関係なく500MB〜2GBのWALデバイス
  • DBデバイスとWALデバイスは同じデバイスで共有可能(AHCI/NVMe SSD)
  • RAIDカードはRAID機能を使わずに個別デバイスとして認識させライトバックキャッシングを活用なら可

2021y02m06d_111345202.png
12slotなマシンでRAIDカードですべてを繋ぎOSの2つはRAID1構成であとは個別デバイスとして認識させる
SSDはsas3 ssdとかで2つ. 一つは左側4つのHDD、もう一つは右側4つのHDDを担当.
OSDは1TB:10GBのDBデバイスとなるので、18TBなら1HDDで180GBのSSD容量が必要. 4HDDなので4*180=720GB.
SSDは容量いっぱい使わない方がいいので 1TBか1.2TBがあれば十分かと.

  • 少なくともOSDノードは4つ揃えて、1ノードに8個のOSD(SUSE)

https://docs.ceph.com/en/latest/start/hardware-recommendations/#data-storage
https://documentation.suse.com/ja-jp/ses/5.5/html/ses-all/storage-bp-hwreq.html#rec-waldb-size
https://access.redhat.com/documentation/ja-jp/red_hat_ceph_storage/4/html/hardware_guide/avoid-using-raid-solutions_hw

ここでは検証目的なのでOSD3ノードで、1ノードに1OSDです.

Bluestore, Filestore

以前はxfsでフォーマットされたファイルシステムにOSDを展開していましたが、
今はHDD/ssdをそのままrawデバイスとして扱う方法Bluesotreが既定になりました.

Bluesotreだからではないけど、OSDにデータを収めるHDDとメタデータ、キャッシュとして使用するSSD/NVMeを指定することができる.
この時のSSD/NVMeはパーティションを切るか、LVMで切り出してもいいみたい

構築

まずmonitor の /etc/ceph/ceph.conf と /etc/ceph/ceph.client.admin.keyring を osd へ運びます

[root@mgr ~]# scp /etc/ceph/ceph.conf                  root@osd1:/etc/ceph/ceph.conf
[root@mgr ~]# scp /etc/ceph/ceph.client.admin.keyring  root@osd1:/etc/ceph/ceph.client.admin.keyring

そして

[root@mgr ~]# ssh -l root osd1
 
[root@osd1 ~]# ceph auth get client.bootstrap-osd -o /var/lib/ceph/bootstrap-osd/ceph.keyring
[root@osd1 ~]# chown -R ceph:ceph /etc/ceph
[root@osd1 ~]# chown -R ceph:ceph /var/lib/ceph

と準備を整えて、
まずはOSDとして供出するデバイスの確認します. ここでは /dev/sdb を供出します.

[root@osd1 ~]# cat /proc/partitions
major minor  #blocks  name
 
   8        0    8388608 sda
   8        1    1048576 sda1
   8        2    7339008 sda2
   8       16  104857600 sdb
   8       32  104857600 sdc
  11        0    4601856 sr0
 253        0    6496256 dm-0
 253        1     839680 dm-1
[root@osd1 ~]#

なので

[root@osd1 ~]# ceph-volume lvm create --bluestor --data /dev/sdb
 :
(略
 :
Running command: /usr/bin/systemctl start ceph-osd@0
--> ceph-volume lvm activate successful for osd ID: 0
--> ceph-volume lvm create successful for: /dev/sdb
[root@osd1 ~]#
 
(確認)
[root@osd1 ~]# ceph-volume lvm list
 
 
====== osd.0 =======
 
  [block]       /dev/ceph-13b7fc64-3f24-4a72-a15c-3e21c9c6dfec/osd-block-5ed10301-9d33-4ab8-8e5b-0a8f9bd16bea
 
      block device              /dev/ceph-13b7fc64-3f24-4a72-a15c-3e21c9c6dfec/osd-block-5ed10301-9d33-4ab8-8e5b-0a8f9bd16bea
      block uuid                dcHqpu-yP9U-0Q2o-YUVF-q27i-elQ4-d5Cfu7
      cephx lockbox secret
      cluster fsid              95f5eb4a-2ea2-4539-b0a3-bda3b6358ba5
      cluster name              ceph
      crush device class        None
      encrypted                 0
      osd fsid                  5ed10301-9d33-4ab8-8e5b-0a8f9bd16bea
      osd id                    0
      osdspec affinity
      type                      block
      vdo                       0
      devices                   /dev/sdb
[root@osd1 ~]#

同様の操作を osd2, osd3 にも行う.

monitor側では

osd1、osd2、osd3をOSDとして組み込んで「ceph -s」で確認すると下記のようになる.

[root@mgr ~]# ceph -s
  cluster:
    id:     95f5eb4a-2ea2-4539-b0a3-bda3b6358ba5
    health: HEALTH_WARN
            Module 'restful' has failed dependency: No module named 'pecan'
 
  services:
    mon: 3 daemons, quorum mgr,mon1,mon2 (age 41h)
    mgr: mgr(active, since 40h)
    osd: 3 osds: 3 up (since 23h), 3 in (since 23h)
 
  data:
    pools:   1 pools, 1 pgs
    objects: 0 objects, 0 B
    usage:   3.0 GiB used, 48 TiB / 48 TiB avail
    pgs:     1 active+clean
 
[root@mgr ~]#
[root@mgr ~]# ceph osd tree
ID  CLASS  WEIGHT    TYPE NAME           STATUS  REWEIGHT  PRI-AFF
-1         48.00000  root default
-3         16.00000      host osd1
 0    hdd  16.00000          osd.0           up   1.00000  1.00000
-5         16.00000      host osd2
 1    hdd  16.00000          osd.1           up   1.00000  1.00000
-7         16.00000      host osd3
 2    hdd  16.00000          osd.2           up   1.00000  1.00000
[root@mgr ~]#

OSDの追加/削除

https://docs.ceph.com/docs/mimic/rados/operations/add-or-rm-osds/

HDDが不良の際

https://docs.ceph.com/en/latest/rados/operations/add-or-rm-osds/#replacing-an-osd
とか
https://access.redhat.com/documentation/ja-jp/red_hat_ceph_storage/4/html/operations_guide/replacing-an-osd-drive-while-retaining-the-osd-id_ops


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2021-03-08 (月) 04:45:11 (40d)