Solaris のシステム管理 (基本編)

第 31 章 ディスクの管理 (概要)

この章では、Solaris ディスクスライスの概要および format ユーティリティについて説明します。

この章の内容は次のとおりです。

システムにディスクを追加する方法については、第 33 章「SPARC: ディスクの追加 (手順)」または第 34 章「IA: ディスクの追加 (手順)」を参照してください。

ディスク管理における新機能

この節では、Solaris 9 リリースの新しいディスク管理機能について説明します。

Solaris ボリュームマネージャとソフトパーティション

これまでバンドルされていなかった Solstice DiskSuiteTM 製品が、Solaris ボリュームマネージャという名前で Solaris 9 リリースに含まれることになりました。Solaris ボリュームマネージャの新機能であるソフトパーティションを利用すると、各ディスクに 8 つ以上のパーティションを作成できます。

Solaris ボリュームマネージャの詳細は、『Solaris ボリュームマネージャの管理』の「記憶装置管理の概念」 を参照してください。ソフトパーティションの詳細は、『Solaris ボリュームマネージャの管理』の「ソフトパーティション (概要)」を参照してください。

ディスク管理作業についての参照先

ディスク管理の手順については、次を参照してください。

ディスク管理作業 

参照先 

ディスクをフォーマットしてディスクラベルを確認する。 

第 32 章「ディスクの管理 (手順)」

SPARC システムに新しいディスクを追加する。 

第 33 章「SPARC: ディスクの追加 (手順)」

IA システムに新しいディスクを追加する。 

第 34 章「IA: ディスクの追加 (手順)」

SCSI または PCI ディスクのホットプラグを実行する 

第 27 章「デバイスの動的構成 (手順)」

ディスク管理の概要

一般に、Solaris 環境におけるディスクの管理とは、システムを設定し、Solaris インストールプログラムを実行し、適切なディスクスライスおよびファイルシステムを作成してオペレーティングシステムをインストールすることを意味します。また、format ユーティリティを使用して、新しいディスクドライブを追加したり、欠陥ディスクドライブを交換したりしなければならない場合もあります。


注 -

Solaris オペレーティングシステムは、SPARC と IA という 2 種類のハードウェア、つまりプラットフォームで動作します。Solaris オペレーティングシステムは、64 ビットのアドレス空間でも 32 ビットのアドレス空間でも動作します。このマニュアルで説明する情報は、章、節、注、箇条書き、図、表、例、またはコード例において特に明記しない限り、両方のプラットフォームおよびアドレス空間に該当します。


ディスク関連の用語

この節の説明を有効に利用するには、基本的なディスクアーキテクチャを理解しておく必要があります。特に、次の用語を理解しておいてください。

用語 

説明 

トラック 

ディスクが回転するときに 1 つの静止したディスクヘッドの下を通過する同心リング 

シリンダ 

ディスクが回転する軸から同じ距離にあるトラックの集まり 

セクター 

ディスク上のデータ記憶領域または各ディスクプラッタの個々のセクション。1 セクターは 512 バイト。 

ディスクコントローラ 

ディスクドライブを制御するチップおよび関連する回路 

ディスクラベル 

ディスクのジオメトリおよびパーティション情報を含む、ディスクの第 1 セクター 

デバイスドライバ 

ハードウェアまたは仮想デバイスを制御するカーネルモジュール 

詳細は、ディスクメーカーの製品情報を参照してください。

ディスクスライスについて

ディスク上に格納されたファイルは、ファイルシステム中で管理されます。ディスク上の各ファイルシステムは「スライス」、つまりファイルシステム用に確保されたセクターセットのグループに割り当てられます。オペレーティングシステム (および、システム管理者) からは、各ディスクスライスは別個のディスクドライブであるかのように見えます。

ファイルシステムの詳細は、第 37 章「ファイルシステムの管理 (概要)」を参照してください。


注 -

スライスをパーティションと呼ぶこともあります。このマニュアルでは「スライス」と呼びますが、format ユーティリティなど、特定のインタフェースではスライスを「パーティション」と呼びます。


スライスを設定するときには、次の規則に注意してください。

SPARC プラットフォームと IA プラットフォームでは、スライスの設定が少し異なります。次の表に、主な相違点を示します。

表 31-1 プラットフォームによるスライスの違い

SPARC プラットフォーム 

IA プラットフォーム 

ディスク全体が Solaris オペレーティング環境用になる。 

ディスクはオペレーティング環境ごとに 1 つの fdisk パーティションに分割される。

ディスクは 0 から 7 までの番号が付いた 8 つのスライスに分割される。 

Solaris の fdisk パーティションは 0 から 9 までの番号が付いた 10 個のスライスに分割される。

SPARC: ディスクスライス

SPARC システム上では、Solaris は 8 つのディスクスライスを定義して、それぞれにある程度決まった役割を割り当てます。これらのスライスには、0 から 7 までの番号が付いています。次の表に、SPARC システム上の 8 つの Solaris スライスの内容を示します。

表 31-2 SPARC: ディスクスライス

スライス 

ファイルシステム 

通常クライアントかサーバーのどちらにあるか  

種類 

ルート (/)

両方 

オペレーティングシステムを構成するファイルとディレクトリを含む。 

スワップ 

両方 

仮想メモリー、つまり「スワップ空間」を提供する。スワップ空間は、実行中のプログラムが大きすぎてコンピュータのメモリーに入りきらないときに使用される。その場合、Solaris 環境では、プログラムがメモリーからディスクに「スワップ」され、必要に応じて戻される。 

両方 

慣例的に、このスライスは Solaris fdisk パーティション全体を表す。このスライスは、Sun の format ユーティリティと Solaris インストールプログラムによって自動的に定義される。このスライスのサイズは変更しないこと。

/export

サーバーのみ 

オペレーティングシステムの代替バージョンを含む。これらの代替バージョンは、サーバーとはアーキテクチャが異なるクライアントシステムに必要である。アーキテクチャのタイプがサーバーと同じクライアントは、/usr ファイルシステム (通常はスライス 6) にある実行可能プログラムを利用する。

 

 

サイトの必要に応じて定義可能なスライス (任意)。 

 

 

サイトの必要に応じて定義可能なスライス (任意)。 

システムに追加するアプリケーションソフトウェアを格納する。インストール時に、/opt ファイルシステムにスライスが割り当てられていなければ、スライス 0 に /opt ディレクトリが作成される。

/usr

両方 

オペレーティングシステムのコマンド (「実行可能」コマンドとも呼ぶ) を含む。また、このスライスには、マニュアル、システムプログラム (initsyslogd など)、ライブラリルーチンも含まれる。

/home または

/export/home

両方 

ユーザーによって作成されるファイルを含む。 

IA: ディスクスライス

IA システム上では、ディスクは fdisk パーティションに分割されます。fdisk パーティションは、Solaris など、特定のオペレーティングシステムで使用するように確保されたディスクの一部です。

次の表に示すように、Solaris は Solaris fdisk パーティション上に、0 から 9 までの番号が付いた 10 個のスライスを配置します。

表 31-3 IA: ディスクスライス

スライス 

ファイルシステム 

通常クライアントまたはサーバーのどちらにあるか  

種類 

ルート (/) 

両方 

オペレーティングシステムを構成するファイルとディレクトリを含む。 

スワップ 

両方 

仮想メモリー、つまり「スワップ空間」を提供する。スワップ空間は、実行中のプログラムが大きすぎてコンピュータのメモリーに入りきらないときに使用される。その場合、Solaris 環境では、プログラムがメモリーからディスクに「スワップ」され、必要に応じて戻される。 

両方 

慣例的に、このスライスは Solaris fdisk パーティション全体を表す。このスライスは、Sun の format ユーティリティと Solaris インストールプログラムによって自動的に定義される。このスライスのサイズは変更しないこと。

/export

サーバーのみ 

オペレーティングシステムの代替バージョンを含む。これらの代替バージョンは、サーバーとはアーキテクチャが異なるクライアントシステムに必要である。 

 

 

サイトの必要に応じて定義可能なスライス (任意)。 

 

両方 

サイトの必要に応じて定義可能なスライス (任意)。 

システムに追加されるアプリケーションソフトウェアを格納する。インストール時に、/opt ファイルシステムにスライスが割り当てられていなければ、スライス 0 に /opt ディレクトリが作成される。

/usr

両方 

オペレーティングシステムのコマンド (「実行可能」コマンドとも呼ぶ) を含む。また、このスライスには、マニュアル、システムプログラム (initsyslogd など)、ライブラリルーチンも含まれる。

/home または /export/home

両方 

ユーザーによって作成されるファイルを含む。 

両方 

Solaris がハードディスクからブートするために必要な情報を含む。このスライスのスライス番号は 8 であるが、Solaris fdisk パーティションの先頭に存在するため、ブートスライスと呼ばれる。

両方 

代替ディスクブロック用に予約された領域であり、代替セクタースライスと呼ばれる。 

raw データスライスの使用

SunOS オペレーティングシステムは、各ディスクのブロック 0 にディスクラベルを格納します。これは、raw データスライスを作成する Sun 以外の製品のデータベースアプリケーションを使用するときは、ブロック 0 から開始してはならないことを意味します。この領域に raw データスライスを作成すると、ディスクラベルが上書きされて、ディスク上のデータにアクセスできなくなります。

ディスク上の次の領域は、raw データスライス用に使用しないでください。raw データスライスは Sun 以外のデータベースアプリケーションによって作成されることがあります。

複数のディスク上のスライス配置

十分な大きさのディスクであれば、1 台ですべてのスライスとそれに対応するファイルシステムを確保できますが、通常はシステムのスライスとファイルシステムを確保するために複数のディスクが使用されます。


注 -

1 つのスライスを複数のディスクに分割することはできません。ただし、複数のスワップスライスを別々のディスクに配置することはできます。


たとえば、1 台のディスクにルート (/) ファイルシステム、スワップ領域、/usr ファイルシステムを入れ、別のディスクにユーザーデータを含む /export/home ファイルシステムやその他のファイルシステムを入れます。

複数のディスクを使用する場合、オペレーティングシステムソフトウェアとスワップ領域が入っているディスク (つまり、ルート (/)、/usr ファイルシステム、およびスワップ領域用のスライスが入っているディスク) を、「システムディスク」と呼びます。システムディスク以外のディスクを、「二次ディスク」または「非システムディスク」と呼びます。

システムのファイルシステムを複数のディスクに入れると、システムをシャットダウンしたりオペレーティングシステムソフトウェアをロードし直したりしなくても、二次ディスクのファイルシステムとスライスを変更できます。

また、複数のディスクを使用すると、入出力 (I/O) のパフォーマンスが改善されます。ディスク負荷を複数のディスクに分散すると、I/O のボトルネックを回避できます。

使用するスライスの決定

ディスクのファイルシステムを設定するときには、各スライスのサイズだけでなく、どのスライスを使用するかも決定します。どのように決定するかは、ディスクを接続するシステムの構成と、ディスクにインストールするソフトウェアによって異なります。

次のシステム構成があります。

システム構成ごとに、使用すべきスライスが異なります。次の表に、これらの要件を示します。

表 31-4 システム構成とスライスの要件

スライス 

サーバー 

スタンドアロンシステム 

ルート 

ルート 

スワップ 

スワップ 

/export

/usr

/usr

/export/home

/home

システム構成の詳細は、「システムタイプの概要」を参照してください。


注 -

Solaris インストールプログラムは、インストール用に選択したソフトウェアに基づいて推奨スライスサイズを表示します。


format ユーティリティ

使用方法や参照情報に進む前に以下の情報に目を通して、format ユーティリティの概要を確認してください。

format ユーティリティは、Solaris システム用にハードディスクドライブを用意するためのシステム管理ツールです。

次の表に、format ユーティリティの機能とその利点を示します。

表 31-5 format ユーティリティの機能と利点

機能 

利点 

システム内で接続されている全ディスクドライブを検索する 

次の情報を表示する。

  • ターゲットの位置

  • ディスクのジオメトリ

  • ディスクがフォーマット済みかどうか

  • ディスク上にマウントされているパーティションが存在するかどうか

ディスクラベルを検索する 

修復処理に使用する。 

欠陥セクターを修復する 

回復可能なエラーが発生したディスクドライブをメーカーに返送しなくても、熟練した管理者なら修復できる。 

ディスクをフォーマットして、分析する 

ディスク上でセクターを作成し、検査する。 

ディスクをパーティションに分割する 

個々のファイルシステムを別々のスライス上で作成できるようにディスクを分割する。 

ディスクにラベルを付ける 

後から検索できるように (通常は修復用)、ディスクにディスク名と構成情報を書き込む。 

format ユーティリティのオプションについての詳細は、第 35 章「format ユーティリティ (参照情報)」を参照してください。

format ユーティリティを使用する場合

Solaris のインストール時に、Solaris インストールプログラムによってディスクがパーティションに分割され、ラベルが付けられます。次のような場合に、format ユーティリティを使用できます。

システム管理者が format ユーティリティを使用するのは、主にディスクをディスクスライスに分割するためです。これらの手順については、第 33 章「SPARC: ディスクの追加 (手順)」第 34 章「IA: ディスクの追加 (手順)」を参照してください。

format ユーティリティの使用上のガイドラインについては、表 31-6 を参照してください。

format ユーティリティ使用上のガイドライン

表 31-6 format ユーティリティのガイドライン

作業 

注意事項 

参照先 

ディスクをフォーマットする 

  • ディスクをフォーマットし直すと、既存のデータが失われる。

  • ディスクドライブをフォーマットしてパーティションに分割した状態で出荷するメーカーが増えているので、ディスクドライブをフォーマットする必要性は減少している。既存のシステムにディスクドライブを追加する場合は、format ユーティリティを使用しなくてもすむことがある。

  • ディスクを配置し直したら多数のディスクエラーが表示される場合は、フォーマットし直してみるとよい。不良セクターが自動的にマッピングし直される。

「ディスクをフォーマットする方法」

システムディスクを交換する 

  • 損傷したシステムディスクのデータは、バックアップ媒体から復元しなければならない。復元しなければ、インストールプログラムを使用してシステムをもう一度インストールしなければならなくなる。

「SPARC: システムディスクを接続してブートする方法」 または 「IA: システムディスクを接続してブートする方法」、システムをインストールし直さなければならない場合は、『Solaris 9 インストールガイド』を参照

ディスクをスライスに分割する 

  • すでにスライスに分割されているディスクで、パーティションを再分割してラベルを付け直すと、既存のデータが失われる。

  • ディスクのパーティションを分割し直して復元する前に、既存のデータをバックアップ媒体にコピーする必要がある。

「SPARC: ディスクスライスとディスクラベルを作成する方法」 または 「IA: ディスクスライスとディスクラベルを作成する方法」

既存のシステムにディスクを追加する 

  • 二次ディスクをフォーマットし直すか、パーティションに分割し直す場合は、既存のデータをバックアップ媒体から復元しなければならない。

「SPARC: 二次ディスクを接続してブートする方法」 または 「IA: 二次ディスクを接続してブートする方法」

ディスクドライブを修復する 

  • 顧客のサイトによっては、欠陥ドライブの修復ではなくドライブ自体の交換を希望する場合がある。サイトがディスクドライブのメーカーと保守契約を結んでいる場合は、format ユーティリティを使用してディスクドライブを修復する必要はない。

  • 通常、ディスクドライブの修復とは、不良セクターを欠陥リストに追加することを意味する。新しいコントローラは不良セクターを自動的にマップし直すので、システムを中断する必要はない。

  • システムに旧型のコントローラがある場合や、失われたデータを復元する場合は、不良セクターをマップし直す必要がある。

「欠陥セクターの修復」

ディスクのフォーマット

ほとんどの場合、ディスクはメーカーまたは再販業者によってフォーマットされています。このため、ドライブをインストールするときにフォーマットし直す必要はありません。ディスクがフォーマットされているかどうかを判別するには、format ユーティリティを使用します。詳細は、「ディスクがフォーマット済みかを調べる方法」を参照してください。

ディスクがフォーマットされていない場合、format ユーティリティを使用してフォーマットしてください。

ディスクのフォーマットでは、次の 2 つのステップが行われます。


注意 - 注意 -

フォーマットは、ディスク上のデータを上書きする、破壊的なプロセスです。このため、通常はメーカーや再販業者のみがディスクをフォーマットします。ディスクに欠陥があるために問題が再発していると思われる場合は、format ユーティリティを使用して表面解析を実行できますが、データを破壊しないコマンドのみを使用するように注意してください。詳細は、「ディスクをフォーマットする方法」を参照してください。


データに利用できる合計ディスク容量のうち、ごくわずかな容量が欠陥情報とフォーマット情報の格納に使用されます。この容量はディスクのジオメトリによって異なり、使用年数がたち欠陥箇所が多くなるにつれて、少なくなります。

ディスクの種類とサイズに応じて、フォーマットは数分から数時間かかります。

ディスクラベルについて

どのディスクにも、そのディスクのコントローラ、ジオメトリ、スライスに関する情報を格納する特殊な領域が確保されています。そのような情報をディスクの「ラベル」と呼びます。また、ディスクラベルを表すのに VTOC (Volume Table of Contents) という用語を使用することもあります。「ディスクにラベルを付ける」とは、ディスクにスライス情報を書き込むことを意味します。通常は、ディスクのスライスを変更した後にラベルを付けます。

スライスを作成した後でディスクにラベルを付けないと、オペレーティングシステムはスライスを「認識」する方法がないので、そのスライスを利用できなくなります。

パーティションテーブル

ディスクラベルのうち重要な部分は「パーティションテーブル」です。この部分は、ディスクのスライス、スライスの境界 (シリンダ単位)、スライスの合計サイズを表します。ディスクのパーティションテーブルは、format ユーティリティを使用して表示できます。次の表に、パーティションテーブル関連の用語を示します。

表 31-7 パーティションテーブル関連の用語

用語 

値 

説明 

番号 

0-7

パーティション (またはスライス番号)。有効な番号は 0 から 7 まで。 

タグ 

0=UNASSIGNED 1=BOOT 2=ROOT 3=SWAP 4=USR 5=BACKUP 7=VAR 8=HOME

一般にこのパーティションにマウントされたファイルシステムを記述する数値。 

フラグ 

wm

パーティションは書き込み可能でマウント可能である。 

 

wu rm

パーティションは書き込み可能でマウント不可である。これは、スワップ領域専用のパーティションのデフォルト状態である (ただし、mount コマンドでは「マウント不可」のフラグはチェックされない)。

 

rm

パーティションは読み取り専用でマウント可能である。 

パーティションのフラグとタグは必ず割り当てられるので、管理する必要はありません。

パーティションテーブルを表示する手順については、「ディスクスライス情報を表示する方法」 または 「ディスクラベルを検査する方法」 を参照してください。

パーティションテーブル情報の表示

以下は、1.05G バイトのディスクについて、format ユーティリティを使用してパーティションテーブルを表示したものです。


Total disk cylinders available: 2036 + 2 (reserved cylinders)
 
Part      Tag    Flag     Cylinders        Size            Blocks
  0       root    wm       0 -  300      148.15MB    (301/0/0)   303408
  1       swap    wu     301 -  524      110.25MB    (224/0/0)   225792
  2     backup    wm       0 - 2035     1002.09MB    (2036/0/0) 2052288
  3 unassigned    wm       0               0         (0/0/0)          0
  4 unassigned    wm       0               0         (0/0/0)          0
  5 unassigned    wm       0               0         (0/0/0)          0
  6        usr    wm     525 - 2035      743.70MB    (1511/0/0) 1523088
  7 unassigned    wm       0               0         (0/0/0)          0

format ユーティリティを使用して表示されるパーティションテーブルには、次の情報が含まれます。

列名 

説明 

Part

パーティション (またはスライス番号)。この列についての説明は、表 31-7 を参照。

Tag

パーティションのタグ。この列についての説明は、表 31-7 を参照。

Flag

パーティションのフラグ。この列についての説明は、表 31-7 を参照。

Cylinders

スライスの開始シリンダ番号と終了シリンダ番号を示す。 

Size

スライスのサイズを M バイト単位で示す。 

Blocks

合計シリンダ数と 1 スライス当たりの合計セクター数 (カラムの右端) を示す。 

次の例は、 prtvtoc コマンドを使用してディスクラベルを表示した結果です。


# prtvtoc /dev/rdsk/c0t1d0s0
* /dev/rdsk/c0t1d0s0 partition map
*
* Dimensions:
*     512 bytes/sector
*      72 sectors/track
*      14 tracks/cylinder
*    1008 sectors/cylinder
*    2038 cylinders
*    2036 accessible cylinders
*
* Flags:
*   1: unmountable
*  10: read-only
*
*                          First     Sector    Last
* Partition  Tag  Flags    Sector     Count    Sector  Mount Directory
       0      2    00          0    303408    303407   /
       1      3    01     303408    225792    529199
       2      5    00          0   2052288   2052287
       6      4    00     529200   1523088   2052287   /usr

prtvtoc コマンドで、次の情報が取得できます。

列名 

説明 

Dimensions

このセクションでは、ディスクドライブの物理的な構成を示す。 

Flags

このセクションでは、パーティションテーブルのセクションに記載されたフラグを示す。パーティションフラグについての説明は、表 31-7を参照。

Partition (または Slice) テーブル

このセクションには次の情報が含まれます。 

Partition

パーティション (またはスライス番号)。この列についての説明は、表 31-7を参照。

Tag

パーティションのタグ。この列についての説明は、表 31-7を参照。

Flags

パーティションのフラグ。この列についての説明は、表 31-7を参照。

First Sector

スライスの最初のセクターを示す。 

Sector Count

スライス内の合計セクター数を示す。 

Last Sector

スライスの最後のセクターを示す。 

Mount Directory

ファイルシステムの最後のマウントポイントのディレクトリを示す。 

ディスクをスライスに分割する

format ユーティリティは、主にシステム管理者がディスクをスライスに分割する場合に使われます。手順を次に示します。

ディスクをスライスに分割するには、 format ユーティリティの partition メニューで modify コマンドを実行するのが最も簡単です。modify コマンドを使用すると、開始シリンダ境界を追跡しなくても、各スライスのサイズを M バイト単位で指定してスライスを作成できます。modify コマンドを使用すると、「free hog 」スライス内の残りのディスク領域も追跡できます。

free hog スライスの使用方法

format ユーティリティを使用してディスクスライスのサイズを変更するときには、サイズ変更操作に対応して拡大縮小する一時スライスを指定します。

このスライスは、スライスを拡大すると領域を「解放 (free)」し、スライスを圧縮すると放棄された領域を「回収 (hog)」します。このため、提供側のスライスを「free hog」と呼びます。

free hog スライスは、インストール時または format ユーティリティの実行時にのみ存在します。日常の操作中に free hog スライスが継続して存在することはありません。

free hog スライスの使用方法の詳細は、「SPARC: ディスクスライスとディスクラベルを作成する方法」または 「IA: ディスクスライスとディスクラベルを作成する方法」を参照してください。