CephFS OSDs
https://ceph.readthedocs.io/en/latest/start/intro/によれば

Ceph OSDs: An Object Storage Daemon (Ceph OSD, 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. 
At least three Ceph OSDs are normally required for redundancy and high availability.
(deepL先生訳)
Ceph OSD: オブジェクトストレージデーモン(Ceph OSD、ceph-osd)は、データを格納し、データのレプリケーション、リカバリ、リバランシングを処理します、 
他のCeph OSDデーモンのハートビートをチェックすることで、Cephモニタとマネージャに監視情報を提供します。
通常、冗長性と高可用性のために少なくとも3つのCeph OSDが必要です。

他のOSDホストと連携してデータの保存、レプリケーション、リカバリ、リバランスを行う.

こちらも「At least 3 Ceph OSDs are normally required for redundancy and high availability.」とあり運用時は3台以上必要.
このOSDですが、下記の2つの意味合いがあるようで、ドキュメントを読む際は軽く注意かなと
OSD:Object Storage Daemo
OSD:Object Storage Device

望ましい構成

参照先 https://docs.ceph.com/en/latest/start/hardware-recommendations/#minimum-hardware-recommendations,
https://documentation.suse.com/ja-jp/ses/7.1/single-html/ses-deployment/#storage-bp-hwreq,
https://access.redhat.com/documentation/ja-jp/red_hat_ceph_storage/7/html-single/installation_guide/index

OSDホストとしては

lvmなblockdbなら拡張できる https://heiterbiswolkig.blogs.nde.ag/2018/04/08/migrating-bluestores-block-db/
cephFSでblockdbは70GBでいいという意見 https://forum.proxmox.com/threads/ceph-osd-block-db-on-nvme-sizing-recommendations-and-usage.133475/
とある既設cephサイトで実際の状態を調べた.「ceph daemon osd.X perf dump」で値は得られて、22TBで192GBのblockdbで50GBほどの消費であった
溢れると本体のdeviceを使用しますが、「spillover」とかのメッセージが表示される. 溢れた際はhttps://cloud.garr.it/support/kb/ceph/ceph-extend-rocksdb-partition/参照

2021y02m06d_111345202.png
12slotなマシンでRAIDカードですべてを繋ぎOSの2つはRAID1構成であとは個別デバイスとして認識させる(RAIDカードではなくHBAの方が推奨みたい. その際のsystem diskはsoftware-raid1かな)
SSDは2つ. 一つは左側4つのHDD、もう一つは右側4つのHDDを担当.
BlueStoreなOSDは1TB:10GB比率でDBデバイス(block.db)を用意するので、18TBなら1つのHDDで180GBのSSD容量が必要. 4つのHDDなので4*180=720GB.
SSDは容量いっぱい使わない方がいいので 1TBか1.2TBがあれば十分かと.

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

Bluestore, Filestore

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

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

構築

まずmonitor の 「/etc/ceph/ceph.conf」と「/var/lib/ceph/bootstrap-osd/ceph.keyring」 を ceph-osd2 へ運びます
ceph-osd1はmonitor機能を共有しているので下記ではceph-osd2を例として挙げます

[root@ceph-mgr ~]# scp /etc/ceph/ceph.conf                        root@ceph-osd2:/etc/ceph/ceph.conf
[root@ceph-mgr ~]# scp /var/lib/ceph/bootstrap-osd/ceph.keyring   root@ceph-osd2:/var/lib/ceph/bootstrap-osd/ceph.keyring

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

[root@ceph-osd2 ~]# cat /proc/partitions
major minor  #blocks  name
 
   8        0   16777216 sda
   8        1      51200 sda1
   8        2    1048576 sda2
   8        3   15675392 sda3
   8       16   16777216 sdb
  11        0    9234624 sr0
[root@ceph-osd2 ~]#

なので

[root@ceph-osd2 ~]# ceph-volume lvm create --bluestor --data /dev/sdb
 :
[root@ceph-osd2 ~]#
 
(確認)
[root@ceph-osd2 ~]# ceph-volume lvm list
 
 
====== osd.0 =======
 
  [block]       /dev/ceph-4875323d-5d53-4c87-ab97-6849d842492e/osd-block-e62973cb-4915-47ef-8873-c28b7a57a023
 
      block device              /dev/ceph-4875323d-5d53-4c87-ab97-6849d842492e/osd-block-e62973cb-4915-47ef-8873-c28b7a57a023
      block uuid                QNrA03-lmEn-SC1L-X8Ro-mdcp-fu2G-0YHfvS
      cephx lockbox secret
      cluster fsid              c2d06c20-9197-40b4-a8c4-1a0604936ce8
      cluster name              ceph
      crush device class
      encrypted                 0
      osd fsid                  e62973cb-4915-47ef-8873-c28b7a57a023
      osd id                    0
      osdspec affinity
      type                      block
      vdo                       0
      devices                   /dev/sdb
[root@ceph-osd2 ~]#

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

もし「ceph-volume lvm create: error: GPT headers found, they must be removed on: /dev/sdb」とでたら

sgdisk --zap-all /dev/sdb

とする

WAL(write-ahead-log)デバイス、DBデバイスを使うなら

https://documentation.suse.com/ja-jp/ses/7.1/single-html/ses-deployment/#rec-waldb-sizeから
WALデバイスのサイズは 4GB
DBデバイスはRBD向けには最小で64GB(メインディスクの1-2%)、Object Gateway/CephFS向けならメインデバイス容量の2%-4%ほど(196GB以上)
CephFS向けで18TB HDDなら DBデバイスに 360GB - 720GB ほど必要

WALデバイスはDBデバイスよりも高速なデバイスとしているようで、WALデバイスを nvme SSD 、DBデバイスを sata SSDにするのがいいのかも.
WALデバイスとDBデバイスを1つのsata SSDで賄うなら上限6パーティションほどに. もしnvme SSDなら 上限12パーティションが望ましいみたい.

system diskとしてnvmeが500GBあって、2つの960GB SSD、そしてメインデバイスのHDDが 18TBで10個あるなら
nvmeの400GBをsystem diskとして、残りをWAL向け(nvme0n1p6)

(wal)
vgcreate ceph-wal-0 /dev/nvme0n1p6
lvcreate -L 10GB -n wal-0 ceph-wal-0
lvcreate -L 10GB -n wal-1 ceph-wal-0
:
lvcreate -L 10GB -n wal-8 ceph-wal-0
lvcreate -L 10GB -n wal-9 ceph-wal-0
 
(db)
vgcreate ceph-db-0 /dev/sda
lvcreate -l 20%VG -n db-0  ceph-db-0
 :
lvcreate -l 20%VG -n db-4  ceph-db-0
 
vgcreate ceph-db-1 /dev/sdb
lvcreate -l 20%VG -n db-0  ceph-db-1
 :
lvcreate -l 20%VG -n db-4  ceph-db-1
 
(hdd)
vgcreate ceph-block-0 /dev/sdc  (1個目のHDD)
vgcreate ceph-block-1 /dev/sdd  (2個目のHDD)
 :
vgcreate ceph-block-8 /dev/sdk  (9個目のHDD)
vgcreate ceph-block-9 /dev/sdl  (10個目のHDD)
 
lvcreate -l 100%FREE -n block-0 ceph-block-0
lvcreate -l 100%FREE -n block-1 ceph-block-1
 :
lvcreate -l 100%FREE -n block-9 ceph-block-9
 
ceph-volume lvm create --bluestore --data ceph-block-0/block-0 --block.db ceph-db-0/db-0 --block.wal ceph-wal-0/wal-0
ceph-volume lvm create --bluestore --data ceph-block-1/block-1 --block.db ceph-db-0/db-1 --block.wal ceph-wal-0/wal-1
ceph-volume lvm create --bluestore --data ceph-block-2/block-2 --block.db ceph-db-0/db-2 --block.wal ceph-wal-0/wal-2
 :

っと手の込んだBluestoreも作れるみたい.

sataSSDのみならsataSSDにwalの分を含めることができるようで、その際は「--block.wal」を指定しない

monitor側では

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

[root@ceph-mgr ~]# ceph -s
  cluster:
    id:     c2d06c20-9197-40b4-a8c4-1a0604936ce8
    health: HEALTH_OK
 
  services:
    mon: 3 daemons, quorum ceph-mgr,ceph-mds,ceph-osd1 (age 5h)
    mgr: ceph-mgr(active, since 14h)
    osd: 3 osds: 3 up (since 3h), 3 in (since 3h)
 
  data:
    pools:   1 pools, 1 pgs
    objects: 2 objects, 449 KiB
    usage:   93 MiB used, 48 GiB / 48 GiB avail
    pgs:     1 active+clean
 
[root@ceph-mgr ~]# ceph osd tree
ID  CLASS  WEIGHT   TYPE NAME           STATUS  REWEIGHT  PRI-AFF
-1         0.04678  root default
-5         0.01559      host ceph-osd1
 1    ssd  0.01559          osd.1           up   1.00000  1.00000
-3         0.01559      host ceph-osd2
 0    ssd  0.01559          osd.0           up   1.00000  1.00000
-7         0.01559      host ceph-osd3
 2    ssd  0.01559          osd.2           up   1.00000  1.00000
[root@ceph-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

最新の60件
2024-04-19 2024-04-18 2024-04-17 2024-04-16 2024-04-15 2024-04-11 2024-04-06 2024-04-05 2024-03-30 2024-03-29 2024-03-19 2024-03-17 2024-03-15 2024-03-06 2024-03-05 2024-03-03 2024-02-23 2024-02-22 2024-02-21 2024-02-20 2024-02-19 2024-02-18 2024-02-17 2024-02-13 2024-02-12 2024-02-09 2024-02-04 2024-02-03 2024-01-31 2024-01-30 2024-01-29 2024-01-28 2024-01-22 2024-01-16 2024-01-13 2024-01-09 2024-01-08 2024-01-07 2024-01-03 2023-12-22 2023-12-17

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-01-13 (土) 21:32:40