【NetApp】ディスク回転数誤認識の改善策としてのDQP更新

2021年3月14日

こんにちは、キクです。

今回の記事では僕が先日体験した「NetAppのDQP更新」について書いていこうと思います。
この経験をしたきっかけはスペアディスクの障害です。

障害が発生したディスクを交換した際に、新しいディスクが正常に認識されていないという状態でした。
具体的な「正常に認識されていない」という部分はディスクの回転数。
本来「10,000RPM」と認識されるディスクが「15,000RPM」と誤認識されたのです。

これに対応すべく今回のテーマとなるDQPの更新を行いました。

それでは、よろしくお願いします。

動作環境

本記事の内容は、下記の環境で実施したものになります。
・ONTAP 9.1

注意事項

本記事は僕が経験した内容をもとに記載しておりますが、実行環境や設定内容によっては動作が異なる場合があります。
そのため『参考程度』にお読みいただけますと幸いです。

DQPとは

まずはじめに今回の主役である「DQP」について簡単にご紹介します。
DQPとは「Disk Qualification Package」の略です。

公式の説明文を参照すると以下となります。

新しく認定されたドライブに対する完全なサポートを追加するためのパッケージ

DQPの更新は以下のような作業を行う前に必要となります。

DQP更新が必要になる主な作業

  1. ドライブファームウェアの更新
  2. 新しいタイプやサイズのドライブに対する完全なサポートの追加

僕が今回経験したケースは、使用中のONTAPと交換したディスクの情報に齟齬があったことからディスク回転数の情報が正しく認識できていませんでした。

これは上記のうちの「2」の対応として、DQPの更新が必要そうです。
このことから、DQPはONTAPがディスクを正しく認識するための橋渡しとなる情報と捉えることができます。

後述しますが、更新に必要な作業はDQPのダウンロードのみでした。
ダウンロード後、数分でONTAPがDQPを自動的に処理して適用されます。
もう少し詳細に書くと、ONTAPでは約5〜10分の間隔でファイルの変更時刻が変更されているかを確認します。
この変更時刻が前回の確認時と違っていれば、異なるDQPファイルであると判断されて処理が実行されるという流れになります。

DQPの更新方法

ここからはDQPを更新するためのコマンドを見ていきましょう。

作業前のディスク回転数確認

以下のコマンドを実行して、DQP更新前のディスク情報を確認します。

今回のケースでは、対象ディスクの回転数が「15,000RPM」となっていることを確認しました。

::> system node run -node * -command sysconfig -r

コマンド冒頭にある「system node run」はクラスター内の指定したノードで特定のコマンドを実行するために指定するものです。

続く「-node *」ではコマンドを実行するノードを指定しています。
今回の場合はアスタリスク( * )なので全ノードが対象となります。

最後の「-command」以降では、実際に実行するコマンドを指定しています。
本作業で実行している「sysconfig -r」は、ディスク情報を表示するためのコマンドとなります。

advanced権限に変更

次の手順で実施するDQPインストールはadvanced権限という強い権限で実施する必要があります。
そのため、以下のコマンドを実行して権限を変更します。

::> set -privilege advanced

advanced権限は非常に強力な権限なので取り扱いには注意が必要です。
また、権限が切り替わることでプロンプトも「::>」から「::*>」に切り替わります。

DQPインストール

続いて、本作業のメインとなるDQPインストールを実施します。

コマンドとしてはダウンロードですが、ダウンロードしたあとにONTAPでよしなにインストールを行ってくれます。

::> storage firmware download -node * -package-url http://DQPファイル格納先パス

このコマンドによって指定したノードに対してDQPをインストールすることができます。

また「-package-url」で「http://」を指定していることからも分かるように、ONTAPからWebサーバに接続してDQPをインストールしています。
http以外にもftpやtftp、fileなどのプロトコルを用いてのインストールも可能です。

また、この作業をするためには事前にONTAPから接続可能なWebサーバやFTPサーバ上にDQPファイルを格納しておく必要があります。
そのため事前準備として実施しておきましょう。
以上で操作が必要な更新作業は完了となります。

あとは5〜10分程度待てば自動的にDQPが更新されます。

admin権限に変更

既に述べたようにadvanced権限は非常に強力な権限です。
必要な作業が済んだらadmin権限に戻りましょう。

::> set -privilege admin

更新後の確認

最後にDQPがちゃんと適用されてディスクが正常に認識されるようになったかを確認します。

DQP更新確認

以下のコマンドを実行して表示される「#Datecode: ○○」が意図した結果になっているかを確認しましょう。

::> systemnode run -node ノード名 -command rdfile /etc/qual_devices_バージョン番号

インストール時には「-node *」となっていましたが、ここでは「-node <ノード名>」と1台ずつの確認となっています。
実行結果は結構長いので、1台ずつ正確に確認していきましょう

作業後のディスク回転数確認

いよいよディスク回転数の確認です。
本作業の先頭で実行した以下のコマンドによりDQP更新後のディスク回転数を確認しましょう。

::> system node run -node * -command sysconfig -r

「15,000RPM」と表示されていた対象ディスクの回転数が「10,000RPM」が表示されるようになり、無事本作業は終了です。

おわりに

いかがでしたでしょうか。

作業自体はシンプルな内容だったかと思います。
今回実施した方法以外にも更新する手段は存在するのですが、「ONTAPでのファイル読み込み時にDQPファイルが正常なものかチェックが入るためより安全」ということを教わったので今回の方法を選択しました。
本記事は僕の記録用としての要素が強くなってしまいましたが、同じような事象になってしまった方にとって少しでも参考になる情報となれば嬉しいです。

本記事を最後まで読んでいただき、ありがとうございました。
ではでは!

-NetApp
-