AdaptecRAIDの管理コンソールツール maxView Storage Manager .
そこに含まれる障害時発送メール(Javamail 1.4.7)は、昔ながらの TLS 1.0/1.1 には対応しているが、今主流の TLS 1.2 には未対応である。
なので TLS対応無し で請けてくれるSMTPを探して転送をお願いするか、間に中継(SMTPリレー)を用意してSMTPに渡すかになる.
当初、SMTPの受け入れ側で office365 を念頭にしたが、調べるとハードルが高い. direct send方式を採用すればいけそうだが、無理でした...
資料: https://learn.microsoft.com/en-us/exchange/mail-flow-best-practices/how-to-set-up-a-multifunction-device-or-application-to-send-email-using-microsoft-365-or-office-365
ならばと、回線プロバイダーのSMTPを利用することにした.
SMTPリレーの構築. rockylinux9のpostfix(v 3.5.9)を使います
[root@rockylinux9 ~]# cat /etc/redhat-release
Rocky Linux release 9.4 (Blue Onyx)
[root@rockylinux9 ~]# dnf install postfix
[root@rockylinux9 ~]# vi /etc/postfix/main.cf
(定義済みの「smtp_tls_security_level=may」は行削除)
(末尾に下記を追記)
smtp_tls_security_level = encrypt
smtp_tls_wrappermode = yes
transport_maps = hash:/etc/postfix/transport
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/relay_password
smtp_sasl_security_options = noanonymous
smtp_tls_loglevel = 1
[root@rockylinux9 ~]#
/etc/postfix/transportは、postfixの対応を示したもので、localhost, localhost.localdomain, 自ホスト(rockylinux9.sybyl.local)はpostfixで処理するが、それ以外「*」は外部のSMTPに流すという意味です
ここでは回線プロバイダが提供している「vsmtp.xxxxxxxx.jp」に投げます. このファイルですが、postmap コマンドでハッシュ化させて、平文の「/etc/postfix/transport」を削除します.
postfixは「/etc/postfix/transport.db」を参照します
[root@rockylinux9 ~]# vi /etc/postfix/transport
localhost :
localhost.localdomain :
rockylinux9.sybyl.local :
* smtp:[vsmtp.xxxxxxxx.jp]:465
[root@rockylinux9 ~]# postmap hash:/etc/postfix/transport
[root@rockylinux9 ~]# ls -l /etc/postfix/transport*
-rw-r--r--. 1 root root 97 Oct 18 18:42 /etc/postfix/transport
-rw-r--r--. 1 root root 12288 Oct 18 18:42 /etc/postfix/transport.db
[root@rockylinux9 ~]# rm /etc/postfix/transport
次に「/etc/postfix/relay_password」を作ります. こちらはSMTPへのお願いするときに認証が要求されます. その認証用のアカウントとパスワードを記載したものです.
こちらも平文は残したくないので、postmap コマンドでハッシュ化させて、オリジナルの「/etc/postfix/relay_password」は削除します.
[root@rockylinux9 ~]# vi /etc/postfix/relay_password
[vsmtp.xxxxxxxx.jp]:465 <メールアドレス>:<パスワード>
[root@rockylinux9 ~]# postmap hash:/etc/postfix/relay_password
[root@rockylinux9 ~]# rm /etc/postfix/relay_password
これで準備が整ったので、postfixを起動させます.
[root@rockylinux9 ~]# systemctl enable postfix --now
次に「maxView Storage Manager」側の設定
「maxView Storage Manager」に入って左ツリーの根本「Enterprise View」を選択して、上部メニューの「System」から「System Setting」を開きます
「SMTP」欄を開いて「Enable Email Notification」を有効にして「SMTP Server Address」を自ホスト(localhost)にします. 自ホストでSMTPリレーのpostfixを動かしているから
「SMTP Server Port」はそのままです。25だからとfirewall-cmdで25の穴を作る必要はないです. 自ホストなので不要
次に「Sender Information」ですが、「Use Secure Mail Server」はチャックなし.「User Name/EMail Address」は通知メールの差出人となります。存在するメールアドレスを入力します
あとは「Email」欄を開いて通知先を入力します. その際現象の程度に応じることができそう. その設定が終わったら「Send Test Email」ボタンを押下して実際にメールが届くか確認します
文面はこんな感じでした
MICROSEMI EMAIL NOTIFICATION MANAGER (Instant)
Event Type: Informational
Event Source: storage@rockylinux9.sybyl.local
Date: 10/18/2024
Time: 09:56:18 PM JST
EVENT LIST
This is a test event.
**[Note]: This message was generated by the maxView Storage Manager. Please do not reply to this message.
注意点
他の目的に転用されないように注意かな.
旧製品の Series 8 な製品に対応する maxView Storage Manager を Rockylinux9にインストールするには
インストール前に
[root@rockylinux9 ~]# mkdir /etc/init.d
と「/etc/init.d」を作ってから maxView Storage Manager をインストールします。本来はサポート外みたい
現行製品群(2024.10)
https://storage.microsemi.com/en-us/support/
Microsemi Adaptec RAID 8405 がある. もちろんebayで購入. Adaptec Series 8 シリーズ品
https://storage.microsemi.com/en-us/support/raid/sas_raid/asr-8405/
「lspci -v」でみると
05:00.0 RAID bus controller: Adaptec Series 8 12G SAS/PCIe 3 (rev 01)
Subsystem: Adaptec Device 0562
こんな感じ.
下記URLから「Bios Updates and Other Downloads」リンクをクリックして「Adaptec RAID 8405 Firmware Build 33556」を入手します
https://storage.microsemi.com/en-us/support/raid/sas_raid/asr-8405/
取得したファイルは「8405_fw_b33556.zip(3.8MB)」。このファイルを展開します
[root@e ~]# mkdir adaptec
[root@e ~]# cd adaptec/
[root@e adaptec]# unzip ../8405_fw_b33556.zip
Archive: ../8405_fw_b33556.zip
inflating: afu.exe
inflating: AS840501.ufi
[root@e adaptec]# file ./*
./afu.exe: MS-DOS executable
./AS840501.ufi: data
[root@e adaptec]#
afu.exeはwindows向けのプログラム. AS840501.ufiが目的のfirmware. どうやらfirmwareにlinux向けのupdaterは入ってないご様子.
どうもAdaptecのfirmwareには「ARCCONF」コマンドが必要みたい. この「ARCCONF」は先ほどのダウンロードサイトにて単体で入手できるが、
「maxView Storage Manager」パッケージの付属品としても含まれている.
ここでは後ほどどうせ「maxView Storage Manager」を構築するので「maxView Storage Manager」パッケージの付属品な「ARCCONF」を使う.
っで先のサイトで「Storage Manager Downloads」リンク先から「maxView Storage Manager v3.07.23850 for Linux x64」を取得する.
ファイル名は「msm_linux_x64_v3_07_23850.tgz(872MB)」で、これを展開します.
[root@e ~]# mkdir msm
[root@e ~]# cd msm
[root@e msm]# tar xf ../msm_linux_x64_v3_07_23850.tgz
展開して、その中に「cmdline/rpm/Arcconf-3.07-23850.x86_64.rpm」を入れる
[root@e msm]# dnf localinstall cmdline/rpm/Arcconf-3.07-23850.x86_64.rpm
[root@e msm]# ls -l /usr/Arcconf/
total 21476
-rwxrwxrwx 1 root root 21930062 Nov 26 2020 arcconf
-rwxrwxrwx 1 root root 8696 Nov 26 2020 License.txt
-rwxrwxrwx 1 root root 42134 Nov 26 2020 README.TXT
[root@e msm]#
っで実際に動かしてみる.
[root@e ~]# /usr/Arcconf/arcconf GETCONFIG 1
:
Controller Status : Optimal
Controller Mode : RAID (Expose RAW)
Channel description : SAS/SATA
Controller Model : Adaptec ASR8405
:
BIOS : 7.11-0 (33173)
Firmware : 7.11-0 (33173)
Driver : 1.2-1 (50877)
Boot Flash : 7.11-0 (33173)
CPLD (Load version/ Flash version) : 8/ 11
SEEPROM (Load version/ Flash version) : 1/ 1
FCT Custom Init String Version : 0x0
:
[root@e ~]#
取得したfirmwareは「33556」で現状は「33173」なので、取得したfirmwareを当ててみる
[root@e ~]# cd adaptec/
[root@e adaptec]# ls
afu.exe AS840501.ufi
[root@e adaptec]# /usr/Arcconf/arcconf ROMUPDATE 1 AS840501
Controllers found: 1
Are you sure you want to continue?
Press y, then ENTER to continue or press ENTER to abort: y
Updating controller 1 firmware...
Succeeded
You must restart the system for firmware updates to take effect.
Command completed successfully.
[root@e adaptec]#
っで再起動します
そして確認
[root@e ~]# /usr/Arcconf/arcconf GETCONFIG 1
:
BIOS : 7.18-0 (33556)
Firmware : 7.18-0 (33556)
Driver : 1.2-1 (50877)
Boot Flash : 7.18-0 (33556)
CPLD (Load version/ Flash version) : 8/ 11
SEEPROM (Load version/ Flash version) : 1/ 1
FCT Custom Init String Version : 0x0
:
[root@e ~]#
と更新を確認
firmwareを更新したので次はLinux側のドライバーを変えてみた. 本来はOS提供のドライバーで十分なのでしょうけど.
ダウンロードサイトで「Linux Driver Source Code」からドライバーを入手します.
ここではdkms向けの「Dynamic Kernel Module Source 1.2.1-60001 for Linux」を入手.
ファイル名は「aacraid-dkms-1.2.1.60001.tgz(444KB)」
[root@e ~]# mkdir aacraid-dkms
[root@e ~]# cd aacraid-dkms/
[root@e aacraid-dkms]# tar xf ../aacraid-dkms-1.2.1.60001.tgz
[root@e aacraid-dkms]# ls -lF rpm/
total 252
-rwxrwxrwx 1 root root 238744 Dec 24 2020 aacraid-1.2.1.60001-1dkms.noarch.rpm*
-rwxrwxrwx 1 root root 4279 Dec 24 2020 readme_rpm.txt*
-rwxrwxrwx 1 root root 4254 Dec 24 2020 readme.txt*
[root@e aacraid-dkms]#
rpmファイルをインストールします
[root@e ~]# dnf localinstall aacraid-dkms/rpm/aacraid-1.2.1.60001-1dkms.noarch.rpm
:
Loading new aacraid-1.2.1.60001 DKMS files...
Deprecated feature: REMAKE_INITRD
Building for 4.18.0-372.9.1.el8.x86_64
Building initial module for 4.18.0-372.9.1.el8.x86_64
Deprecated feature: REMAKE_INITRD
Error! Bad return status for module build on kernel: 4.18.0-372.9.1.el8.x86_64 (x86_64)
Consult /var/lib/dkms/aacraid/1.2.1.60001/build/make.log for more information.
warning: %post(aacraid-1.2.1.60001-1dkms.noarch) scriptlet failed, exit status 10
Error in POSTIN scriptlet in rpm package aacraid
Verifying : aacraid-1.2.1.60001-1dkms.noarch 1/1
Installed:
aacraid-1.2.1.60001-1dkms.noarch
Complete!
[root@e ~]#