この作業は、x86 システム上でルート (/) をミラー化するために使用します。
ルート (/) をミラー化するとき、一次サブミラーに障害が発生した場合にシステムをリブートするときのために、二次ルートのスライス名を記録しておくことが不可欠です。この情報は、動作できなくなるかもしれないシステム上に記録するのではなく、紙などに書き留めておきます。代替ブートデバイスの記録と代替ブートデバイスからのブート操作の詳細については、第 7 章「システムのトラブルシューティング」を参照してください。
この作業での手順を次に示します。
ルート (/) ミラー用に十分な大きさをもつ Solaris パーティションを作成する
代替ブートディスクにブート情報をインストールする
metainit(1M) -f を使用して、ルート (/) スライスを単一スライス (1 面目) の連結 (サブミラー 1) に置く
2 面目の連結 (サブミラー 2) を作成する
metainit(1M) を使用して、サブミラー 1 で 1 面ミラーを作成する
リブートする
metattach(1M) を使用してサブミラー 2 を接続する
IDE ドライブ上にルート (/) があるときはミラー化することはできません。
次の作業では、代替ディスクは c0t1d0 であるとします。
次の手順は、x86 システム上に Solaris パーティションを作成するために使用します。
fdisk(1M) コマンドを使用して、ディスクパーティションを作成する。
# fdisk /dev/rdsk/c0t1d0p0 |
fdisk(1M) を初めて実行する場合は、次のように表示されます。
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.
|
以前 fdisk(1M) を実行したことがある場合は、次のようなメニューが表示されます。
Total disk size is 1855 cylinders
Cylinder size is 1110 (512 byte) blocks
Partition Status Type Start End Length %
========= ====== ======== ===== === ====== ===
1 Active SOLARIS 1 1854 1854 100
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:
|
メニュー項目を選択して、ルート (/) ミラー用に十分な大きさの Solaris パーティションがあることを確認する。
この Solaris パーティションは、ルート (/) スライスを保持するために必要なサイズより 5 シリンダ分大きくします。
Solaris パーティションがアクティブであることを確認します。そうでない場合、ここからブートすることはできません。
Solaris パーティション上で format(1M) コマンドを実行し、ルート (/) ミラー用のスライスを作成する。
# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c0t0d0 <DEFAULT cyl 2676 alt 2 hd 9 sec 85>
/eisa/ncrs@8000,0/cmdk@0,0
1. c1t1d0 <DEFAULT cyl 1865 alt 2 hd 7 sec 80>
/eisa/eha@1000,0/cmdk@1,0
2. c1t2d0 <DEFAULT cyl 1461 alt 2 hd 9 sec 64>
/eisa/eha@1000,0/cmdk@2,0
3. c1t3d0 <DEFAULT cyl 1461 alt 2 hd 9 sec 64>
/eisa/eha@1000,0/cmdk@3,0
4. c1t4d0 <DEFAULT cyl 1865 alt 2 hd 7 sec 80>
/eisa/eha@1000,0/cmdk@4,0
Specify disk (enter its number): 1
selecting c1t1d0: ABCDEFG
[disk formatted]
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
fdisk - run the fdisk program
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
|
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> 0
Part Tag Flag Cylinders Size Blocks
0 unassigned wm 0 0 (0/0/0)
Enter partition id tag [unassigned]: root
Enter partition permission flags [wm]: wm
Enter new starting cyl [0]: 4
Enter partition size [0b, 0c, 0.00mb]: 400mb
partition> label
Ready to label disk, continue? y
partition>
|
quit コマンドを 2 回入力して、partition メニューと format(1M) プログラムを終了する。
partition> quit
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> quit
|
Solaris のルート (/) パーティションに関する次の重要な情報に注意してください。
I.D. タグは root でなければならない
サイズは元のルートパーティションのサイズ以上でなければならない
シリンダ 0 〜 2 を使用してはいけない
代替ブートディスクにブート情報をインストールするには、installboot コマンドを使用します。
# installboot /usr/lib/fs/ufs/pboot ¥ /usr/lib/fs/ufs/bootblk ¥ /dev/rdsk/c0t1d0s0 |
この例では、上の作業を使用して Solaris パーティションが作成され、ブート情報がインストールされているものと想定します。
# metainit -f d10 1 1 c0t0d0s0 d10:Concat/Stripe is setup # metainit d20 1 1 c1t0d0s0 d20: Concat/Stripe is setup # metainit d0 -m d10 d10: Mirror is setup # metaroot d0 # lockfs -fa # reboot ... # metattach d0 d20 d0: Submirror d20 is attached # ls -l /dev/rdsk/c1t0d0s0 lrwxrwxrwx 1 root root 55 Mar 5 12:54 /dev/rdsk/c1t0d0s0 -> ../. devices/eisa/eha@1000,0/cmdk@1,0:a |
-f オプションによって、マウントされたファイルシステムルート (/) を /dev/dsk/c0t0d0s0 にもつ、最初の連結 d10 が作成されます。2 番目の連結 d20 は、/dev/dsk/c1t0d0s0 から作成されます (このスライスのサイズは、d10 のサイズ以上でなければなりません)。-m オプションを付けた metainit コマンドは、ルート (/) を含む連結を使用して 1 面ミラー d0 を作成します。次に、メタデバイス上のルートファイルシステム (/) でシステムをブートできるよう、metaroot コマンドは /etc/vfstab と /etc/system のファイルを編集します。リブートの後、サブミラー d20 がミラーに接続され、ミラーの再同期が行われます (システムは、連結とミラーが設定されていること、およびサブミラー d20 が接続されていることを確認します)。システムを代替ルートデバイスからブートする必要がある場合、ルート raw デバイス上で ls -l コマンドを実行して、代替ルートデバイスへのパスを調べます。