ウチには何故かNetAppのHDDが大量にある…
昔、回収したサーバにNetAppがありましてですね。その際、筐体はある会社にバックアップ用として提供したのですが、HDDについては提供しなかったのです。何故ならデータ流出が怖いからです。NetAppが内部で何をしているか判りませんし、万一データを復旧されてしまってはかないません。
とは言え、エンタープライズ向けの耐久性の高い 1TB SAS を何十台も廃棄するのは忍びない…という訳で普通に使おう!というのが今回の趣旨です。
当然ですが壊れる可能性もありますし、データは確実に消え去るので作業には十分注意して行ってください。当然当方は一切の責任を負いません。
勿論そのままでは使えない
NetAppのHDDって謎フォーマットされています。一番酷いのがセクタサイズ。一般的にセクタサイズは512byteです。最近は4KByteセクタなんてのもありますが、一昔前は512byteでした。しかしNetAppやEMCはこのセクタサイズを520byteや528byteなんて言う謎フォーマットで使われています。
更に酷い事にSASカードも選ぶらしく、自分の所にあったDellのSASカード PERC H310 では認識すらしませんでした。酷い話です。。という訳で格安のSASカードを入手して使えるようにしましょう。
大体は LSI Logic (broadcom) で何とかなる。
必要なものはこちら
- SASカード
- SATA用の電源ケーブル
- SATAケーブル
- インターネットに接続できるPCI-Eスロット付きのパソコン一式
- USBメモリ(CentOS Boot用)
まずはSASカードの入手です。この手のやつはだいたいヤフオクに転がっています。昔のサーバから部品取りで外したやつです。HPサーバについていたモノが、だいたいLSIのOEM品なのでそれをゲットしました。LSI Logic SAS3041E-HP 、価格1,000円なり。激安ですね(苦笑)
さて、これを適当なPCI-Eに差します。とりあえず自宅に落ちてた Optiplex 7020 にぶち込みました。で、SAS用のケーブルですが…めんどくさいのでSATAケーブルとSATA電源ケーブルの端っこをカッターで切って差し込みました(ぉ 6Gbps部分は使えませんが認識させるだけならこれで十分です。それをHDDへ差し込めば完成です。いやー、雑ですね(笑)
こんな感じの雑作業です。いいんです、認識すれば。
OSは CentOS7 の LiveCD を利用しました。isoをダウンロードして rufus でUSBに書き込み、そこからBootします。あ、言い忘れましたが細かなツール名とかこれ何?って人はいちいち説明しませんので、ググってください。そのレベルの人がやる作業ではありません。(技術はまーまーあるけど金は無い!って人向けのFYIですし)
決め手は sg3_utils
CentOS7 が起動したら、即ターミナルを起動して root になります。そうしたら、sg3_utils をインストールしましょう。
# yum install sg3_utils
これで適当に Y 押していればインストールできます。次にHDDが認識されているか確認してみましょう。
# sg_scan -i
こんな表示が出れば認識されていると判ります。画像では、ST1000NM0011 が /dev/sg2 で認識されていますね。後はフォーマットするだけです。
# sg_format --format --size=512 -v /dev/sg2
/dev/sg2 は scan の結果によって変わりますので、各環境に合わせてください。(画像では -v をつけ忘れました)
カウントダウンが始まって、10秒後からフォーマットが始まります。
進捗状況が表示されるので安心。
計測してみましたが、1TBのHDDのフォーマットに、大体150分(2時間30分)ほどかかります。結構長いので放置しておきましょう。自分は複数台接続して同時にフォーマットしています。 /dev/sg2 , /dev/sg3 … みたいな感じです。
フォーマットが完了すると自動で認識され直します。dmesg で確認すると、512byteセクタのSAS HDDとしてちゃんと認識されていました。これで通常のSAS RAIDカード、特にDell PERCシリーズでも利用できそうです。念の為、fsckしてmkfsしてみましたが、マウント・書き込み共問題無くできました。
これで再利用が可能ですね!
※ SeagateではうまくいくもののHITACHI製とWD製のHDDではフォーマットが失敗する模様。SASカードとの相性の可能性有り
(2020/11/19 追記) TOSHIBA MBF2450RC はフォーマット可
(2020/11/30 追記) HITACHI HDD はSATAだったので未確認の間違い
(2022/05/24 追記) 複数台同時フォーマットについて
記載の仕方がとても悪かったので、以下のようにコマンドを叩いてください。
# sg_format –format –size=512 -v /dev/sg2 &
# sg_format –format –size=512 -v /dev/sg3 &
& はバックグラウンドで実行するという命令です。こうやって指定する事で複数のHDDを同時にフォーマット可能です。
もう必要ないかもしれませんが、SASの謎フォーマットされているHDD
WINDOWSで簡単にフォーマット出来ます、HDD Low Level Format Tool、と言うアプリで
処理速度、課金しないと遅いのでフォーマット処理を1分くらいで止めて
ディスクの管理から数が多かったのでクイックフォーマットをしました
問題なく読み書きは出来てはいます。
はじめまして。様
有用な情報ありがとうございます。Windows上でも Low Level Format ができるツールがあるとは知りませんでした。。
SASの場合、ドライバ等がめんどくさくてDellやHPのサーバに謎SASHDDを突っ込んでやると楽で、そのまま使っていました。
次回HDD Low Level Format Tool、試してみたいと思います!
この記事が大変参考になりました!!!
NECサーバーのN8103-171(MegaRAID 9240-8i)を9210-8i化してHBAにしてCentOS7にてこの記事のお作法にて
無事NetAppのSASディスクのフォーマットまで出来ました。
NetAppのSASディスクを大量に入手したのですが、MegaRAIDのN8103-173ではWebBIOSに入る段階でフリーズしてしまいアレイが組めず、調べていたところこの記事にたどり着いた次第です。
とっても助かりました!
※※Low Level Format Toolでは、Device I/O Errorとなってフォーマットできませんでした。※※
匿名様
こんなニッチな記事でも役立つ事があるんだなぁとしみじみ感じています(笑)
NetAppのSASドライブは一般的に使えないと言われているので安く出ている事も多いんですよね。特にFAS2***系は結構お払い箱になっている上に単体だと使えない事が多いのでもったいないと思います。
エコの観点からでもディスクはリサイクルできるならしたいですよね。
SASのHDDを手に入れて同様に困ってたところこの記事にたどり着き、とても参考になりました!!
”複数台接続して同時にフォーマットしています。 /dev/sg2 , /dev/sg3 … みたいな感じです。”
とあったので
# sg_format –format –size=512 -v /dev/sg2 , /dev/sg3 , /dev/sg4
と入力してやってみたのですがエラーを吐いてできませんでした…
まだまSASのHDDを手に入れて同様に困ってたところこの記事にたどり着き、とても参考になりました!!
”複数台接続して同時にフォーマットしています。 /dev/sg2 , /dev/sg3 … みたいな感じです。”
とあったので
# sg_format –format –size=512 -v /dev/sg2 , /dev/sg3 , /dev/sg4
と入力してやってみたのですがエラーを吐いてできませんでした…
まだまだ初心者なので構文がおかしいのかどうかわかってませんが、ターミナルを別途開いて1つずつやれば問題ないので今のところそれで解決しております。
成長していきたいなぁと常々思っている今日この頃…
それはさておき本当に感謝です!
よく様
ご参考になって良かったです。
そして…書き方が悪かったですね。sg_format はHDD1つしか指定できませんので、
> sg_format –format –size=512 -v /dev/sg2 &
> sg_format –format –size=512 -v /dev/sg3 &
というようにご指定ください。。
ご迷惑お掛けして申し訳ございません。追記しておきます。
初めまして。当方、オクでサーバー上がりの8TB SAS HDD(HGST HUH728080AL4200)を安価に入手して浮かれていたところ、Windows上ではSMARTの読み込みとFromHDDtoSSDのセクタチェックは動作するものの、アレイの作成はエラーを吐いて出来ず(カードは富士通D3216-A13)、ディスクの管理でもフォーマットも完了しない、前のコメントに出ていたツールでのローレベルフォーマットもエラー、と読み込み専用ディスクになっているのかと二週間頭を抱えていました。
ディスクのラベルに「512byte + T10 PI(8byte)でフォーマットされたときはLBAカウントが減ります」と英語表記されているのを頼りに周り回ってこちらのページに行き着きました。
前置きが長くなりましたがこちらの手順で12時間かけて無事に512byteでフォーマット、WindowsでもGPTディスクのNTFSにフォーマットする事ができました。本当にありがとうございます。
Linuxは全く経験か無かったのですが、ターミナルを起動して初っ端はsuと入力して権限を取得する必要があるのですね。コマンドも勉強になりました。
取り留めのない文になってしまいましたが感謝を伝えたくてコメント残させて頂きます。
SASAT様
なかなかこういうマニアックな情報は日本語で探すと見つからないので、こんな場末の情報サイトにアクセス頂きありがとうございます。8TBでも同じ520byteセクタが使われているという事も知りましたので、自分としても新たな情報が得られた事、感謝しております。サーバ上がりとは言え、NetAppクラスの採用しているHDDは非常に耐久性も高いので良い買い物でしたね。ちなみにLinuxでsuはWindowsでいうAdministrator同様です。suしてroot権限を取得しないとハードウェアの操作ができません。一般ユーザーの権利ではハードウェアが編集できないという設計思想の元、そのようになっています。興味が出てきましたら、Linuxも少し齧るといろいろできる事が広がるのでオススメです。
特にハードウェアを弄るようになると色々便利ですよ。何はともあれお役に立てて何よりです。
私もオクで8TB SAS HDD(HGST HUH728080AL4200)を9台手に入れたのですが、書き込み出来ない事象に悩んであきらめてHDD捨てようかと思ってました。偶然ここを見つけて試してみたところなんとうまくいきました。(感謝感謝です)
> sg_format –format –size=512 -v /dev/sg2 &
↑この部分だけ & をつけてもバックグランドにタスクにならなかった為、コンソールを必要分立ち上げて個別にformatをかけました
何にしても捨てるつもりだった8TBx9台が使えるようになってよかったです。たぶん同じように悩んでいる人まだいそうです。このサイトの情報は貴重です。
>ふりさん
さすがに8TB*9台を廃棄するとなるとショックが大きいですね。
このサイトの情報がお役に立てて何よりです。
バックグランドにタスクにならなかった理由はちょっと判りませんが、コンソールを複数立ち上げてもやる事は同じなのでそちらで良いと思います。
余計なお世話ですが
困っている人の為にもっと簡単にココを見つけられる検索ワードがあると良いと思いました。
私の場合はたまたま私と同じHDDの型番の書き込みがあったのでヒットしたようです。
書き込みをされたsasatさんにも感謝です。
> ふりさん
とりあえずSEOのキーフレーズは入れましたが、実は余り目立って欲しくは無いという意図もあります。というのも、NetApp自体が恐らくそういう使い方を想定していないので、ユーザーの為にはなってもNetApp自体は嫌がる使い方だからです。これを見て使えなかった!とNetAppにクレームを入れられても双方困ると思いますし。
なので技術的に明るくて、かつ自己責任で試せる人だけが享受できれば良いかな、とも思います。このあたりの線引きは難しいですね。
友人からもらったExpress5800をまともに使えるようにと思い、メモリの増設、RAID5対応のRAIDカード、CPU、1.2TのHDD×12を購入し、いざ組み立ててみたら1.2TのHDD認識せず困っていたところ、ここにたどり着きました。
SASボードやその他色々な追加購入を強いられましたが、本日何とか購入した物全てを活かす事が出来ました。
ありがとうございました。
>暇じゃないけど暇人さん
追加投資するにはちょっと高いんですよね
でも、無事に使えるようになって良かったです!