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

パート VII ディスクの管理

このパートでは、Solaris 環境でディスクを管理する手順について説明します。次の章で構成されています。

 
 

第 21 章「ディスク管理の概要」

Solaris のディスクスライスの概要と、format ユーティリティを紹介します。

 
 

第 22 章「ディスク管理の手順」

ディスクのフォーマット、ディスクラベルの検査、欠陥ディスクセクターの修復を行う手順について説明します。 

  

第 23 章「SPARC: ディスク追加の手順」

SPARC システムにディスクを追加する手順について説明します。 

 
 

第 24 章「x86: ディスク追加の手順」

x86 システムにディスクを追加する手順について説明します。 

 
 

第 25 章「format ユーティリティの参照情報」

format ユーティリティのメニューとコマンドについて説明します。また、format.dat ファイル、format コマンドの入力規則、ヘルプ機能の使い方についても説明します。

  

第 21 章 ディスク管理の概要

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

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

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

ディスク管理作業の参照先

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

概要

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

ディスク関連の用語

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

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

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

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

ファイルシステムについての詳細は、パート VIII「ファイルシステムの管理」を参照してください。


注 -

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


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

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

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

SPARC 

x86 

ディスク全体が Solaris 専用になる。 

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

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

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

SPARC: ディスクスライス

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

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

スライス 

ファイルシステム 

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

用途 

ルート 

両方 

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

スワップ 

両方 

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

両方 

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

/export

サーバーのみ 

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

/export/swap

サーバーのみ 

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

/opt

両方 

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

/usr

両方 

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

/home または

/export/home

両方 

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

x86: ディスクスライス

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

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

表 21-3 x86 : ディスクスライス

スライス 

ファイルシステム 

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

用途 

ルート 

両方 

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

スワップ 

両方 

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

両方 

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

/export

サーバーのみ 

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

/export/swap

サーバーのみ 

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

/opt

両方 

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

/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 のボトルネックを回避できます。

使用するスライスの決定

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

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

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

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

スライス 

サーバー 

ディスクレス 

クライアント 

スタンドアロン 

システム 

AutoClient  

システム 

ルート 

(サーバー上) 

ルート 

ルート 

スワップ 

(サーバー上) 

スワップ 

スワップ 

/export

/export/swap

/opt

(サーバー上) 

/opt

(サーバー上) 

/usr

(サーバー上) 

/usr

(サーバー上) 

/export/home

(サーバー上) 

/home

(サーバー上) 

システム構成についての詳細は、第 4 章「サーバーとクライアントサポートの管理の手順」を参照してください。


注 -

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


format ユーティリティ

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

定義

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

機能と利点

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

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

機能 

利点 

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

次の情報を表示する。

  • ターゲットの位置

  • ディスクのジオメトリ

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

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

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

修復処理に使用する。 

欠陥セクターを修復する 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

用途 

注意事項 

参照先 

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

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

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

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

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

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

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

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

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

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

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

第 23 章「SPARC: ディスク追加の手順」または第 24 章「x86: ディスク追加の手順」

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

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

第 23 章「SPARC: ディスク追加の手順」または第 24 章「x86: ディスク追加の手順」

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

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

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

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

第 25 章「format ユーティリティの参照情報」

ディスクのフォーマット

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

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

ディスクをフォーマットする作業は、次の 2 つの手順に分けられています。


注意 - 注意 -

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


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

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

ディスクラベルについて

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

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

パーティションテーブル

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

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

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

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

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

例 - パーティションテーブル

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

Graphic

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

カラム名 

説明 

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

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

free hog スライスの使用方法

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

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

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

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

第 22 章 ディスク管理の手順

この章では、ディスク管理の手順について説明します。Solaris システム上でディスクを管理する方法に精通している場合は、この章で説明する多くの内容を読み飛ばすことができます。

この章で説明する手順は次のとおりです。

ディスク管理の概要については、第 21 章「ディスク管理の概要」を参照してください。

ディスクの管理

表 22-1 作業マップ : ディスクの管理

作業 

説明 

手順の説明 

1. システム上のディスクの確認 

システム上のディスクの種類が分からない場合は、format ユーティリティを使用して確認する。

「システム上のディスクを確認する方法」

2. ディスクのフォーマット 

format ユーティリティを使用して、ディスクがフォーマット済みかどうかを判断する。

「ディスクがフォーマット済みかどうかを調べる方法」

 

ほとんどの場合、ディスクはフォーマット済みである。フォーマットする必要があれば、format を使用する。

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

3. スライス情報の表示 

format ユーティリティを使用してスライス情報を表示する。

「ディスクスライス情報を表示する方法」

4. ディスクラベルの作成 

format ユーティリティを使用してディスクラベルを作成する。

「ディスクラベルを作成する方法」

5. ディスクラベルの検査 

prtvtoc コマンドを使用してディスクラベルを検査する。

「ディスクラベルを検査する方法」

6. format.dat のエントリの作成

サードパーティのディスクをサポートするために format.dat のエントリを作成する。

format.dat のエントリを作成する方法」

7. 欠陥ディスクセクターの検出  

format ユーティリティを使用して欠陥ディスクセクターを調べる。

「表面解析を使用して欠陥セクターを調べる方法」

8. 欠陥ディスクセクターの修復 (必要な場合) 

format ユーティリティを使用して欠陥ディスクセクターを修復する。

「欠陥セクターを修復する方法」

システム上のディスクの確認

format ユーティリティを使用して、システムに接続されているディスクの種類を調べます。また、format ユーティリティを使用して、ディスクがシステムに認識されるかどうかを検査することもできます。format ユーティリティの使用方法については、第 25 章「format ユーティリティの参照情報」を参照してください。

システム上のディスクを確認する方法

  1. スーパーユーザーになります。

  2. format ユーティリティを使用して、システム上で認識されるディスクを確認します。


    # format
    

    format ユーティリティは、AVAILABLE DISK SELECTIONS という見出しの下に、認識されるディスクのリストを表示します。

例 -システム上のディスクを確認する

次の format 出力は、2 つのディスクを持つシステムのものです。


# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
       0. c0t1d0 <SUN1.05 cyl 2036 alt 2 hd 14 sec 72>
          /iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@1,0
       1. c0t3d0 <SUN1.05 cyl 2036 alt 2 hd 14 sec 72>
          /iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@3,0
Specify disk (enter its number): 

format の出力は、ディスクの物理デバイス名と論理デバイス名を括弧 <> 内の商品名に対応させています。このため、どの論理名がシステムに接続されたディスクを表しているかを一目で識別できます。論理デバイス名と物理デバイス名については、第 20 章「デバイスへのアクセス」を参照してください。

次の例では、ワイルドカードを使用して、追加コントローラに接続されたディスクを表示します。


# format /dev/rdsk/c2*
AVAILABLE DISK SELECTIONS:
   0. /dev/rdsk/c2t0d0s0 <SUN2.1G cyl 2733 alt 2 hd 19 sec 80>
      /io-unit@f,e0200000/sbi@0,0/QLGC,isp@2,10000/sd@0,0
   1. /dev/rdsk/c2t1d0s0 <SUN2.1G cyl 2733 alt 2 hd 19 sec 80>
      /io-unit@f,e0200000/sbi@0,0/QLGC,isp@2,10000/sd@1,0
   2. /dev/rdsk/c2t2d0s0 <SUN2.1G cyl 2733 alt 2 hd 19 sec 80>
      /io-unit@f,e0200000/sbi@0,0/QLGC,isp@2,10000/sd@2,0
   3. /dev/rdsk/c2t3d0s0 <SUN2.1G cyl 2733 alt 2 hd 19 sec 80>
      /io-unit@f,e0200000/sbi@0,0/QLGC,isp@2,10000/sd@3,0
   4. /dev/rdsk/c2t5d0s0 <SUN2.1G cyl 2733 alt 2 hd 19 sec 80>
      /io-unit@f,e0200000/sbi@0,0/QLGC,isp@2,10000/sd@5,0
Specify disk (enter its number): 

次の例では、SPARC システム上のディスクを表示します。


# format
AVAILABLE DISK SELECTIONS:
      0. c0t3d0 <SUN2.1G cyl 2733 alt 2 hd 19 sec 80>
         /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000/sd@3,0
Specify disk (enter its number): 

format の出力は、ディスク 0 (ターゲット 3) が第 1 の SCSI ホストアダプタ (espdma@...) に接続されており、そのホストアダプタは第 1 の SBus デバイス (sbus@0...) に接続されていることを示しています。また、この出力は物理デバイス名と論理デバイス名をディスクの商品名 SUN2.1G に対応しています。

次の例では、x86 システム上のディスクを表示します。


# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
       0. c0t0d0 <DEFAULT cyl 507 alt 2 hd 64 sec 32>
          /eisa/dpt@5c88,0/cmdk@0,0
       1. c0t3d0 <DEFAULT cyl 1852 alt 2 hd 15 sec 74>
          /eisa/dpt@5c88,0/cmdk@3,0
Specify disk (enter its number): 

format の出力は、ディスク 0、ターゲット 0 (cmdk@0,0) が最初の DPT ホストアダプタ (dpt@5..) に接続され、このアダプタが EISA デバイス (eisa) に接続されていることを示します。x86 システムに関する format の出力では、ディスクは商品名では表示されません。

次に進む手順

format ユーティリティでディスクが認識されなかった場合は、次の表を参照してください。

ディスクの状態 

参照先 

新しく追加したが、再構成ブートを実行しなかった 

第 23 章「SPARC: ディスク追加の手順」または第 24 章「x86: ディスク追加の手順」

サードパーティのディスク 

format.dat のエントリの作成」

電源障害など、システムの問題によってラベルが破損した 

「ディスクラベルを作成する方法」

システムに正しく接続されていない 

ディスクのハードウェアマニュアルを参照して、ディスクをシステムに接続する。 

ディスクのフォーマット

ディスクはメーカーまたは再販業者によってフォーマットされているので、通常はフォーマットしなくてもドライブをインストールできます。

次の作業の前にディスクをフォーマットしておかなければなりません。

ディスクがフォーマット済みかどうかを調べる方法

  1. スーパーユーザーになります。

  2. format ユーティリティを起動します。


    # format
    
  3. 画面に表示されるリストから、チェックしたいディスクの番号を入力します。


    Specify disk (enter its number): 0
    
  4. ディスクがフォーマット済みかどうかを調べます。選択したディスクがフォーマット済みであれば、次のメッセージが表示されます。

       [disk formatted]

例 - ディスクがフォーマット済みかどうかを調べる

次の例は、ディスク c0t3d0 がフォーマット済みであることを示しています。


# format
AVAILABLE DISK SELECTIONS:
       0. c0t1d0 <SUN1.05 cyl 2036 alt 2 hd 14 sec 72> 
		       /iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@1,0
       1. c0t3d0 <SUN1.05 cyl 2036 alt 2 hd 14 sec 72>
          /iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@3,0
Specify disk (enter its number): 0
selecting c0t1d0
[disk formatted]

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

  1. スーパーユーザーになります。

  2. format ユーティリティを起動します。


    # format
    
  3. 画面に表示されるリストから、フォーマットしたいディスクの番号を入力します。


    Specify disk (enter its number): 0
    

    警告 - 警告 -

    システムディスクを選択しないでください。システムディスクをフォーマットすると、オペレーティングシステムや、このディスクに入っているデータが削除されます。


  4. ディスクのフォーマットを開始するには、format> プロンプトで format と入力します。y と入力してコマンドを確認します。


    format> format
    Ready to format. Formatting cannot be interrupted
    and takes 26 minutes (estimated). Continue? y
    
  5. 次のメッセージによりフォーマットが正常に行われたことを確認します。


    Formatting ...
    done
    Verifying media ...
    pass 0 - pattern = 0xc6dec6de
    2035/12/18
    pass 1 - pattern = 0x6db6db6d
    2035/12/18
    total of 0 defective blocks repaired.

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

次の例では、ディスク c0t2d0 をフォーマットします。


# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
      0. c0t1d0 <SUN1.05 cyl 2036 alt 2 hd 14 sec 72>
	         /iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@1,0
      1. c0t3d0 <SUN1.05 cyl 2036 alt 2 hd 14 sec 72>
          /iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@3,0
Specify disk (enter its number):0
Selecting c0t1d0
[disk unformatted]
format> format
Ready to format. Formatting cannot be interrupted
and takes 26 minutes (estimated). Continue? yes
Beginning format. The current time is Wed Jun 10 10:24:48 1998
Formatting ...
done
Verifying media ...
pass 0 - pattern = 0xc6dec6de
2035/12/18
pass 1 - pattern = 0x6db6db6d
2035/12/18
total of 0 defective blocks repaired.
format>

ディスクスライスの表示

format ユーティリティを使用すると、ディスクに適切なディスクスライスがあるかどうかをチェックできます。使用したいスライスがディスクに入っていないことが判明した場合は、format ユーティリティを使用して作成し直し、ディスクにラベルを付けます。ディスクスライスの作成方法については、「SPARC: ディスクスライスとディスクラベルを作成する方法」または 「x86: ディスクスライスとディスクラベルを作成する方法」を参照してください。


注 -

format ユーティリティでは、スライスではなくパーティションという用語を使用します。


ディスクスライス情報を表示する方法

  1. スーパーユーザーになります。

  2. format ユーティリティを起動します。


    # format
    
  3. AVAILABLE DISK SELECTIONS という見出しの下に表示されたディスクを選択して、スライス情報を表示したいディスクを指定します。

       Specify disk (enter its number):1
    
  4. format> プロンプトで partition と入力して、パーティションメニューに入ります。


    format> partition 
    
  5. partition> プロンプトで print と入力して、現在のディスクドライブのスライス情報を表示します。


    partition> print
    
  6. partition> プロンプトで q と入力し、format プロンプトで q と入力して、format> ユーティリティを終了します。


    partition> q
    format> q
    #
  7. スライス情報が特定のスライスのタグとサイズにより表示されることを確認します。

    画面の出力が、スライスサイズが割り当てられていないことを示している場合は、ディスクにスライスがないものと思われます。

例 - ディスクスライス情報を表示する

次の例では、ディスク /dev/rdsk/c0t3d0 のスライス情報を表示します。


# format
Searching for disks...done
Specify disk (enter its number):1
Selecting c0t3d0
format> partition
partition> print
Current partition table (original):
Total disk cylinders available: 1866 + 2 (reserved cylinders)
Part      Tag   Flag   Cylinders    Size      Blocks
  0       root   wm     0 -  292  80.12MB   (293/0/0)   164080
  1       swap   wu   293 -  410  32.27MB   (118/0/0)    66080
  2     backup   wm     0 - 1865  510.23MB  (1866/0/0) 1044960
  3 unassigned   wm     0         0         (0/0/0)          0
  4 unassigned   wm     0         0         (0/0/0)          0
  5       home   wm   411 - 1311  246.37MB  (901/0/0)   504560
  6        usr   wm  1312 - 1718  111.29MB  (407/0/0)   227920
  7 unassigned   wm  1719 - 1865   40.20MB  (147/0/0)    82320
partition> q
format> q
#

これらの例に表示されるスライス情報についての説明は、第 21 章「ディスク管理の概要」を参照してください。

次の例では、ディスク /dev/rdsk/c0t0d0 のスライス情報を表示します。


# format
Searching for disks...done
Specify disk (enter its number): 0
selecting c0t0d0
[disk formatted]
format> partition
partition> print
Current partition table (original):
Total disk cylinders available: 1479 + 2 (reserved cylinders)

Part   Tag    Flag     Cylinders    Size          Blocks
  0      root   wm      1 -  400   108.01MB  (400/0/0)  221200
  1      swap   wu    401 -  556    42.12MB  (156/0/0)   86268
  2    backup   wu      0 - 1479   399.63MB  (1480/0/0) 818440
  3 unassigned  wm      0           0        (0/0/0)         0
  4 unassigned  wm      0           0        (0/0/0)         0
  5 unassigned  wm    557 -  734    48.06MB  (178/0/0)   98434
  6        usr  wm    735 - 1401   180.10MB  (667/0/0)  368851
  7       home  wm   1402 - 1476    20.25MB   (75/0/0)   41475
  8       boot  wu      0 -    0     0.27MB   (1/0/0)      553
  9 unassigned  wm      0           0         (0/0/0)        0
partition> q
format> q

ディスクラベルの作成と検査

一般に、ディスクにラベルを付ける操作は、システムのインストール時、または新しいディスクスライスを作成するときに行います。電源障害などの自然災害が原因でディスクラベルが破損した場合は、ディスクラベルを作成し直さなければならないことがあります。

ユーティリティは、ラベルが付いていない SCSI ディスクを自動構成しようとします。ラベルが付いていないディスクを自動構成できる場合は、次のようなメッセージが表示されます。

	c1t0d0: configured with capacity of 404.65MB

ディスクラベルを作成する方法

  1. スーパーユーザーになります。

  2. format ユーティリティを起動します。


    # format
    
  3. 画面に表示されるリストから、ラベルを作成したいディスクの番号を入力します。


    Specify disk (enter its number):1
    
  4. ディスクラベルの作成方法を決定します。

    ディスクにラベルが付いておらず、正常に自動構成された場合 

    ディスクにラベルが付いており、そのタイプを変更したいか、format でディスクを自動構成できなかった場合 

    ディスクラベルを作成したいかどうかを尋ねるプロンプトが表示される。手順 5 に進んでラベルを作成する。 

    ディスクタイプを指定しなければならない。手順 6 と 7 に進んでディスクのタイプを設定し、ラベルを付ける。 

  5. Label it now? プロンプトで y と入力して、ディスクにラベルを付けます。


    Disk not labeled. Label it now? y
    

    これでディスクラベルが作成されました。手順 9 に進んで format ユーティリティを終了します。

  6. format> プロンプトで type と入力します。


    format> type
    

    Available Drive Types メニューが表示されます。

  7. ディスクタイプの候補のリストからディスクタイプを選択します。


    Specify disk type (enter its number)[8]: 8
    
  8. ディスクにラベルを付けます。ディスクにラベルが付いていない場合は、次のメッセージが表示されます。


    Disk not labeled. Label it now? y
    

    それ以外の場合は、次のメッセージが表示されます。


    Ready to label disk, continue? y
    
  9. format のメインメニューから verify コマンドを使用してディスクラベルを検査します。


    format> verify 
    
  10. format> プロンプトで q と入力して format ユーティリティを終了します。


    partition> q
    format> q
    #

例 - ディスクラベルを作成する

次の例では、424M バイトのディスクを自動構成してラベルを付けます。


# format
	c1t0d0: configured with capacity of 404.65MB

AVAILABLE DISK SELECTIONS:
		   0. c0t3d0 <SUN0424 cyl 1151 alt 2 hd 9 sec 80>
        /sbus@1,f8000000/esp@0,800000/sd@3,0
		   1. c1t0d0 <SUN0424 cyl 1151 alt 2 hd 9 sec 80>
			     /sbus@1,f8000000/QLGC,isp@1,10000/sd@0,0
Specify disk (enter its number): 1
Disk not labeled.  Label it now?  yes
format> verify
#

ディスクラベルを検査する方法

prtvtoc(1M) コマンドを使用して、ディスクラベル情報を検査します。ディスクラベルの説明と prtvtoc コマンドで表示される情報については、第 21 章「ディスク管理の概要」を参照してください。

  1. スーパーユーザーになります。

  2. prtvtoc コマンドを使用してディスクラベル情報を表示します。


    # prtvtoc /dev/rdsk/device-name
    

    device-name

    検査したい raw ディスクデバイス 

例 - ディスクラベルを検査する

次の例は、ディスク /dev/rdsk/c0t0d0s0 のディスクラベル情報を示しています。


# prtvtoc /dev/rdsk/c0t0d0s0* c0t0d0s0 partition map
*
* Dimensions:
*     512 bytes/sector
*      36 sectors/track
*       9 tracks/cylinder
*     324 sectors/cylinder
*    1272 cylinders
*    1254 accessible cylinders
*
* Flags:
*   1: unmountable
*  10: read-only
*
*                       First   Sector    Last	
* Partition Tag Flags  Sector   Count    Sector  Mount Directory
      0      2   00         0    37260    37259   /
      1      3   01     37260    77760   115019
      2      5   00         0   406296   406295
      6      4   00    115020   283824   398843   /usr
      7      6   00    398844     7452   406295   /export/home
#

破損したディスクラベルの復元

電源障害やシステム障害が原因で、ディスクが認識されなくなることがあります。このような場合に、かならずしもスライス情報やディスクのデータを作成し直したり、復元しなければならないとは限りません。

破損したディスクラベルを復元する作業の最初の手順は、正しいジオメトリとディスクタイプ情報を使用してディスクにラベルを付けることです。この操作は、通常のディスクラベル作成方法を使用して実行できます。つまり、自動構成するか、またはディスクタイプを手作業で指定します。

format でディスクタイプが認識されたら、次の手順はバックアップラベルを検索してディスクにラベルを付けることです。バックアップラベルを使用してディスクにラベルを付けると、ディスクタイプとジオメトリだけでなく、正しいパーティション情報を使用してディスクラベルが作成されます。

破損したディスクラベルを復元する方法

  1. システムをシングルユーザーモードにします。必要であれば、シングルユーザーモードでローカル CD-ROM またはネットワークからシステムをブートして、ディスクにアクセスします。

    システムをブートする方法については、第 8 章「SPARC: システムのブートの手順」または第 9 章「x86: システムのブートの手順」を参照してください。

  2. format ユーティリティを使用してディスクのラベルを作成し直します。


    # format
    

    この時点で、format はラベルが付いていない SCSI ディスクを自動構成しようとします。ラベルが付いておらず破損したディスクを自動構成できない場合は、次のメッセージが表示されます。

    cwtxdy: configured with capacity of xyzMB

    次に、システム上のディスクのリストが表示されます。

  3. 画面に表示されたリストから、復元したいディスクの番号を入力します。


    Specify disk (enter its number): 1
    
  4. ディスクラベルの作成方法を決定します。

    ディスクが正常に自動構成された場合 

    ディスクが正常に自動構成されなかった場合 

    手順 5 と 6 を実行してから、手順 12 に進む。 

    手順 7 から 11 までを実行してから手順 12 に進む。 

  5. verify コマンドを使用してバックアップラベルを検索します。


    format> verify
    Warning: Could not read primary label.
    Warning: Check the current partitioning and 'label' the disk or use the 
    'backup' command.
    Backup label contents:
    Volume name = <        >
    ascii name  = <SUN0424 cyl 1151 alt 2 hd 9 sec 80>
    pcyl        = 2500
    ncyl        = 1151
    acyl        =    2
    nhead       =    9
    nsect       =   80
    Part     Tag    Flag    Cylinders      Size      Blocks
      0       root   wm      0 -   91   32.34MB   (92/0/0)   66240
      1       swap   wu     92 -  183   32.34MB   (92/0/0)   66240
      2     backup   wu      0 - 1150  404.65MB  (1151/0/0) 828720
      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    184 - 1150   339.96MB  (967/0/0) 696240
      7 unassigned   wm      0              0      (0/0/0)       0
  6. format でバックアップラベルが見つかり、バックアップラベルの内容が適切に表示された場合は、backup コマンドを実行し、バックアップラベルを使用してディスクにラベルをつけます。


    format> backup
    Disk has a primary label, still continue? y
    
    Searching for backup labels...found.
    Restoring primary label

    ディスクラベルが復元されました。手順 12 へ進みます。

  7. format でディスクを自動構成できなかった場合は、type コマンドを使用してディスクタイプを指定します。


    format> type
    

    Available Devices Type メニューが表示されます。

  8. 0 を選択してディスクを自動構成するか、またはディスクタイプの候補のリストからディスクタイプを選択します。


    Specify disk type (enter its number)[8]: 8
    
  9. ディスクが正常に自動構成された場合は、ディスクラベルを作成するかどうか尋ねるプロンプトが表示されたときに no と応答します。


    Disk not labeled.  Label it now?  no
    
  10. verify コマンドを使用してバックアップラベルを検索します。


    format> verify
    Warning: Could not read primary label.
    Warning: Check the current partitioning and 'label' the disk
    or use the 'backup' command.
    .
    .
    .
  11. format でバックアップラベルが見つかり、その内容が適切な場合は、backup コマンドを実行し、バックアップラベルを使用してディスクにラベルを付けます。


    format> backup
    Disk has a primary label, still continue? y
    
    Searching for backup labels...found.
    Restoring primary label

    ディスクラベルが復元されました。

  12. q と入力して format ユーティリティを終了します。


    format> q
    
  13. fsck コマンドを使用して、復元されたディスク上のファイルシステムを確認します。

    fsck コマンドの使用方法については、第 31 章「ファイルシステムの整合性チェック」を参照してください。

サードパーティのディスクの追加

Solaris 環境では、サードパーティの多数のディスクがサポートされます。ただし、デバイスドライバ、format.dat、またはその両方を用意しなければならない場合があります。

サードパーティのディスクが標準の SunOS オペレーティングシステム互換デバイスドライバで機能するように設計されている場合は、適切な format.dat エントリを作成するだけで、ディスクは format ユーティリティに認識されるはずです。それ以外の場合は、そのディスクをサポートするためにサードパーティのデバイスドライバをロードする必要があります。


注 -

Sun の format ユーティリティがサードパーティのどのディスクドライバでも正常に機能するとは限りません。ディスクドライバに Solaris の format ユーティリティとの互換性がない場合は、ディスクドライブのベンダーが独自のフォーマットプログラムを提供しているはずです。


ここでは、ソフトウェアサポートのいずれかが不足している場合に必要な作業について説明します。一般に、format ユーティリティを起動し、ディスクタイプが認識されないなどという場合に、不足しているソフトウェアサポートがあることがわかります。

この節の説明にしたがって不足しているソフトウェアを用意してから、第 23 章「SPARC: ディスク追加の手順」または 第 24 章「x86: ディスク追加の手順」で説明されている、システムディスクまたは二次ディスクを構成する手順を参照してください。

format.dat のエントリの作成

認識されないディスクは、そのディスクのジオメトリと運用パラメータに関する正確な情報がなければフォーマットできません。この情報は、/etc/format.dat ファイル内で指定します。


注 -

SCSI-2 ドライブには format.dat のエントリは不要です。Solaris 2.3 からは、再構成ブート時にドライブの電源が入っていれば、format ユーティリティは SCSI-2 ドライブを自動的に構成します。SCSI ドライブを自動的に構成する手順については、「SCSI ドライブを自動構成する方法」を参照してください。


ディスクが認識されない場合は、テキストエディタを使用して format.dat にディスクのエントリを作成します。作業を始める前に、ディスクとそのコントローラに関連するすべての技術仕様を収集する必要があります。この情報はディスクといっしょに提供されているはずです。提供されない場合は、ディスクメーカーまたは購入先に問い合わせてください。/etc/format.dat ファイルにエントリを追加する方法については、第 25 章「format ユーティリティの参照情報」を参照してください。

format.dat のエントリを作成する方法

  1. スーパーユーザーになります。

  2. /etc/format.dat ファイルのコピーを作成します。


    # cp /etc/format.dat /etc/format.dat.gen
    
  3. 第 25 章「format ユーティリティの参照情報」で説明する format.dat 情報を使用して、/etc/format.dat ファイルに、サードパーティのディスクのエントリを入力します。

    ディスクのハードウェア製品マニュアルを参照して、必要な情報を収集してください。

SCSI ディスクドライブの自動構成

Solaris 2.3 およびその互換バージョンでは、/etc/format.dat ファイルに特定のドライブタイプが含まれていない場合でも、format ユーティリティは SCSI ディスクドライブを自動的に構成します。この機能により、ディスクデバイスモード検知に関する SCSI-2 仕様に準拠しているディスクドライブで、フォーマット、スライスへの分割、ラベルの作成が行えます。

次の手順にしたがって、自動構成により SCSI ドライブを構成します。

再構成ブートを実行した後に、format ユーティリティを呼び出すと、format はディスクを構成しようとします。成功すると、ディスクが構成されたことを示すメッセージを表示します。SCSI ディスクドライブを自動構成する手順については、「SCSI ドライブを自動構成する方法」を参照してください。

次の表は、format がパーティションテーブルの作成に使用する規則を示しています。

表 22-2 SCSI ディスクスライスの規則

ディスクサイズ 

ルートファイルシステム 

スワップスライス 

0 〜 180M バイト 

16M バイト 

16M バイト 

180 〜 280M バイト 

16M バイト 

32M バイト 

280 〜 380M バイト 

24M バイト 

32M バイト 

380 〜 600M バイト 

32M バイト 

32M バイト 

600M 〜 1.0G バイト 

32M バイト 

64M バイト 

1.0 〜 2.0G バイト 

64M バイト 

128M バイト 

2.0G バイト 〜 

128M バイト 

128M バイト 

いずれの場合も、スライス 6 (/usr ファイルシステム) にディスク上の残りの領域が割り当てられます。

1.3G バイトの SCSI ディスクドライブに関して format で生成されるパーティションテーブルを示しています。


Part    Tag    Flag     Cylinders     Size        Blocks
   0     root    wm       0 -   96    64.41MB      (97/0/0)
   1     swap    wu      97 -  289   128.16MB     (193/0/0)
   2   backup    wu       0 - 1964     1.27GB    (1965/0/0)
   6      usr    wm     290 - 1964     1.09GB    (1675/0/0)

SCSI 自動構成機能の使用方法についての詳細は、第 25 章「format ユーティリティの参照情報」を参照してください。

SCSI ドライブを自動構成する方法

  1. スーパーユーザーになります。

  2. システムのブート時に読み込まれる /reconfigure ファイルを作成します。


    # touch /reconfigure
    
  3. システムをシャットダウンします。


    # shutdown -i0 -g30 -y
    

    -i0

    システムを init 状態 0 (電源切断) にする。 

    -g30

    ログインしているユーザーに、30 秒後にシステムのシャットダウンを開始することを通知する。 

    -y

    ユーザーの介入なしでコマンドを実行するように指定する。 

    運用環境がシャットダウンされると、ok または > プロンプトが表示されます。

  4. システムとすべての外部周辺デバイスの電源を切ります。

  5. 追加しようとするディスクに、システム上の他のデバイスとは異なるターゲット番号が設定されているかどうかを確認します。

    通常は、この操作のためにディスクの裏側に小型のスイッチが付いています。

  6. ディスクがシステムに正しく接続されているかどうかをチェックします。

    インストールについての詳細は、ディスクのハードウェアインストールガイドを参照してください。

  7. すべての外部周辺デバイスの電源を入れます。

  8. システムの電源を入れます。

    システムがブートされ、ログインプロンプトが表示されます。

  9. スーパーユーザーとしてログインし、format ユーティリティを呼び出して、自動構成するディスクを選択します。


    # format
    Searching for disks...done
    c1t0d0: configured with capacity of 404.65MB
    AVAILABLE DISK SELECTIONS:
           0. c0t3d0 <SUN0424 cyl 1151 alt 2 hd 9 sec 80>
              /sbus@1,f8000000/esp@0,800000/sd@3,0
           1. c1t0d0 <SUN0424 cyl 1151 alt 2 hd 9 sec 80>
              /sbus@1,f8000000/QLGC,isp@1,10000/sd@0,0
    Specify disk (enter its number): 1
    
  10. プロンプトで yes と入力してディスクにラベルを付けます。

    y と入力すると、自動構成機能によってディスクラベルが生成され、ディスクに書き込まれます。


    Disk not labeled. Label it now? y
    
  11. verify コマンドを使用してディスクラベルを確認します。


    format> verify
    
  12. format ユーティリティを終了します。


    format> q
    

欠陥セクターの修復

システム上のディスクに欠陥セクターが存在する場合は、次の手順にしたがって修復できます。欠陥セクターを発見するのは次のような場合です。

上記のコンソールメッセージは、ブロック 179 が不良であり、format ユーティリティの repair コマンドを使用して配置し直すか、または修復機能を使用可能にして表面解析を実行する必要があることを示しています。

表面解析を使用して欠陥セクターを調べる方法

  1. スーパーユーザーになります。

  2. 欠陥セクターの存在するスライス内のファイルシステムをマウント解除します。

    詳細は、mount(1M) のマニュアルページを参照してください。


    # umount /dev/dsk/device-name
    
  3. format と入力して format ユーティリティを起動します。


    # format
    
  4. 調べるディスクを選択します。


    Specify disk (enter its number):1
    selecting c0t2d0:
    [disk formatted]
    Warning: Current Disk has mounted partitions.
  5. format> プロンプトで analyze と入力して、analyze メニューに入ります。


    format> analyze
    
  6. analyze> プロンプトで setup と入力して検索手順に使用する解析パラメータを設定します。次のパラメータを使用してください。


    analyze> setup
    Analyze entire disk [no]? n
    Enter starting block number [0, 0/0/0]: 12330
    Enter ending block number [584159, 1216/9/47]: 12360
    Loop continuously [no]? y
    Repair defective blocks [yes]? n
    Stop after first error [no]? n
    Use random bit patterns [no]? n
    Enter number of blocks per transfer [31, 0/0/31]: 1
    Verify media after formatting [yes]? y
    Enable extended messages [no]? n
    Restore defect list [yes]? y
    Create defect label [yes]? y
    
  7. read コマンドを使用して欠陥を見つけます。


    analyze> read
    Ready to analyze (won't harm SunOS). This takes a long time,
    but is interruptible with Control-C. Continue? y
            pass 0
       25/7/24
            pass 1
    Block 12354  (18/4/18), Corrected media error (hard data ecc)
       25/7/24
    ^C
    Total of 1 defective blocks repaired.

欠陥セクターを修復する方法

  1. スーパーユーザーになります。

  2. format ユーティリティに入り、欠陥セクターの存在するディスクを選択します。


    # format
    Searching for disks...done
    AVAILABLE DISK SELECTIONS:
        0. c0t2d0 <SUN1.05 cyl 2036 alt 2 hd 14 sec 72>
    /iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@2,0
        1. c0t3d0 <SUN0535 cyl 1866 alt 2 hd 7 sec 80>
    /iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@3,0
    Specify disk (enter its number): 1
    selecting c0t3d0
    [disk formatted]
    format> 
  3. format> プロンプトで repair コマンドを入力します。


    format> repair
    
  4. 欠陥ブロック番号を入力します。


    Enter absolute block number of defect: 12354
       Ready to repair defect, continue? y
       Repairing block 12354 (18/4/18)...ok.
    format>

    format を使った欠陥セクターの識別方法がわからない場合は、「表面解析を使用して欠陥セクターを調べる方法」を参照してください。

ヒント

次のヒントに従って、ディスクの管理効率を高めることができます。

format セッションのデバッグ

format -M と入力して、SCSI デバイスに対してのみ有効な拡張メッセージと診断メッセージを出力するようにします。

次の例では、Inquiry: の下の一連の数字は、その右側に表示されている inquiry データの 16 進値を表わします。


# format -M
Searching for disks...done
AVAILABLE DISK SELECTIONS:
       0. c0t3d0 <SUN0535 cyl 1866 alt 2 hd 7 sec 80>
/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@3,0

Specify disk (enter its number): 0
selecting c0t3d0
[disk formatted]
format> inquiry
Inquiry:
00 00 02 02 27 00 00 12 43 4f 4e 4e 45 52 20 20     ....'...CONNER 
43 50 33 30 35 34 30 20 20 53 55 4e 30 35 33 35     CP30540  SUN0535
42 30 42 42 39 33 30 38 46 39 30                    B0BB9308F90
Vendor:   CONNER 
Product:  CP30540  SUN0535
Revision: B0BB
format> 

prtvtocfmthard コマンドを使用して複数のディスクにラベルを付ける

prtvtoc コマンドと fmthard コマンドを使用して、同じディスクジオメトリを持つ複数のディスクにラベルを付けます。

この for ループをスクリプト内で使用して、1 台のディスクからディスクラベルをコピーし、複数のディスク上で複製します。


# for i in x y z
> do
> prtvtoc /dev/rdsk/cwtxdysz | fmthard -s - /dev/rdsk/cwt${i}d0s2
> done

例 - 複数のディスクにラベルを付ける

この例では、ディスクラベルがディスク c2t0d0s0 から他の 4 台のディスクにコピーされます。


# for i in 1 2 3 5
> do
> prtvtoc /dev/rdsk/c2t0d0s0 | fmthard -s - /dev/rdsk/c2t${i}d0s2
> done
fmthard:  New volume table of contents now in place.
fmthard:  New volume table of contents now in place.
fmthard:  New volume table of contents now in place.
fmthard:  New volume table of contents now in place.
#

第 23 章 SPARC: ディスク追加の手順

この章では、SPARC システムにディスクを追加する手順について説明します。

この章で説明する手順は次のとおりです。

ディスク管理の概要については、第 21 章「ディスク管理の概要」を参照してください。

SPARC: システムディスクと二次ディスクについて

システムディスクには、ルート (/) ファイルシステム、/usr ファイルシステム、またはその両方が入っています。この 2 つのファイルシステムのどちらかが入っているディスクが損傷した場合、復元方法には次の 2 つがあります。

二次ディスクには、ルート (/) ファイルシステムも /usr ファイルシステムも入っていません。通常はユーザーファイル用の領域が入っています。システムに二次ディスクを追加してディスク容量を増やしたり、損傷した二次ディスクを交換できます。システム上の二次ディスクを交換すると、古いディスクのデータを新しいディスク上で復元できます。

SPARC: システムディスクまたは二次ディスクの追加

表 23-1 作業マップ: システムディスクまたは二次ディスクの追加

作業 

説明 

手順の説明 

1. ディスクの接続とブート 

システムディスク

新しいディスクを接続して、ローカルまたはリモートの Solaris CD からブートする。 

「SPARC: システムディスクを接続してブートする方法」

 

二次ディスク  

新しいディスクを接続し、システムでディスクが認識されるように再構成ブートを実行する。  

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

2. スライスとディスクラベルの作成 

まだディスクメーカーによって実行されていない場合は、ディスクスライスを作成してディスクにラベルを付ける。 

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

3. ファイルシステムの作成 

newfs コマンドを使用してディスクスライス上に UFS ファイルシステムを作成する。システムディスクの場合はルート (/) と /usr ファイルシステムを作成しなければならない。

「SPARC: ファイルシステムを作成する方法」

4. ファイルシステムの復元 

システムディスク上にルート (/) と /usr ファイルシステムを復元する。必要に応じて、二次ディスク上にファイルシステムを復元する。

第 35 章「ファイルとファイルシステムの復元の手順」

5. ブートブロックのインストール 

システムディスクのみ 

システムをブートできるように、ルート (/) ファイルシステムにブートブロックをインストールする。

「SPARC: システムディスクにブートブロックをインストールする方法」

SPARC: システムディスクを接続してブートする方法

この手順は、システムがシャットダウンされていることを前提としています。

  1. 損傷したシステムディスクをシステムから外します。

  2. 追加しようとするディスクにシステム上の他のデバイスとは異なるターゲット番号が設定されているかどうかを確認します。

    通常は、ディスクの裏側にそのための小型スイッチが付いています。

  3. 交換用のディスクがシステムに正しく接続されているかどうかをチェックします。

    インストールについての詳細は、ディスクのハードウェアインストールガイドを参照してください。

  4. ローカルとリモートのどちらの Solaris CD からブートするかに応じて、次の表の手順で操作します。

    ブート元 

    操作 

    ローカル CD-ROM ドライブ内の Solaris CD から 

    1. CD が CD-ROM ドライブに入っているかどうかを確認する。 

    2. CD からシングルユーザーモードでブートする。 

    ok boot cdrom -s

    ネットワーク上の CD-ROM ドライブ内の Solaris CD から 

    ネットワークからシングルユーザーモードでブートする。 

    ok boot net -s

     

    数分後に root プロンプト (#) が表示されます。

次に進む手順

システムをブートしたら、ディスク上にスライスとディスクラベルを作成できます。「SPARC: ディスクスライスとディスクラベルを作成する方法」を参照してください。

SPARC: 二次ディスクを接続してブートする方法

  1. スーパーユーザーになります。

  2. ディスクタイプが Solaris ソフトウェアでサポートされない場合は、ハードウェアに添付された説明書に従って、そのディスクのデバイスドライバを追加します。

    このディスク用の format.dat のエントリの作成方法については、format.dat のエントリを作成する方法」を参照してください。

  3. システムのブート時に読み込まれる /reconfigure ファイルを作成します。


    # touch /reconfigure
    

    /reconfigure ファイルを作成すると、電源を入れるとき、または後からシステムをブートするときに、SunOS ソフトウェアは新しくインストールされた周辺デバイスの有無をチェックします。

  4. システムをシャットダウンします。


    # shutdown -i0 -g30 -y
    

    -i0

    システムを init 状態 0 (電源切断) にする。 

    -gn

    ログインしているユーザーに、n 秒後にシステムのシャットダウンを開始することを通知する。

    -y

    ユーザーの介入なしでコマンドを実行するように指定する。 

    運用環境がシャットダウンされると、ok または > プロンプトが表示されます。

  5. システムとすべての外部周辺デバイスの電源を切ります。

  6. 追加しようとするディスクにシステム上の他のデバイスとは異なるターゲット番号が設定されているかどうかを確認します。

    通常は、ディスクの裏側にそのための小型スイッチが付いています。

  7. ディスクがシステムに正しく接続されているかどうかをチェックします。

    インストールについての詳細は、ディスクのハードウェアインストールガイドを参照してください。

  8. すべての外部周辺デバイスの電源を入れます。

  9. システムの電源を入れます。

    システムがブートし、ログインプロンプトを表示します。

次に進む手順

システムをブートしたら、ディスク上にスライスとディスクラベルを作成できます。「SPARC: ディスクスライスとディスクラベルを作成する方法」を参照してください。

SPARC: ディスクスライスとディスクラベルを作成する方法

  1. スーパーユーザーになります。

  2. format ユーティリティを起動します。


    # format
    

    利用可能なディスクのリストが表示されます。

  3. 画面に表示されるリストから、パーティションに分割し直したいディスクの番号を入力します。


    Specify disk (enter its number): disk-number
    

    disk-number

    パーティションに分割し直したいディスクの番号 

  4. partition メニューにアクセスします (スライスを設定できます)。


    format> partition
    
  5. 現在のパーティション (スライス) テーブルを表示します。


    partition> print
    
  6. 変更作業を開始します。


    partition> modify
    
  7. ディスクをすべて free hog に設定します。


    Choose base (enter number) [0]? 1
    

    free hog スライスについての詳細は、「free hog スライスの使用方法」を参照してください。

  8. 続行するかどうかを尋ねるプロンプトが表示されたら、y と応答して新しいパーティションテーブルを作成します。


    Do you wish to continue creating a new partition table based on 
    above table[yes]?y
    
  9. プロンプトが表示されたら、free hog パーティション (スライス) と各スライスのサイズを指定します。

    システムディスクを追加するときは、次のどちらか、または両方のスライスを設定しなければなりません。

    • ルート (スライス 0)、スワップ (スライス 1)

    • /usr (スライス 6)

    スライスを設定すると、新しいパーティションテーブルが表示されます。

  10. プロンプトが表示されたら y と応答して、表示されたパーティションテーブルを現在のパーティションテーブルにします。


    Okay to make this the current partition table[yes]? y
    

    現在のパーティションテーブルが希望どおりでないために変更したい場合は、no と応答して手順 6 に戻ります。

  11. パーティションテーブルに名前を付けます。


    Enter table name (remember quotes): "partition-name"
    

    partition-name

    新しいパーティションテーブルの名前 

  12. 新しいディスク上のスライスを割り当て終わったら、新しいパーティションテーブルを使用してディスクにラベルを付けます。


    Ready to label disk, continue? yes
    
  13. partition メニューを終了します。


    partition> q
    
  14. verify コマンドを使用して、ディスクラベルを確認します。


    format> verify
    
  15. format メニューを終了します。


    format> q
    

SPARC: 例 - システムディスクのディスクスライスとラベルを作成する

次の例では、format ユーティリティを使用して 1G バイトのディスクを 3 つのスライスに分割します。各スライスをルート (/) ファイルシステム、スワップ領域、/usr ファイルシステムに割り当てます。


# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
       0. c0t1d0 <SUN1.05 cyl 2036 alt 2 hd 14 sec 72>
          /iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@1,0
       1. c0t3d0 <SUN1.05 cyl 2036 alt 2 hd 14 sec 72>
          /iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@3,0
Specify disk (enter its number): 0
selecting c0t1d0
[disk formatted]
format> partition
partition> print
partition> modify
Select partitioning base:
	0. Current partition table (original)
	1. All Free Hog
Choose base (enter number) [0]? 1
 
Part      Tag    Flag     Cylinders        Size            Blocks
  0       root    wm       0               0         (0/0/0)          0
  1       swap    wu       0               0         (0/0/0)          0
  2     backup    wu       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       0               0         (0/0/0)          0
  7 unassigned    wm       0               0         (0/0/0)          0
Do you wish to continue creating a new partition
table based on above table[yes]? yes
Free Hog partition[6]? 6
Enter size of partition `0' [0b, 0c, 0.00mb]: 200mb
Enter size of partition `1' [0b, 0c, 0.00mb]: 200mb
Enter size of partition `3' [0b, 0c, 0.00mb]:
Enter size of partition `4' [0b, 0c, 0.00mb]:
Enter size of partition `6' [0b, 0c, 0.00mb]:
Enter size of partition `7' [0b, 0c, 0.00mb]:
 
 Part      Tag    Flag     Cylinders        Size            Blocks
  0       root    wm       0 -  406      200.32MB    (407/0/0)   410256
  1       swap    wu     407 -  813      200.32MB    (407/0/0)   410256
  2     backup    wu       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     814 - 2035      601.45MB    (1222/0/0) 1231776
  7 unassigned    wm       0               0         (0/0/0)          0
 
Okay to make this the current partition table[yes]? yes
Enter table name (remember quotes): "disk0"
Ready to label disk, continue? yes
partition> quit
format> verify
format> quit

SPARC: 例 - 二次ディスクのディスクスライスとラベルを作成する

次の例では、format ユーティリティを使用して 1G バイトのディスクを /export/home ファイルシステム用の 1 つのスライスに割り当てます。


# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
       0. c0t1d0 <SUN1.05 cyl 2036 alt 2 hd 14 sec 72>
          /iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@1,0
       1. c0t3d0 <SUN1.05 cyl 2036 alt 2 hd 14 sec 72>
         /iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@3,0
Specify disk (enter its number): 0
selecting c0t1d0
[disk formatted]
format> partition
partition> print
partition> modify
Select partitioning base:
	0. Current partition table (original)
	1. All Free Hog
Choose base (enter number) [0]? 1
 
Part      Tag    Flag     Cylinders        Size            Blocks
  0       root    wm       0               0         (0/0/0)          0
  1       swap    wu       0               0         (0/0/0)          0
  2     backup    wu       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       0               0         (0/0/0)          0
  7 unassigned    wm       0               0         (0/0/0)          0
Do you wish to continue creating a new partition
table based on above table[yes]? y
Free Hog partition[6]? 7
Enter size of partition '0' [0b, 0c, 0.00mb, 0.00gb]: 
Enter size of partition '1' [0b, 0c, 0.00mb, 0.00gb]: 
Enter size of partition '3' [0b, 0c, 0.00mb, 0.00gb]: 
Enter size of partition '4' [0b, 0c, 0.00mb, 0.00gb]: 
Enter size of partition '5' [0b, 0c, 0.00mb, 0.00gb]: 
Enter size of partition '6' [0b, 0c, 0.00mb, 0.00gb]:
 Part      Tag    Flag     Cylinders        Size            Blocks
  0       root    wm       0               0         (0/0/0)          0
  1       swap    wu       0               0         (0/0/0)          0
  2     backup    wu       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       0               0         (0/0/0)          0
  7 unassigned    wm       0 - 2035     1002.09MB    (2036/0/0) 2052288 
Okay to make this the current partition table[yes]? yes
Enter table name (remember quotes): "home"
Ready to label disk, continue? y
partition> q
format> verify
format> q
# 

次に進む手順

ディスクスライスを作成してディスクのラベル付けが終わったら、ディスク上にファイルシステムを作成します。「SPARC: ファイルシステムを作成する方法」を参照してください。

SPARC: ファイルシステムを作成する方法

  1. スーパーユーザーになります。

  2. newfs コマンドを使用して、スライスごとにファイルシステムを作成します。


    # newfs /dev/rdsk/cwtxdysz
    

    /dev/rdsk/cwtxdysx

    作成するファイルシステムの raw デバイス 

    newfs コマンドについての詳細は、第 27 章「ファイルシステムの作成手順」を参照してください。

  3. 未使用のマウントポイントにマウントすることによって、新しいファイルシステムを確認します。


    # mount /dev/dsk/cwtxdysz/mnt
    # ls
    lost+found

参照先

追加するディスク 

参照先 

システムディスク 

ディスク上にルート (/) と /usr のファイルシステムを復元する必要がある。第 35 章「ファイルとファイルシステムの復元の手順」を参照。

ルート (/) と /usr ファイルシステムの復元後、ブートブロックをインストールする。「SPARC: システムディスクにブートブロックをインストールする方法」を参照。

二次ディスク 

新しいディスク上にファイルシステムを復元しなければならないことがある。第 35 章「ファイルとファイルシステムの復元の手順」を参照。

 

新しいディスク上にファイルシステムを復元しない場合は、二次ディスクを追加する作業が終わったことになる。ファイルシステムをユーザーが利用できるようにする方法については、第 28 章「ファイルシステムのマウントとマウント解除の手順」を参照。

SPARC: システムディスクにブートブロックをインストールする方法

  1. スーパーユーザーになります。

  2. installboot コマンドを使用して、システムディスクにブートブロックをインストールします。


    # /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk 
    /dev/rdsk/cwtxdys0
    

    /usr/platform/`uname -i`/lib/fs /ufs/bootblk

    ブートブロックコード 

    /dev/rdsk/cwtxdys0

    ルート (/) ファイルシステムの raw デバイス

  3. システムを実行レベル 3 にして、ブートブロックがインストールされていることを確認します。


    # init 6
    

SPARC: 例 - システムディスクにブートブロックをインストールする

次の例では、SPARCstation 10 にブートブロックをインストールします。


# installboot /usr/platform/sun4m/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0

第 24 章 x86: ディスク追加の手順

この章では、x86 システムにディスクを追加する手順について説明します。この章で説明する手順は次のとおりです。

ディスク管理の概要については、第 21 章「ディスク管理の概要」を参照してください。

x86: システムディスクと二次ディスクについて

システムディスクには、ルート (/) ファイルシステム、/usr ファイルシステム、またはその両方が入っています。この 2 つのファイルシステムのどちらかが入っているディスクが損傷した場合、復元方法は次の 2 つがあります。

二次ディスクには、ルート (/) ファイルシステムも /usr ファイルシステムも入っていません。通常はユーザーファイル用の領域が入っています。システムに二次ディスクを追加してディスク容量を増やしたり、損傷した二次ディスクを交換できます。システム上の二次ディスクを交換すると、古いディスクのデータを新しいディスク上に復元できます。

x86: システムディスクまたは二次ディスクの追加

表 24-1 作業マップ: システムディスクまたは二次ディスクの追加

作業 

説明 

手順の説明 

1. ディスクの接続とブート 

システムディスク

新しいディスクを接続して、ローカルまたはリモートの Solaris CD からブートする 

「SPARC: システムディスクを接続してブートする方法」

 

二次ディスク

新しいディスクを接続し、システムでディスクが認識されるように再構成ブートを実行する。 

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

2. スライスとディスクラベルの作成 

まだディスクメーカーによって実行されていない場合は、ディスクスライスとディスクラベルを作成する。 

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

3. ファイルシステムの作成 

newfs コマンドを使用してディスクスライス上に UFS ファイルシステムを作成する。ルート (/) および /usr ファイルシステムは、システムディスク上に作成しなければならない。

「SPARC: ファイルシステムを作成する方法」

4. ファイルシステムの復元 

システムディスク上にルート (/) および /usr ファイルシステムを復元する。必要に応じて、二次ディスク上にファイルシステムを復元する。

第 35 章「ファイルとファイルシステムの復元の手順」

5. ブートブロックのインストール 

システムディスクのみ 

システムをブートできるように、ルート (/) ファイルシステムにブートブロックをインストールする。

「SPARC: システムディスクにブートブロックをインストールする方法」

x86: fdisk パーティションの作成上のガイドライン

次のガイドラインに従って fdisk パーティションを設定してください。


x86 only -

Solaris スライスはパーティションと呼ばれることがあります。このマニュアルではスライスという用語を使用しますが、Solaris のマニュアルやプログラムによっては、スライスをパーティションと呼ぶ場合があります。混乱を避けるために、Solaris のマニュアルでは、 fdisk パーティション (Intel 版 Solaris でのみサポートされます) と、スライスやパーティションと呼ばれる Solaris の fdisk パーティションを区別するようにしています。


x86: システムディスクを接続してブートする方法

この手順は、システムがシャットダウンされていることを前提としています。

  1. 損傷したシステムディスクをシステムから外します。

  2. 追加しようとするディスクにシステム上の他のデバイスとは異なるターゲット番号が設定されているかどうかを確認します。

    通常は、ディスクの背面にそのための小型スイッチが付いています。

  3. 交換用のディスクをシステムに正しく接続します。

    インストールについての詳細は、ディスクのハードウェアインストールガイドを参照してください。また、ディスクに固有のハードウェア構成要件については、『Solaris 7 デバイスの構成 (Intel 版)』を参照してください。

  4. ローカルまたはリモートの Solaris CD からブートする場合は、手順 a から e までを実行します。ネットワークからブートする場合は、手順 a をスキップします。

    1. Solaris のインストール CD を CD-ROM ドライブに挿入します。

    2. Solaris ブートフロッピーディスクを主フロッピーディスクドライブ (DOS ドライブ A) に挿入します。

    3. Type any key to continue プロンプトが表示されたら、任意のキーを押してシステムをリブートします。また、システムがシャットダウンされている場合は、リセットボタンを押してシステムを再起動します。

      数分後に Multiple Device Boot Subsystem メニューが表示されます。

    4. Multiple Device Boot Subsystem メニューから、ブートデバイスとして CD-ROM drive または net(work) を選択します。

      Secondary Boot Subsystem メニューが表示されます。

    5. システムをシングルユーザーモードでブートします。


      Select the type of installation: b -s
      

      数分後に root プロンプト (#) が表示されます。

次に進む手順

システムをブートしたら、ディスク上にスライスとディスクラベルを作成できます。「x86: ディスクスライスとディスクラベルを作成する方法」を参照してください。

x86: 二次ディスクを接続してブートする方法

  1. スーパーユーザーになります。

  2. ディスクが Solaris ソフトウェアでサポートされない場合は、ハードウェアに添付された説明書に従って、そのディスクのデバイスドライバを追加します。

  3. システムのブート時に読み込まれる /reconfigure ファイルを作成します。


    # touch /reconfigure
    

    /reconfigure ファイルを作成すると、電源を入れるとき、または後からシステムをブートするときに、SunOS ソフトウェアは新しくインストールされた周辺デバイスの有無をチェックします。

  4. システムをシャットダウンします。


    # shutdown -i0 -g30 -y
    

    -i0

    システムを init 状態 0 (電源切断) にする。 

    -gn

    ログインしているユーザーに、n 秒後にシステムのシャットダウンが始まることを通知する。 

    -y

    コマンドがユーザーの介入なしで実行されるように指定する。 

    Type any key to continue プロンプトが表示されます。

  5. システムとすべての外部周辺デバイスの電源を切ります。

  6. 追加しようとするディスクにシステム上の他のデバイスとは異なるターゲット番号が設定されているかどうかを確認します。

    通常は、ディスクの背面にそのための小型スイッチが付いています。

  7. ディスクをシステムに正しく接続します。

    インストールについての詳細は、ディスクのハードウェアインストールガイドを参照してください。また、ディスクに固有のハードウェア構成要件については、『Solaris 7 デバイスの構成 (Intel 版)』を参照してください。

  8. すべての外部周辺デバイスの電源を入れます。

  9. システムの電源を入れます。

    システムがブートされ、ログインプロンプトが表示されます。

次に進む手順

システムをブートしたら、ディスク上にスライスとディスクラベルを作成できます。「x86: ディスクスライスとディスクラベルを作成する方法」を参照してください。

x86: Solaris fdisk パーティションを作成する方法

  1. 「x86: fdisk パーティションの作成上のガイドライン」を必ず読んでください。

  2. スーパーユーザーになります。

  3. format ユーティリティを起動します。


    # format
    
  4. 画面に表示されたリストから、Solaris fdisk パーティションを作成するディスクの番号を入力します。


    Specify disk (enter its number): disk-number
    

    disk-number

    Solaris fdisk パーティションを作成するディスクの番号

  5. fdisk メニューに移動します。


    format> fdisk
    

    表示される fdisk メニューは、fdisk パーティションがすでにディスク上に存在しているかどうかにより異なります。次の表を使用して、次に行う手順を決定してください。

    何をしたいのか 

    次の手順 

    参照 

    ディスク全体を占有する Solaris fdisk パーティションを作成する。

    手順 6 

    「x86: 例 - ディスク全体を占有する Solaris fdisk パーティションを作成する」

    Solaris fdisk パーティションを作成し、既存の Solaris 以外の fdisk パーティションは変更しない。

    手順 7 

    「x86: 例 - 既存の fdisk パーティションを変更せずに、Solaris fdisk パーティションを作成する」

    Solaris fdisk パーティションと、Solaris 以外の fdisk パーティションを追加作成する。

    手順 7 

    「x86: 例 - Solaris fdisk パーティションと、DOSBIG fdisk パーティションを作成する」

  6. ディスク全体にまたがる Solaris fdisk パーティションを作成してそれをアクティブにするには、プロンプトで y を入力します。次に、手順 14 に進みます。


    The recommended default partitioning for your disk is:
    
      a 100% "SOLARIS System" partition.
    
    To select this, please type "y".  To partition your disk
    differently, type "n" and the "fdisk" program will
    let you select other partitions. y
    
  7. ディスク全体にまたがる Solaris fdisk パーティションを作成しない場合は、プロンプトで n を入力します。


    To select this, please type "y".  To partition your disk
    differently, type "n" and the "fdisk" program will let you
    select other partitions. n
    Total disk size is 2694 cylinders
                 Cylinder size is 765 (512 byte) blocks
                                              Cylinders
        Partition   Status    Type      Start   End   Length    %
        =========   ======    ========  =====   ===   ======   ===
    
    THERE ARE NO PARTITIONS CURRENTLY DEFINED SELECT ONE OF THE
    FOLLOWING:
    
         1.   Create a partition
         2.   Change Active (Boot from) partition
         3.   Delete a partition
         4.   Exit (Update disk configuration and exit)
         5.   Cancel (Exit without updating disk configuration)
    Enter Selection: 
  8. 「1、Create a partition 」を選択し、fdisk パーティションを作成します。


                 Total disk size is 2694 cylinders
                 Cylinder size is 765 (512 byte) blocks
                                              Cylinders
        Partition   Status    Type      Start   End   Length    %
        =========   ======    ========  =====   ===   ======   ===
    
    THERE ARE NO PARTITIONS CURRENTLY DEFINED SELECT ONE OF THE
    FOLLOWING:
    
         1.   Create a partition
         2.   Change Active (Boot from) partition
         3.   Delete a partition
         4.   Exit (Update disk configuration and exit)
         5.   Cancel (Exit without updating disk configuration)
    Enter Selection: 1
    
  9. 1(=Solaris)」を選択して、Solaris fdisk パーティションを作成します。


    Indicate the type of partition you want to create
      (1=SOLARIS, 2=UNIX, 3=PCIXOS, 4=Other, 8=DOSBIG)
      (5=DOS12, 6=DOS16, 7=DOSEXT, 0=Exit) ? 1
    
  10. Solaris fdisk パーティション用に割り当てるディスクのパーセントを指定します。このパーセントを計算するときには、既存の fdisk パーティションのサイズを考慮してください。


    Indicate the percentage of the disk you want this partition
    to use (or enter "c" to specify in cylinders). nn
    
  11. プロンプトで y を入力して、Solaris fdisk パーティションをアクティブにします。


    Do you want this to become the Active partition? If so, it will be 
    activated each time you reset your computer or when you turn it on 
    again. Please type "y" or "n". y
    

    fdisk パーティションがアクティブになった後、Enter Selection: プロンプトが表示されます。

  12. 別の fdisk パーティションを作成する場合は、「1.Create a partition」を選択します。

    fdisk パーティションを作成手順については、手順 9 から 手順 11 を参照してください。

  13. ディスク構成を更新し、Selection メニューから fdisk メニューに戻ります。


    Selection: 4 
    
  14. label コマンドを使用して、ディスクに新しいラベルを付けます。


    WARNING: Solaris fdisk partition changed - Please relabel the disk
    format> label
    Ready to label disk, continue? yes
    format> 
  15. format メニューを終了します。


    format> quit
    

次に進む手順

ディスク上に Solaris fdisk パーティションを作成し終わったら、ディスク上にスライスを作成できます。「x86: ディスクスライスとディスクラベルを作成する方法」を参照してください。

x86: 例 - ディスク全体を占有する Solaris fdisk パーティションを作成する

次の例は、formatfdisk オプションを使用して、ディスク全体にまたがる Solaris fdisk パーティションを作成する方法を説明しています。


# format
Searching for disks...done

AVAILABLE DISK SELECTIONS:
       0. c0t0d0 <DEFAULT cyl 1479 alt 2 hd 7 sec 79>
          /eisa/eha@1000,0/cmdk@0,0
       1. c0t2d0 <SUN1.05 cyl 2692 alt 2 hd 9 sec 85>
          /eisa/eha@1000,0/cmdk@2,0
Specify disk (enter its number): 1
selecting c0t2d0
[disk formatted]
format> fdisk
The recommended default partitioning for your disk is:

  a 100% "SOLARIS System" partition.

To select this, please type "y".  To partition your disk
differently, type "n" and the "fdisk" program will let you
select other partitions. y

WARNING: Solaris fdisk partition changed - Please relabel the disk
format> label
Ready to label disk, continue? yes
format> quit

x86: 例 - 既存の fdisk パーティションを変更せずに、Solaris fdisk パーティションを作成する

次の例は、DOS-BIG fdisk パーティションがすでに存在しているディスクに、Solaris fdisk パーティションを作成する方法を説明しています。


format> fdisk
             Total disk size is 2694 cylinders
             Cylinder size is 765 (512 byte) blocks
                                         Cylinders
     Partition   Status    Type     Start  End   Length    %
     =========   ======   ========  =====   ===   ====== ===
        1                 DOS-BIG       1   538     538   20
SELECT ONE OF THE FOLLOWING:
     1.   Create a partition
     2.   Change Active (Boot from) partition
     3.   Delete a partition
     4.   Exit (Update disk configuration and exit)
     5.   Cancel (Exit without updating disk configuration)
Enter Selection: 1
Indicate the type of partition you want to create
  (1=SOLARIS, 2=UNIX, 3=PCIXOS, 4=Other, 8=DOSBIG)
  (5=DOS12, 6=DOS16, 7=DOSEXT, 0=Exit) ?1
Indicate the percentage of the disk you want this partition
to use (or enter "c" to specify in cylinders). 80
Do you want this to become the Active partition? If so, it will be 
activated each time you reset your computer or when you turn it on 
again. Please type "y" or "n". y
Partition 2 is now the Active partition Total disk size is 2694 
cylinders
             Cylinder size is 765 (512 byte) blocks
                                         Cylinders
    Partition   Status    Type      Start   End   Length    %
    =========   ======    ========  =====   ===   ======   ===
        1                 DOS-BIG       1   538     538     20
        2       Active    SOLARIS     539  2693    2155     80
SELECT ONE OF THE FOLLOWING:
     1.   Create a partition
     2.   Change Active (Boot from) partition
     3.   Delete a partition
     4.   Exit (Update disk configuration and exit)
     5.   Cancel (Exit without updating disk configuration)
Enter Selection: Selection: 4
WARNING: Solaris fdisk partition changed - Please relabel the disk
format> label
Ready to label disk, continue? yes
format> q

x86: 例 - Solaris fdisk パーティションと、DOSBIG fdisk パーティションを作成する

次の例は、Solaris fdisk パーティションと DOSBIG fdisk パーティションを作成する方法を説明しています。


format> fdisk
The recommended default partitioning for your disk is:
   a 100% "SOLARIS System" partition.
To select this, please type "y".  To partition your disk
differently, type "n" and the "fdisk" program will let you
select other partitions. n
             Total disk size is 2694 cylinders
             Cylinder size is 765 (512 byte) blocks
                                         Cylinders
    Partition   Status    Type      Start   End   Length    %
    =========   ======    ========  =====   ===   ======   ===
THERE ARE NO PARTITIONS CURRENTLY DEFINED SELECT ONE OF THE FOLLOWING:
     1.   Create a partition
     2.   Change Active (Boot from) partition
     3.   Delete a partition
     4.   Exit (Update disk configuration and exit)
     5.   Cancel (Exit without updating disk configuration)
Enter Selection: 1
Indicate the type of partition you want to create
  (1=SOLARIS, 2=UNIX, 3=PCIXOS, 4=Other, 8=DOSBIG)
  (5=DOS12, 6=DOS16, 7=DOSEXT, 0=Exit) ?8
Indicate the percentage of the disk you want this partition
to use (or enter "c" to specify in cylinders). 20
Do you want this to become the Active partition? If so, it will be 
activated each time you reset your computer or when you turn it on 
again. Please type "y" or "n". n
             Total disk size is 2694 cylinders
             Cylinder size is 765 (512 byte) blocks
                                        Cylinders
    Partition   Status    Type      Start   End   Length    %
    =========   ======    ========  =====   ===   ======   ===
        1                 DOS-BIG       1   538     538     20
SELECT ONE OF THE FOLLOWING:
     1.   Create a partition
     2.   Change Active (Boot from) partition
     3.   Delete a partition
     4.   Exit (Update disk configuration and exit)
     5.   Cancel (Exit without updating disk configuration)Enter
Selection: 1
Indicate the type of partition you want to create
  (1=SOLARIS, 2=UNIX, 3=PCIXOS, 4=Other, 8=DOSBIG)
  (5=DOS12, 6=DOS16, 7=DOSEXT, 0=Exit) ?1
Indicate the percentage of the disk you want this partition
to use (or enter "c" to specify in cylinders). 80
Do you want this to become the Active partition? If so, it will be 
activated each time you reset your computer or when you turn it on 
again. Please type "y" or "n". y
Partition 2 is now the Active partition Total disk size is 2694 
cylinders
            Cylinder size is 765 (512 byte) blocks
                                         Cylinders
    Partition   Status    Type      Start   End   Length    %
    =========   ======    ========  =====   ===   ======   ===
        1                 DOS-BIG       1   538     538     20
        2       Active    SOLARIS     539  2693    2155     80
 
SELECT ONE OF THE FOLLOWING:
     1.   Create a partition
     2.   Change Active (Boot from) partition
     3.   Delete a partition
     4.   Exit (Update disk configuration and exit)
     5.   Cancel (Exit without updating disk configuration)
Enter Selection: 4
format> q

x86: ディスクスライスとディスクラベルを作成する方法

  1. スーパーユーザーになります。

  2. format ユーティリティを起動します。


    # format
    
  3. 画面に表示されるリストから、パーティションを変更したいディスクの番号を入力します。


    Specify disk (enter its number): disk-number
    

    disk-number

    パーティションを変更したいディスクの番号 

  4. partition メニューに移動します (スライスを設定できます)。


    format> partition
    
  5. 現在のパーティション (スライス) テーブルを表示します。


    partition> print
    
  6. 変更作業を開始します。


    partition> modify
    
  7. ディスクをすべて free hog に設定します。


    Choose base (enter number) [0]? 1
    

    free hog スライスについての詳細は、「free hog スライスの使用方法」を参照してください。

  8. 続行するかどうかを尋ねるプロンプトが表示されたら、yes と応答して新しいパーティションテーブルを作成します。


    Do you wish to continue creating a new partition
    table based on above table[yes]? yes
    
  9. プロンプトが表示されたら、free hog パーティション (スライス) と各スライスのサイズを指定します。

    システムディスクを追加するときは、次のスライスを設定しなければなりません。

    • ルート (スライス 0)、スワップ (スライス 1) (必須)

    および

    • /usr (スライス 6) (省略可能)

    スライスの情報を設定すると、新しいパーティションテーブルが表示されます。

  10. プロンプトが表示されたら yes と応答して、表示されたパーティションテーブルを現在のパーティションテーブルにします。


    Okay to make this the current partition table[yes]? yes
    

    表示されたパーティションテーブルが希望どおりでないために変更したい場合は、no と応答して 手順 6 に戻ります。

  11. パーティションテーブルに名前を付けます。


    Enter table name (remember quotes): "partition-name"
    

    partition-name

    新しいパーティションテーブルの名前 

  12. 新しいディスク上でスライスを割り当て終ったら、新しいパーティションテーブルを使用してディスクにラベルを付けます。


    Ready to label disk, continue? yes
    
  13. partition メニューを終了します。


    partition> quit
    
  14. verify コマンドで、新しいディスクラベルを確認します。


    format> verify
    
  15. format メニューを終了します。


    format> quit
    

次に進む手順

ディスクスライスとディスクラベルを作成し終ったら、ディスク上にファイルシステムを作成できます。「x86: ファイルシステムを作成する方法」を参照してください。

x86: ファイルシステムを作成する方法

  1. スーパーユーザーになります。

  2. newfs コマンドを使用して、スライスごとにファイルシステムを作成します。


    # newfs /dev/rdsk/cwtxdysz
    

    /dev/rdsk/cwtxdysZ

    作成するファイルシステムの raw デバイス 

    newfs コマンドについての詳細は、第 27 章「ファイルシステムの作成手順」を参照してください。

  3. 未使用のマウントポイントにマウントすることによって、新しいファイルシステムを確認します。


    # mount /dev/dsk/cwtxdysz /mnt
    # ls /mnt
    lost+found

次に進む手順

追加するディスク 

参照先 

システムディスク 

ディスク上にルート (/) と /usr のファイルシステムを復元する必要がある。第 35 章「ファイルとファイルシステムの復元の手順」を参照。

ルート (/) と /usr ファイルシステムの復元後、ブートブロックをインストールする。「x86: システムディスクにブートブロックをインストールする方法」を参照。

二次ディスク 

新しいディスク上にファイルシステムを復元しなければならないことがある。第 35 章「ファイルとファイルシステムの復元の手順」を参照。

 

新しいディスク上にファイルシステムを復元しない場合は、二次ディスクを追加する作業が終ったことになる。ファイルシステムをユーザーが利用できるようにする方法については、第 28 章「ファイルシステムのマウントとマウント解除の手順」を参照。

x86: システムディスクにブートブロックをインストールする方法

  1. スーパーユーザーになります。

  2. 次のコマンドを入力します。


    # /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/pboot /usr/platform/`uname -i`
    /lib/fs/ufs/bootblk /dev/rdsk/cwtxdys2
    

    /usr/platform/`uname -i`/lib/fs/ufs/pboot

    パーティションのブートファイル 

    /usr/platform/`uname -i`/lib/fs/ufs/bootblk

    ブートブロックコード 

    /dev/rdsk/cwtxdys2

    ディスク全体を表す raw デバイス名 

  3. システムをリブートし、レベル 3 で実行することによって、ブートブロックがインストールされていることを確認します。


    # init 6
    

x86: 例 - システムディスクにブートブロックをインストールする


# /usr/sbin/installboot /usr/platform/i86pc/lib/fs/ufs/pboot
/usr/platform/i86pc/lib/fs/ufs/bootblk /dev/rdsk/c0t6d0s2

第 25 章 format ユーティリティの参照情報

この章では、format ユーティリティのメニューとコマンドについて説明します。

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

format ユーティリティの概要については、第 21 章「ディスク管理の概要」を参照してください。

format ユーティリティを使用するための要件または制限

format ユーティリティを使用するには、スーパーユーザーにならなければなりません。スーパーユーザーでない場合は、format を使用しようとすると次のエラーメッセージが表示されます。


% format	Searching for disk...done

	No permission (or no disk found)!

format を使用する場合に情報を保存するための推奨事項

format のメニューとコマンド記述について

format のメインメニューは次のようになっています。


FORMAT MENU:
        disk       - select a disk
        type       - select (define) a disk type
        partition  - select (define) a partition table
        current    - describe the current disk
        format     - format and analyze the disk
        repair     - repair a defective sector
        label      - write label to the disk
        analyze    - surface analysis
        defect     - defect list management
        backup     - search for backup labels
        verify     - read and display labels
        save       - save new disk/partition definitions
        inquiry    - show vendor, product and revision
        volname    - set 8-character volume name
        quit
format> 

表 25-1 に、format のメインメニュー項目を示します。

表 25-1 format のメインメニュー項目の説明

項目 

コマンド / メニュー 

機能 

disk

コマンド 

後の操作に使用するディスクを選択する (現在のディスクと呼ぶ)。システムのすべてのドライブが表示される。 

type

コマンド 

現在のディスクのメーカーとモデルを選択する。認識されているドライブタイプのリストが表示される。SCSI-2 対応ディスクドライブの場合は Auto configure オプションを選択する。

partition

メニュー 

スライスを作成したり変更したりする。詳細は、partition メニュー」を参照。

current

コマンド 

現在のディスクに関して次の情報が表示される。 

  • デバイス名とタイプ

  • シリンダ数、代替シリンダ数、ヘッド数、セクター数

  • 物理デバイス名

format

コマンド 

次のいずれかの情報源をこの順番に使用して、現在のディスクをフォーマットする。 

  1. format.dat ファイル内の情報

  2. 自動構成プロセスからの情報

  3. format.dat エントリが見つからない場合にプロンプトに応答した情報

fdisk

メニュー 

fdisk プログラムが実行され、Solaris fdisk パーティションを作成する。

repair

コマンド 

ディスク上で特定のブロックを修復する。 

label

コマンド 

現在のディスクに新しいラベルを書き込む。 

analyze

メニュー 

読み取り、書き込み、比較テストを実行する。詳細は、analyze メニュー」を参照。

defect

メニュー 

欠陥リストを検索して出力する。詳細は、defect メニュー」を参照。

backup

コマンド 

バックアップラベルを検索する。 

verify

コマンド 

ディスクに関して次の情報を出力する。 

  • デバイス名とタイプ

  • シリンダ数、代替シリンダ数、ヘッド数、セクター数

  • パーティションテーブル

save

コマンド 

新しいディスクとパーティションの情報を保存する。 

inquiry

コマンド 

現在のドライブのベンダ、製品名、リビジョンレベルが出力される (SCSI ディスクのみ)。 

volname

コマンド 

新しい 8 文字のボリューム名を使用してディスクラベルを作成する。 

quit

コマンド 

format メニューを終了する。

partition メニュー

partition メニューは次のようになっています。


format> partition
PARTITION MENU:
        0      - change `0' partition
        1      - change `1' partition
        2      - change `2' partition
        3      - change `3' partition
        4      - change `4' partition
        5      - change `5' partition
        6      - change `6' partition
        7      - change `7' partition
        select - select a predefined table
        modify - modify a predefined partition table
        name   - name the current table
        print  - display the current table
        label  - write partition map and label to the disk
        quit
partition> 

表 25-2 に、partition メニューの項目を示します。

表 25-2 partition メニューの項目の説明

コマンド 

機能 

change `x' partition

以下の値を設定し、新しいスライスを指定する。 

  • 識別タグ

  • アクセス権フラグ

  • 開始シリンダ

  • サイズ

select

あらかじめ定義されたスライステーブルを選択する。 

modify

スライステーブル内のすべてのスライスを変更する。個々のスライスに対して change `x partition コマンドを実行するよりも、このコマンドが使用されることが多い。

name

現在のスライステーブルの名前を指定する。 

print

現在のスライステーブルが表示される。 

label

スライスマップとラベルを現在のディスクに書き込む。 

quit

partition メニューを終了する

x86: fdisk メニュー

x86 システム上でのみ、次のような fdisk メニューが表示されます。


format> fdisk
             Total disk size is 1855 cylinders
             Cylinder size is 553 (512 byte) blocks
                                           Cylinders
      Partition   Status    Type      Start   End   Length    %
      =========   ======    ========  =====   ===   ======   ===
          1                 DOS-BIG       0   370     371     20
          2       Active    SOLARIS     370  1851    1482     80

SELECT ONE OF THE FOLLOWING:

     1.   Create a partition
     2.   Change Active (Boot from) partition
     3.   Delete a partition
     4.   Exit (Update disk configuration and exit)
     5.   Cancel (Exit without updating disk configuration)
Enter Selection: 

表 25-3 に、fdisk メニューの項目を示します。

表 25-3 fdisk メニューの項目の説明

コマンド 

機能 

Create a partition

fdisk パーティションを作成する。Solaris や DOS など、オペレーティングシステムごとに別々のパーティションを作成しなければならない。1 台のディスクの最大パーティション数は 4 である。fdisk のパーティションのサイズをパーセンテージで入力するように促すプロンプトが表示される。

Change Active partition

どのパーティションをブートに使用するかを指定する。これにより、第 1 段階のブートプログラムが実行する第 2 段階のブートプログラムの存在するパーティションを指定する。 

Delete a partition

以前に作成したパーティションを削除する。このコマンドを実行すると、パーティション内のすべてのデータが失われる。 

Exit

新しいパーティションテーブルを書き込んで fdisk メニューを終了する。

Cancel

パーティションテーブルを変更せずに fdisk メニューを終了する。

analyze メニュー

analyze メニューは次のようになっています。


format> analyze

ANALYZE MENU:
    read     - read only test   (doesn't harm SunOS)
    refresh  - read then write  (doesn't harm data)
    test     - pattern testing  (doesn't harm data)
    write    - write then read      (corrupts data)
    compare  - write, read, compare (corrupts data)
    purge    - write, read, write   (corrupts data)
    verify   - write entire disk, then verify (corrupts data)
    print    - display data buffer
    setup    - set analysis parameters
    config   - show analysis parameters
    quit
analyze> 

表 25-4 に、analyze メニューの項目を示します。

表 25-4 analyze メニューの項目の説明

コマンド 

機能 

read

このディスクの各セクターを読み込む。デフォルトで欠陥ブロックを修復する。 

refresh

データを損なわずにディスク上で読み込んで書き込む。デフォルトで欠陥ブロックを修復する。 

test

データを損なわずに一連のパターンをディスクに書き込む。デフォルトで欠陥ブロックを修復する。 

write

一連のパターンをディスクに書き込んで、そのデータをディスクから読み込む。ディスク上の既存のデータは破壊される。デフォルトで欠陥ブロックを修復する。 

compare

ディスクに一連のパターンを書き込み、そのデータを読み込み、書き込みバッファ内のデータと比較する。ディスク上の既存のデータは破壊される。デフォルトで欠陥ブロックを修復する。 

purge

ディスク上のデータを消去する。いかなる手段でも取り出せないように、ディスクに複数のパターンを書き込むことによって、すべてのデータを削除する。ディスク全体 (またはディスクのセクション) に 3 種類のパターンが書き込まれ、検査に合格すると 16 進のビットパターンが書き込まれて、データが削除される。 

デフォルトで欠陥ブロックを修復する。 

verify

1 度目にディスク全体の各ブロックに固有のデータを書き込み、2 度目にそのデータを検査する。ディスク上の既存のデータは失われる。デフォルトで欠陥ブロックを修復する。 

print

読み込み/書き込みバッファ内のデータを表示する。 

setup

次の解析パラメータを指定する。 

Analyze entire disk? yes

Starting block number: ドライブによって異なる

Ending block number: ドライブによって異なる

Loop continuously? no

Number of passes: 2

Repair defective blocks? yes

Stop after first error? no

Use random bit patterns? no

Number of blocks per transfer: 126 (0/n/nn)

Verify media after formatting? yes

Enable extended messages? no

Restore defect list? yes

Restore disk label? yes

太字はデフォルトを示す。 

config

現在の解析パラメータを表示する。 

quit

analyze メニューを終了する。

defect メニュー

defect メニューは次のようになっています。


format> defect

DEFECT MENU:
        primary  - extract manufacturer's defect list
        grown    - extract manufacturer's and repaired defects lists
        both     - extract both primary and grown defects lists
        print    - display working list
        dump     - dump working list to file
        quit
defect> 

表 25-5defect メニューの項目を示します。

表 25-5 defect メニューの項目の説明

コマンド 

機能 

primary

メーカーの欠陥リストをディスクドライブから読み込んで、メモリー内の欠陥リストを更新する。 

grown

増分の欠陥リスト (analyze メニューから検出された欠陥) を読み込んで、メモリー内の欠陥リストを更新する。 

both

メーカーの欠陥リストと増分の欠陥リストを読み込んで、メモリー内の欠陥リストを更新する。 

print

メモリー内の欠陥リストを表示する。 

dump

メモリー内の欠陥リストをファイルに保存する。 

quit

defect メニューを終了する。

format に使用されるファイル - format.dat

format で使用されるデータ、/etc/format.dat の内容は次のとおりです。

Solaris オペレーティングシステムといっしょに出荷される format.dat ファイルでは、多数の標準的なディスクがサポートされます。使用中のディスクドライブが format.dat ファイルに含まれていない場合は、そのエントリを追加するか、format で処理を実行中に必要な情報の入力を促すプロンプトを表示させることができます。

ディスクドライブをサイト全体で使用する場合は、format.dat ファイルにエントリを追加すると時間を節約できます。format.dat ファイルを他のシステム上で使用する場合は、format.dat ファイルに追加する特定のディスクドライブを使用するシステムごとに、このファイルをコピーしてください。

次の場合には、システムのデータファイルを変更する必要があります。


注 -

デフォルトエントリは変更しないでください。デフォルトエントリを変更したい場合は、混乱を避けるために、そのエントリをコピーし、別の名前を付けて変更します。


構造

format.dat データファイルには、format ユーティリティに使用されるディスクドライブ情報が入っています。format.dat ファイル内では、次の 3 つの項目が定義されています。

構文

データファイルには、次の構文規則が適用されます。

キーワード

データファイルには、起動時に format に読み込まれるディスク定義が入っています。各定義は、キーワード search_pathdisk_type、または partition で始まります。表 25-6 を参照してください。

表 25-6 format.dat のキーワードの説明

キーワード 

用途 

search_path

このキーワードは format.dat ファイルでは使用しない。Solaris 2.0 リリース以降は、format ユーティリティは論理デバイス階層 (/dev) を検索するので、このキーワードを設定してシステムのディスクを検索する必要がなくなった。

disk_type

コントローラとディスクのモデルを定義する。各 disk_type 定義には、ディスクの物理ジオメトリに関する情報が入っている。デフォルトのデータファイルには、Solaris オペレーティング環境でサポートされるコントローラとディスクの定義が入っている。サポートされないディスクを使用する場合にのみ、新しい disk_type を追加する必要がある。必要に応じて、disk_type 定義をデータファイルにいくつ追加してもかまわない。

partition

ディスクタイプのスライステーブルを定義する。スライステーブルには、スライス情報だけでなく、format 内で参照できる名前が入っている。デフォルトのデータファイルには、数種類のディスクドライブに対応するデフォルトのスライス定義が入っている。システムのディスク上にスライスを作成し直した場合は、スライス定義を追加する。必要に応じて、スライス情報をデータファイルにいくつ追加してもかまわない。

ディスクタイプ

disk_type は、コントローラとディスクのモデルを定義します。各 disk_type 定義には、ディスクの物理ジオメトリに関する情報が入っています。デフォルトのデータファイルには、Solaris オペレーティング環境でサポートされるコントローラとディスクの定義が入っています。サポートされないディスクを使用する場合に限り、新しい disk_type を追加する必要があります。必要に応じて、disk_type 定義をデータファイルにいくつ追加してもかまいません。

キーワード自体が、ディスクタイプ名になります。この名前は、ディスクのラベルの一部になり、format の実行時にディスクタイプを識別するために使用されます。空白が含まれている名前は、二重引用符で囲んでください。表 25-7に、すべての disk_type 定義でキーワードの他に割り当てなければならない識別子を示します。

表 25-7 必須の disk_type 識別子

識別子 

説明 

ctlr

ディスクタイプに有効なコントローラのタイプ。現在、この代入式に有効な値は SCSI と ISP-80 (IPI コントローラ) である。 

ncyl

ディスクタイプ内のデータシリンダ数。この数によって、システムがアクセスできるディスクの論理シリンダ数が決まる。 

acyl

ディスクタイプ内の代替シリンダ数。format は、これらのシリンダを使用して、ドライブの欠陥リストなどの情報を格納する。代替シリンダとして、常に 2 つはシリンダを残しておく必要がある。

pcyl

ディスクタイプ内の物理シリンダ数。この数は、ディスク媒体の境界を計算するために使用される。通常、この数値は ncylacyl の合計に等しくなるが、そうでない場合もある。

nhead

ディスクタイプ内のヘッド数。この数値は、ディスク媒体の境界を計算するために使用される。 

nsect

ディスクタイプ内の 1 トラック当たりのデータセクター数。この数値は、ディスク媒体の境界を計算するために使用される。これはデータセクターだけで、スペアは割り当てには含まれない。 

rpm

ディスクタイプの 1 分当たりの回転数。この情報はラベルに書き込まれ、後からファイルシステムでファイルデータの最適位置の計算に使用される。 

コントローラによっては、他の代入式が必要な場合があります。表 25-8に、SCSI コントローラに必要な代入式を示します。

表 25-8 SCSI コントローラの disk_type 識別子

識別子 

説明 

fmt_time

所定のドライブのフォーマットに要する時間を示す数値。詳細は、コントローラのマニュアルを参照。 

cache

format の処理中にオンボードキャッシュの動作を制御する数値。詳細は、コントローラのマニュアルを参照。

trks_zone

代替セクターのマッピング内で使用される 1 つの欠陥領域当たりのトラック数を指定した数値。詳細は、コントローラのマニュアルを参照。 

asect

このパラメータに代入した数値は、所定の欠陥領域内で代替マッピングに利用できるセクター数を指定する。詳細は、コントローラのマニュアルを参照。 

次に、disk_type 定義の例を示します。


disk_type = "SUN0535" ¥
	: ctlr = SCSI : fmt_time = 4 ¥
	: ncyl = 1866 : acyl = 2 : pcyl = 2500 : nhead = 7 : nsect = 80 ¥
	: rpm = 5400
disk_type = "SUN0669" ¥
	: ctlr = SCSI : fmt_time = 4 ¥
	: trks_zone = 15 : asect = 5 : atrks = 30 ¥
	: ncyl =  1614 : acyl = 2 : pcyl = 1632 : nhead = 15 : nsect = 54 ¥
	: rpm = 3600 : bpt = 31410
disk_type = "SUN1.0G" ¥
	: ctlr = SCSI : fmt_time = 4 ¥
	: trks_zone = 15 : asect = 5 : atrks = 30 ¥
	: ncyl =  1703 : acyl = 2 : pcyl = 1931 : nhead = 15 : nsect = 80 ¥
	: rpm = 3597 : bpt = 41301

スライステーブル

partition 定義のキーワードが、スライステーブル名になります。空白が含まれている名前は、二重引用符で囲んでください。表 25-9 に、すべてのスライステーブル内で値を代入しなければならない識別子を示します。

表 25-9 スライステーブルの必須識別子

識別子 

説明 

disk

このスライステーブルが定義されている disk_type の名前。この名前は disk_type 内で使用されるとおりに指定しなければならない。

ctlr

このスライステーブルを接続できるコントローラタイプディスク。現在、この代入式に有効な値は IPI コントローラを表す ISP-80 と SCSI コントローラを表す SCSI である。ここで指定したコントローラタイプは、上記で選択した disk_type にも定義しなければならない。

スライス定義内の他の代入式では、実際のスライス情報を記述します。識別子は 0 から 7 までの番号です。これらの代入式は省略可能です。明示的に代入されていないスライスは、長さ 0 に設定されます。最初の数値はスライスの開始シリンダで、第 2 はスライス内のセクター数です。次に、スライス定義の例を示します。


partition = "SUN0535" ¥
	: disk = "SUN0535" : ctlr = SCSI ¥
	: 0 = 0, 64400 : 1 = 115, 103600 : 2 = 0, 1044960 : 6 = 300, 876960
partition = "SUN0669" ¥
	: disk = "SUN0669" : ctlr = SCSI ¥
	: 0 = 0, 32400 : 1 = 40, 64800 : 2 = 0, 1307340 : 6 = 120, 1210140
partition = "SUN1.0G" ¥
	: disk = "SUN1.0G" : ctlr = SCSI ¥
	: 0 = 0, 32400 : 1 = 27, 64800 : 2 = 0, 2043600 : 6 = 81, 1946400

位置

format ユーティリティは、次の方法でデータファイルの位置を認識します。

  1. -x コマンド行オプションでパス名を指定した場合は、そのファイルは常にデータファイルとして使用されます。

  2. -x オプションを指定しなければ、format は現在のディレクトリ内でファイル format.dat を検索します。このファイルが見つかると、データファイルとして使用されます。

  3. どちらの方法でもデータファイルが見つからなければ、format はデータファイルとして /etc/format.dat を使用します。このファイルは Solaris オペレーティング環境といっしょに出荷されるので、必ずあるはずです。

format コマンドへの入力規則

format ユーティリティを使用する場合は、さまざまな情報を入力する必要があります。この節では、入力する情報に関する規則について説明します。データ入力時に format のヘルプ機能を使用する方法については、「ヘルプ」を参照してください。

数値

format 内では、整数を入力しなければならない場所が数カ所あります。データを指定するか、選択肢のリストから選択しなければなりません。どちらの場合も、help 機能を使用すると、format は期待する整数の上限と下限を表示し、目的の数値を入力するだけですみます。数値は、その一部として底を明示的に指定しない限り (16 進数を表す 0x など)、10 進数と見なされます。

次の例は、整数の入力を示しています。

Enter number of passes [2]: 34
Enter number of passes [34] Oxf 

ブロック番号

ディスクのブロック番号を入力しなければならない場合は、情報を次の 2 つの方法で入力できます。

この情報は、論理ブロック番号を表す整数として指定できます。任意の底の整数を指定できますが、デフォルトは 10 進です。また、ここで最大演算子 (ドル記号 $) を使用して、format に適切な値を選択させることもできます。論理ブロックの形式は、SunOS のディスクドライバによってエラーメッセージに使用されます。

ブロック番号を指定するには、シリンダ/ヘッド/セクター書式を使用する方法もあります。この形式では、ブロック番号の 3 つの論理構成要素である、シリンダ、ヘッド、セクターの値を明示的に指定しなければなりません。これらの値は論理値ですが、媒体のレイアウトに関連するディスク領域の定義に使用できます。

シリンダ/ヘッド/セクター番号を指定しなければ、該当する値は 0 であると見なされます。また、番号の代わりに最大演算子を使用して、format に適切な値を選択させることもできます。次に、シリンダ、ヘッド、セクターエントリの例を示します。

Enter defective block number: 34/2/3
Enter defective block number: 23/1/
Enter defective block number: 457//
Enter defective block number: 12345
Enter defective block number: Oxabcd
Enter defective block number: 334/$/2
Enter defective block number: 892//$

format は、ブロック番号を常に上記の両方の書式で出力します。また、help 機能によって、期待されるブロック番号の上限と下限が両方の書式で表示されます。

コマンド名

format でメニュープロンプトが表示される場合は、コマンド名を入力する必要があります。コマンド名は、目的のコマンドとして区別できる長さまで省略できます。

たとえば、p(artition) を使用して format メニューから partition メニューにアクセスできます。次に、p(rint) を使用して現在のスライステーブルを表示できます。


format> p
PARTITION MENU:
        0      - change `0' partition
        1      - change `1' partition
        2      - change `2' partition
        3      - change `3' partition
        4      - change `4' partition
        5      - change `5' partition
        6      - change `6' partition
        7      - change `7' partition
        select - select a predefined table
        modify - modify a predefined partition table
        name   - name the current table
        print  - display the current table
        label  - write partition map and label to the disk
        quit
partition> p

その他の名前

format では、名前を指定しなければならない場合があります。このような場合は、名前に使用したい文字列を自由に指定できます。空白を含む名前は、二重引用符 (") で囲まなければなりません。二重引用符で囲まなければ、名前の最初の語だけが使用されます。

ヘルプ

format ユーティリティにはヘルプ機能が組み込まれているので、入力が必要なときに使用できます。疑問符 (?) を入力するだけで必要な情報に関するヘルプが表示され、どんなタイプの入力が必要かについて簡潔な説明が表示されます。

メニュープロンプトから ? と入力すると、利用できるコマンドのリストが表示されます。

関連するマニュアルページ

format ユーティリティに関連するマニュアルページは、format(1M)format.dat(4) です。format(1M) には、format ユーティリティの基本機能とコマンド行で使用できるすべてのオプションについて説明されています。format.dat(4) には、format ユーティリティで使用するディスクドライブ構成情報について説明されています。