新搭載のGRUB 2とCentOS 7でのレスキューモード

2014年11月28日(金)
古賀 政純

レスキューモードでのユーザーデータの救出

CentOS 7のOS本体に致命的なダメージがあり、OSの起動が困難な場合でも、ユーザーデータのみを救出したい場合があります。ユーザーデータの救出は、レスキューモードを使って行うことが可能です。ユーザーデータがUSBメモリやブルーレイDVDメディア等に入る程度の小さい場合は、レスキューモードの状態で、メディアをマウントすることでユーザーデータを退避できます。しかし、ユーザーデータがテラバイト級になる場合は、テープ装置の利用や、ネットワーク経由で別のファイルサーバー等にユーザーデータを転送する方法が一般的です。以下では、レスキューモードにおいて、ネットワーク経由で別のファイルサーバー等にユーザーデータを転送する例を示します。まず、レスキューモードで起動し、ネットワーク通信ができるように、NICにIPアドレスを付与します。IPアドレスの付与が可能なNIC一覧をipコマンドで表示します。

図10:レスキューモードで、ipコマンドを使って利用可能なNICを確認する(クリックで拡大)

ipコマンドで利用可能なNICが確認できたら、IPアドレスを付与します。以下の例では、IPアドレスとして、172.16.25.2/16を付与しています。このIPアドレスの付与は、対象サーバーのメモリ上で行われていますので、設定は恒久的なものでもなく、既存のローカルディスクにインストールされたCentOS 7の物理NICの設定に影響を与えません。

図11:ipコマンドを使って利用可能なNICにIPアドレスを付与する(クリックで拡大)

CentOS 7のレスキューモードでは、scpコマンドを利用することが可能ですので、遠隔にあるファイルサーバー等にscpコマンドを使ってユーザーデータをコピーすることが可能です。これにより、起動不可のCentOS 7のシステムからユーザーデータを救出が実現できます。

図12:レスキューモードでscpコマンドを使ってユーザーデータを救出している様子(クリックで拡大)

レスキューモードでのHDDイメージ全体の遠隔地への転送

マスターブートレコードを含むOS全体とユーザーデータ全てをイメージファイルとして遠隔のファイルサーバーに保管しておきたい場合があります。ローカルディスクにインストールされたOS全体をイメージファイルとして保管するには、CentOS 7のレスキューモードを活用できます。レスキューモードを使って、ディスク全体を遠隔のファイルサーバーにイメージファイルとして転送する手段としては、ddコマンドとsshコマンド、そしてcatコマンドを組合せます。まず、レスキューモードに移行し、先述の手順で、事前にネットワークの設定を行い、遠隔のファイルサーバーとscpやsshコマンドによるセキュア通信が可能な状態にしておきます。次に、イメージファイルとして取得するディスクの情報をpartedコマンドで出力します。下図の例では、3テラバイトのローカルディスクの/dev/sdaが、レスキューモードから認識できていることがわかります。

図13:レスキューモードでpartedコマンドにより、ローカルディスクの/dev/sdaの情報を確認している様子(クリックで拡大)

/dev/sda全体を遠隔のファイルサーバーにイメージファイルとして圧縮して転送します。/dev/sda全体をイメージ化するには、ddコマンドを使います。転送を行うには、sshコマンドを使用しますが、イメージファイルが巨大な場合は、gzipコマンドを組み合わせて圧縮するとよいでしょう。通常巨大ファイルの転送は、膨大な時間がかかりますので、今後、同様のイメージファイルの取得作業のスケジュール管理のためにも、コマンドの実行時間を計測しておくのがよいでしょう。コマンドの実行時間を計測するには、timeコマンドを付与します。下図は、遠隔のファイルサーバー(IPアドレスは172.16.25.4)の/backupディレクトリ以下に、n01sda_c70_20141007.img.gzというファイル名で保存する例です。

図14:レスキューモードを使ったローカルディスクのイメージファイルの取得の様子。遠隔のファイルサーバーにsshを使って転送している。パーティションが巨大のため、gzipにより圧縮を行っている(クリックで拡大)

まとめ

以上で、CentOS 7に関するインストールの新機能やOSの起動の仕組み、復旧のノウハウについて解説しました。CentOS 7のインストール自体は、非常に簡単ですが、インストール前の調査等、適切な情報収集が欠かせません。また、ブートローダの仕組みも従来のCentOS 6までと大きく異なっていますので、注意が必要です。不慣れなブートローダの設定ミスにより、CentOS 7が起動できなくなった場合は、レスキューモードが役に立ちますので、擬似的な障害を発生させてみてレスキューモードによる復旧の練習をしておくことをお勧めします。以下に、ポイントをまとめておきます。

  • CentOS 7のインストール前にハードウェアの設定を適切に行っておく
  • インストーラーにはトラブルシューティングモードが用意されている
  • 従来のCentOS 6に比べ、CentOS 7のテキストモードのインストーラーは、機能が大幅に強化されている
  • ブートローダの設定は、/etc/default/grubと/etc/grub.d/40_customファイルに記述する
  • レスキューモードでは、パッケージのインストール、ユーザーデータやイメージファイルの転送が可能
この連載が書籍になりました!
CentOS 7実践ガイド

古賀 政純 著
価格:3,000円+税
発売日:2015年2月25日発売
ISBN:978-4-8443-3753-9
発行:インプレスジャパン

CentOS 7実践ガイド

本書は、CentOS 7を取り巻く市場動向、CentOS 7が利用されるサーバーシステムの選定、CentOS 7の基礎、システム設計、OS管理やCentOS 7に対応したアプリケーションサーバーの構築手順などの勘所をご紹介します。連載では書ききれなかった本の内容、見どころが満載!

  • セキュリティ管理
  • チューニング
  • 自動インストール
  • Hadoop構築
  • GlusterFS
  • Ceph

Amazon詳細ページへImpress詳細ページへ

日本ヒューレット・パッカード株式会社 プリセールス統括本部 ソリューションセンター OSS・Linux担当 シニアITスペシャリスト

兵庫県伊丹市出身。1996年頃からオープンソースに携わる。2000年よりUNIXサーバーのSE及びスーパーコンピューターの並列計算プログラミング講師を担当。科学技術計算サーバーのSI経験も持つ。2005年、大手製造業向けLinuxサーバー提案で日本HP社長賞受賞。2006年、米国HPからLinux技術の伝道師に与えられる「OpenSource and Linux Ambassador Hall of Fame」を2年連続受賞。日本HPプリセールスMVPを4度受賞。現在は、Linux、FreeBSD、Hadoop等のOSSを駆使したスケールアウト型サーバー基盤のプリセールスSE、技術検証、技術文書執筆を担当。日本HPのオープンソース・Linuxテクノロジーエバンジェリストとして講演活動も行っている。Red Hat Certified Engineer、Red Hat Certified Virtualization Administrator、Novell Certified Linux Professional、EXIN Cloud Computing Foundation Certificate、HP Accredited Systems Engineer Cloud Architect、Red Hat Certified System Administrator in Red Hat OpenStack、Cloudera Certified Administrator for Apache Hadoop認定技術者。HP公式ブログ執筆者。趣味はレーシングカートとビリヤード

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています