DIERCTSCAN / 並列同時解析

2.0TB超えの大容量HDD, RAID, サーバまで難なく対応:並列同時解析の完成: 2016年9月より、AIによるデータスキャン作業に成功。低コストで安全に復旧いたします。

手作業による技術開発(2001年)から、弊社の復旧技術開発はスタートいたしました。しかし、ハードディスクの容量が劇的に増加し始め、この方式では不十分な面が出てきてしまいました。そこで、2005年後半より一つ一つの作業を”オブジェクト”(生成するだけで扱えるようになります)としてまとめ始め、最終目標の一つとなります”同時解析(並列処理)”に向け、一歩一歩、地道に開発する事に決定いたしました。まず、各作業の依存具合を調査し、継承関係(これを行いませんと、似たロジックをまとめられません)を調査する目的を含め、まとめて制御を可能とする”DIRECTSCAN Ver1.x”,”DIRECTSCAN Ver2.0″, “DIRECTSCAN Ver3.0″を開発いたしました。

このDIRECTSCANおよび必要とされていた細かい作業を並列化および同時処理できるように改良いたしまして、従来では厳しい”重なり合った障害”を見抜いた上で速度と精度を高めた”並列同時解析”の完成(2011年9月)に至っております。

◇ 並列同時解析 / DIRECTSCAN の特徴について

HGST製 2000GB(2.0TB)のハードディスクです。このレベルのディスクが普及(2012年現在)し始めており、データ復旧に関しましても需要の増加が見込まれます。しかし、主流の500GB~1000GBと比べ2倍~4倍の容量です。さらには、ランダムアクセスの性質上、どこに書き込まれるか分かりません。これをスキャンする着実な方式でデータ復旧を行いますと、お見積の方も主流と比べ2倍~4倍になる可能性が……。だからといって、安全性を捨てるのはもっての外です。2024年現在、上は24TBに達しております。また、普及価格帯クラスのドライブでも8TB以上です。

◇ 安全を維持 最適コストで大容量ドライブに対処

全てを新しく1から組み直すには、検証その他を含め、現実的ではありません。現状にて上手く動作しているコードをなるべく流用し、上手く組み立てていく方法を優先いたしました。それでも開発に1年、それから1年近い検証期間を必要といたしております。お時間を最も必要といたしまして、なおかつ復旧精度を決めるデータスキャン作業がございます。この作業では、データを構成するセクタイメージの取得に力を入れており、必要不可欠な作業です。
※ 旧技術では、この部分の処理に関しましては、1から10まで指示を出す必要があります。これがハードディスク容量上昇と同時にコストアップへと繋がってしまいます。

新技術では、この部分を大幅に改善いたしまして、今まで蓄積してまいりました技術ノウハウを全て注ぎ込み、大部分の自動化に成功いたしました。また、この先の新しい媒体に関しましては、派生する等で対応可能になるよう設計いたしました。HDD(SSD)の構造が変わらない限り、DIRECTSCANを改良しこの先も対応可能な見込みです。

◇ 本技術の詳細について

大容量ハードディスクにて、作業時間の大幅増加が懸念されるデータスキャン作業および再構築作業がございます。そのまま従来通りの技術では、容量に比例して時間が上昇してしまう点をご案内いたしました。では、その点を改善するため、以下のような仕組みを図りました。

左側の灰色ボックス内がカプセル化です。DIRECTSCANと名付けまして、昔からの弊社パートナーさんにも配布いたしております。各種アルゴリズムの動作および連携は、このボックス内部で全て処理されます。外部からは何も意識する必要性がなく、作業ミスなどもありません。このような指示を与えて結果を受け取る効率的なシステムを、3年の月日を費やし完成に至りました。本来、各アルゴリズムはバラバラですので、全て手作業でした。一つ一つの作業を行うため、どうしてもコストを要します。

◇ DIRECTSCAN / 並列同時解析 作業の流れ

◇ 初期診断作業
1 最短時間にて負担がないよう診断を実施いたします。※ 現在の状況を把握します。
2 スキャンが通常(レベル1~2、クラスタ)レベルで可能か判断いたします。
3 2の過程で不可判定の場合、別の手法(セクタ単位レベル)を試します。
4 3の過程で不可判定の場合、クリーンルーム作業を検討します。
※ 1番の段階であっても、危険と判断できる場合には、クリーンルームの作業検討となります。このようにデータ復旧作業では、例外的な処理が多く、臨機応変に対応する必要性がございます。
※ 2番、3番に関しましては、独自ソフトウェアにて素早く実施いたしております。

初期診断作業に関しましては、従来と同様の技術・手順を改良いたしております。
2番、3番に関しましてDIRECTSCAN / 並列同時解析 の「初期診断アルゴリズム」に置き換わった形です。これだけでも一度に処理できるため、確実かつ短時間で診断を完了できます。

◇ クリーンルーム作業
1 [少しでも最良な条件を作る]:
HDD/SSDに付着するホコリをできる限り除去します。
2 [表面検査]:
トップカバーの開封に着手しプラッタ表面の状態を検査します。
3 [破損個所回収]:
正常動作を阻害する直接的な要因を全て取り除きます。(例:吸着したヘッド等)
4 [剥離した磁性体除去]:
内部の汚れている個所(削られた磁性体)を除去しそれらを回収します。
5 [内部部品交換]:
破損した部品を全て取り除き正常品から取り外したものと交換します。
6 [最終チェック]:
全部品を再確認いたします。確認のちトップカバーを閉じで作業完了です。
7 [ファームウェア修復]:
状況によってはファームウェア系統の修復を実施します。

物理障害重度の場合、クリーンルーム作業を実施いたします。

◇ データスキャン作業・データ再構築作業・データ整合性検査・データ移転作業(並列処理) 各RAIDにも問題なく対応いたします。

ここからがDIRECTSCAN / 並列同時解析 カプセル化(まとめられた技術)の本領発揮です。今までは別々だったスキャンや各作業が、一つにまとめられ、自動的に最適なスキャンが次々と行われる仕組みです。

例1:不良セクタが拡散している場合……Windowsが起動せず、再起動を繰り返す以下の手続きは全部自動にて行われます。そして、これが大容量でもコスト削減につながっております。 もちろん、例外的な処理は必ず動作が停止いたしますので、手動にて指示を入力する安全な面も備えます。
1, 接続されたドライブの固有情報を取得します。
2, 1番の固有情報から、そのドライブの特性に合ったパターンファイルをロードします。
3, 予測アルゴリズムを動かすのに必要な部分が実体化されます。
4, データスキャンアルゴリズムが実体化、予測に必要な場所をスキャンいたします。
5, データスキャン区間決定アルゴリズムが実体化、4番で得られた調査結果をロードし、2番で取得いたしましたパターンファイルと比較しつつ、最適なスキャン区間を決定、アウトプットします。
6, データスキャンアルゴリズムへ、5番にて決定された区間を渡しまして、セクタイメージを取得させます。
7, NTFS 再構築アルゴリズムを実体化、セクタイメージを再構築いたします。ここでデータが出てきます。
8, データ整合性検査アルゴリズムを実体化、データを検査し問題ない場合は納品メディアへデータを移転します。
9, データリスト生成アルゴリズムを実体化、データのリストを生成いたします。

例2:プラッタが歪み、速度がほとんど出ない……Windowsが全く起動せず、画面には何も映りません [重要]:以下の手続きは全部自動にて行われます。そしてこれが大容量でもコスト削減につながっております。 もちろん、例外的な処理は必ず動作が停止いたしますので、手動にて指示を入力する安全な面も備えます。
1, 接続されたドライブの固有情報を取得します。
2, 1番の固有情報から、そのドライブの特性に合ったパターンファイルをロードします。
3, 予測アルゴリズムを動かすのに必要な部分が実体化されます。
4, データスキャンアルゴリズムが実体化、予測に必要な場所をスキャンいたします。
5, データスキャン区間決定アルゴリズムが実体化、4番で得られた調査結果をロードし、
2番で取得いたしましたパターンファイルと比較しつつ、最適なスキャン区間を決定、アウトプットします。
6,[例外処理] Data_Platter&Investigation技術を呼びその内部のスキャン関数を利用いたします。この関数は引数にてスキャン区間に関するものを要求するため、5番で得られたものをそのまま渡します。そのスキャン関数から得られたセクタの情報を、データスキャンアルゴリズムへ渡し、セクタイメージを生成させます。
7, NTFS 再構築アルゴリズムを実体化、セクタイメージを再構築いたします。ここでデータが出てきます。
8, データ整合性検査アルゴリズムを実体化、データを検査し問題ない場合は納品メディアへデータを移転します。
9, データリスト生成アルゴリズムを実体化、データのリストを生成いたします。

例3:「フォーマットしますか?」論理障害の場合……外付ハードディスク(BUFFALO 製) [重要]:以下の手続きは全部自動にて行われます。そして、これが大容量でもコスト削減につながっております。 もちろん、例外的な処理は必ず動作が停止いたしますので、手動にて指示を入力する安全な面も備えます。
1, 接続されたドライブの固有情報を取得します。
2, 1番の固有情報から、そのドライブの特性に合ったパターンファイルをロードします。
3, 予測アルゴリズムを動かすのに必要な部分が実体化されます。
4, データスキャンアルゴリズムが実体化、予測に必要な場所をスキャンいたします。
5, 論理障害の場合は、このままセクタイメージを取得させます。
6, FAT12/16/32 再構築アルゴリズムを実体化、セクタイメージを再構築いたします。データが出てきます。
7, データ整合性検査アルゴリズムを実体化、データを検査し問題ない場合は納品メディアへデータを移転します。
8, データリスト生成アルゴリズムを実体化、データのリストを生成いたします。

例4:ネットワークから見えない……LinkStation(BUFFALO 製) [重要]:以下の手続きは全部自動にて行われます。そして、これが大容量でもコスト削減につながっております。 もちろん、例外的な処理は必ず動作が停止いたしますので、手動にて指示を入力する安全な面も備えます。
1, 接続されたドライブの固有情報を取得します。
2, 1番の固有情報から、そのドライブの特性に合ったパターンファイルをロードします。
3, 予測アルゴリズムを動かすのに必要な部分が実体化されます。
4, データスキャンアルゴリズムが実体化、予測に必要な場所をスキャンいたします。
5, データスキャン区間決定アルゴリズムが実体化、4番で得られた調査結果をロードし、
2番で取得いたしましたパターンファイルと比較しつつ、最適なスキャン区間を決定、アウトプットします。
6, データスキャンアルゴリズムへ、5番にて決定された区間を渡しまして、セクタイメージを取得させます。
7, XFS 再構築アルゴリズムを実体化、セクタイメージを再構築いたします。ここでデータが出てきます。
8, データ整合性検査アルゴリズムを実体化、データを検査し問題ない場合は納品メディアへデータを移転します。
9, データリスト生成アルゴリズムを実体化、データのリストを生成いたします。

例5:RAID-5が崩壊 EMモード?……TeraStation(BUFFALO 製) [重要]:以下の手続きは全部自動にて行われます。そして、これが大容量でもコスト削減につながっております。 もちろん、例外的な処理は必ず動作が停止いたしますので、手動にて指示を入力する安全な面も備えます。
1, 4台構成となりますので、全てを同時に接続いたします。
2, 接続されたドライブの固有情報を全て取得します。
3, 2番の固有情報から、そのドライブの特性に合ったパターンファイルをロードします。
4, 予測アルゴリズムを動かすのに必要な部分が実体化されます。
5, データスキャンアルゴリズムが実体化、予測に必要な場所を同時にスキャンいたします。
6, データスキャン区間決定アルゴリズムが実体化、5番で得られた調査結果をロードし、
3番で取得いたしましたパターンファイルと比較しつつ、最適なスキャン区間を決定、アウトプットします。 複数のハードディスクを同時に処理できます。この部分はハードウェア性能向上の恩恵が大きいです。
7, ストライプサイズを決定すべく、各ディスクより計算いたします。
ただし、区切りがある訳ではないため、ここでの決定は予測となります。
再構築を何度か行い、最終的な値を取得いたします。ストライプサイズが予め分かっている場合は、その値を利用し、再構築は1度で済みます。 お客様より申告頂く方法や、市販されておりますNAS(TeraStation等)やデフォルト設定の場合は初期値で対応できます。
8, データスキャンアルゴリズムへ、6番にて決定された区間および7番のストライプサイズを渡し、セクタイメージを取得。 4台を同時にスキャンし、一つのセクタイメージを生成できる機能を備えております。
9, XFS 再構築アルゴリズムを実体化、セクタイメージを再構築いたします。ここでデータが出てきます。
10, データ整合性検査アルゴリズムを実体化、データを検査し問題ない場合は納品メディアへデータを移転します。
11, データリスト生成アルゴリズムを実体化、データのリストを生成いたします。

DIRECTSCAN / 並列同時解析 による効率的な作業は着実な復旧作業に結びつき、多数の成果を上げております。

◇ ストレージ故障予測ソフトウェア

冒頭で説明いたしました通り、データ復旧技術の開発中には、必ず「副産物」が出来ます。特にスキャン系統の開発で、沢山の技術的な副産物ができておりまして、故障予測に活用できる部分を選別いたしました。S.M.A.R.T.予測とは全く異なる、新しい原理で動作いたしますので、お試しいただけたら幸いです。

この自動化による試みも、もっとベースに近い部分、すなわち、ドライブの状態を「規則的」に制御できないと、動きに統一性が出てきません。統一性がないと、毎回毎回状態を計算する必要が出てしまい、データが重なるほど遅くなりました。いわゆる、思考ロジックを生むためのベース技術が新たに必要となる見込みになります。これで、規則に沿って自動化への思考ロジックを与えていく必要があると判断できました。このためこの並列同時解析につきましても、やり直し区間の再試行が増加してしまい、複雑に故障した場所についてはさらに細分化した仕組みで、しっかりと取り組む必要性が出てきました。