Solaris のシステム管理 (第 1 巻)

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

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

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

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

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

この節では、Solaris 8 リリースで導入された新機能について説明します。

大容量ディスクのサポート

この Solaris リリースでは、BIOS インタフェースが改良されたため、8G バイトを超える大容量ディスクを完全に使用できます。以前は、Intel 版 Solaris を実行している IA ベースのシステムにおいて、次のような制限がありました。

BIOS が改良されたシステムでは、上記 2 つの制限はなくなりました。

詳細は、Solaris 8 インストールガイド (Intel 版)を参照してください。

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

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

概要

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

ディスク関連の用語

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

上記の用語をよく理解していない場合は、用語集やディスクメーカーの製品情報を参照してください。

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

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

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


注 -

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


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

SPARC プラットフォームと IA プラットフォームでは、スライスの設定が少し異なります。表 28-1 に、両者の違いを示します。

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

SPARC 

IA 

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

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

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

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

SPARC: ディスクスライス

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

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

スライス 

ファイルシステム 

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

用途 

ルート 

両方 

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

スワップ 

両方 

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

両方 

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

/export

サーバーのみ 

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

/export/swap

サーバーのみ 

クライアントシステムに仮想メモリー領域を提供する。 

/opt

両方 

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

/usr

両方 

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

/home または

/export/home

両方 

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

IA: ディスクスライス

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

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

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

スライス 

ファイルシステム 

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

用途 

ルート 

両方 

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

スワップ 

両方 

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

両方 

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

/export

サーバーのみ 

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

/export/swap

サーバーのみ 

クライアントシステムに仮想メモリーを提供する。 

/opt

両方 

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

/usr

両方 

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

/home または /export/home

両方 

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

両方 

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

両方 

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

raw データスライスの使用

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

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

  1. ブロック 0、シリンダ 0 (ディスクラベルが格納される領域)

  2. シリンダ 0 全体 (パフォーマンスの向上のため)

  3. スライス 2 (ディスク全体を表す)

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

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


注 -

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


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

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

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

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

使用するスライスの決定

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

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

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

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

スライス 

サーバー 

スタンドアロンシステム 

ルート 

ルート 

スワップ 

スワップ 

/export

/export/swap

/opt

/opt

/usr

/usr

/export/home

/home

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


注 -

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


format ユーティリティ

format ユーティリティの使用方法や参照情報を読む前に概要を知りたい場合は、以下を読んでください。

定義

format ユーティリティは、Solaris システム用にハードディスクドライブを用意するためのシステム管理ツールです。format ユーティリティは、フロッピーディスクドライブ、CD-ROM ドライブ、テープドライブに対しては使用できません。

機能と利点

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

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

機能 

利点 

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

次の情報を表示する。

  • ターゲットの位置

  • ディスクのジオメトリ

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

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

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

修復処理に使用する。 

欠陥セクターを修復する 

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

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

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

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

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

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

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

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

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

Solaris のインストール処理の一部として、Solaris インストールプログラムによってディスクがパーティションに分割され、ラベルが付けられます。次のような場合には、format ユーティリティを使用する必要があります。

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

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

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

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

用途 

注意事項 

参照先 

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

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

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

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

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

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

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

第 30 章「SPARC: ディスクの追加 (手順)」または第 31 章「IA: ディスクの追加 (手順)」、システムをインストールし直さなければならない場合は、『Solaris 8 のインストール (上級編)

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

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

  • ディスクにラベルを付け直し、ディスクをパーティションに分割し直す前に、復元するために既存のデータをバックアップ媒体にコピーしなければならない。

第 30 章「SPARC: ディスクの追加 (手順)」または第 31 章「IA: ディスクの追加 (手順)」

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

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

第 30 章「SPARC: ディスクの追加 (手順)」または第 31 章「IA: ディスクの追加 (手順)」

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

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

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

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

第 32 章「format ユーティリティ (参照情報)」

ディスクのフォーマット

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

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

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


注意 - 注意 -

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


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

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

ディスクラベルについて

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

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

パーティションテーブル

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

表 28-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

このパーティションテーブルには、次の情報が入っています。

カラム名 

説明 

Part

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

Tag

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

Flags

パーティションのフラグ。このカラムについての説明は、表 28-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

ディスクラベルには、次の情報が入っています。

Dimensions - このセクションには、ディスクドライブの物理的な構成が示されます。

Flags - このセクションには、パーティションテーブルのセクションに記載されたフラグが記述されます。パーティションフラグについての説明は、表 28-7 を参照してください。

パーティション (またはスライス) テーブル - このセクションには次の情報が入っています。

カラム名 

説明 

Partition

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

Tag

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

Flags

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

First Sector

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

Sector Count

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

Last Sector

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

Mount Directory

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

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

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

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

free hog スライスの使用方法

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

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

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

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