Featured image of post Supermicro E300-9D-4CN8TP を個人輸入した

Supermicro E300-9D-4CN8TP を個人輸入した

一般家庭の仮想マーシンクラスターのリプレイス

現行クラスターは、マシーンリソースには何の不満もないが 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

1
2
3
#!/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

から該当の 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 認証を有効化 チェックオン
Share Host10.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 ダウンロードはここからした

インストラーで進めていく

デフォルトではOSディスクの1/4が pve-root として OS 領域となるので変更する。 maxvz0 にすることで local-lvm を作成しない状態になる。 今回は 3台用意してクラスターを作成する前提のため local-lvm にデータを配置してしまうと HAできなくなるため基本使わないため作成しない作りとするが、 NVME の速度を活かしたい場合が出る可能性もあるため、デフォルト設定で進める

apt upgrade

Proxmox VE Enterprise Repository を無効に設定して Proxmox VE No-Subscription Repository を設定する

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
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

ネットワークの設定

InterfaceSubnetIP Address
eno1mgmt10.2.21.14[1-3]
eno7,eno8trunk, vlan22310.2.23.14[1-3]

帯域測定

10GbE の帯域で 9.90 Gbits/sec In/Out 出てるので問題なさそう その時のRack背面のホットアイル温度は 40℃になって全FAN Full load だけど冷やしきれてるし問題無し

帯域幅の確認

client 側

e300-9d4-01
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
> 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
1
> 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 の強制停止

1
pgrep -f "/usr/bin/kvm -id <VMID>" | xargs kill -9

Memory だけに負荷を掛ける

1
stress -m 7 --vm-bytes 1024M --vm-hang 0

メールテスト

1
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 証明書でも無効にされているため わざと有効にすることは少ないだろう

1
2
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 の設定を書き換えて 様子見している。

1
2
3
4
5
> 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/grubGRUB_CMDLINE_LINUX=" nvme_core.default_ps_max_latency_us=0" を追加
  • update-grub を実行、再起動する

その後 同じコマンドを実行すると Disabled となった。

1
2
3
4
5
> 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-****** を消すために再起動が必要

Hugo で構築されています。
テーマ StackJimmy によって設計されています。