本家様 https://ceph.io/
オブジェクトストレージ, ブロックストレージ, ファイルシステムを提供するオープンソースなSoftware-Defined Storage Platform.
オブジェクトストレージ:Hadoopやamazon S3なすとレージ, ブロックストレージ: /dev/vda, /dev/vdbとか提供します. ファイルシステム: posix準拠なファイルシステム
開発者たちは今現在IBMにいるそうです
ここではこのうち Ceph を使ったPOSIX互換ファイルシステム CephFS を取り上げます
Cephにはバージョン名があって下記の通りになってます ubuntuっぽい
https://docs.ceph.com/docs/master/releases/general/, https://docs.ceph.com/en/latest/releases/
Release name | Initial release | Latest | End of life(23.12.24時点) | 備考 |
Reef | 2023-08-07 | 18.2.1 | 2025-08-01(estimated) | IBM Storage Ceph 7 |
Quincy | 2022-04-19 | 17.2.7 | 2024-06-01(estimated) | IBM Storage Ceph 6 |
Pacific | 2021-03-31 | 16.2.14 | 2023-10-01(estimated) | IBM Storage Ceph 5 |
Octopus | 2020-03-23 | 15.2.17 | 2022-08-09 | |
Nautilus | 2019-03-19 | 14.2.22 | 2021-06-30 | Red Hat Ceph Storage 4 |
Mimic | 2018-06-01 | 13.2.10 | 2020-07-22 | |
Luminous | 2017-08-01 | 12.2.13 | 2020-03-01 | Red Hat Ceph Storage 3 |
*毎年メジャーバージョンアップがある
ここでは「Reef」を導入します. 導入方法は docker/podmnanの上に構築する cephadm を使うのが推奨されてますが、ここではOSの上に直に作っていきます.
cephはmonitor, manager, osd, metadata らと機能を提供するために各種に特化した作りこみが必要です.
っで構成はこんな感じで.
ホスト名 | 役目 | IPアドレス[public network] | cluster network | OS | ストレージ |
ceph-mgr | Ceph Manager Ceph Monitor | 192.168.0.47/24 | Rockylinux9.2 | os(16GB) | |
ceph-mds | Ceph Metadata Server Ceph Monitor | 192.168.0.48/24 | os(16GB) | ||
ceph-osd1 | Ceph OSDs Ceph Monitor | 192.168.0.49/24 | 10.10.10.49/24 | os(16GB), osd(16GB)*2 | |
ceph-osd2 | Ceph OSDs | 192.168.0.50/24 | 10.10.10.50/24 | os(16GB), osd(16GB)*2 | |
ceph-osd3 | Ceph OSDs | 192.168.0.51/24 | 10.10.10.51/24 | os(16GB), osd(16GB)*2 |
まずcephに関係するすべてのノードにcephリポジトリを登録します.
参照 https://docs.ceph.com/en/latest/install/get-packages/
cat << _EOF_ > /etc/yum.repos.d/ceph.repo
[ceph]
name=Ceph packages for \$basearch
baseurl=https://download.ceph.com/rpm-reef/el9/\$basearch
enabled=1
priority=2
gpgcheck=1
gpgkey=https://download.ceph.com/keys/release.asc
[ceph-noarch]
name=Ceph noarch packages
baseurl=https://download.ceph.com/rpm-reef/el9/noarch
enabled=1
priority=2
gpgcheck=1
gpgkey=https://download.ceph.com/keys/release.asc
[ceph-source]
name=Ceph source packages
baseurl=https://download.ceph.com/rpm-reef/el9/SRPMS
enabled=0
priority=2
gpgcheck=1
gpgkey=https://download.ceph.com/keys/release.asc
_EOF_
cephリポジトリの中身詳細 Ceph/repository
あとepelリポジトリも入れておきます「dnf install epel-release -y」
次は各ノードでの作業になります.
まず初めにmonitorノードを1つ作り上げます. ここではceph-managerと同居させてます. firewallでtcp:3300,6789を開けます
dnf install epel-release -y
dnf install ceph-mon -y
firewall-cmd --add-service=ceph-mon --permanent
firewall-cmd --reload
この段階で「ceph-crash.service」が動きます. あと「/etc/ceph/」「/var/lib/ceph/」「/var/log/ceph/」が掘られる. ユーザcephが作られます.
firewallのtcp:6800-7300を開けます. webブラウザで動作確認ができる「dashboard」もインストールされます
dnf install epel-release -y
dnf install ceph-mgr -y
firewall-cmd --add-service=ceph --permanent
firewall-cmd --reload
firewallのtcp:6800-7300を開けます.
dnf install epel-release -y
dnf install ceph-osd ceph-volume -y
firewall-cmd --add-service=ceph --permanent
firewall-cmd --reload
firewallのtcp:6800-7300を開けます.
dnf install epel-release -y
dnf install ceph-mds -y
firewall-cmd --add-service=ceph --permanent
firewall-cmd --reload
dnf install epel-release -y
dnf install ceph-common ceph-fuse -y
firewall-cmd --add-service=ceph --permanent
firewall-cmd --reload
「ceph -s」の実行で「Module 'restful' has failed dependency: No module named 'pecan'」と表示されたらCeph Monitorノードに追加で下記パッケージをインストールする.
[root@ms ~]# pip3 install pecan cherrypy werkzeug
CentOS8 stream
rpm -Uvh https://download.ceph.com/rpm-octopus/el8/noarch/ceph-release-1-1.el8.noarch.rpm
yum install centos-release-openstack-train -y
yum install epel-release snappy gdisk gperftools-libs -y
yum install leveldb -y
yum install ceph -y
[root@ceph-mgr ~]# ceph -s
cluster:
id: c2d06c20-9197-40b4-a8c4-1a0604936ce8
health: HEALTH_WARN
2 mgr modules have recently crashed
とHEALTH_WARNメッセージがあるなら「ceph crash ls」
[root@ceph-mgr ~]# ceph crash ls
ID ENTITY NEW
2024-01-04T05:51:12.262993Z_71368c30-4c13-4eaf-bdae-c0d66307d784 mgr.ceph-mgr *
2024-01-04T05:51:14.240766Z_52dbb01e-f34f-46b7-956a-71b2f83a7e7f mgr.ceph-mgr *
[root@ceph-mgr ~]# ceph crash rm 2024-01-04T05:51:12.262993Z_71368c30-4c13-4eaf-bdae-c0d66307d784
https://www.cnblogs.com/netant-cg/p/10696205.html
ベンター各社様から提案構成が掲示されている
https://ceph.io/use-cases/