この章では、Solaris のディスクスライスの概念と format ユーティリティについて説明します。
この章の内容は次のとおりです。
システムにディスクドライブを追加する方法については、第 23 章「SPARC: ディスク追加の手順」または第 24 章「x86 : ディスク追加の手順」を参照してください。
ディスク管理の手順については、次を参照してください。
一般に、Solaris 2.x 環境におけるディスクの管理とは、システムを設定し、Solaris インストールプログラムを実行し、適切なディスクスライスを作成してオペレーティングシステムをインストールすることを意味します。また、format ユーティリティを使用して、新しいディスクドライブを追加したり、欠陥ディスクドライブを交換したりしなければならない場合もあります。
この節の説明を有効に利用するには、基本的なディスクアーキテクチャを理解しておく必要があります。特に、次の用語を理解しておいてください。
トラック
シリンダ
セクター
ディスクコントローラ
ディスクラベル
デバイスドライバ
上記の用語をよく理解していない場合は、用語集やディスクメーカの製品情報を参照してください。
ディスク上に格納されたファイルは、ファイルシステム中で管理されます。ディスク上の各ファイルシステムは「スライス」、つまり、そのファイルシステム用に確保されたシリンダのグループに割り当てられます。オペレーティングシステム (および、システム管理者) からは、各ディスクスライスは別個のディスクドライブであるかのように見えます。
ファイルシステムについての詳細は、パート VIII を参照してください。
スライスをパーティションと呼ぶこともあります。このマニュアルでは「スライス」と呼びますが、format ユーティリティなど、特定のインタフェースではスライスをパーティションと呼びます。
スライスを設定するときには、次の規則に注意してください。
各ディスクスライスは、ファイルシステムを 1 つしか持てない。
ファイルシステムを複数のスライスにまたがって割り当てることはできない。
SPARC プラットフォームと x86 プラットフォームでは、スライスの設定が少し異なります。表 21-1 は、両者の違いを示しています。
表 21-1 プラットフォームによるスライスの違い
SPARC |
x86 |
---|---|
ディスク全体が Solaris 専用になる。 |
ディスクはオペレーティングシステムごとに 1 つの fdisk パーティションに分割される。 |
ディスクは 0 から 7 までの番号が付いた 8 つのスライスに分割される。 |
Solaris の fdisk パーティションは 0 から 9 までの番号が付いた 10 のスライスに分割される。 |
SPARC システム上では、Solaris は 8 つのディスクスライスを定義して、それぞれにある程度決まった役割を割り当てます。これらのスライスには、0 から 7 までの番号が付いています。表 21-2 に、SPARC システム上の 8 つの Solaris スライスの内容を示します。
表 21-2 SPARC : Solaris ディスクスライス
スライス |
ファイルシステム |
通常クライアントまたはサーバーのどちらにあるか |
用途 |
---|---|---|---|
0 |
ルート |
両方 |
オペレーティングシステムを構成するファイルとディレクトリを含む。 |
1 |
スワップ |
両方 |
仮想メモリー、つまり「スワップ空間」を提供する。スワップ空間は、実行中のプログラムが大きすぎてコンピュータのメモリーに入りきらないときに使用される。その場合、Solaris 環境では、プログラムがメモリーからディスクに「スワップ」され、必要に応じて戻される。 |
2 |
- |
両方 |
慣習により、このスライスはディスク全体を表す。このスライスは、Sun の format と Solaris インストールプログラムによって自動的に定義される。このスライスのサイズは変更しないこと。 |
3 |
/export |
サーバーのみ |
オペレーティングシステムの代替バージョンを含む。これらの代替バージョンは、サーバーとはアーキテクチャが異なるクライアントシステムに必要である。アーキテクチャのタイプがサーバーと同じクライアントは、/usr ファイルシステム (通常はスライス 6) にある実行可能プログラムを利用する。 |
4 |
/export/swap |
サーバーのみ |
クライアントシステムに仮想メモリー領域を提供する。 |
5 |
/opt |
両方 |
システムに追加されるアプリケーションソフトウェアを含む。インストール時に、このファイルシステムにスライスが割り当てられていなければ、/opt ディレクトリがスライス 0 に入る。 |
6 |
/usr |
両方 |
ユーザーが実行するオペレーティングシステムコマンド (「実行可能」コマンドとも呼ぶ) を含む。また、このスライスには、オンラインマニュアル、システムプログラム (init や syslogd など)、ライブラリルーチンも含まれる。 |
7 |
/home または /export/home |
両方 |
ユーザーによって作成されるファイルを含む。 |
x86 システム上では、ディスクは fdisk パーティションに分割されます。fdisk パーティションは、Solaris など、特定のオペレーティングシステムで使用するように確保されたディスクの一部です。
表 21-3 のように、Solaris は x86 システムのディスク上の Solaris fdisk パーティション上に、0 から 9 までの番号が付いた 10 のスライスを配置します。
表 21-3 x86 : 代表的なディスクスライス割り当て
スライス |
ファイルシステム |
通常クライアントまたはサーバーのどちらにあるか |
用途 |
---|---|---|---|
0 |
ルート |
両方 |
オペレーティングシステムを構成するファイルとディレクトリを含む。 |
1 |
スワップ |
両方 |
仮想メモリー、つまり「スワップ空間」を提供する。スワップ空間は、実行中のプログラムが大きすぎてコンピュータのメモリーに入りきらないときに使用される。その場合、Solaris 環境では、プログラムがメモリーからディスクに「スワップ」され、必要に応じて戻される。 |
2 |
- |
両方 |
慣習により、このスライスは Solaris fdisk パーティション全体を表す。このスライスは、Sun の format ユーティリティと Solaris インストールプログラムによって自動的に定義される。このスライスのサイズは変更しないこと。 |
3 |
/export |
サーバーのみ |
オペレーティングシステムの代替バージョンを含む。これらの代替バージョンは、サーバーとはアーキテクチャが異なるクライアントシステムに必要である。 |
4 |
/export/swap |
サーバーのみ |
クライアントシステムに仮想メモリーを提供する。 |
5 |
/opt |
両方 |
システムに追加されるアプリケーションソフトウェアを含む。インストール時に、このファイルシステムにスライスが割り当てられていなければ、/opt ディレクトリがスライス 0 に入る。 |
6 |
/usr |
両方 |
ユーザーが実行するオペレーティングシステムコマンド (「実行可能」コマンドとも呼ぶ) を含む。また、このスライスには、マニュアル、システムプログラム (init や syslogd など)、ライブラリルーチンも含まれる。 |
7 |
/home または /export/home |
両方 |
ユーザーによって作成されるファイルを含む。 |
8 |
- |
両方 |
Solaris がハードディスクからブートするために必要な情報を含む。スライス番号は 8 であるが、この情報は、Solaris パーティションの先頭にあり、ブートスライスと呼ばれる。 |
9 |
- |
両方 |
代替ディスクブロック用に予約された領域であり、代替セクタースライスと呼ばれる。 |
SunOS オペレーティングシステムは、各ディスクのブロック 0、シリンダ 0 に、ディスクラベルを格納します。これは、raw データスライスを作成する、Sun 以外のデータベースアプリケーションを使用するときは、ブロック 0、シリンダ 0 から開始してはならないことを意味します。この領域に raw データスライスを作成すると、ディスクラベルが上書きされて、ディスク上のデータにアクセスできなくなります。
ディスク上の次の領域は、raw データスライス用に使用しないでください。raw データスライスは Sun 以外のデータベースアプリケーションによって作成されることがあります。
ブロック 0、シリンダ 0 (ディスクラベルが格納される領域)
シリンダ 0 全体 (性能の向上のため)
スライス 2 (ディスク全体を表す)
十分な大きさのディスクであれば、1 台ですべてのスライスとそれに対応するファイルシステムを確保できますが、通常はシステムのスライスとファイルシステムを確保するために複数のディスクが使用されます。
1 つのスライスを複数のディスクに分割することはできません。ただし、複数のスワップスライスを別々のディスクに配置することはできます。
たとえば、1 台のディスクにルート (/) ファイルシステム、スワップ領域、/usr ファイルシステムを入れ、別のディスクは /export/home ファイルシステムやユーザーデータが入っている他のファイルシステムに使用できます。
複数のディスクを使用する場合、オペレーティングシステムソフトウェアとスワップ領域が入っているディスク (つまり、ルート (/)、/usr ファイルシステム、またはスワップ領域用のスライスが入っているディスク) を、「システムディスク」と呼びます。システムディスク以外のディスクを、「二次ディスク 」または「非システムディスク」と呼びます。
システムのファイルシステムを複数のディスクに入れると、システムをシャットダウンしたりオペレーティングシステムソフトウェアをロードし直したりしなくても、二次ディスクのファイルシステムとスライスを変更できます。
また、複数のディスクを使用すると、入出力 (I/O) の性能が改善されます。ディスク負荷を複数のディスクに分散すると、I/O のボトルネックを回避できます。
ディスクのファイルシステムを設定するときには、各スライスのサイズだけでなく、どのスライスを使用するかも決定します。どのように決定するかは、ディスクを接続するシステムの構成と、ディスクにインストールしたいソフトウェアによって異なります。
次の 5 つのシステム構成があります。
サーバー
ディスクレスクライアント
スタンドアロンシステム
AutoClient システム
システム構成ごとに、使用すべきスライスが異なります。表 21-4 は、これらの要件を示しています。
表 21-4 システム構成とスライスの要件
スライス |
サーバー |
ディスクレスクライアント |
スタンドアロン システム |
AutoClient システム |
---|---|---|---|---|
0 |
ルート |
(サーバー上) |
ルート |
ルート |
1 |
スワップ |
(サーバー上) |
スワップ |
スワップ |
2 |
- |
- |
- |
- |
3 |
/export |
- |
- |
- |
4 |
/export/swap |
- |
- |
- |
5 |
/opt |
(サーバー上) |
/opt |
(サーバー上) |
6 |
/usr |
(サーバー上) |
/usr |
(サーバー上) |
7 |
/export/home |
(サーバー上) |
/home |
(サーバー上) |
システム構成についての詳細は、第 4 章「サーバーとクライアントサポートの管理の手順」を参照してください。
Solaris インストールプログラムは、インストール用に選択したソフトウェアに基づいて推奨スライスサイズを表示します。
format ユーティリティの使用方法や参照情報を読む前に概要を知りたい場合は、以下を読んでください。
format ユーティリティは、Solaris システム用にハードディスクドライブを準備するためのシステム管理ツールです。format ユーティリティは、フロッピーディスクドライブ、CD-ROM ドライブ、またはテープドライブには使用できません。
表 21-5 に、format ユーティリティの機能とその利点を示します。
表 21-5 format ユーティリティの機能と利点
機能 |
利点 |
---|---|
システム内で接続されている全ディスクドライブを検索する |
|
ディスクラベルを検索する |
修復処理に使用する。 |
欠陥セクターを修復する |
回復可能なエラーが発生したディスクドライブをメーカに返送しなくても、熟練した管理者なら修復できる。 |
ディスクをフォーマットして、分析する |
ディスク上でセクターを作成し、検査する。 |
ディスクをパーティションに分割する |
個々のファイルシステムを別々のスライス上で作成できるようにディスクを分割する。 |
ディスクにラベルを付ける |
後から検索できるように (通常は修復用)、ディスクにディスク名と構成情報を書き込む。 |
format ユーティリティの全オプションついての詳細は、第 25 章「format ユーティリティの参照情報」を参照してください。
Solaris のインストール処理の一部として、Solaris インストールプログラムによってディスクがパーティションに分割され、ラベルが付けられます。次のような場合には、format ユーティリティを使用する必要があります。
スライス情報を表示する。
ディスクをスライスに分割する。
既存のシステムにディスクを追加する。
ディスクをフォーマットする。
ディスクを修復する。
システム管理者が format ユーティリティを使用するのは、主にディスクをディスクスライスに分割するためです。これらの手順については、第 23 章「SPARC: ディスク追加の手順」と第 24 章「x86 : ディスク追加の手順」を参照してください。
format ユーティリティの使用上のガイドラインについては、表 21-6 を参照してください。
用途 |
注意事項 |
参照先 |
---|---|---|
ディスクをフォーマットする |
| |
システムディスクを交換する |
|
第 23 章「SPARC: ディスク追加の手順」または第 24 章「x86 : ディスク追加の手順」、システムをインストールし直さなければならない場合は、『Solaris のインストール (上級編)』 |
ディスクをスライスに分割する |
| |
既存のシステムにディスクを追加する |
| |
ディスクドライブを修復する |
|
ほとんどの場合、ディスクはメーカまたは再販業者によってフォーマットされているので、ドライブをインストールするときにフォーマットし直す必要はありません。ディスクがフォーマットされているかどうかを判別するには、format ユーティリティを使用します。詳細は、「ディスクがフォーマット済みかどうかを調べる方法」を参照してください。
ディスクがフォーマットされていない場合、format ユーティリティを使用してフォーマットします。
ディスクをフォーマットする作業は、次の 2 つの手順に分けられています。
使用するディスク媒体を用意する。
表面解析に基づいてディスクの欠陥リストを作成する。
フォーマットは、ディスク上のデータを上書きします。このため、通常は、メーカや再販業者のみがディスクをフォーマットします。ディスクに欠陥があるために問題が再発していると思われる場合は、format ユーティリティを使用して表面解析を実行できますが、データを破壊しないコマンドのみを使用するように注意してください。詳細は、「ディスクをフォーマットする方法」を参照してください。
データに利用できる合計ディスク容量のうち、ごくわずかな容量が欠陥情報とフォーマット情報の格納に使用されます。この容量はディスクのジオメトリによって異なり、使用年数がたち、欠陥箇所が増加するにつれて、増加します。
フォーマットにはディスクの種類とサイズに応じて数分から数時間かかります。
どのディスクにも、そのディスクのコントローラ、ジオメトリ、スライスに関する情報を格納する特殊な領域が確保されています。そのような情報をディスクの「ラベル」と呼びます。また、ディスクラベルを表すのに VTOC (Volume Table of Contents) という用語を使用することもあります。「ディスクに ラベルを付ける」とは、ディスクにスライス情報を書き込むことを意味します。通常は、ディスクのスライスを変更した後にラベルを付けます。
スライスを作成した後でディスクにラベルを付けないと、オペレーティングシステムはスライスを「認識」する方法がないので、そのスライスを利用できなくなります。
ディスクラベルのうち重要な部分は「パーティションテーブル」です。この部分は、ディスクのスライス、スライスの境界 (シリンダ単位)、スライスの合計サイズを表します。ディスクのパーティションテーブルは、format ユーティリティを使用して表示できます。表 21-7 にパーティションテーブル関連の用語を示します。
表 21-7 パーティションテーブル関連の用語
パーティションのフラグとタグは慣習により割り当てられるので、管理する必要はありません。
パーティションテーブルを表示する手順については、「ディスクスライス情報を表示する方法」または 「ディスクラベルを検査する方法」を参照してください。
次のパーティションテーブルの例は、535M バイトのディスクについて format ユーティリティを使用して表示したものです。
このパーティションテーブルには、次の情報が入っています。
カラム名 |
説明 |
Part |
パーティション (またはスライス番号)。このカラムの説明については、表 21-7 を参照。 |
Tag |
パーティションのタグ。このカラムの説明については、表 21-7 を参照。 |
Flags |
パーティションのフラグ。このカラムの説明については、表 21-7 を参照。 |
Cylinders |
スライスの開始シリンダ番号と終了シリンダ番号を示す。 |
Size |
スライスのサイズを M バイト単位で示す。 |
Blocks |
合計シリンダ数と 1 スライス当たりの合計セクター数 (カラムの右端) を示す。 |
次の例では、prtvtoc コマンドを使用してディスクラベルを表示します。
# prtvtoc /dev/rdsk/c0t3d0s0 * /dev/rdsk/c0t3d0s0 partition map * * Dimensions: * 512 bytes/sector * 80 sectors/track * 9 tracks/cylinder * 720 sectors/cylinder * 2500 cylinders * 1151 accessible cylinders * * Flags: * 1: unmountable * 10: read-only * * First Sector Last * Partition Tag Flags Sector Count Sector Mount Directory 0 2 00 0 66240 66239 / 1 3 01 66240 131760 197999 2 5 00 0 828720 828719 3 0 00 198000 66240 264239 /export 4 0 00 264240 66240 330479 /export/swap 5 0 00 330480 72000 402479 /opt 6 4 00 402480 385200 787679 /usr 7 8 00 787680 41040 828719 /export/home #
このディスクラベルには、次の情報が入っています。
Dimensions - このセクションには、ディスクドライブの物理的な構成が示されます。
Flags - このセクションには、パーティションテーブルのセクションに記載されたフラグが記述されます。パーティションフラグの説明については、表 21-7 を参照してください。
パーティション (またはスライス) テーブル - このセクションには次の情報が入っています。
カラム名 |
説明 |
Partition |
パーティション (またはスライス番号)。このカラムの説明については、表 21-7 を参照。 |
Tag |
パーティションのタグ。このカラムの説明については、表 21-7 を参照。 |
Flags |
パーティションのフラグ。このカラムの説明については、表 21-7 を参照。 |
First Sector |
スライスの最初のセクターを示す。 |
Sector Count |
スライス内の合計セクター数を示す。 |
Last Sector |
スライス内の最後のセクター番号を示す。 |
Mount Directory |
ファイルシステムの最後のマウントポイントのディレクトリを示す。 |
format ユーティリティは、主にシステム管理者がディスクをスライスに分割する場合に使われます。その場合の手順は次のとおりです。
どのスライスが必要かを決定する。
各スライスのサイズを決定する。
format ユーティリティを使用してディスクをスライスに分割する。
新しいスライス情報を使用してディスクにラベルを付ける。
スライスごとにファイルシステムを作成する。
ディスクをスライスに分割するには、partition メニューから modify コマンドを使用するのが最も簡単な方法です。modify コマンドを使用すると、開始シリンダ境界を追跡しなくても、各スライスのサイズを M バイト単位で指定してスライスを作成できます。また、「free hog」スライス内の残りのディスク領域を追跡します。
format ユーティリティを使用してディスクスライスのサイズを変更するときには、サイズ変更操作に対応して拡大縮小する一時スライスを指定します。
このスライスは、スライスを拡大すると領域を「解放 (free)」し、スライスを圧縮すると放棄された領域を「回収 (hog)」します。このため、提供側のスライスを「free hog」と呼びます。
提供側のスライスは、インストール時または format ユーティリティの実行時にのみ存在します。通常の日常操作中に提供側スライスが継続して存在することはありません。
free hog スライスの使用方法についての詳細は、「SPARC: ディスクスライスとディスクラベルを作成する方法」または 「x86: ディスクスライスとディスクラベルを作成する方法」を参照してください。