orangeitems’s diary

クラウドで働くインフラエンジニアの日々の感想です(ほぼ毎日更新)。

ストレージのファームウェアアップデートを急ぐべき理由

f:id:orangeitems:20191211080937j:plain

 

続報

ストレージはユーザーのデータやアプリケーション/OS自体を保持している、システムの中での最重要部分です。

2019/12/11現在まだ解決していない、50自治体システム障害はまさにこのストレージを動かしているファームウェアが原因と聞いています。

この件に関して、日経xTECHから続報が出ています。

 

tech.nikkeibp.co.jp

2019年12月4日に発生した50自治体のシステム障害について2019年12月10日、不具合を起こした日本電子計算がIaaS「Jip-Base」で利用していたのは米デルテクノロジーズ(Dell Technologies)のストレージ装置「Dell EMC Unity 500」であることが分かった。

 

このニュースの読み方

本記事では、事実を積み上げていきたいと思います。

まず、Dell EMC Unityファミリーのドキュメントの場所です。

 

www.dellemc.com

 

この中に、「View All Release Documents」という項目があるのでクリックします。

f:id:orangeitems:20191211072817j:plain

 

ドキュメントの中に、「Dell EMC Unity Release Notes」という項目があり、こちらにこれまでのバグフィックスが掲載されています(PDFファイル)。

 

f:id:orangeitems:20191211073053p:plain


PDFファイルを開けると、これまでのファームウェアリリースの経緯がわかります。

 

f:id:orangeitems:20191211073250j:plain

 

結構、頻繁にアップデートされていると言う感触です。

2016年は毎月のように、2017年以降は2か月に1度ほどです。

ストレージの保守にあまり馴染みのない方は驚かれます。

ファームウェアが出るたびに、試験環境等でテストをされる現場においては、もうテストとアップデートの繰り返しになるのでは・・と思います。

いや、そんなキレイな現場ならいいのですが、導入した後何もアップデートしていません・・・という状況も稀ではないと思います。しかしそれがどれだけ危険なことかを思い知らされる更新頻度です。

 

さて、このPDFの下に「Fixed Issues」という章があり、ここにこれまでの修正された問題の概要が全て書かれています。

今回の現象と、どの問題にあたるかの関連はわかりませんが、なかなか厳しい現象が新しい問題に書かれています。

 

・A file system may have gone offline due to incorrect handling of an error during a shrink operation.

シュリンク操作中にエラーが正しく処理されないため、ファイルシステムがオフラインになることがある

 

・Host access was lost due to internal cache exhaustion.

内部キャッシュの枯渇によりホストアクセスが失われる。

 

Incorrect handling of an error in the SAS controller resulted in an unexpected storage processor reboot.

 SASコントローラーのエラーの誤った処理により、ストレージプロセッサーが予期せず再起動する。

 

・The file system went offline after the user executed a file system shrink operation.

ユーザーがファイルシステムのシュリンク操作を実行した後、ファイルシステムがオフラインになる。

 

・・・

 

PDFを見渡していただければわかる通り、そのFIXの数は少なくなく、これが「ストレージのファームウェアアップデートを急ぐべき理由」そのものです。

頻度といい、現象の内容といい、ストレージの保守がいかに大事かということです。

ストレージは、「単に、RAIDコントローラーから単一ディスクやRAID構成の複数ディスクに書き込む」という機能を超え、複雑な処理を行う一大システムであることを断言しておきたい、と思います。

 

悩ましい問題

このRelease Noteを見ても思うのですが、

・新機能を含んだメジャーバージョンアップ
・FIX中心のマイナーバージョンアップ

この2つが同時に行われるのが悩ましい問題です。

というのは、新機能を含ませることによって、新しい問題を作りこんでしまうことがあるからです。

このRelease Noteにも、新しい機能に対するFIXが含まれています。

新しい機能などいらないので、マイナーバージョンアップだけしたいと思っても、FIXはメジャーバージョンアップ後のファームウェアに含まれているケースも多いです。

基本的には「最新にしていく」というのが最適解のように思うのですが、最新にしたばっかりに未知のバグを踏み、障害に巻き込まれるということももちろんあります。

※考えてみれば、これらのFIXたちも、誰かが踏んでサポートに連絡したがために見つかった現象です。

枯れたバージョンで運用、最新バージョンで常に運用、どちらにもリスクがあるということを知る必要があります。

 

今回の50自治体システム障害がどのようなルールでストレージとお付き合いしていたのかは不明ですが、本当にストレージとお付き合いするのは大変だと思います。

何かあってもいいように、ストレージのファームウェアは常にリリース状況を確認し、リリースされたらすぐに適用できる体制こそ、重要だと思います。

一方で、ストレージのバックアップ体制は、利用ストレージとは別のベンダーを使うなど、疎結合で設計したほうがいいと考えます。同一ファームウェアで構成すると、同時に問題が発生し、バックアップ側も巻き込まれる可能性があるためです。あんまり、ストレージベンダーがうたう「耐障害性に関連する機能」を真に受けないほうがいいのではないかと・・・。愚直に別サイトにバックアップソフトでファイルコピーしておくのが安全じゃないかと思う時があります。

 

なお、本記事、Dell EMC Unityに限った話ではありません。どんなストレージでも同じ問題を抱えています。一般的な話として捉えるべきだと思います。