投稿者「gurees」のアーカイブ

CentOS7.9でInfiniBandでiSCSIなサーバを組む(1)

CentOS7.3と7.6でiSCSIサーバを組みましたが、マシンリプレースに伴い、CentOS7.9にしようと思います。

おそらくCentOS7系で組むのは最後になりますが、メンテのための備忘録です。
2024年まではこれで行きます。

予定構成

  • CentOS7.9
  • IBM System x3650 M4
  • Xeon E5-2603 v2
  • DDR3 16GB
  • ConnectX-3
  • 2.5インチ SAS 146GB×2 (OS用)
  • 2.5インチ SATA 1TB×6 (iSCSI データ用)

IBM System x3650 M4のSFFモデルに1TB HDDを積んでそれをConnectX経由でiSCSIでESXiに見せるスタイルです。

今のところ8ベイ分しかバックプレーンがないので、6台で組みますが追加分のRAIDカードとバックプレーンは発注したので、届き次第増設します。
とりあえずは6台でソフトウェアRAID6を組んでパフォーマンスを見ようと思います。

HPE DL360p Gen8導入

以前まではRyzen 5 2600を仮想化サーバにしてましたが、DL360pGen8に更新したので備忘録です。

自作PCをESXiのサーバにしているとHWのステータスが取れないとか、IPMIがないので管理が大変だったりします。
※Supermicroとか買えばIPMIとかついてたりしますけどね

HPEのサーバであるDL360p Gen8が安かったので、リプレースしました。世代的には前に戻る形になりますが……。

HPのサーバは以前にML150 G6を持ってたのですが、騒音的にはなかなかの物で、避けてきましたが、Gen8からは静かとも聞いたの手を出してみました。
実際のところ1Uサーバですが、Fanが20%で回ってる分には気にならない程度です。

このサーバを中心に仮想環境を更新しているので、ブログも合わせて書いていこうと思います。

まずはHWまわりの部分に関して増設は以下の通りです。同じ構成で2台動かしてます。

  • HPE 764737-001(2Port FDR InfiniBand adapter)を増設
    LOMと呼ばれる交換できるオンボードNICで、もとは1GbEのカードが刺さってましたが、FDR対応のConnectX-3を買うより安かったので、LOMにInfiniBandを搭載しました。
  • HPE 647594-B21(4Port 1GbE Ethernet adapter)を増設
    LOMを外すと1GbEのポートがなくなるので、代わりに増設しました。
  • Xeon E5-2650L v2にCPU交換
    TDP 70Wで10Core20Threadなので、ワットパフォーマンスが良さそうだったので交換しました。
    もとがE5 2620で世代更新だったので嵌りました。
  • メモリ DDR3 48GBまで増設
    余ってるメモリでとりあえず増設しました。
    1CPUであと4スロット空いているので64GBまで増設したいです。

こだわりポイントは増設カードを純正で固めてるところです。HPEのサーバは純正以外のカードを使うとファンコントロールが効かなくなることがあるらしいので、NICに至っても純正を手配しました。

DeskMini GTXを組んだ

DeskMiniで一台組んでみました。
CPU性能はどうでも良かったのでCore i3 9100Fを積んで、適当なメモリを32GB、GTX1060です。

まあ、機械学習向けにnVIDIAを試したかっただけです。
GPU性能はRX580とあんまり変わらない感じで、小さい分熱がきつくて長時間の作業は向かないので機械学習としてはいまいちでした。

CPUはi3 9100Fが1万程度でしたが、PCまるごと3万程度だった2400GE(715p)と比較してほぼ差がなく、AMDは随分良くなったもんだな実感してます。

715pとDeskMiniと小型PCばかり触ってみましたが、小型にすると熱がきついので、GPU使う用途なら普通に組んだほうがいいですね。

ThinkCentre M715q Tiny が届いた

ThinkCentre M715qを買いました。
レノボ直販で3万ちょっとでした。
以下みたいな構成です。
Ryzen 5 2400GE
SSD NVMe 128GB
メモリ 8GB

安定のCinebench R15

適当なメモリを8GB追加してもう一度

FM2なAPUは使ってきたのですが、RyzenのAPUは初めてで、なかなか性能も高いですね。
これならメモリとSSDをもう少し増強すればメインユースとしても使えそう。

ESXi 6.7でiSCSIパス設定の変更

6.0まではC#クライアントが使えてそこから設定できたのですが、6.5以降はWebのみになり、設定ができなくなったのでコマンドの備忘録です。

SSH接続を有効にする or コンソールシェルで操作します。

とりあえずデバイス一覧を出します。

[root@localhost:~] esxcli storage nmp device list
naa.6001405e38e9c74a09c4962819b88603
   Device Display Name: LIO-ORG iSCSI Disk (naa.6001405e38e9c74a09c4962819b88603)
   Storage Array Type: VMW_SATP_ALUA
   Storage Array Type Device Config: {implicit_support=on; explicit_support=on; explicit_allow=on; alua_followover=on; action_OnRetryErrors=on; {TPG_id=0,TPG_state=AO}}
   Path Selection Policy: VMW_PSP_RR
   Path Selection Policy Device Config: {policy=rr,iops=1000,bytes=10485760,useANO=0; lastPathIndex=1: NumIOsPending=1,numBytesPending=512}
   Path Selection Policy Device Custom Config:
   Working Paths: vmhba64:C0:T0:L1, vmhba64:C2:T0:L1
   Is USB: false

naa.6001405cbaeb08b93c340679108942c9
   Device Display Name: LIO-ORG iSCSI Disk (naa.6001405cbaeb08b93c340679108942c9)
   Storage Array Type: VMW_SATP_ALUA
   Storage Array Type Device Config: {implicit_support=on; explicit_support=on; explicit_allow=on; alua_followover=on; action_OnRetryErrors=on; {TPG_id=0,TPG_state=AO}}
   Path Selection Policy: VMW_PSP_RR
   Path Selection Policy Device Config: {policy=rr,iops=1000,bytes=10485760,useANO=0; lastPathIndex=0: NumIOsPending=0,numBytesPending=0}
   Path Selection Policy Device Custom Config:
   Working Paths: vmhba64:C0:T0:L0, vmhba64:C2:T0:L0
   Is USB: false

Path Selection Policy: VMW_PSP_RRとなっている場所がパス選択ルールになります。内容は以下の通りです。

  • VMW_PSP_MRU(「最近の使用」モードの場合)
  • VMW_PSP_FIXED(「固定」モードの場合)
  • VMW_PSP_RR(「ラウンド ロビン」モードの場合)

そして変更は次のようにします。

esxcli storage nmp device set -d naa.6001405e38e9c74a09c4962819b88603 -P VMW_PSP_RR

CentOS7.6でInfiniBandでiSCSIなサーバを組む(5)

CentOS7.6向けのドライバ更新があったみたいなので OFED を入れようと思います。
ついでにESXi側の都合でETHモードにもしてみます。

ドライバは以下のを使用しました。適当なディレクトリにコピーしておきます。
MLNX_OFED_LINUX-3.4-2.0.0.0-rhel7.3-x86_64.iso

# mount -o ro,loop MLNX_OFED_LINUX-4.6-1.0.1.1-rhel7.6-x86_64.iso /mnt
# cd /mnt
# /mnt/mlnxofedinstall
# reboot

これでインストールできるはずです。

設定を追記してethモードに切り替えます。1,ib 2=eth

# vi /etc/modprobe.d/mlx4.conf
options mlx4_core port_type_array=2,2
# reboot

# ibstat
CA 'mlx4_0'
        CA type: MT26428
        Number of ports: 2
        Firmware version: 2.9.1000
        Hardware version: b0
        Node GUID: 0x0021280001fca108
        System image GUID: 0x0021280001fca10b
        Port 1:
                State: Active
                Physical state: LinkUp
                Rate: 10
                Base lid: 0
                LMC: 0
                SM lid: 0
                Capability mask: 0x00010000
                Port GUID: 0x022128fffefca108
                Link layer: Ethernet
        Port 2:
                State: Down
                Physical state: Disabled
                Rate: 10
                Base lid: 0
                LMC: 0
                SM lid: 0
                Capability mask: 0x00010000
                Port GUID: 0x022128fffefca109
                Link layer: Ethernet

Link layerがEthernetに変わりました。

ConnectX-2だとRateが10に落ちちゃうのが勿体無いですね・・・。

Ryzen R5 2600で組みました

Ryzen 3xxxも控えていますが、セットでかなり安かったので組んじゃいました。

構成はこんな感じ
AMD R5 2600
ASRock B450M STEEL LEGEND
Crucial P1
Ballistix W4U2666BMS-16G
AMD R9 Nano
Corsair CX550M

R9 Nanoだけ部屋に転がってたやつを使いましたが、それ以外は新品購入で約5万でした。

R7 1700X購入当初のベンチスコアを見てみると1473cbなので6コアで1244cbはなかなかですね。特に設定もせずに2666MHzでメモリが回るのも個人的にはなかなかGoodでした。

CentOS7.3でInfiniBandでiSCSIなサーバを組む(2)

MHQH29B-XTRですが、ConnectX-2シリーズのデュアルポートQDRなInfiniBandのカードになります。

シリーズ的にはずいぶん古いので認識するかが問題ですが、CentOS7.3はサポートしているのでおそらく行けるだろうと踏んでいます。

7.6をいろいろ試してみましたがどうにもうまく行かなかったので7.3にすることにしました。

続きを読む