OpenMediaVault7 (OMV7) で作る PC2台連携 108TB RAID6 システム【Part 2】

これまで、OpenMediaVault 5 (以後 OMV5) 、OpenMediaVault 6 (以後 OMV6) を使って RAID Z 、RAID Z2 を実現し、使ってまいりましたが、ディスクの使用容量が増えるにしたがって、動作に問題が生じて来ました。読み出し時に一瞬止まるのです。主に動画で再生時に詰まった様な動作になるのです。一時間の再生動画で 1-2 回以上は一瞬止まります。RAID Z, RAID Z2 はメモリー食いなのでメモリー不足なのかも知れません。それに、大容量のディスク装置も結局は殆ど NAS として使っているだけなので、今一 RAID Z, RAID Z2 の機能が生かしきれていません。・・で、ディスクの容量増大に伴って、軽いシステムである RAID5, RAID6 を OpenMedia 7 (以後 OMV7) で実現、全面的に移行します。

この記事では、PC2台を連携して 18TB x 6台 (=108TB) + 2台(エラー訂正ディスク) の RAID6 システムを実現します。なお、先に OpenMediaVault7 (OMV7) で作る PC1台 54TB RAID5 システム【Part 1】【Part 2】を読まれている事を前提にしていますので、既にそちらで説明しているものは、項目だけ 列挙する事があります。

全体構成・動作説明

全体構成を上図に示します。master 側から見ると Disk 8台の RAID6 システムとして動きます。Disk 8台中、4台は iSCSI ディスクとして slave 側に配置します。それぞれ全体の IP も決まっていますので、記入してあります。全体構成を考えながら、作成していくと何をやっているか理解し易いと思います。

なお、上記の図にはありませんが、リモートコントロールiLO のポートとして各PC1ポート消費しています。それぞれの IP 番号を書いておきます。

master PC iLO   : 192.168.11.40  ← master PC モニター・コントロール 低速可
master PC eno1  : 192.168.11.41  ← メインのデータI/Oポート 最高速度(1Gbps)必要
slave  PC iLO   : 192.168.11.140 ← slave  PC モニター・コントロール 低速可
slave  PC eno1  : 192.168.11.141 ← slave PC の Webコントロール 低速可
  高速が必要な1ポートを含む4ポートがLANとつながります。

  PC間のみ通信(高速が必要)
master PC eno2  : 192.168.12.41  ← 高速が必要(0.7Gbps以上)なので 1Gbpsポート使用
slave  PC eno2  : 192.168.12.141 ← 高速が必要(0.7Gbps以上)なので 1Gbpsポート使用

iSCSI ディスク (slave)

それでは、先に Slave 側の iSCSI ディスクを作ります。slave 側の PC を設定していきます。

鈴木のOMV7 ベースセット から 変更・追加

鈴木のOMV7ベースセットを少し加工していきます。

Kernel 選定 ・操作プラグイン アンインストール

Kernel を Linux 6.8.4-3-pve だけにしようと思ったのですが、プラグイン導入時に amd64系でないと上手く導入できない場合があるみたいです。なので、 Linux 6.8.4-3-pev,   Linux 6.1.0-21 amd64 を残して他のKernelを消去します。で、amd64 を選んでおきます。

iLO IPアドレス変更

ILO の IP アドレスを変更します。ブラウザに  http://192.168.11.40  で直接入って IP 192.168.11.40 → 192.168.11.140 に変更します。変更したら、確認の為 新しい設定で OMV7 を立ち上げて下さい。

ホスト名変更

ネットワーク → 一般 → ホスト名をopenmedia-41 → openmedia-141 に変更

ネットワークインターフェースを変更

ネットワークインターフェースを変更します。ネットワークインターフェースが複数ある場合、インターネットに繋ぐ側のみ ゲートウェイ、DNSサーバーを設定します。もう一方は アドレスとネットマスクのみ設定します。これで、一方はインターネット通信を含むコントロール系、もう一方は機器同士の通信に特化して使う事ができます。

ネットワーク → インターフェース  eno1を以下の様に編集して保存

 IPV4
  メソッド     : スタティック
  アドレス     : 192.168.11.141
  ネットマスク : 255.255.255.0
  ゲートウェイ : 192.168.11.1

 高度な設定
  DNSサーバー  : 192.168.11.1
ネットワーク → インターフェース  eno2を以下の様に編集して保存

 IPV4
  メソッド     : スタティック
  アドレス     : 192.168.12.141
  ネットマスク : 255.255.255.0
  ゲートウェイ : 

 高度な設定
  DNSサーバー  :

一旦 ログオフして 192.168.11.141 でログオンします。

ハードディスク装着 & iSCSI (target) 導入

ハードディスク装着

ここで、一度、Shutdown して、ハードディスクを装着します。再度起動して、Web管理画面を立ち上げます。同時にSSH端末を起動します。4つのストレージをワイプします。クイックで十分です。

ストレージ → ディスク → sda - sde のハードディスク(USBは選ばない事) をワイプ x 4回

iSCSI target プラグイン を導入します。

システム → プラグイン → openmediavault-tgt 7.x 選んでインストール
サービス → tgt → 設定 → Enable → 保存
サービス → tgt → Targets → ⊕(作成)

 名前:disk4 ← [disk4 〜 disk7 対象ディスク判別の為、disk4~7と命名]
 Backing Store:/dev/disk/by-id/[各ディスクのIDを書く] ← DiskInfoS.shからコピペ
 Initiator Adress:192.168.12.41 ← OMV7(Master) のIPを書く
 追加オプション: (なし)

上記の状態で Enable → 保存 すると iqn (=iqn.2024-06.local.openmedia-141:disk4) が作られる。disk4,disk5,disk6,disk7 の順で作ります。

StartUptime.sh に Timeout Mismatch 対策 を追加

StarUptime.sh に Timeout Mismatch 対策を追加します。Timeout Mismatch の説明は何度もしていますので、OpenMediaVault6 (OMV6) で作る PC2台連携 48TB RAID Z2 システム【Part 1】 を参考にして下さい。StarUptime.sh を

#!/bin/bash

# StartUptime.sh ( StartUptime.sh StartUp timing program for slave )

PATH=/usr/sbin:/usr/bin:/sbin:/bin

DISK4=$(_DiskIdS.sh 4)
DISK5=$(_DiskIdS.sh 5)
DISK6=$(_DiskIdS.sh 6)
DISK7=$(_DiskIdS.sh 7)

LOG=/var/log/installer/StartUptime_log

date > $LOG

# echo "" >> $LOG
# echo "# cat /porc/mdstat" >> $LOG
# cat /proc/mdstat >> $LOG

# echo "" >> $LOG
# echo "# systemctl restart tgt.service" >> $LOG
# systemctl restart tgt.service >> $LOG

echo "" >> $LOG
echo "# smartctl -l scterc,70,70 $DISK4" >> $LOG
smartctl -l scterc,70,70 $DISK4 >> $LOG

echo "" >> $LOG
echo "# smartctl -l scterc,70,70 $DISK5" >> $LOG
smartctl -l scterc,70,70 $DISK5 >> $LOG

echo "" >> $LOG
echo "# smartctl -l scterc,70,70 $DISK6" >> $LOG
smartctl -l scterc,70,70 $DISK6 >> $LOG

echo "" >> $LOG
echo "# smartctl -l scterc,70,70 $DISK7" >> $LOG
smartctl -l scterc,70,70 $DISK7 >> $LOG

とします。再起動して動作を確かめる前に Kernel を Linux 6.8.4-3-pev に切り替えます。実行結果の StartUptime_log を貼っておきます。date >  $LOG の後で # でコメントアウトされている 6 行はmdadmドライバの不活性化処理 の確認用 + tgt.service の restart です。

Disk4 〜 Disk7 のセクタエラーリカバリータイムが 7.0 秒に設定されているのが分かります。
この後【Part1】でも説明した mdadmドライバの不活性化処理の準備をやります。上記 date > $LOG の後 6 行の # を消して有効にして下さい。/etc/mdadm/mdadm.conf を編集して、#DEVICE partitions containers に DEVICE /dev/sd[wxyz] と書き込んで下さい。/etc/mdadm/mdadm.conf に対して、他の書き込み 処理は必要ありません。動作の確認は ハードディスクが RAID6 メンバーとなりスーパーブロックが書き込まれないとできませんので、master 側で RAID を作成した後にやります。後、意味があるかどうかわかりませんが、その確認時に SSH 端末で以下の行を実行します。
# update-initramfs -u

ここで、一旦 slave 側 PC の設定、終わりです。

RAID6 ディスク 8台 (master)

ディスク8台 の RAID6 システムを作っていきます。master側 PC ( =全体 ) の設定をしていきます。

鈴木のOMV7 ベースセット から 変更・追加

iSCSIディスクと同様、鈴木のOMV7ベースセットを少し加工していきます。

Kernel 選定 ・操作プラグイン アンインストール

プラグイン導入時に amd64系でないと上手く導入できない場合があるのは iSCSIディスク同様です。なので、 Linux 6.8.4-3-pev,   Linux 6.1.0-21 amd64 を残して他のKernelを消去します。で、amd64 を選んでおきます。

ネットワークインターフェースを変更

ネットワークインターフェースを変更します。ネットワークインターフェースが複数ある場合、インターネットに繋ぐ側のみ ゲートウェイ、DNSサーバーを設定します。もう一方は アドレスとネットマスクのみ設定します。これで、一方はインターネット通信を含むコントロール系、もう一方は機器同士の通信に特化して使う事ができます。

ネットワーク → インターフェース  eno1を以下の様になっているのを確認 (特にやる事なし)

 IPV4
  メソッド     : スタティック
  アドレス     : 192.168.11.41
  ネットマスク : 255.255.255.0
  ゲートウェイ : 192.168.11.1

 高度な設定
  DNSサーバー  : 192.168.11.1
ネットワーク → インターフェース  eno2を以下の様に編集して保存

 IPV4
  メソッド     : スタティック
  アドレス     : 192.168.12.41
  ネットマスク : 255.255.255.0
  ゲートウェイ : 

 高度な設定
  DNSサーバー  :

RAID 用 md プラグインを導入

ここで、md プラグインを導入しておきます。

システム → プラグイン → openmediavault-md 7.x をインストール
mdプラグイン導入後に、Kernel を Linux 6.8.4-3-pevに切り替えて、おきます。

ハードディスク装着 & open-scsi 導入

ここで、一度、Shutdown して、ハードディスクを装着します。装着ディスクは正面から見て左からDISK0, DISK1, DISK2, DISK3 とします。リストで並べた時も整列するよう、シリアルの若いものから DISK0, DISK1 ・・と装着すると良いでしょう。再度起動して、Web管理画面、SSH端末を立ち上げます。

Open iSCSI 導入 & 設定

iSCSIと連携する為にOpen iSCSI インストール。SSH端末から

# apt-get install open-iscsi

次に、/etc/iscsi/initiatorname.iscsi ファイルを nano エディタで開き iqn 4個を設定します。設定した内容を cat で表示して置きます。これは iSCSI target プラグインに設定した内容です。

iscsid.service  open-iscsi.serviceを restart して置きます。

# systemctl restart iscsid.service open-iscsi.service

このあと “discovery” して “login” するとiSCSI ディスクがつながりますが 一気に4台、繋いでしまうとディスクが disk4~disk7 の順でマウントされない可能性が大きいです。結果 md0 デバイスを作る際にディスクの順が入れ替わります。順序混乱はメンテナンス時の失敗の元ですので、loginは 一個ずつ、順序良くディスクをつないで行きます。なお、これらの作業は実際は StartUptime.sh の中に記述してStarUptime時に自動で行います。

discovery 命令です。

# iscsiadm -m discovery -t sendtargets -p 192.168.12.141

login命令は disk4 〜 disk7 別々に実行します。(disk4 の例)

# iscsiadm -m node -T iqn.2024-06.local.openmedia-141:disk4 -p 192.168.12.141 --login

これら一連の命令を実行し Part1 で作成した DiskInfoM.sh を使って確認をします。 iSCSI ディスクの内 disk4 と disk6 を繋いだようすです。(実際は disk4 , disk5, disk6, disk7 の順ですべて繋ぎます) 当然ですが、 iSCSI ディスクは先に起動しておきます。

一寸、実験して DISK4 〜 DISK7 も繋がりそう (= DiskInfoM.shで /sdn として認識できる) ならば、DISK 0 〜 DISK7 を自動で認識してみましょう。mster用の StartUptime.sh を以下に作成します。
#!/bin/bash

# StartUptime.sh ( StartUptime.sh StartUptime execute program for master )

PATH=/usr/sbin:/usr/bin:/sbin:/bin

DISK0=$(_DiskIdM.sh 0)
DISK1=$(_DiskIdM.sh 1)
DISK2=$(_DiskIdM.sh 2)
DISK3=$(_DiskIdM.sh 3)
DISK4=$(_DiskIdM.sh 4)
DISK5=$(_DiskIdM.sh 5)
DISK6=$(_DiskIdM.sh 6)
DISK7=$(_DiskIdM.sh 7)

LOG=/var/log/installer/StartUptime_log

date > $LOG

echo "" >> $LOG
echo "# cat /proc/mdstat" >> $LOG
cat /proc/mdstat >> $LOG 2>&1

echo "" >> $LOG
echo "# systemctl restart iscsid.service open-iscsi.service" >> $LOG
systemctl restart iscsid.service open-iscsi.service >> $LOG 2>&1

echo "" >> $LOG
echo "# iscsiadm -m discovery -t sendtargets -p 192.168.12.141" >> $LOG
iscsiadm -m discovery -t sendtargets -p 192.168.12.141 >> $LOG 2>&1

echo "" >> $LOG
echo "# iscsiadm -m node -T iqn.2024-06.local.openmedia-141:disk4 -p 192.168.12.141 --login" >> $LOG
iscsiadm -m node -T iqn.2024-06.local.openmedia-141:disk4 -p 192.168.12.141 --login >> $LOG 2>&1

echo "" >> $LOG
echo "# iscsiadm -m node -T iqn.2024-06.local.openmedia-141:disk5 -p 192.168.12.141 --login" >> $LOG
iscsiadm -m node -T iqn.2024-06.local.openmedia-141:disk5 -p 192.168.12.141 --login >> $LOG 2>&1

echo "" >> $LOG
echo "# iscsiadm -m node -T iqn.2024-06.local.openmedia-141:disk6 -p 192.168.12.141 --login" >> $LOG
iscsiadm -m node -T iqn.2024-06.local.openmedia-141:disk6 -p 192.168.12.141 --login >> $LOG 2>&1

echo "" >> $LOG
echo "# iscsiadm -m node -T iqn.2024-06.local.openmedia-141:disk7 -p 192.168.12.141 --login" >> $LOG
iscsiadm -m node -T iqn.2024-06.local.openmedia-141:disk7 -p 192.168.12.141 --login >> $LOG 2>&1

DISK0 ~ DISK7 動作確認

さて、ここで、RAID ディスクを作成する前に、自動で DISK0 (= sda) 〜 DISK7 (=sdi) が、そろうか確認をしましょう。また、順次各プログラムの確認も致します。まず、各 PC の電源の入れ方ですが、電源ON 時は必ず slave PC を先にします。また、電源 OFF はmaster PC を先にします。要は master PC が動作している時 (= RAID 動作時 ) は必ず iSCSI側 (= slave PC ) が動いている必要があります。iSCSI側が動作していないと、 master側は DEVICE の一部を見失い、たちまちディスクがエラーになってしまいます。 なんなら、slave 側は電源OFFの必要が無ければ ずっと 電源 ON 状態でもかまいません。それでは、以下の手順で確認を行っていきます。下記で 正規手続きと言っているのは、OMVから電源シャットダウンするという意味です。

(1) master PC の ShutDown.sh の動作を確認。 (Beep 1回で 終わる事を確認する)
(2) master PC 電源 OFF (正規手続きで..) 
(3) slave  PC 電源 OFF (正規手続きで..)
(4) slave  PC 電源 ON
(5) master PC 電源 ON
(6) slave  PC が立ち上がったら SSH 端末から cat /var/log/installer/StartUptime_log
    を打ち、slave のログ確認 (=立ち上がった時の動作の確認)をする。
(7) master PC が立ち上がったら SSH 端末から cat /var/log/installer/StartUptime_log
    を打ち、master のログ確認 (=立ち上がった時の動作の確認)をする。
(8) 全て順調なのを確認したら、master PC の SSH で DiskInfoM.sh を打つ。
(9) sda 〜 sdi を確認したら OK

master PC で DiskInfoM.sh → sda 〜 sdi を確認できれば、順調にすべてのディスクが認識できています。もし slave PC (= iSCSI側 )のドライブが上手く認識できていない場合は sdf 〜 sdi が表示されないので、分かります。 ここで、一旦休憩します。

ストレージ 

さて、休憩も終わり、ここから RAID6 を構築していきます。まず、各ハードディスクをスワイプします。

ストレージ → Multiple Device ( md0 作成 )

通常のディスクでは sda, sdb … に相当する “multiple devices” md0 を作成します。プラグインで作成する方法も一応、説明しますが、お勧めはコマンド使用の方です。
【プラグイン使用の場合】
ストレージ → Multiple Device → ⊕(作成) → Level RAID 6 を選んで → デバイス選択でディスクを選びます。(この時 sda、sdb、sdc、・・・の順に並んでいる事を確認する) これで md0 が作られます。
cat /proc/mdstat で md0 の構成を見る事ができます。 0番ディスクは sdaに 1番は sdb ・・にと設定通りになっています。(構成後しばらくは resync が動作している、resync 表示は省いてある。resync中も問題なく次の段階に進む事ができる)。この方法だと resync を止める事ができません。本システムでは resync に 10日以上 (10時間ではありません) かかるみたいです。
【コマンド使用の場合】
より繊細な制御ができるので、こちらがお勧めです。コマンドでmd0 を作ってもプラグインで確認できます。DiskInfoM.sh を使うと diskx と sdx の関係がすぐわかります。
この場合は disk0 〜 disk 7 の並びは sda, sdb, sdc, sdd, sdf, sdg, sdh, sdi となるので、以下のコマンドで md0 を作成します。
# mdadm --create --verbose --force --assume-clean \
  --raid-devices=8 --level=raid6 /dev/md0  /dev/sd[abcdfghi]

実際の作成、確認の様子です。この時は sda 〜 sdi すべて記入したみたいですね (^0^)

resync が動いていないのも確認できます。( resync は見かけ上動作してないのだが、定期的なディスクアクセスがあり、バックグランドで動いている気がする。2TBの別のディスクで確認した所、24時間前後に定期的なアクセスが止まった。resyncの時間と酷似する。してみると18TBでは 9日前後 定期的にディスクアクセスが続くのでは…)

mdadmドライバ不活性化

Master側

RAID6 ディスクにフォーマットしたので、mdadmドライバ不活性化をする必要があります。でないと再起動時に挙動がおかしくなります。まず、mdadm.conf を raid6.conf に複製します。

# cp /etc/mdadm/mdadm.conf /etc/mdadm/raid6.conf      複製しておく

/etc/mdadm/mdadm.conf に DEVICE  /dev/sd[wxyz] を書き込みます。/etc/mdadm/raid6.conf では、すべてのDEVICEをスキャンしますので、raid6.conf には書き込みがない事を確認しておきます。mdadm.conf, raid6.conf 両者にARRAY 情報を付加します。(多分 mdadm.conf 側は必要ない … かもね)

# mdadm --detail --scan >> /etc/mdadm/mdadm.conf
# mdadm --detail --scan >> /etc/mdadm/raid6.conf

以下のコマンドを実行します。

# update-initramfs -u

一連の作業結果を表示します。

Slave側

slave 側は /etc/mdadm/mdadm.conf は作成済み、特にやる事はありません。念の為 slave 側の SSH端末から

# update-initramfs -u

を実行しておきましょう。mdadmドライバ不活性化の確認は 再起動時のRAID環境の再構築でやります。

ストレージ → ファイルシステム

この (Multiple Devce) md0 をフォーマットして、システムにマウントするのが “ファイルシステム” の役目ですが、ここでは、md0 のフォーマットはコマンドで行います。
# mkfs -t ext4 /dev/md0
これで、EXT4 で フォーマット済みの md0 ができましたので、これをマウントします。
ストレージ → ファイルシステム → ▶(既存のファイルシステムをマウントします。) でファイルシステム /dev/md0 が選べます。これで、md0 がマウントされます。
 # df でマウント先を見ると /srv/dev-disk-by-uuid-xxxx とUUIDから自動生成したらしく、やたら長い、ださい、扱いずらい。この値は当然、UUIDによって異なる事になる。以下UUID毎に異なるので /srv/dev-disk-by-uuid-xxxx と表現するこの後の共有フォルダ設定では、このフォルダ下、共有フォルダが自動で作られる。まあ、Windows から SMB 設定でアクセスするには共有フォルダまでしか見えないので、OMV7 の場合と割り切って、進める事にする。 (後で、扱いやすいフォルダにも再マウントします)

ストレージ → 共有フォルダ

共有フォルダを作っていきます。
 ⊕(作成) → 名前 RAID6-0 とし ファイルシステムは /dev/md0 [EXT4..] を選びます。相対パスは自動で RAID6-0/ となります。
で、 /srv/dev-disk-by-uuid-xxxx下に RAID6-0 ができているのを確認します。

サービス

SMB( サンバプロトコル ) でWindows からの共有設定をします。

サービス → SMB/CIFS → 設定

サービス → SMB/CIFS → 設定 は 良く分からず WORKGROUP を有効にしました。

サービス → SMB/CIFS → 共有

サービス → SMB/CIFS → ⊕(作成) 共有フォルダを選択 → RAID6-0  ✔ ゴミ箱を有効化

ユーザー

各自 自由に設定して下さい。
ここまでで、Windows から共有できるはずなので、試してみて下さい。

他の Linux System との共有も便利に・・

他のリナックスとのデータ共有を考えた場合、共有フォルダ名が、長かったり、複雑だったりすると扱いずらいので、md0 を分かり易いフォルダ名 /array-0 に再マウントします。
# mkdir /array-0
# mount /dev/md0 /array-0
/array-0 下の共有ホルダ と 従来の /srv/dev-disk-by-uuid-xxxx下の共有ホルダが同じ事を確認します。
これで、コマンドベース、フルパスでフォルダを指定する場合、短い単純な名前で扱う事ができます。他にマウントポイントを array-1 , array-2 と作っておきます。他の Linux System とデータのやり取りはarray-1, array-2 に nfs で共有フォルダをマウントすると扱いやすいです。

再起動時のRAID環境の再構築

RAID環境の確認

さて、ここまでで RAID 6 環境が出来上がりましたが、再起動時についても設定します。PC2台で連携するには、再起動時に手順どおり進める必要があるのでので、単純な /etc/fstab を用いた再構成をやめて、( =fstab の最終行をコメントアウトして下さい )、StartUptime.sh で再構成を行っています。 以下にソースを示します。”Open iSCSI 導入 & 設定” に作成した部分と”Timeout Mismatch 対策 “用は、グレーアウトしておきます。【追加 2025年4月12日】RAIDメンテナンスの為に iSCSI 設定終了 & RAID 設定開始 ポイントを設けました。メンテナンス時に exit 0 前の # を編集・削除して RAID 設定 直前状態でシステムを立ち上げる事ができます。下記のリストに 赤字 で追加しました。

# iSCSI setting end & Raid6 setting start
# exit 0 # break point for check
【追加 ここまで
#!/bin/bash

# StartUptime.sh ( StartUptime.sh StartUptime execute program for master )

PATH=/usr/sbin:/usr/bin:/sbin:/bin

DISK0=$(_DiskIdM.sh 0)
DISK1=$(_DiskIdM.sh 1)
DISK2=$(_DiskIdM.sh 2)
DISK3=$(_DiskIdM.sh 3)
DISK4=$(_DiskIdM.sh 4)
DISK5=$(_DiskIdM.sh 5)
DISK6=$(_DiskIdM.sh 6)
DISK7=$(_DiskIdM.sh 7)

LOG=/var/log/installer/StartUptime_log

date > $LOG

echo "" >> $LOG
echo "# cat /proc/mdstat" >> $LOG
cat /proc/mdstat >> $LOG 2>&1

echo "" >> $LOG
echo "# systemctl restart iscsid.service open-iscsi.service" >> $LOG
systemctl restart iscsid.service open-iscsi.service >> $LOG 2>&1

echo "" >> $LOG
echo "# iscsiadm -m discovery -t sendtargets -p 192.168.12.141" >> $LOG
iscsiadm -m discovery -t sendtargets -p 192.168.12.141 >> $LOG 2>&1

echo "" >> $LOG
echo "# iscsiadm -m node -T iqn.2024-06.local.openmedia-141:disk4 -p 192.168.12.141 --login" >> $LOG
iscsiadm -m node -T iqn.2024-06.local.openmedia-141:disk4 -p 192.168.12.141 --login >> $LOG 2>&1

echo "" >> $LOG
echo "# iscsiadm -m node -T iqn.2024-06.local.openmedia-141:disk5 -p 192.168.12.141 --login" >> $LOG
iscsiadm -m node -T iqn.2024-06.local.openmedia-141:disk5 -p 192.168.12.141 --login >> $LOG 2>&1

echo "" >> $LOG
echo "# iscsiadm -m node -T iqn.2024-06.local.openmedia-141:disk6 -p 192.168.12.141 --login" >> $LOG
iscsiadm -m node -T iqn.2024-06.local.openmedia-141:disk6 -p 192.168.12.141 --login >> $LOG 2>&1

echo "" >> $LOG
echo "# iscsiadm -m node -T iqn.2024-06.local.openmedia-141:disk7 -p 192.168.12.141 --login" >> $LOG
iscsiadm -m node -T iqn.2024-06.local.openmedia-141:disk7 -p 192.168.12.141 --login >> $LOG 2>&1

# iSCSI setting end & Raid6 setting start
# exit 0 # break point for check

# ここから /dev/md0 の再構成&チェック $MOUNT01, /array-0 のマウント
echo "" >> $LOG
echo "# mdadm -As --config=/etc/mdadm/raid6.conf" >> $LOG
mdadm -As --config=/etc/mdadm/raid6.conf >> $LOG 2>&1 ; sleep 5

echo "" >> $LOG
echo "# cat /proc/mdstat" >> $LOG
cat /proc/mdstat >> $LOG 2>&1

MOUNT01=/srv/dev-disk-by-uuid-xxxx # 各UUID毎に異なる生成された値をいれる
echo "" >> $LOG
echo "# mount -v /dev/md0 $MOUNT01" >> $LOG
mount -v /dev/md0 $MOUNT01 >> $LOG 2>&1

echo "" >> $LOG
echo "# mount -v /dev/md0 /array-0" >> $LOG
mount -v /dev/md0 /array-0 >> $LOG 2>&1

# 以下 ↓ は Timeout Mismatch 対策

echo "" >> $LOG
echo "# smartctl -l scterc,70,70 $DISK0" >> $LOG
smartctl -l scterc,70,70 $DISK0 >> $LOG 2>&1

echo "" >> $LOG
echo "# smartctl -l scterc,70,70 $DISK1" >> $LOG
smartctl -l scterc,70,70 $DISK1 >> $LOG 2>&1

echo "" >> $LOG
echo "# smartctl -l scterc,70,70 $DISK2" >> $LOG
smartctl -l scterc,70,70 $DISK2 >> $LOG 2>&1

echo "" >> $LOG
echo "# smartctl -l scterc,70,70 $DISK3" >> $LOG
smartctl -l scterc,70,70 $DISK3 >> $LOG 2>&1

以下に、現在運用中の StartUptime_log をコメント付きで載せておきます。iqnの値が違っていたりしますが、各行の内容を理解して進めて下さい。Masterディスクの分の mdadmドライバ不活性化の確認も最初に行っています。

mdadmドライバ不活性化の確認

上記 master:StartUptime.sh のLOGを見ると、日時に続く行で /proc/mdstat の項目が Personalities と unused devices の2行のみになっています。つまり、mdadmドライバが不活性化状態になっています。これで、master側の 立ち上がり時のmdadmドライバ不活性は確認できました。

slave 側 ( =iSCSI側 ) にも触れておきましょう。現在運用中の slave の StatrUptime.sh の コメント付きLOG です。

その時の tgt-admin  –dump です。ちゃんとディスクが 4台見えますね。

この結果から、slave 側の立ち上がり時 mdadmドライバ不活性化 も確認できました。

以上

Part3 は 色々、悩んだ自分用の備忘録としてデータとしては残しますが、内容は間違っている所が多々あります。なので…. 次は Part4 です。

【Part4へ続く
タイトルとURLをコピーしました