自宅のシステムはiSCSIのディスクが単一障害点になっています。
共有ディスクに関しては冗長化するのは難しいと思っていましたが、DRBD+Keepalived +NFSを用いてESXiで使える冗長化共有ディスクを試してみようと思います。
「Linux」カテゴリーアーカイブ
CentOS Stream 8でKubernetesを入れる
普段は仮想化といえば仮想マシンを使うばかりでしたが、コンテナもつかって見たくなったのでKubernetesを入れてみます。
続きを読むCentOS7からP440ar越しにS.M.A.R.T.を取りたい
P440arでRAID組んでいるので備忘録です。HBA経由だと取れなかったりして困りますが、HPE SmartArrayシリーズは見えるのがあるみたいです。
定番のsmartctlを使いたいので、インストールします。
yum install smartmontools
あとはsmartctrlでRAIDを組んでいるブロックデバイスを指定しつつ–device=cciss,<ドライブn番目>の指定で物理デバイスの情報が取れます。
このときのブロックデバイスとドライブ番号の関係はクセがあって、sdaのメンバってわけではないみたいです。sdaを指定しつつsdbのメンバが見れます。順序はポート順で0~指定のようです。
# smartctl -a /dev/sda --device=cciss,0
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-1160.36.2.el7.x86_64] (local build)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Vendor: HGST
Product: HUS724040ALS641
Revision: MS01
Compliance: SPC-4
User Capacity: 4,000,787,030,016 bytes [4.00 TB]
Logical block size: 512 bytes
Formatted with type 2 protection
8 bytes of protection information per logical block
LU is resource provisioned, LBPRZ=0
Rotation Rate: 7200 rpm
Form Factor: 3.5 inches
Logical Unit id: 0x5000cca03bd0f838
Serial number: XXXXXXX
Device type: disk
Transport protocol: SAS (SPL-3)
Local Time is: Thu Sep 2 22:18:24 2021 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
Temperature Warning: Enabled
=== START OF READ SMART DATA SECTION ===
SMART Health Status: OK
Current Drive Temperature: 33 C
Drive Trip Temperature: 55 C
Manufactured in week 28 of year 2014
Specified cycle count over device lifetime: 50000
Accumulated start-stop cycles: 46
Specified load-unload count over device lifetime: 600000
Accumulated load-unload cycles: 1944
Elements in grown defect list: 5
Vendor (Seagate Cache) information
Blocks sent to initiator = 1445588281327616
Error counter log:
Errors Corrected by Total Correction Gigabytes Total
ECC rereads/ errors algorithm processed uncorrected
fast | delayed rewrites corrected invocations [10^9 bytes] errors
read: 66086 12 0 66098 3287963 242807.667 8
write: 0 0 0 0 82469 24609.590 0
verify: 0 0 0 0 1874 0.000 0
Non-medium error count: 0
No Self-tests have been logged
CentOS7.9でInfiniBandでiSCSIなサーバを組む(6)
NICをCA05954-2101に交換しました。ConnectX-3の富士通のOEMです。
FDR/40GbEが使えるはずです。

とりあえずOFEDを入れます。
# yum install gtk2 atk cairo gcc-gfortran tcsh lsof tcl tk # mount -o ro,loop MLNX_OFED_LINUX-4.9-2.2.4.0-rhel7.9-x86_64.iso /mnt # cd /mnt # /mnt/mlnxofedinstall # reboot
OFEDをインストールするとファームアップデートに失敗した旨のエラーが出ると思います。せっかくなので富士通のサイトからファームウェアをダウンロードしてアップデートします。
以下のULRからファムウェアをダウンロードし、F1025573.exeをWindowsPCで実行すると解凍されるので、「242500F1.bin」をサーバにコピーします。
https://azby.fmworld.net/app/customer/driversearch/ia/drviadownload?driverNumber=F1025573
コピーできたらmst statusでデバイスを確認し、flintでファームアップデートします。
# mst start
Starting MST (Mellanox Software Tools) driver set
Loading MST PCI module - Success
Loading MST PCI configuration module - Success
Create devices
-W- Missing "lsusb" command, skipping MTUSB devices detection
# mst status
MST modules:
------------
MST PCI module loaded
MST PCI configuration module loaded
MST devices:
------------
/dev/mst/mt4099_pciconf0 - PCI configuration cycles access.
domain:bus:dev.fn=0000:86:00.0 addr.reg=88 data.reg=92 cr_bar.gw_offset=-1
Chip revision is: 01
/dev/mst/mt4099_pci_cr0 - PCI direct access.
domain:bus:dev.fn=0000:86:00.0 bar=0x90100000 size=0x100000
Chip revision is: 01
# flint -d /dev/mst/mt4099_pci_cr0 -i 242500F1.bin burn
Current FW version on flash: 2.11.1250
New FW version: 2.42.5000
Burning FS2 FW image without signatures - OK
Restoring signature - OK
# reboot
ESXi6.7がInfiniBandで接続できないので、ETHモードに変更します。
# mst start
Starting MST (Mellanox Software Tools) driver set
Loading MST PCI module - Success
Loading MST PCI configuration module - Success
Create devices
-W- Missing "lsusb" command, skipping MTUSB devices detection
[root@sv5 ~]# mlxconfig -d /dev/mst/mt4099_pci_cr0 s LINK_TYPE_P1=ETH
Device #1:
----------
Device type: ConnectX3
Device: /dev/mst/mt4099_pci_cr0
Configurations: Next Boot New
LINK_TYPE_P1 VPI(3) ETH(2)
Apply new Configuration? (y/n) [n] : y
Applying... Done!
-I- Please reboot machine to load new configurations.
# reboot
再起動できたら、ibstatで確認します。
Link layerがEthernetになっているのでOKです。
# ibstat
CA 'mlx4_0'
CA type: MT4099
Number of ports: 1
Firmware version: 2.42.5000
Hardware version: 1
Node GUID: 0x0002c90300221790
System image GUID: 0x0002c90300221793
Port 1:
State: Active
Physical state: LinkUp
Rate: 40
Base lid: 0
LMC: 0
SM lid: 0
Capability mask: 0x00010000
Port GUID: 0x0202c9fffe221790
Link layer: Ethernet
CentOS7.9でInfiniBandでiSCSIなサーバを組む(5)
RAIDを再構築したので、iSCSIの設定も直します。
とは言ってもほぼ前回の設定にblockを再登録してやるだけです。
# targetcli /backstores/block create name=lun1 dev=/dev/md/md12tb # targetcli /iscsi/iqn.2019-06.net.gurres:sv5/tpg1/luns create /backstores/block/lun1 Created LUN 0. Created LUN 0->0 mapping in node ACL iqn.1998-01.com.vmware:6040b1c9-2ba6-d590-6806-d89d672e3b7c-06d61254 Created LUN 0->0 mapping in node ACL iqn.1998-01.com.vmware:6040a857-f73b-4db8-da2a-2880239a1080-7f718476 # targetcli ls o- / ..................................................................... [...] o- backstores .......................................................... [...] | o- block .............................................. [Storage Objects: 1] | | o- lun1 .................. [/dev/md/md12tb (10.9TiB) write-thru activated] | | o- alua ............................................... [ALUA Groups: 1] | | o- default_tg_pt_gp ................... [ALUA state: Active/optimized] | o- fileio ............................................. [Storage Objects: 0] | o- pscsi .............................................. [Storage Objects: 0] | o- ramdisk ............................................ [Storage Objects: 0] o- iscsi ........................................................ [Targets: 1] | o- iqn.2019-06.net.gurres:sv5 .................................... [TPGs: 1] | o- tpg1 ........................................... [no-gen-acls, no-auth] | o- acls ...................................................... [ACLs: 2] | | o- iqn.1998-01.com.vmware:6040a857-f73b-4db8-da2a-2880239a1080-7f718476 [Mapped LUNs: 1] | | | o- mapped_lun0 .............................. [lun0 block/lun1 (rw)] | | o- iqn.1998-01.com.vmware:6040b1c9-2ba6-d590-6806-d89d672e3b7c-06d61254 [Mapped LUNs: 1] | | o- mapped_lun0 .............................. [lun0 block/lun1 (rw)] | o- luns ...................................................... [LUNs: 1] | | o- lun0 ............. [block/lun1 (/dev/md/md12tb) (default_tg_pt_gp)] | o- portals ................................................ [Portals: 1] | o- 0.0.0.0:3260 ................................................. [OK] o- loopback ..................................................... [Targets: 0] o- qla2xxx ...................................................... [Targets: 0] # targetcli saveconfig Last 10 configs saved in /etc/target/backup/. Configuration saved to /etc/target/saveconfig.json # systemctl restart target.service
ESXiから認識させ、データストアを作ります。
ベンチマークのため、既存のWin10の仮想マシンに新規ディスクを作り、作成したデータストアに配置します。
CrystalDiskMarkで以下のような結果になりました。

前回の倍程度は出てますが、マシン上で出した1200MB/sに比べると物足りないですね。
おそらく10GbEが足を引っ張っていそうです。
NIC自体はConnectX-3なんですがQDR対応版なので、イーサネットは10Gまでしか出ません。FDR対応版だと40GbEに対応です。
ESXi側とSwitchは40G対応なので、NIC交換すればもう少し稼げるんでしょうか。
CentOS7.9でInfiniBandでiSCSIなサーバを組む(4)
紆余曲折ありましたが、バックプレーンボードが届いたので、取り付けて1TB✕14でRAIDを組もうと思います。
IBM x3650 M4にはIBM m5110eというRAIDカードが搭載されてますが、基本的にはRAID6には対応してません。また、ディスクをRAID構成なしで放置するとエラーを吐くので、RAID0で1台構成にする必要があります。
数台程度なら良いのですが、14台をWebBIOSで設定するのは骨が折れたので、コマンドからなんとかしようと思います。
続きを読むCentOS7.9でInfiniBandでiSCSIなサーバを組む(3)
前回RAIDの設定をしたので、iSCSIを設定していきます。
ほぼ7.3でやった内容のおさらいです。
CentOS7.9でInfiniBandでiSCSIなサーバを組む(2)
このシリーズはInfiniBandと言いつつ接続はイーサネットモードになります。
アダプタがInfiniBand対応なのでタイトルで行きます。
ConnectX-3はCentOS7系で最小インストールでドライバをサポートしてます。なので今回は標準のドライバで行きます。
RAIDの設定は前回同様にSoftwareRAIDのmdadmで行きたいと思います。
HW RAIDを搭載しているのでHW RAIDでもよいのですが、x3650 M4は標準でm5110eのRAIDカードが積んでおり、RAID6もサポートしてますが、接続はSFF-8087を2ポートなので、8ベイ分なので、16ベイ分搭載するにはRAIDカードの増設が要ります。
今回はm5110とバックプレーンを増設し、bootディスクを抜いて10~14台でアレイを組む予定にしています。
RAIDカードを跨ってRAIDは組めないので、SoftwareRAIDでRAID6の予定です。
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を組んでパフォーマンスを見ようと思います。
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に落ちちゃうのが勿体無いですね・・・。