ハードディスクの初期化(レスキューモードでProLiantのHDDをゼロ埋め)

毛利です。

以下の記事を参考にレンタルサーバ(ProLiant/HP)を初期化しようとしたけど出来なかったので、RedHatのRescueモードで初期化した際のメモ。

Linuxを用いたHDDのデータ完全消去法


出来なかったというのは、knoppixでうまくHDDを認識できなかったから。
(だったと思う。先日写真を整理した際に誤って、エラーの画像を削除してしまった。。)

ちょっとググると、SmartArray というRAIDコントローラが原因、というか、その場合は特別な手順が必要みたいな話で、一つやってみたけど出来なかったのですぐ諦めた。もう時間が経ったので参考にした記事は不明になってしまった。

Rescueモードで起動する

詳しくはこちらを。

26.2. レスキューモードで起動 - Red Hat Customer Portal

RedHatのインストールDVDをセットした状態で電源ON(実際はLinuxが起動してたのでreboot)

"boot:"プロンプトが出るので、"linux rescue"と入力

以下、起動中の写真

言語選択(Choose a Language)


デフォルトはEnglish。Japaneseもあったので選択してみた。


やっぱだめだよね。

Japanese display is unavailable in text mode. The installation will continue in English until the display of Japanese is possible.

拙訳:テキストモードの場合、日本語表示は使用できません。インストレーションは日本語表示が使用出来るようになるまで英語で行われます。

キーボード選択(Keyboard Type)



画像撮るの忘れてるんだろうけど、記憶ではデフォルトはUS。
jp106を選択。

キーボードの事情を理解してないからいつも不思議に思うんだけど、自動では認識しない(できない?)ものなんだね。

ネットワーク設定(Setup Networking)

初期化するだけなので「No」を選択。

ネットワークの接続は例えば、別のコンピュータにバックアップをしたり、共有ネットワークの場所から RPM パッケージをインストールしたりするのに役に立ちます

/mnt/sysimageのマウント?(Rescue)

よく分からなかった画面。


The rescue environment will now attempt to find your Linux installation and mount it under the directory /mnt/sysimage. You can then make any changes required to your system. If you want to proceed with this step choose 'Continue'.
You can also choose to mount your file systems read-only insted of read-write by choosing 'Read-Only'.

If for some reason this process fails you can choose 'Skip' and this step will be skipped and you will go directly to a command shell.

Continueを選択したけど、初期化なら恐らくSkipで問題ない。

こちらの記事ではSkipを選択。
レスキューモードを使ったハードディスクのデータ削除(CentOS) | 狸おやじのLinux備忘録

それにしても、未だに「ファイルシステム」「マウント」あたりの概念がイマイチピンと来ない。こういうのは分かる。
コラム【Linux道場 入門編】第10回 - ファイルシステムの考え方


でも"Continueを選択すると、ファイルシステムを /mnt/sysimage/ディレクトリにマウントしようとします"という説明は理解できない。
ここでいう「ファイルシステム」って何?
Linuxインストール済みだからルート(/)のこと?


次の画面。マウント出来ましたのお知らせ。


Your system has been mounted under /mnt/sysimage.
Press (return) to get a shell. If you would like to make your system the root environment, run the command:
chroot /mnt/sysimage
The system will reboot automatically when you exit from the shell.

chroot /mnt/sysimage
これは、ルートパーティションが /としてマウントされることが要求される rpmなどのコマンドを実行する必要が有る場合に役に立ちます。

しばらくするとプロンプトの画面へ

※画像は既にコマンド入力済み


初期化(ddコマンドによるゼロ埋め)実行

以下のブログ記事を参考に、初期化はddコマンドで実施。
[linux]ディスク消去手順: mine log

shredコマンドを使わなかったのは実績がなく時間が読めなかったため。ddは1ヶ月前に後輩がやっててそんなに時間かかってなかった。
顧客情報を扱わないシステムのテスト環境だったのであまりセンシティブになる必要はないかと。

まあ、以下のような内容に注意して選択すること。

# dd if=/dev/zero of=/dev/hdb

などとして、ハードディスク全体に0を書き込むと、それをPCに接続してもデータを復元することはできない。しかし、特別な装置を使うと「0に0を上書きした場合」や「1に0を上書きした場合」の違いをアナログ的に読み取ることができるため、データを復元できる可能性がある

fdisk起動


fdisk -l で何も表示されず。-lは「マウントされているデバイスのパーティション情報を表示する」だから、何もマウントされてないってことか。
/dev/〜が表示されると思ってたのでちょっと焦り、コマンドパスを確認しようとしてスペルミスの図。
さらに、"fdisk /dev/cciss/d0c0"はデバイス名の誤り。(正しくはc0d0)


気を取り直して、fdiskを起動。

パーティションを削除する(未確定)

まず"p"でパーティション情報を表示。
Command (m for help): p

後ろの方から削除する。

Command (m for help): d
Partition number (1-6): 6

続いて "d"→"5" … 、"d"→"1"
画像で4を2回入力しているのは、4を削除したと思ったらまた(1-4)の表示が出たため。
「Warning: partition 4 has empty type」となったので、実際は削除されているらしい。

パーティション情報を書き込む(確定)

"1"まで削除し終えたら、"w"で書き込む。
Command (m for help): w

The partition table has been altered!

が表示され、fdiskが終了。
WARNINGが出てるけど時間がなかったので気にしなかった。

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks

よく読むとrebootしないと新しいテーブルは使われないらしい…。
結果的に問題なくddコマンドが終了したからこの手順(パーティション削除)は不要かも。

/dev/zeroを書き込んで初期化

時間を測りたかったのでdateコマンドを前後で実行。

date; dd if=/dev/zero of=/dev/cciss/c0d0; date


146GBのハードディスクで1時間33分20秒で完了。
(5599.72 seconds, 26.2MB/s との結果表示あり)


このあとは

  • DVDを抜く
  • 電源ボタンで停止&起動
  • インストールしてたOSが起動しないことを確認

して終了。


次に機会があれば、shredコマンドでやってみよう。


いじょ。