Rook v1.10 へアップグレード

Rook の新バージョン v1.10.0 がリリースされたようなので、早速、自宅ラボの Rook/Ceph をアップグレードしてみます。 マイナーバージョンが上がったときくらいは変更内容を追わないと、と思ってマニフェストの差分を確認しました。 アップグレード手順 アップグレードは公式ドキュメントに載っている手順どおりに進めました。 Rook Upgrades - Rook Ceph Documentation 自宅ラボの Rook は ArgoCD で管理しているので、クラスタ用リポジトリの以下のマニフェストを v1.10.0 の内容でマージしただけアップグレード完了しました。 common.yaml crds.yaml operator.yaml cluster.yaml 今回は common.yaml と operator.yaml の変更点を見ていきます。 cluster.yaml は Ceph のバージョンが違うだけなので割愛、crds.yaml は変更内容が多いため諦め。 アップグレード前の Rook のバージョンは v1.9.5 です。 common.yaml common.yaml には Namespace や RBAC 関連のリソースが記述されています。 削除 Kubernetes v1.25 で PSP が正式に廃止されたことが起因で、common.yaml から PSP に関連したリソースが削除されています。 そして v1.25 未満の Kubernetes 向けに PSP 関連をまとめた psp.yaml が作られています。 リソース 名前 PR ClusterRole psp:rook #10816 ClusterRoleBinding rook-ceph-system-psp #10816 ClusterRoleBinding rook-csi-cephfs-plugin-sa-psp #10816 ClusterRoleBinding rook-csi-cephfs-provisioner-sa-psp #10816 ClusterRoleBinding rook-csi-rbd-plugin-sa-psp #10816 ClusterRoleBinding rook-csi-rbd-provisioner-sa-psp #10816 ClusterRoleBinding cephfs-csi-nodeplugin #10033 PodSecurityPolicy 00-rook-privileged #10816 RoleBinding rook-ceph-cmd-reporter-psp #10816 RoleBinding rook-ceph-default-psp #10816 RoleBinding rook-ceph-mgr-psp #10816 RoleBinding rook-ceph-osd-psp #10816 RoleBinding rook-ceph-purge-osd-psp #10816 RoleBinding rook-ceph-rgw-psp #10816 また、PSP 関連とは別に ClusterRoleBinding cephfs-csi-nodeplugin が削除されています。...

September 2, 2022 · 3 min · @nnstt1

Fedora ラズパイの PoE+ HAT ファンをコントロールする

Ceph クラスタ用のラズパイ 4 に PoE+ HAT を導入しました。 PoE+ HAT にはファンも内蔵されているのですが、このファンが煩いです。 ラズパイ本体の温度によってファンの回転数が変わるようなのですが、頻繁に回転数が変わります。 温度をみたところ 50℃ 前後を行き来していて、どうやら 50℃ を境に回転数が上がるようです。 書斎にラズパイを置いているのですが、これでは全く集中できません。 ファン回転数の閾値を変更して、騒音レベルを下げます。 どうやって PoE+ HAT のファンを制御するかググったところ、Raspberry Pi OS ではシステム設定用のファイル /boot/config.txt に下記のような設定を追加すればよいようです。 dtoverlay=rpi-poe-plus dtparam=poe_fan_temp0=40000,poe_fan_temp0_hyst=2000 dtparam=poe_fan_temp1=45000,poe_fan_temp1_hyst=2000 dtparam=poe_fan_temp2=50000,poe_fan_temp2_hyst=2000 dtparam=poe_fan_temp3=55000,poe_fan_temp3_hyst=5000 dtparam に設定するパラメータは意味はラズパイ Firmware の README に書いてありました。 パラメータ 内容 デフォルト値 poe_fan_temp0 ファンがオンになる温度 40000 poe_fan_temp0_hyst ファンがオフになるまでの温度差 2000 poe_fan_temp1 ファンが速度を上げる温度 45000 poe_fan_temp1_hyst ファンが減速する温度差 2000 poe_fan_temp2 ファンが速度を上げる温度 50000 poe_fan_temp2_hyst ファンが減速する温度差 2000 poe_fan_temp3 ファンが速度を上げる温度 55000 poe_fan_temp3_hyst ファンが減速する温度差 5000 Ceph クラスタ用ラズパイの OS には Fedora を使っているのですが、Raspberry Pi OS とは config....

May 24, 2022 · 1 min · @nnstt1

Ceph ホストのメンテナンス

Cephadm で構築した Ceph クラスタのホストをメンテナンスする手順です。 今回は 3 台構成 (ceph1/ceph2/ceph3)の Ceph クラスタのうち、ceph1 をメンテナンス対象としています。 バージョン 本記事で利用している Ceph のバージョンです。 $ ceph version ceph version 16.2.7 (dd0603118f56ab514f133c8d2e3adfc983942503) pacific (stable) 事前確認 はじめに、メンテナンス対象ホストを停止してもクラスタに影響が出ないかチェックします。 ceph orch host ok-to-stop コマンドを使うことでチェックしてくれます。 $ ceph orch host ok-to-stop ceph1 ALERT: Cannot stop active Mgr daemon, Please switch active Mgrs with 'ceph mgr fail ceph1.eqphaf' 今回はアラートが出力されてしまいました。 ceph1 の MGR がアクティブ状態となっているためホストの停止ができないようです。 次のコマンドでスタンバイ状態の MGR へフェイルオーバーします。 $ ceph mgr fail ceph1.eqphaf フェイルオーバーが成功したか Ceph クラスタの状態を確認します。 ceph -s cluster: id: dc32e976-d0ea-11ec-bac3-dca6329a21a7 health: HEALTH_ERR (snip) services: mon: 3 daemons, quorum ceph1,ceph2,ceph3 (age 4m) mgr: ceph3....

May 18, 2022 · 2 min · @nnstt1

PG の修復

Ceph OSD が落ちるなどして PG (Placement Group) でエラーが出た場合の修復手順です。 我が家のラズパイ Ceph は頻繁に OSD が落ちます。 そのせいで PG のエラーも多発しており、都度対応しています。 PG のエラー状況に応じた修復手順をこの記事に掲載していきます。 免責 本記事では個人利用の Ceph クラスタに対して実施した手順を掲載しています。 PG の修復はデータ損失を伴う可能性があります。 掲載内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。 (大事なことなので) バージョン 本記事で利用している Ceph のバージョンです。 $ ceph version ceph version 16.2.7 (dd0603118f56ab514f133c8d2e3adfc983942503) pacific (stable) 状況確認 OSD が落ちた Ceph クラスタの状況を確認します。 ceph health detail コマンドで Ceph クラスタの状況を確認すると、PG_DAMAGED や PG_DEGRADED といったアラートが上がっていて、PG に active+clean+inconsistent などがマークされています。 $ ceph health detail (snip) [WRN] OBJECT_UNFOUND: 4/1615 objects unfound (0.248%) pg 2.1f has 1 unfound objects pg 2....

May 17, 2022 · 2 min · @nnstt1

Cephadm のアラートを消す

Cephadm のアラート CEPHADM_FAILED_DAEMON を消す方法です。 ...

May 16, 2022 · 2 min · @nnstt1

ラズパイ Ceph を Zabbix で監視する

自宅ラボでは Cephadm を使ってラズパイに Ceph クラスタを構築して遊んでます。 今回は Ceph の Zabbix モジュールを使って Zabbix からラズパイ Ceph クラスタを監視できるようにします。 ただモジュールを有効化するだけでは Zabbix から監視できなかったので、手順を残します。 ちなみにラズパイ Ceph クラスタは CentOS/RockyLinux/AlmaLinux 各種 OS を使った混合環境です。 本当はクラスタ構築の話から投稿したかったのですが、モチベの関係で先にこのネタから投稿します。 Zabbix モジュール有効化 Ceph Manager Daemon (MGR) は、モジュールという形でダッシュボード機能や他製品との連携機能を提供しています。 Cephadm 自体も「Orchestrator モジュール」を使って Ceph を管理しているようです。 公式のモジュール一覧は ここ (でいいんですかねぇ…?) MGR のモジュールの中に「Zabbix モジュール」があるので、このモジュールを有効化して使います。 ceph mgr module enable zabbix Zabbix モジュールのパラメータのうち、以下の 2 つを設定します。 zabbix_host: Zabbix サーバのホスト名 identifier: Zabbix に登録する Ceph クラスタ名 ceph zabbix config-set zabbix_host zabbix.example.com ceph zabbix config-set identifier raspi-ceph 今回はその他のパラメータはデフォルト値のまま使いました。 以下のコマンドでパラメータを確認します。...

February 6, 2022 · 2 min · @nnstt1