DELL PowerStore バグ サービス停止

メーカー製品

PowerStoreでだいぶエグいバグを引いてしまった。2022/6現在そのバグが改修されたOSはリリースされておらず、ドキドキしながら運用中。

発生したバグの状況

  • NAS-ServerをNode1からNode2へ移動(瞬断レベルの切替)
  • NAS-Serverに付与していたIPの応答が無くなる
  • 2時間以上応答無し
  • 放置してたら応答が返ってきた(実際はてんやわんやしてた)

たまらん。サービス影響時間が長すぎる。

調査内容

根本原因

  • 過去に取得したスナップショットにおいてReady状態とならなかったものが存在した(要するに壊れたままのスナップショット)

発生理由

  • Nodeの移動時は 一時的にユーザーのファイルシステムをアンマウントする内部処理を行うが、該当のスナップショットが有る事で、システムから切り離すのに時間を要した

対応方法

事象解決方法

  • Ready状態にならないスナップショットを削除

根本解消方法

  • PowerStoreOSv3.x (Foothill Prime) にて修正予定(※2022/6現在、リリース予定日も未確定)

暫定対策

  • Ready状態にならないスナップショットが存在するかを監視する術無し
  • コマンドなどで簡単に確認する術無し→DELLのサポートへ解析依頼が必要

暫定対策

  • Ready状態にならないスナップショットはスケジュールされているものからは切り離される(スケジュールで削除ができないため、そのまま残るという理論らしい)
  • 手動でスナップショットを取得する運用がなければ、スナップショットの個数は必ず定数のため、不要に増えていればReady状態にならないスナップショットができあがったと判定できる
  • 監視用スクリプトは次のセクション

監視用スクリプト

現在のスナップショットの個数を取得するスクリプト

#!/bin/bash
set -eu

# 設定
# passwordはSSH用のserviceアカウントのもの
SERVER='10.0.0.1'
OPTION='-o StrictHostKeyChecking=no'
SSH_USER='service'
LOGIN_PW='Passw0rd'

# powerstoreのsnapshot一覧をワンライナーで取得するコマンド
# (-select は別にしてもしなくてもいい。取得する情報を限定しているだけ)
# passwordはadminアカウントのもの
cmd="pstcli \
  -d localhost \
  -u admin \
  -p 'Passw0rd' \
  -ssl accept \
  file_system show\
    -select name,filesystem_type"

# main
function exec_cmd_on_remote() {
  # リモートでコマンドを実行
  # SSHのログインを自動化するためにexpectを使用
  expect -c "
  set timeout 30
  spawn env LANG=C /usr/bin/ssh ${OPTION} ${SSH_USER}@${SERVER} $cmd
  expect \"password:\"
  send \"${LOGIN_PW}\n\"
  expect eof
  exit 0
  "
}

# 実行コマンド(snapshot一覧の保存)
exec_cmd_on_remote > /usr/local/tmp/results-powerstore-snap.txt

判定用スクリプト

  • スナップショットの個数:10は環境によって異なる
  • echoの部分を監視システムにAPIで投げるやメールプログラムに食わすなどをすればOK
#!/bin/bash

# snapshot count get
snapshot_total=`cat /usr/local/tmp/results-powerstore-snap.txt | grep Snapshot | wc -l`

# error check ( OK number 10 )
if [ $snapshot_total -eq 10 ]; then
    echo "snapshot_count OK."
else
    echo "snapshot_count NG!!"
fi

あとがき

リリース日は2022/6/28ということが確定したが、3系のメジャーバージョンは初公開。サクっと本番をアップデートするってわけにはいかなさそうだ。。。悩ましい。

コメント