一般家庭のクラスターリプレイス
現行クラスターは、マシーンリソースには何の不満もないが、NICが蟹(Realtek)のため ドライバーに問題を抱えており、 DKMS していても Kernel Update で度々アクセスできなくなり 不満となっていた、またNICも 1GbE x2 のため LACP(IEEE 802.3ad) を組めずにいた。 そのため、今回は5年ほど利用できそうなつよつよ環境を作ることにした。
要件
前回の登録で書いたように下記のような要件がある。
- BMC, IPMI がある
- KVM over IP ほしい
- スイッチ は mLAG ができるといい LACPできること
- 5年戦える〇〇ほしい。
- ネットワークなら 10GbE ほしい。 2本くれ
- CPU なら 4Core はほしい
- Memory なら 64GB はほしい
- これ系のは後から増設するのは金額が張る
- M.2 PCIe 3.0 x4以上が 2本刺さる
- 1U か 4Lぐらいの小型のヤツ
- 35dB 以下の静音性
- 同じ部屋で同居して寝るので静かなだけよい。
調達
ベアボーン Supermicro SuperServer E300-9D-4CN8TP を選択 MTIXPC から個人輸入した E300-9D-4CN8TP を国内で個人で買える所で見積もりを取得した。 が納期が5ヶ月を要するため諦め個人輸入することにした。(そうはならんやろ)
Activate License
Reverse Engineering Supermicro IPMI – peterkleissner.com
#!/bin/bash
read -p "IPMI MAC: " macaddr
echo -n $macaddr | xxd -r -p | openssl dgst -sha1 -mac HMAC -macopt hexkey:8544E3B47ECA58F9583043F8 | awk '{print $2}' | cut -c 1-24 | sed 's/./&-/4;s/./&-/9;s/./&-/14;s/./&-/19;s/./&-/24;'
Firmware Upload
E300-9D-4CN8TP | Mini 1U | SuperServers | Products | Super Micro Computer, Inc. から該当の FW をダウンロードする.
ファイル名: BMC_X11AST2500-4101MS_20210510_01.73.12_STDsp.zip
解凍したディレクトリにある IPMI Firmware Update_NEW.doc
の手順にそって作業する
解答したフォルダーにある X11SDV2.120
が FW である。
BOIS Upload
ファイル名: X11SDV2.120.zip
解凍したディレクトリにある X11SDV2.120
が BOIS ファイルなのでこれを選択する
Synology の設定
弊宅では Synology DS718 Plus を利用してるため SMB 1.0 を有効化して IPMI から利用した
- SMB 1.0 しか CD-ROM Image の機能は対応してない
また NTLMv1 で認証しにくるのでその設定も必要。
コントロールパネル
- ファイルサービス
- SMB
- 前のバージョンへのアクセスを禁止する チェックを外す
- 詳細設定
- 全般
- 最低 SMB プロトコル: SMB1 選択
- その他
- (下の方の)
- NTLMv1 認証を有効化 チェックオン
- 全般
- SMB
- ファイルサービス
Share Host | 10.2.21.109 |
Path to Image | \iso_files\template\iso\Memtest86-4.3.7.iso |
User (optional) | guest |
Password (optional) | synology の guest ユーザーの PW |
Proxmox VE
今回は Proxmox VE 7.1-2 を利用した ISO ダウンロードはここからした proxmox.com/en/downloads/category/iso-image..
インストラーで進めていく
デフォルトではOSディスクの1/4が pve-root として OS 領域となるので変更する。
maxvz
を 0
にすることで local-lvm
を作成しない状態になる。
今回は 3台用意してクラスターを作成する前提のため local-lvm
にデータを配置してしまうと
HAできなくなるため基本使わないため作成しない作りとするが、 NVME の速度を活かしたい場合が出る可能性もあるため、デフォルト設定で進める
apt upgrade
Package Repositories - Proxmox VE
Proxmox VE Enterprise Repository
を無効に設定して
Proxmox VE No-Subscription Repository
を設定する
sed -i -e 's/^deb/#deb/g' /etc/apt/sources.list.d/pve-enterprise.list
cat <<EOF> /etc/apt/sources.list.d/pve-no-subscription.list
# 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
EOF
cat /etc/apt/sources.list.d/pve-no-subscription.list
ネットワークの設定
Interface | Subnet | IP Address |
eno1 | mgmt | 10.2.21.14[1-3] |
eno7,eno8 | trunk, vlan223 | 10.2.23.14[1-3] |
帯域測定
10GbE の帯域で 9.90 Gbits/sec In/Out 出てるので問題なさそう その時のRack背面のホットアイル温度は 40℃になって全FAN Full load だけど冷やしきれてるし問題無し
client 側
e300-9d4-01
> iperf3 -c 10.2.23.142 -T s1 -p 5101 -t 600 -i 60
s1: Connecting to host 10.2.23.142, port 5101
s1: [ 5] local 10.2.23.141 port 41570 connected to 10.2.23.142 port 5101
s1: [ ID] Interval Transfer Bitrate Retr Cwnd
s1: [ 5] 0.00-60.00 sec 69.1 GBytes 9.90 Gbits/sec 31 3.17 MBytes
s1: [ 5] 60.00-120.00 sec 69.1 GBytes 9.90 Gbits/sec 101 2.22 MBytes
s1: [ 5] 120.00-180.00 sec 69.1 GBytes 9.90 Gbits/sec 0 3.45 MBytes
s1: [ 5] 180.00-240.00 sec 69.1 GBytes 9.90 Gbits/sec 0 3.45 MBytes
s1: [ 5] 240.00-300.00 sec 69.1 GBytes 9.90 Gbits/sec 3 3.45 MBytes
s1: [ 5] 300.00-360.00 sec 69.1 GBytes 9.90 Gbits/sec 0 3.45 MBytes
s1: [ 5] 360.00-420.00 sec 69.1 GBytes 9.90 Gbits/sec 0 3.45 MBytes
s1: [ 5] 420.00-480.00 sec 69.1 GBytes 9.90 Gbits/sec 92 2.41 MBytes
s1: [ 5] 480.00-540.00 sec 69.1 GBytes 9.90 Gbits/sec 0 2.42 MBytes
s1: [ 5] 540.00-600.00 sec 69.1 GBytes 9.90 Gbits/sec 148 3.35 MBytes
s1:
s1: [ ID] Interval Transfer Bitrate Retr
s1: [ 5] 0.00-600.00 sec 691 GBytes 9.90 Gbits/sec 375 sender
s1: [ 5] 0.00-600.00 sec 691 GBytes 9.90 Gbits/sec receiver
s1:
s1: iperf Done.
server 側
e300-9d4-02
> iperf3 -s -p 5101 -i 60
ceph
Proxmox VE で クラスターを作成していきましたが、 Ceph の設定はこのサイトのままで事足りるのでそのまま
- Public Network: 管理系通信網 10.2.21.0/24
- Ceph monitor node
- Ceph Manager node
- Ceph MDS node
- Ceph OSD node
- Cluster Network: レプリケーション系通信網 10.2.23.0/24
- Ceph OSD replication
- Ceph heart beat
- Number of replicas: 3 (クラスター台数)
- Minimum replicas: 2 (最低稼働台数)
memo
vm の強制停止
pgrep -f "/usr/bin/kvm -id <VMID>" | xargs kill -9
Memory だけに負荷を掛ける
stress -m 7 --vm-bytes 1024M --vm-hang 0
メールテスト
echo "body message" | mail -s "test $(date '+%Y-%m-%dT%H:%M:%S%z')" root && sleep 10s && tail -n20 /var/log/syslog
Ubuntu 22.04 では ssh-rsa の鍵によってはログインできない
Ubuntu 22.04 では RSA SHA1 アルゴリズムの鍵が Open SSH 8.8 で無効化されたため、 である Ubuntu 22.04 はそれより後の OpenSSH_8.9p1 を採用しているためそのようになる。 下記を実施すればアクセスはできるが、 SHA1 は https 証明書でも無効にされているため わざと有効にすることは少ないだろう
sed -i '1s/^/PubkeyAcceptedAlgorithms=+ssh-rsa\n/' /etc/ssh/sshd_config
systemctl restart ssh.service
当方は ed25519 の鍵を生成してしのいだ
Samsung SSD 980 の暴走
Samsung SSD 980 が Linux Kernel 4.10 以降 APST の省電力機能で 温度 84℃を報告してくることがある。
色々調べた所下記のフォーラムを発見したが解決には至ってないようだ。
Re: SSD 980 heat spikes to 84°C/ 183°F - Page 3 - Samsung Community - 2002779
また、更に深掘りすると ArchLinux の wiki を発見した
Solid state drive/NVMe - ArchWiki
該当の NVME で実行すると下記のようになりガッツリ有効なため GRUB の設定を書き換えて 様子見している。
> nvme get-feature /dev/nvme1 -f 0x0c -H
get-feature:0xc (Autonomous Power State Transition), Current value:0x000001
Autonomous Power State Transition Enable (APSTE): Enabled
Auto PST Entries .................
Entry[ 0]
/etc/default/grub
にGRUB_CMDLINE_LINUX=" nvme_core.default_ps_max_latency_us=0"
を追加update-grub
を実行、再起動する
その後 同じコマンドを実行すると Disabled
となった。
> nvme get-feature /dev/nvme1 -f 0x0c -H
get-feature:0xc (Autonomous Power State Transition), Current value:00000000
Autonomous Power State Transition Enable (APSTE): Disabled
Auto PST Entries .................
Entry[ 0]
Disk の初期化
Ceph を Destroy する前にクラスターから外してしまったりした場合 OSD として再度登録ができないため Disk を初期化する必要がある。
sgdisk --zap-all /dev/nvme1n1
を実行して再起動する
`/dev/mapper/ceph-**` を消すために再起動が必要**