VMwareな日々

Blog移管しました 新URLはこちら https://lab8010.com/

小規模vSphere クラスター環境構築 on PowerEdge VRTX(番外編) 共有ストレージのトラブルシューティング

今回、環境構築の早期の段階で、共有ストレージへの接続性についての問題が発生したため、備忘録かつトラブルシューティングのアプローチ手法を確認頂くために、記事にまとめて見ます。

 

まず前提として、トラブルへの対処手順は複数存在するということです。

記事をお読み頂いた方の中には、”もっと自分なら違う方法がある”という方もおられるかもしれません。今回はトラブルシュートの基本を学びたい方向けの記事であることを先んじてご了承ください。

 

さて、まずトラブルシュートの基本は私は3段階だと捉えています。

  1. 問題定義
  2. 原因調査
  3. ソリューション(アクション、対処とも言う)

1. 問題定義:特定ホストでの共有ストレージLUNマウント不可

f:id:instructor8010:20180806135822p:plain

まずは問題ですが、何が問題かといいますと、3ノードで構成されたクラスターノードのうち、1ノードだけが共有ストレージ領域であるLUNをマウントできていないということです。今回は、VRTXシャーシ内 Slot 4に搭載されたPowerEdge M620でのみ発生している問題です。

 

2. 原因調査

この問題の原因を探るべく、次の事を実施してみました。

  • 該当ホスト上でのストレージ アダプター、VMFS、デバイスのスキャン → 同事象継続
  • 該当ホストのハイパーバイザー自体の再起動 → 同事象継続
  • 該当ホストのログ調査 → 複数回PCI バスに関連するエラーを確認
  • 該当ホストでのESXi再インストール → 同事象継続
  • 共有ストレージのマウント解除及び再マウント → 同事象継続
  • ファームウェア類の更新 → 最新版適用をしてみても同事象継続
  • 他2台のサーバーを停止し、本機だけを起動した状態でのアクセス確認 → 同事象継続
  • 3台のサーバーでBIOSやホストの設定を比較 → BIOSもホストの設定も3台全て共通

上記作業では改善が見られませんでしたが、ログ調査ではPCIバス 0:3:0と3:0:0でのBus Fatal Errorを確認できました。

f:id:instructor8010:20180806140408p:plain

iDRACで見ています、リモートからログが閲覧出来るのは大変便利

このバスのうち、0:3:0はというと、どうやらShared PERC8コントローラーに接続をするためのメザニンカードであることが確認できました。

f:id:instructor8010:20180806140521p:plain

上のエラーの右端ですが、Mezzanine Bというコンポーネントでエラーが起きている模様

概ね原因箇所が洗い出せたので、次のトラブルシューティングを試みます。

  1. ブレードサーバーの搭載スロット位置の変更
  2. メザニンカードのスワップ

1で改善してしまえば、VRTX内部のミッドプレーン(各種サーバーやディスク群の搭載基盤)側の問題だと言えるでしょう。

2で改善してしまえば、メザニンというコンポーネントの問題だと言えるでしょう。

いずれでも改善しない場合は、可能性としてはバスを持つデバイスということで、同機種のマザーボードの可能性が高いと考えられます。

理由としては、他の2台のPowerEdgeでは該当の共有ストレージにアクセスができているため、VRTX側のRAIDコントローラーやディスク群には問題があるとは言い難い状態です。

補足としては、PowerEdge VRTX筐体上のShared PERC領域への接続には、PCI メザニンがあることでアクセスパスが提供される形となっています。

つまり、下図でいう赤色の経路上の問題であり、複数のサーバーでは以上が見られないため、”PCIe Switch 1"と”Integrated Storage Controller 1(Shared PERC8)”には障害がないのではないか?という見立てです。

f:id:instructor8010:20180806171625p:plain

https://qrl.dell.com/files/en-us/html/manuals/vrtx/mapping%20pcie%20expansion%20slots=guid-3476b49e-4110-4f4f-8b3f-9aa4f783e2ea=2=en-us=.html

ということで、早速、1と2の作業をしてみます。

まずはメンテナンスモードでホストの停止準備をします。

f:id:instructor8010:20180806142412p:plain

メンテナンスモード、忘れずに!

そして、ホストを停止します。

f:id:instructor8010:20180806142909p:plain

そして、電源が落ちたPowerEdgeを確認し....

f:id:instructor8010:20180806143904p:plain

今回の障害が発生しているホスト

f:id:instructor8010:20180806144011p:plain

電源LEDが消灯になりました、この状態であれば筐体から抜去できます

f:id:instructor8010:20180806145051p:plain

筐体からブレードを抜きます。筐体サイズは結構長いですね。

f:id:instructor8010:20180806145608p:plain

赤い枠内に2つのメザニンカードが搭載されています。左側がB、右側がCです。

本当はせっかくブレードサーバーも開けたので、メザニンカードの抜き差しや、メザニンBとC間の入れ替えなど行いたかったのですが、一度に多くの作業を行ってしまうと、原因箇所特定が困難になりますので、まずはブレードスロットの入れ替えだけを行います。この後ブレードサーバーをスロット2に搭載し、電源起動します。

すると...

f:id:instructor8010:20180806150012p:plain

早速エラーが発生しています。液晶パネルのオレンジや、スロット2内のサーバーのLEDがオレンジ色です。

別スロット搭載時でも同じエラーが確認できました。つまりスロット依存ではない(筐体側の問題ではない)可能性が一段と上がりました。

f:id:instructor8010:20180806150301p:plain

起動自体がスタックかつスロット箇所変更後も同じPCI Bus Fatal Errorが発生

ここまで来れば、PowerEdge M620内のマザーボードまたはメザニンカードのいずれかが障害点であることまで絞り込めました。

ここで一応、メザニンカードを外した状態でブレードサーバーを再装着し、起動すると、すんなりESXiが起動してきました。起動のスタック自体の原因が、PCI Bus Fatal Errorによるものであることは確認が出来ました。

一応メザニンカード搭載箇所に、元メザニンCスロットにあったものを、Bスロットに搭載し、サーバーを再起動してみます。なお、この作業前に、iDRAC内のログを一旦削除し、新規でのPCIバスの問題がロギングされたらわかりやすいようにしておきます。

f:id:instructor8010:20180806153755p:plain

ログを削除した、という記録のみです。新規のエラーは一目瞭然です。


さて、メザニンBスロットとCスロットに搭載されていたメザニン カードをスワップしてみて再度サーバーを起動してみます。

f:id:instructor8010:20180806154949p:plain

また同じエラーが発生しました。

ここまで来ると、どうやらマザーボード一択のような気がするので、更に正常動作しているPowerEdge M620のメザニンを2枚借用し、起動を試しますが、結果としては同じでした(結論、マザーボードで確定でしょう)

逆に、問題が発生していたサーバーのメザニンカードを、正常動作サーバーに搭載した所エラーなく起動し、PERC配下のストレージ領域も確認が出来ていたため、メザニンカードも問題がないことがわかりました。

 

以上です。ブログを書きながらトラブルシューティングを行っていたので、かなり長文になってしまいました。主にハードウェアレベルでの話も多く見えますが、vMotionがあるおかげで、仮想マシンを単一ホストに寄せてハードウェア入れ替えなどの作業を手軽に試せたことは言うまでもありません。

 

ここまでで、原因=マザーボードという点までは絞れましたので、後は交換編です。

交換については後日必要パーツを準備後、交換の様子も記事にしてみたいと思います。