C    ファイル・システムの変換

この付録には,/usr ファイル・システム,ルート・ファイル・システム,およびデータ・ファイル・システムを AdvFS に変換するために使用できる手順を記載しています。 また,システム全体を AdvFS から UFS に変換する方法についても扱っています。

この付録で説明している変換方法は,変換プロセスを説明するためのガイドラインです。 具体的なファイル名,テープ・ドライブ,およびディスク・パーティションはシステムごとに異なります。

vdump および vrestore のファイル・フォーマットは,オペレーティング・システム・ソフトウェアの Version 4.0 と Version 5 の間で互換性があります。 システムを Version 5 にアップグレードし,ドメインを再作成し,バックアップからデータをリストアすると (第 4 章を参照),AdvFS ファイル・セットおよびドメインは新しい構造を持つことになります (2.3.3 項を参照)。

C.1    /usr ファイル・システムの AdvFS への変換

AdvFS の初期インストール時に,/usr ファイル・システムに AdvFS を使用できます。 UFS のファイル・システム /usr を AdvFS に変換すると,障害時のシステム停止時間を短縮することができます。 /usr を AdvFS にインストールしていない場合は,バックアップ・テープ,中間ファイル,別のディスクのいずれかを使用して実行できます。

C.1.1    バックアップ・テープの使用

既存のファイル・システムをテープにバックアップした後 AdvFS 環境にリストアすることにより,/usr (UFS) ファイル・システムを同等な AdvFS ファイル・システムに変換できます。

この処理には次のものが必要になります。

次のようなシステム構成を想定します。

次のような手順で,ファイル・システムを変換します。

  1. /usrファイル・システムを含むシステムに root としてログインします。

  2. AdvFS vdump コマンドを使用して,/usr ファイル・システムを省略時のテープ・ドライブである /dev/tape/tape0 にバックアップします。

    # mt rewind
    # cd /usr
    # vdump -0 .
    

  3. 次の手順で /etc/fstab ファイルを編集します。

    1. /usr を UFS ファイル・システムとしてマウントする次のようなエントリを検索します。

      /dev/disk/dsk3g /usr ufs rw 1 2
      

    2. 上記の行を,/usr を AdvFS ファイル・システムとしてマウントする次のようなエントリに置換します。

      usr_domain#usr /usr advfs rw 1 0
      

  4. 次のコマンドを入力することにより,システムをシャットダウンします。

    # shutdown -h now
    

  5. システムをシングルユーザ・モードにリブートします。 シングルユーザ・モードへのブート方法については,『システム管理ガイド』を参照してください。

  6. Iシングルユーザ・モードで,ルート・ファイル・システムを rw としてマウントし,usr_domain ドメインを作成し,さらに usr ファイルセットを作成します。 mkfdmn コマンドに -F オプションを指定してパーティション・ラベルを UFS から AdvFS に強制的に変更し,警告メッセージを回避します。

    # mount -u /
    # mkfdmn -F /dev/disk/dsk3g usr_domain
    # mkfset usr_domain usr
    

  7. 次のコマンドを入することにより,usr ファイルセットを /usr ディレクトリにマウントします。

    # mount -t advfs usr_domain#usr /usr
    

  8. /usr ファイル・システムをテープから usr ファイルセットにリストアします。

    # vrestore -x -D /usr
    

  9. システムをマルチユーザ・モードにブートします。 システム・プロンプトが戻った時点で,変換された /usr ファイル・システムが使用できる状態になります。

C.1.2    中間ファイルの使用

既存のファイル・システムをファイルにバックアップした後 AdvFS 環境にリストアすることにより,/usr (UFS) ファイル・システムを同等な AdvFS ファイル・システムに変換できます。

この処理には次のものが必要になります。

次のようなシステム構成を想定します。

次のような手順で,/usr ファイル・システムを変換します。

  1. /usr ファイル・システムを含むシステムに root としてログインします。

  2. AdvFS vdump コマンドを使用して,/usr ファイル・システムを中間ファイルである /tmp/usr_bck にバックアップします。

    # cd /usr
    # vdump -0f /tmp/usr_bck /usr
    

  3. 次の手順で /etc/fstab ファイルを編集します。

    1. /usr を UFS ファイル・システムとしてマウントする次のようなエントリを検索します。

      /dev/disk/dsk3g /usr ufs rw 1 2
      

    2. 上記の行を,/usr を AdvFS ファイル・システムとしてマウントする次のようなエントリに置換します。

      usr_domain#usr /usr advfs rw 1 0
      

  4. 次のコマンドを入力することにより,システムをシャットダウンします。

    # shutdown -h now
    

  5. システムをシングルユーザ・モードにリブートします。 シングルユーザ・モードへのリブートについては,『システム管理ガイド』を参照してください。

  6. シングルユーザ・モードで,ルート・ファイル・システムを rw としてマウントし,usr_domain ドメインを作成し,さらに usr ファイルセットを作成します。 mkfdmn コマンドに -F オプションを指定してパーティション・ラベルを UFS から AdvFS に強制的に変更し,警告メッセージを回避します。

    # mount -u /
    # mkfdmn -F /dev/disk/dsk3g usr_domain
    # mkfset usr_domain usr
    

  7. 次のコマンドを入力することにより,usr ファイルセットを /usr ディレクトリにマウントします。

    # mount -t advfs usr_domain#usr /usr
    

  8. /usr ファイル・システムを中間ファイルから usr ファイルセットにリストアします。

    # vrestore -xf /tmp/usr_bck -D /usr
    

  9. システムをマルチユーザ・モードにブートします。 システム・プロンプトが戻った時点で,変換された /usr ファイル・システムが利用できるようになります。

C.1.3    別のディスクの使用

あるディスク上の /usr (UFS) ファイル・システム変換して,同等な /usr (AdvFS) ファイル・システムとして異なるターゲット・ディスク上に配置することができます。

この処理には次のものが必要になります。

次のようなシステム構成を想定します。

次のような手順で,/usr ファイル・システムを変換します。

  1. /usr ファイル・システムを含むシステムに root としてログインします。

  2. ドメインとファイルセットを作成します。

    # mkfdmn /dev/disk/dsk2c usr_domain
    # mkfset usr_domain usr
    

  3. マウント・ポイント・ディレクトリを作成し,ディレクトリに新しいファイルセットをマウントします。

    # mkdir /usr.advfs
    # mount -t advfs usr_domain#usr /usr.advfs
    

  4. /usr ディレクトリに移動します。

    # cd /usr
    

  5. システム上で他のユーザが作業していないことを確認して (システムをシングルユーザ・モードにすると確実です),UFS ファイル・システムの内容を AdvFS ファイル・システムにコピーします。

    # vdump -0f - -D . | vrestore -xf - -D /usr.advfs
    

  6. 次の手順で /etc/fstab ファイルを編集します。

    1. /usr を UFS ファイル・システムとしてマウントするために,次のようなエントリを検索します。

      /dev/disk/dsk3g /usr ufs rw 1 2
      

    2. 上記の行を,/usr を AdvFS ファイル・システムとしてマウントするための次のようなエントリと置換します。

      usr_domain#usr /usr advfs rw 1 0
      

  7. 次のコマンドを実行してテンポラリ・ディレクトリを削除します。

    # umount /usr.advfs
    # rmdir /usr.advfs
    

  8. システムをシャットダウンおよびリブートします。 システム・プロンプトが戻った時点で,変換された /usr ファイル・システムが使用できるようになります。

C.2    ルート・ファイル・システムの AdvFS への変換

ルート・ファイル・システムを AdvFS に変換することにより,システムを AdvFS ドメインからブートしてルート (/) ファイル・システムとして AdvFS を使用することができるようになります。 AdvFS ルート・ドメインは,単一ディスクに置かれていなければなりません。 オペレーティング・システムの初期インストレーション時に,AdvFS ファイル・システム上にルートをインストールすることができます。 それ以外の方法としては,次のような方法があります。

注意

対象となる AdvFS のルート・ドメインは,ボリュームを 1 つだけ含むことができ,また変換されたルート・ファイル・システムを格納するのに十分なサイズでなければなりません。

この処理には,root ユーザ特権,別のブート可能ディスク (パーティション a または c を使用),システムにインストールされた AdvFS ファイル・システムが必要です。

次のようなシステム構成を想定します。

次のような手順で,ルート・ファイル・システムを変換します。 この例では disk_name というディスクを対象とします。

  1. ルート・ファイル・システムを含むシステムに root としてログインします。

  2. ドメインとファイルセットを作成します。

    # mkfdmn -r /dev/disk/dsk2a root_domain
    # mkfset root_domain root
    

  3. 次のコマンドを入力することにより,マウント・ポイント・ディレクトリを作成し,ディレクトリに新しいファイルセットをマウントします。

    # mkdir /newroot
    # mount -t advfs root_domain#root /newroot
    

  4. システム上で他に処理が行われていないことを確認し (システムをシングルユーザ・モードにすると確実です),UFS ルート・ファイル・システムをルート・ファイルセットにリストアします。

    # vdump 0f - / | (cd /newroot; vrestore -xf -)
    

  5. 次のコマンドを使用して,ルート・ドメインを伴うディスクをブート可能なディスクにします。

    # disklabel -r /dev/rdisk/dsk2a > /tmp/dsk2label
    # disklabel -t advfs -r -R /dev/rdisk/dsk2a \
     /tmp/dsk2label disk_name
    

  6. AdvFS ルート・ファイルセット内の /etc/fstab ファイルを編集して,新しいルート・エントリを示すようにします。

    1. /newroot/etc/fstab ファイルで,UFS ファイル・システムとしてルートをマウントしている次のようなエントリを検索します。

      /dev/disk/dsk1a / ufs rw 1 1
      

    2. 上記の行を,AdvFS ファイル・システムとしてルートをマウントする次のようなエントリと置換します。

      root_domain#root / advfs rw 1 0
      

  7. 編集が完了したら,次のコマンドを入力することにより,システムをシャットダウンします。

    # shutdown -h now
    

  8. 省略時のブート・デバイスである BOOTDEF_DEV を再設定して,新しいルート・ドメインを伴うディスクに変更します。 この手順は,使用しているハードウェアによって異なります。 ハードウェア・マニュアルを参照してください。

  9. システムをリブートして,AdvFS ルート・ファイル・システムを使用できるようにします。

T変換されたルート・ファイル・システムを使用するための準備がこれで整いました。

AdvFS ルート・ドメインは 1 つのディスクに制限されていますので,addvol コマンドを使用してルート・ドメインを拡張することはできません。

C.3    ファイル・システムの AdvFS への変換

ファイル・システムを AdvFS に変換することにより,リブート時間を短縮することができます。 また,システム要求条件の変更に合わせてファイル・システム構成を簡単に修正することができます。

ファイル・システムを UFS から AdvFS に変換するには,バックアップ・テープ,中間ファイル,別のディスク,別のシステムのいずれかが必要です。

C.3.1    バックアップ・テープの使用

既存のファイル・システムを vdump コマンドでテープにバックアップし,vrestoreコマンドで AdvFS 環境にリストアすることにより,UFS ファイル・システムを同等な AdvFS ファイル・システムに変換することができます。

この処理には次のものが必要になります。

次のようなシステム構成を想定します。

次のような手順で,/staff2 ファイル・システムを変換します。

  1. /staff2 ファイル・システムを含むシステムに root としてログインします。

  2. AdvFS vdump コマンドを使用して,/staff2 ファイル・システムを省略時のテープ・ドライブである /dev/tape/tape0 にバックアップします。

    # mt rewind
    # mount /staff2
    # vdump -0f /dev/tape/tape0 /staff2
    # umount /staff2
    

  3. staff_domain ドメインと staff2 ファイルセットを作成します。 mkfdmn コマンドに -F を使用してパーティション・ラベルを UFS から AdvFS に強制的に変更し,警告メッセージを回避します。

    # mkfdmn -F /dev/disk/dsk2c staff_domain
    # mkfset staff_domain staff2
    

  4. 新しいファイルセットをディレクトリにマウントします。

    # mount -t advfs staff_domain#staff2 /staff2
    

  5. 次のコマンドを入力することにより,/staff2 ファイル・システムをテープから staff2 ファイルセットにリストアします。

    # vrestore -xvf /dev/tape/tape0 -D /staff2
    

  6. 次の手順で /etc/fstab ファイルを編集します。

    1. /staff2 を UFS ファイル・システムとしてマウントするためのエントリを検索します。

      /dev/disk/dsk2c /staff2 ufs rw 1 2
      

    2. 上記の行を,/staff2 を AdvFS ファイル・システムとしてマウントするための次のようなエントリと置換します。

      staff_domain#staff2 /staff2 advfs rw 1 0
      

変換された /staff2 ファイル・システムを使用するための準備がこれで整いました。

C.3.2    中間ファイルの使用

既存のファイル・システムをファイルにバックアップした後 AdvFS 環境にリストアすることにより,UFS ファイル・システムを同等な AdvFS ファイル・システムに変換できます。

この処理には次のものが必要になります。

次のようなシステム構成を想定します。

次のような手順で /staff2 ファイル・システムを変換します。

  1. /usr ファイル・システムを含むシステムに root としてログインします。

  2. AdvFS vdump コマンドを使用して,/staff2 ファイル・システムを中間ファイルである /tmp/staff_bck にバックアップします。

    # vdump -0f /tmp/staff_bck /staff2
    

  3. staff_domain ドメインと staff2 ファイルセットを作成します。 mkfdmn コマンドに -F オプションを指定してパーティション・ラベルを UFS から AdvFS に強制的に変更し,警告メッセージを回避します。

    # mkfdmn -F /dev/disk/dsk3g staff_domain
    # mkfset staff2
    

  4. 次の手順で /etc/fstab ファイルを編集します。

    1. /staff2 を UFS ファイル・システムとしてマウントするための次のようなエントリを検索します。

      /dev/disk/dsk3g /staff2 ufs rw 1 2
      

    2. 上記の行を,/staff2 を AdvFS ファイル・システムとしてマウントするための次のようなエントリに置換します。

      /staff_domain#staff2 /staff2 advfs rw 1 0
      

  5. 次のようなコマンドを入力して,staff2 ファイルセットを /staff2 ディレクトリにマウントします。

    # mount -t advfs staff_domain#staff2 /staff2
    

  6. 中間ファイルから staff2 ファイルセットへ /staff2 ファイル・システムをリストアします。

    # vrestore -xf /tmp/staff_bck -D /staff2
    

これで,変換された /staff2 ファイル・システムが使用できる状態になります。

C.3.3    別のディスクの使用

あるディスク上の UFS ファイル・システムを変換して,同等な AdvFS ファイル・システムとして異なるターゲット・ディスク上に配置することができます。

この処理には次のものが必要になります。

次のようなシステム構成を想定します。

次のような手順で,/staff2 ファイル・システムを変換します。

  1. /staff2 ファイル・システムを含むシステムに root としてログインします。

  2. ドメイン staff_domain およびファイルセット staff2 を作成します。

    # mkfdmn /dev/disk/dsk2c staff_domain
    # mkfset staff_domain staff2
    

  3. マウント・ポイント・ディレクトリを作成し,そのディレクトリに新しいファイルセットをマウントします。

    # mkdir /new_staff2
    # mount -t advfs staff_domain#staff2 /new_staff2
    

  4. システム上で他の作業が行われていないことを確認し,UFS ファイル・システムの内容を AdvFS ファイル・システムにコピーします。

    # vdump -0f - -D /staff2 | vrestore -xf - -D /new_staff2
    

  5. 次の手順で /etc/fstab ファイルを編集します。

    1. /staff2 を UFS ファイル・システムとしてマウントするための次のようなエントリを検索します。

      /dev/disk/dsk3g /staff2 ufs rw 1 2
      

    2. 上記の行を,/staff2 を AdvFS ファイル・システムとしてマウントするための次のようなエントリと置換します。

      staff_domain#staff2 /staff2 advfs rw 1 0
      

  6. /new_staff2 をアンマウントします。

    # umount /new_staff2
    

  7. /staff2 をアンマウントします。

    # umount /staff2
    

  8. 古いディレクトリを削除します。

    # rmdir /staff2
    

  9. 新しいファイルセットをマウントします。

    # mount /staff2
    

C.3.4    別のシステムの使用

既存のファイル・システムを新しいファイル・システムに移動し,さらにそのファイル・システムを AdvFS に変換することができます。

この処理には次のものが必要になります。

次のようなシステム構成を想定します。

次のような手順で,staff4 ファイル・システムを変換します。

  1. /staff4 ファイル・システムを含むシステムにログインし,次のコマンドを使用してファイル・システムのバックアップを取ります。

    # tar c /staff4
    

  2. ターゲット・システムの root としてログインします。

  3. staff_domain ドメインと staff4 ファイルセットを作成します。

    # mkfdmn /dev/disk/dsk2c staff_domain
    # mkfset staff_domain staff4
    

  4. マウント・ポイント・ディレクトリを作成し,そのディレクトリに新しいファイルセットをマウントします。

    # mkdir /staff4
    # mount -t advfs staff_domain#staff4 /staff4
    

  5. 省略時テープ・ドライブ /dev/rmt0h から /staff4 ファイル・システムをリストアします。

    # mt rewind
    # tar x /staff4
    

  6. /etc/fstab ファイルを編集します。 /staff4 を UFS ファイル・システムとしてマウントするための次のような行を追加します。

    staff_domain#staff4 /staff4 advfs rw 1 0
    

これで,staff_domain ドメインに,使用可能状態の staff4 ファイルセットが含まれることになります。

C.4    AdvFS から UFS への変換

ファイル・システム全体を AdvFS から UFS への変換する場合は,2 段階のステップを踏むことになります。 最初に,AdvFS ルート・ファイル・システムを UFS に変換します。 次に,各 AdvFS ファイルセットを UFS ファイル・システムに変換します。

C.4.1    ルート・ファイル・システムの UFS への変換

ルート・ファイル・システムの変換を行う場合,AdvFS ルート・ファイルセットがマウントされている状態で UFS ディスクをマウントしなければなりません。

この処理には次のものが必要になります。

次のようなシステム構成を想定します。

ファイル・システムの変換は,次のような手順に従って行います。

  1. root としてログインします。

  2. UFS ファイル・システムを作成します (ここで disk_nameと呼ぶデバイスに作成)。

    # newfs /dev/disk/dsk2a disk_name
    

  3. マウント・ポイント・ディレクトリを作成し,UFS ファイル・システムをマウントします。

    # mkdir /newroot
    # mount -t ufs /dev/disk/dsk2a /newroot
    

  4. AdvFS ルート・ファイル・システムを /dev/disk/dsk2a UFS ファイル・システムにリストアします。

    # vdump -0f - / | (cd /newroot; vrestore -xf -)
    

  5. UFS ファイル・システムを含むディスクをブート可能なディスクにします。

    # disklabel -r /dev/rdisk/dsk2a > /tmp/dsk21abel
    # disklabel -t ufs -r -R /dev/rdisk/dsk2a \
    /tmp/dsk2label <disk>
    

  6. UFS ファイル・システムの /etc/fstab ファイルを編集して,新しいルート・エントリを参照するようにします。

    1. /newroot/etc/fstab を検索して,AdvFS ファイル・システムのルートとしてマウントするための次のようなエントリを探します。

      root_domain#root / advfs rw 1 0
      

    2. 上記のエントリを,ルートを UFS ファイル・システムとしてマウントするための次のようなエントリと置換します。

      /dev/disk/dsk2a / ufs rw 1 1
      

  7. 次のコマンドを入力して,システムをシャットダウンします。

    # shutdown -h now
    

  8. ブート省略時デバイス,BOOTDEF_DEV を新しいルート・ディスクに再設定します (特定の情報については,ハードウェア・マニュアルを参照してください)。

  9. システムをリブートして,UFS ルート・ファイル・システムを使用可能にします。

C.4.2    ファイルセットの UFS への変換

ルート・ファイル・システムを UFS に変換したら,ファイルセットを USF に変換することができます。

この処理には次のものが必要になります。

次のようなシステム構成を想定します。

次の例では,AdvFSドメインに 1 つのボリューム,1 つのファイルセットが含まれるものとします。 AdvFS ドメインに複数のファイルセットが含まれる場合には,ファイルセットごとに別々の UFS ファイル・システムを作成しなければなりません。

注意

変換を開始する前に,必ずすべての AdvFS ファイルセットのフル・バックアップを取ってください。

  1. AdvFS ファイルセットのバックアップを取ります。

    # vdump -0f /dev/tape/tape0 /staff2
    

  2. ファイルセットをアンマウントします。

    # umount /staff2
    

  3. ファイルセットを削除します。

    # rmfset staff_domain staff2
    

  4. ドメインを削除します。

    # rmfdmn staff_domain
    

  5. 指定されたディスク・タイプの UFS ファイル・システムを作成します (ここで <disk> と呼ぶデバイスに作成)。 作成しているパーティションの現在のラベルが AdvFS の場合,警告メッセージが表示されます。 yes と応答して AdvFS の指定を無視します。

    # newfs /dev/disk/dsk2c <disk>
    

  6. 次の手順で /etc/fstab ファイルを編集します。

    1. /staff2 を AdvFS ファイルセットとしてマウントするための次のようなエントリを検索します。

      staff_domain#staff2 /staff2 advfs rw 1 0
      

    2. 上記の行を,/staff2 を UFS ファイル・システムとしてマウントするための次のようなエントリと置換します。

      /dev/disk/dsk2c /staff2 ufs rw 1 2
      

  7. UFS ファイル・システムをマウントします。

    # mount -t ufs /dev/disk/dsk2c /staff2
    

  8. vrestore コマンドを使用して,ファイルをバックアップから UFS ファイル・システムにロードします。

    # vrestore -xvf /dev/tape/tape0 -D /staff2
    

ドメインに複数のボリュームが含まれる場合には,ファイルセットに割り当てられたディスク・スペースが,UFS ファイル・システム・ディスク・パーティションの限界値を超えていないかをチェックしなければなりません。 複数の UFS ファイル・システムを作成して,ドメイン内にファイルセットを保持する必要があるかもしれません。