DeskMini H470 の SSD を交換(ノードを削除→新規ノードとして追加)

ノート PC を更新して NVNe SSD が一つ余ったから DeskMini H470 の OS 用 SSD を交換した。本当は各ノードの OSD 用を NVMe SSD にすれば ceph を高速化できるから快適になるハズ。もし今の環境で不満になったら考えよう。

とりあえず一通りメモ。

目次

クラスタからノード h470 を削除する

準備

仮想マシンは全て、生きているノードにマイグレーションしておく。後でバックアップからリストアするなら放置でもいい。
ドライブを local に保存している仮想マシンも、停止状態なら他のノードにドライブごと引っ越しできるけど、ceph に比べてものすご〜く時間がかかる。

もしノード h470 の仮想マシンや CT が HA で管理されている場合は、グループから削除するなり HA の対象から外すなりすること。

続いて h470 の OSD を停止、破棄して、ceph のモニタとマネージャのうち h470 も破棄して、ノード h470 をシャットダウンする。

クラスタからノード h470 の情報を削除

生きているノードに ssh ログインして(もしくは管理画面のシェル)ノードが消えていることを確認する。
先にノード h470 の電源を落としているため、クラスタに存在するノードは2つ。

root@x300:~# pvecm nodes

Membership information
----------------------
    Nodeid      Votes Name
         1          1 x300 (local)
         2          1 x301
root@x300:~# 

ノードを切り離す。

root@x300:~# pvecm delnode h470

不要になったノード h470 の関係ディレクトリを削除する。
※どれか一つのノードで実行すれば OK。

root@x300:~# rm -rf /etc/pve/nodes/h470

新しいノードとして h470 をクラスタに追加する

Proxmox のインストール

NVMe SSD を交換して、Proxmox を再インストールする。OS のインストール先に注意。
インストールが終わったら作業は全て、ノート PC から h470 に ssh ログインして実施した。ssh のキーが変わっているからコメントに従って次のコマンドを実行する。

ssh-keygen -f "/home/hoge/.ssh/known_hosts" -R "192.168.1.5"

続いてリポジトリを変更する。対象のファイルは /etc/apt/sources.list と /etc/apt/sources.list.d/pve-enterprise.list。

deb http://deb.debian.org/debian bullseye main contrib
deb http://deb.debian.org/debian bullseye-updates main contrib
# security updates
deb http://security.debian.org bullseye-security main contrib
# PVE pve-no-subscription repository provided by proxmox.com,
# NOT recommended for production use
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription
#deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise

お約束の apt update , apt upgrade を実行する。

デバイスの初期化

念の為、fdisk -l で対象のデバイスを確認してから OSD 用の SSD を初期化する。自分の環境だと /dev/sda。

# sgdisk --zap-all /dev/sda

(ひょっとして、OSD 用ドライブは初期化しなくてもそのまま使用できる?)

クラスタに h470 を追加

h470 にログインした状態で、次のコマンドを実行して h470 をクラスタに追加する。最後が次のように表示されれば OK。続いて Proxmox 管理画面にログインしてノード h470 が追加されていることを確認する

root@h470:~# pvecm add 192.168.1.3 --use_ssh

〜
generated new node certificate, restart pveproxy and pvedaemon services
successfully added node 'h470' to cluster.
root@h470:~# 

ノード h470 のホスト名をクリックして、各ノードのホスト名を追加する。

127.0.0.1 localhost.localdomain localhost
192.168.1.3 x300.jisaba.life x300
192.168.1.4 x301.jisaba.life x301
192.168.1.5 h470.jisaba.life h470

ノード x300 , x301 のシェルから h470 に ssh でログインする。こちらもキーの更新が必要なのでコメントに従う。

lvm-thin の削除

自分の環境では不要な lvm-thin をノード h470 から削除する。

lvremove pve/data && lvextend -l +100%FREE pve/root && resize2fs /dev/pve/root

SSL/TLS 証明書

既存のアカウントを使用して証明書を追加する(HTTP-01 チャレンジ)。

ceph インストール

管理画面から h470 のノードを選択して ceph をクリック。以下、画面の指示に従って「次へ」をクリックして、次のメッセージが出たら OK。。

Installation successful!
The basic installation and configuration is complete. Depending on your setup, some of the following steps are required to start using Ceph:

Install Ceph on other nodes
Create additional Ceph Monitors
Create Ceph OSDs
Create Ceph Pools
To learn more, click on the help button below.

h470 の ceph モニタとマネージャをポチポチと作成する。続いてノード h470 に OSD を登録する。対象デバイスは /dev/sda 。

無事に OSD が追加されたら、後はひたすら ceph 管理画面で全て(100%)緑色になるまで待つ。
別の作業を行ってもいいけど、仮想マシンや CT を元に戻すのは ceph が安定してからのほうが無難。

その他

ssh-keygen

各ノードのシェルから ssh root@h470 でログインできることを確認する。
最初は Host key verification failed となるため、管理画面の h470 以外の各ノードのシェルで、

root@x301:~# ssh-keygen -f "/root/.ssh/known_hosts" -R "h470"

としてから ssh ログインすればキーを更新できる。

UPS との連携(NUT)

次の記事のとおり。h470 は slave なノード。

NIC の設定

syslog を眺めてみて、エラーがでているようなら次の記事のとおり対策する。

Postfix


とりあえずこのくらいかな。
他にも思い出したら追記しよう。

コメント

コメントする

目次