Solaris のシステム管理 (デバイスとファイルシステム)

第 12 章 SPARC: ディスクの追加 (手順)

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

SPARC システムへのディスクの追加に関連した手順については、「SPARC: システムディスクまたは二次ディスクの追加 (作業マップ)」を参照してください。

ディスク管理の概要については、第 10 章ディスクの管理 (概要)を参照してください。x86 システムにディスクを追加する手順については、第 13 章x86: ディスクの追加 (手順)を参照してください。

ZFS ファイルシステムでも、記述された手順に従ってディスクを追加できますが、ディスクやディスクスライスへの直接のマッピングは行われません。ZFS ファイルシステムを作成する前に、ZFS ストレージプールを作成する必要があります。詳細については、『Oracle Solaris ZFS 管理ガイド』を参照してください。

SPARC: システムディスクまたは二次ディスクの追加 (作業マップ)

次の作業マップは、SPARC システムにディスクを追加する手順を示します。

作業 

説明 

参照先 

1. ディスクを接続してブートします。 

システムディスク

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

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

 

二次ディスク

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

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

2. スライスとディスクラベルを作成します。 

ディスクスライスを作成してディスクにラベルを付けます (ディスク製造元により実行されていない場合)。 

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

3. ファイルシステムを作成します。 

newfs コマンドを使用してディスクスライス上に UFS ファイルシステムを作成します。システムディスクの場合はルート (/) または /usr ファイルシステム、あるいはその両方を作成する必要があります。

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

4. UFS ファイルシステムを復元します。 

システムディスク上にルート (/) または /usr ファイルシステム、あるいはその両方を復元します。必要に応じて、二次ディスク上にファイルシステムを復元します。

第 26 章UFS ファイルとファイルシステムの復元 (手順)

5. ブートブロックをインストールします。 

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

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

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

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

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

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

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

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

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

    通常、ディスクの裏側には、このための小さいスイッチがあります。

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

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

  4. ローカルの Solaris DVD またはリモートの Solaris DVD (ネットワーク経由) のどちらでブートするかに応じて、次の表の手順で操作します。

    ブート方法 

    動作 

    ローカルドライブの Solaris DVD 

    1. ドライブに Solaris DVD が入っていることを確認します。 

    2. メディアからシングルユーザーモードでブートします。 

    ok boot cdrom -s

    ネットワーク経由 

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

    ok boot net -s

    数分後に、スーパーユーザーのプロンプト (#) が表示されます。

システムディスクを接続し、ブートしたあとの作業

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

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

EFI ディスクラベル付きのディスクを追加する場合、その詳細は、「EFI ディスクラベル」を参照してください。

一般に、最近のバスタイプのほとんどで、ホットプラグ機能がサポートされています。システムのバスタイプでホットプラグ機能がサポートされている場合は、次の手順 2 または手順 3 を行う必要がない場合があります。

ホットプラグ対応デバイスの詳細は、第 6 章デバイスの動的構成 (手順)を参照してください。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

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

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

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


    # touch /reconfigure
    

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

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


    # shutdown -i0 -gn -y
    
    -i0

    システムを実行レベル 0 (電源切断状態) にします。

    -gn

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

    -y

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

    Oracle Solaris OS のシャットダウン後に、ok プロンプトが表示されます。

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

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

    通常、ディスクの裏側には、このための小さいスイッチがあります。

  7. ディスクをシステムに接続して、その物理的接続を確認します。

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

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

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

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

二次ディスクを接続し、ブートしたあとの作業

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

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

  1. スーパーユーザーになるか、同等の役割を引き受けます。

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


    # format
    

    利用可能なディスクの番号付きリストが表示されます。詳細は、format(1M) のマニュアルページを参照してください。

  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)

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

    ディスクスライスの作成例については、例 12–1 を参照してください。

  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. ディスクラベルを検査します。


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


    format> q
    

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

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


# format
AVAILABLE DISK SELECTIONS:
       0. /dev/rdsk/c1t0d0s0 <SUN18G cyl 7506 alt 2 hd 19 sec 248>
          /sbus@2,0/QLGC,isp@2,10000/sd@0,0
       1. /dev/rdsk/c1t1d0s0 <SUN18G cyl 7506 alt 2 hd 19 sec 248>
          /sbus@2,0/QLGC,isp@2,10000/sd@1,0
       2. /dev/rdsk/c1t8d0s0 <SUN18G cyl 7506 alt 2 hd 19 sec 248>
          /sbus@2,0/QLGC,isp@2,10000/sd@8,0
       3. /dev/rdsk/c1t9d0s0 <SUN18G cyl 7506 alt 2 hd 19 sec 248>
          /sbus@2,0/QLGC,isp@2,10000/sd@9,0
Specify disk (enter its number): 0
selecting c1t0d0
[disk formatted]
format> partition
partition> print
partition> modify
Select partitioning base:
	0. Current partition table (original)
	1. All Free Hog
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 - 7505       16.86GB    (7506/0/0) 35368272
  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

Choose base (enter number) [0]? 1
table based on above table[yes]? yes
Free Hog partition[6]? 6
Enter size of partition '0' [0b, 0c, 0.00mb, 0.00gb]: 4gb
Enter size of partition '1' [0b, 0c, 0.00mb, 0.00gb]: 4gb
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 '7' [0b, 0c, 0.00mb, 0.00gb]: 
Part      Tag    Flag     Cylinders        Size            Blocks
  0       root    wm       0 - 1780        4.00GB    (1781/0/0)  8392072
  1       swap    wu    1781 - 3561        4.00GB    (1781/0/0)  8392072
  2     backup    wu       0 - 7505       16.86GB    (7506/0/0) 35368272
  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    3562 - 7505        8.86GB    (3944/0/0) 18584128
  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


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

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


# format /dev/rdsk/c1*
AVAILABLE DISK SELECTIONS:
       0. /dev/rdsk/c1t0d0s0 <SUN18G cyl 7506 alt 2 hd 19 sec 248>
          /sbus@2,0/QLGC,isp@2,10000/sd@0,0
       1. /dev/rdsk/c1t1d0s0 <SUN18G cyl 7506 alt 2 hd 19 sec 248>
          /sbus@2,0/QLGC,isp@2,10000/sd@1,0
       2. /dev/rdsk/c1t8d0s0 <SUN18G cyl 7506 alt 2 hd 19 sec 248>
          /sbus@2,0/QLGC,isp@2,10000/sd@8,0
       3. /dev/rdsk/c1t9d0s0 <SUN18G cyl 7506 alt 2 hd 19 sec 248>
          /sbus@2,0/QLGC,isp@2,10000/sd@9,0
Specify disk (enter its number): 1
selecting c1t1d0
[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 - 7505       16.86GB    (7506/0/0) 35368272
  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 - 7505       16.86GB    (7506/0/0) 35368272
  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 - 7505       16.86GB    (7506/0/0) 35368272
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
# 

次の例では、format ユーティリティーを使って、1.15T バイトの EFI ラベル付きディスクを 3 つのスライスに分割します。


# format
.
.
.
partition> modify
Select partitioning base:
        0. Current partition table (original)
        1. All Free Hog
Choose base (enter number) [0]? 1
Part      Tag    Flag     First Sector          Size          Last Sector
  0       root    wm                 0            0                0    
  1        usr    wm                 0            0                0    
  2 unassigned    wm                 0            0                0    
  3 unassigned    wm                 0            0                0    
  4 unassigned    wm                 0            0                0    
  5 unassigned    wm                 0            0                0    
  6        usr    wm                 0            0                0    
  8   reserved    wm        2576924638         8.00MB           2576941021
Do you wish to continue creating a new partition
table based on above table[yes]? y
Free Hog partition[6]? 4
Enter size of partition 0 [0b, 34e, 0mb, 0gb, 0tb]: 
Enter size of partition 1 [0b, 34e, 0mb, 0gb, 0tb]: 
Enter size of partition 2 [0b, 34e, 0mb, 0gb, 0tb]: 400gb
Enter size of partition 3 [0b, 838860834e, 0mb, 0gb, 0tb]: 400gb
Enter size of partition 5 [0b, 1677721634e, 0mb, 0gb, 0tb]: 
Enter size of partition 6 [0b, 1677721634e, 0mb, 0gb, 0tb]: 
Part      Tag    Flag     First Sector          Size          Last Sector
  0 unassigned    wm                 0            0                0    
  1 unassigned    wm                 0            0                0    
  2        usr    wm                34       400.00GB           838860833
  3        usr    wm         838860834       400.00GB           1677721633
  4        usr    wm        1677721634       428.77GB           2576924637
  5 unassigned    wm                 0            0                0    
  6 unassigned    wm                 0            0                0    
  8   reserved    wm        2576924638         8.00MB           2576941021
Ready to label disk, continue? yes

partition> q

ディスクスライスとディスクラベルを作成したあとの作業

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

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

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. スライスごとにファイルシステムを作成します。


    # newfs /dev/rdsk/cwtxdysz
    

    /dev/rdsk/cwtxdysx は、作成するファイルシステムの raw デバイスです。

    newfs コマンドの詳細は、第 17 章ZFS、UFS、TMPFS、LOFS ファイルシステムの作成 (手順)または newfs(1M) のマニュアルページを参照してください。

  3. 新しいファイルシステムをマウントして、確認します。


    # mount /dev/dsk/cwtxdysz /mnt
    # ls 
    lost+found
UFS ファイルシステムを作成したあとの作業

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

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. システムディスクにブートブロックをインストールします。

    UFS ルートファイルシステムの場合:


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

    これは、ブートブロックコードです。

    /dev/rdsk/cwtxdy s0

    これは、ルート (/) ファイルシステムの raw デバイスです。

    ZFS ルートファイルシステムの場合:


    # installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk
    /dev/rdsk/cwtxdys0
    
    /usr/platform/`uname -i`/lib/fs/zfs/bootblk

    これは、ブートブロックコードです。

    /dev/rdsk/cwtxdy s0

    これは、ルート (/) ファイルシステムの raw デバイスです。

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

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


    # init 6
    

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

次の例は、UFS ルートファイルシステムにブートブロックをインストールする方法を示しています。


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

次の例は、ZFS ルートファイルシステムにブートブロックをインストールする方法を示しています。


# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c0t1d0s0