Solaris 10 10/09 インストールガイド (Solaris Live Upgrade とアップグレードの計画)

UFS ファイルシステムの ZFS ファイルシステムへの移行

ここでは、UFS ファイルシステムを ZFS ファイルシステムに移行する手順について説明します。ブート環境を作成すると、クリティカルファイルシステムをアクティブな UFS ブート環境から ZFS ルートプールにコピーできるようになります。lucreate コマンドで、クリティカルファイルシステムを既存の ZFS ルートプール内の新しいブート環境にコピーします。ユーザー定義の (共有可能な) ファイルシステムはコピーされず、ソース UFS ブート環境と共有されません。また、/swap は、UFS ファイルシステムと ZFS ルートプール間で共有されません。クリティカルファイルシステムと共有可能ファイルシステムの概要については、「ファイルシステムのタイプ」を参照してください。

ProcedureUFS ファイルシステムを ZFS ファイルシステムに移行する方法


注 –

アクティブな UFS ルート (/) ファイルシステムを ZFS ルートプールに移行するには、ルートプールの名前を指定します。クリティカルファイルシステムは、このルートプールにコピーされます。


  1. Solaris Live Upgrade をはじめて実行する前に、インストールメディアに含まれている最新の Solaris Live Upgrade パッケージと、SunSolve Infodoc 206844 に記載されているパッチをインストールしてください。SunSolve の Web サイトで、Infodoc 206844 (以前の 72099) を検索してください。

    最新のパッケージとパッチにより、リリースに最新のバグ修正と新機能がすべて含まれるようになります。新しいブート環境の作成に進む前に、システムに関連するすべてのパッチを必ずインストールしてください。

    以下では、SunSolve Infodoc 206844 の手順について説明します。


    注 –

    Solaris Live Upgrade を使って新規 ZFS ブート環境を作成するためには、少なくとも Solaris 10 10/08 リリースがインストールされている必要があります。それより前のリリースの ZFS および Solaris Live Upgrade ソフトウェアでは、この作業を実行することはできません。


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

    2. SunSolve の Web サイトにある Infodoc 206844 の手順に従って、Solaris Live Upgrade パッケージを削除および追加します。

      3 つの Solaris Live Upgrade パッケージ SUNWluuSUNWlur、および SUNWlucfg は、Solaris Live Upgrade を使ってアップグレードするのに必要なソフトウェアを構成します。これらのパッケージには、既存のソフトウェア、新しい機能、およびバグ修正が含まれています。Solaris Live Upgrade を使用する前に、既存パッケージを削除しないで新しいパッケージをシステムにインストールすると、ターゲットリリースへのアップグレードは失敗します。SUMWlucfg パッケージは、Solaris 10 8/07 以降のリリースの新機能です。Solaris 10 8/07 より前のリリースから Solaris Live Upgrade パッケージを使用する場合は、このパッケージを削除する必要はありません。


      # pkgrm SUNWlucfg SUNWluu SUNWlur
      
    3. アップグレードのターゲットリリースから、新しい Solaris Live Upgrade パッケージをインストールします。詳細については、「Solaris Live Upgrade のインストール」を参照してください。

    4. Solaris Live Upgrade を実行する前に、次のパッチをインストールする必要があります。これらのパッチにより、リリースに最新のバグ修正と新機能がすべて含まれるようになります。

      SunSolve で最新のパッチリストを確認してください。SunSolve の Web サイトで、Infodoc 206844 (以前の 72099) を検索してください。

      • パッチをローカルディスクに保存する場合は、/var/tmp/lupatches のようなディレクトリを作成し、パッチをそのディレクトリにダウンロードします。

      • SunSolve の Web サイトから、パッチリストを取得します。

      • パッチのディレクトリに移動します。


        # cd /var/tmp/lupatches
        
      • patchadd コマンドを使用してパッチをインストールします。


        # patchadd patch_id
        

        patch_id はパッチの番号です。複数のパッチ名を指定する場合は、スペースで区切ります。


        注 –

        パッチは、Infodoc 206844 で指定された順序で適用する必要があります。


      • 必要に応じてシステムをリブートします。いくつかのパッチは、有効にするためにリブートする必要があります。

        x86 のみ: システムをリブートする必要があります。そうしないと、Solaris Live Upgrade は失敗します。


        # init 6
        

        以上で正しく移行するために必要なパッケージとパッチがインストールされました。

  2. ZFS ルートプールを作成します。

    ZFS ルートプールは、ブート可能かつアップグレード可能にするため単一のスライス上に作成します。


    # zpool create rpool  c0t1d0s5
    
    rpool

    作成する新しい ZFS ルートプールの名前を指定します。

    c0t1d0s5

    新しいルートプールをディスクスライス c0t1d0s5 上に作成します。

    新規ルートプールの作成の詳細については、『Solaris ZFS 管理ガイド』を参照してください。

  3. UFS ルート (/) ファイルシステムを新しい ZFS ルートプールに移行します。


    # lucreate [-c ufsBE] -n new-zfsBE -p rpool
    
    -c ufsBE

    現在の UFS ブート環境に ufsBE という名前を割り当てます。このオプションは必須ではなく、また、最初のブート環境の作成時にのみ使用します。lucreate コマンドを初めて実行する場合に -c オプションを省略すると、デフォルトの名前が自動的に作成されます。

    -n new-zfsBE

    作成するブート環境に new-zfsBE という名前を割り当てます。名前は、システム上で一意となるように指定する必要があります。

    -p rpool

    新しく作成した ZFS ルート (/) ファイルシステムを、rpool で定義した ZFS ルートプールに配置します。

    新しい ZFS ブート環境の作成には、しばらく時間がかかることがあります。UFS ファイルシステムのデータが ZFS ルートプールにコピーされます。非アクティブなブート環境が作成された場合は、luupgrade コマンドまたは luactivate コマンドを使用して、新しい ZFS ブート環境をアップグレードまたはアクティブにすることができます。

  4. (省略可能) ブート環境が完成したことを確認します。

    この例では、lustatus コマンドを使って、ブート環境の作成が完了しブート可能かどうかを確認します。


    # lustatus
    boot environment   Is         Active   Active     Can	    Copy 
    Name               Complete   Now	  OnReboot   Delete	 Status 
    -----------------------------------------------------------------
    ufsBE               yes       yes      yes        no         -
    new-zfsBE           yes       no       no        yes         -
  5. (省略可能) システム上の基本データセット情報を確認します。

    list コマンドで、システム上のすべてのデータセットの名前を表示できます。この例では、rpool が ZFS プールの名前、new-zfsBE が新しく作成した ZFS ブート環境の名前です。


    # zfs list
    NAME                        USED  AVAIL  REFER  MOUNTPOINT 
    rpool                      9.29G  57.6G    20K  /rpool
    rpool/ROOT                 5.38G  57.6G    18K  /rpool/ROOT
    rpool/ROOT/new-zfsBE       5.38G  57.6G   551M  /tmp/.alt.luupdall.110034
    rpool/dump                 1.95G      -  1.95G  - 
    rpool/swap                 1.95G      -  1.95G  - 

    表示される新しいブート環境のマウントポイントは、luactivate コマンドが実行されるまでの一時的なものです。/dump ボリュームと /swap ボリュームは、元の UFS ブート環境と共有されませんが、ZFS ルートプール内およびルートプール内のブート環境内で共有されます。

    これで、新しいブート環境をアップグレードおよびアクティブにできます。例 13–1 を参照してください。


例 13–1 UFS ルート (/) ファイルシステムの ZFS ルートプールへの移行

この例では、新しい ZFS ルートプール rpool が、別のスライス C0t0d0s4 上に作成されます。lucreate コマンドが、現在稼動中の UFS ブート環境 c0t0d0 を新しい ZFS ブート環境 new-zfsBE に移行し、その新しいブート環境を rpool に配置します。


# zpool create rpool C0t0d0s4

# zfs list
NAME                        USED  AVAIL  REFER  MOUNTPOINT 
rpool                      9.29G  57.6G    20K  /rpool
# lucreate -c c0t0d0 -n new-zfsBE -p rpool
Analyzing system configuration.
Current boot environment is named <c0t0d0>.
Creating initial configuration for primary boot environment <c0t0d0>.
The device </dev/dsk/c0t0d0> is not a root device for any boot 
environment; cannot get BE ID.
PBE configuration successful: PBE name <c0t0d0> PBE Boot Device 
</dev/dsk/c0t0d0>.
Comparing source boot environment <c0t0d0> file systems with the file 
system(s) you specified for the new boot environment. Determining which 
file systems should be in the new boot environment.
Updating boot environment description database on all BEs.
Updating system configuration files.
The device </dev/dsk/c1t0d0s0> is not a root device for any boot 
environment; cannot get BE ID.
Creating configuration for boot environment <new-zfsBE>.
Source boot environment is <c0t0d0>.
Creating boot environment <new-zfsBE>.
Creating file systems on boot environment <new-zfsBE>.
Creating <zfs> file system for </> in zone <global> on 
<rpool/ROOT/new-zfsBE>.
Populating file systems on boot environment <new-zfsBE>.
Checking selection integrity.
Integrity check OK.
Populating contents of mount point </>.
Copying.
Creating shared file system mount points.
Creating compare databases for boot environment <zfsBE>.
Creating compare database for file system </>.
Making boot environment <zfsBE> bootable.
Creating boot_archive for /.alt.tmp.b-cBc.mnt
updating /.alt.tmp.b-cBc.mnt/platform/sun4u/boot_archive
Population of boot environment <new-zfsBE> successful.
Creation of boot environment <new-zfsBE> successful.

# lustatus
boot environment   Is         Active   Active     Can	    Copy 
Name               Complete   Now	  OnReboot   Delete	 Status 
------------------------------------------------------------------------ 
c0t0d0             yes       yes      yes        no         - 
new-zfsBE           yes       no       no        yes       -

# zfs list
NAME                        USED  AVAIL  REFER  MOUNTPOINT 
rpool                      9.29G  57.6G    20K  /rpool
rpool/ROOT                 5.38G  57.6G    18K  /rpool/ROOT
rpool/ROOT/zfsBE           5.38G  57.6G   551M  
rpool/ROOT/new-zfsBE       5.38G  57.6G   551M  /tmp/.alt.luupdall.110034
rpool/dump                 1.95G      -  1.95G  - 
rpool/swap                 1.95G      -  1.95G  - 

これで、新しいブート環境をアップグレードまたはアクティブにできます。

この例では、luupgrade コマンドを使って、-s オプションで指定された場所に格納されているイメージから新しいブート環境をアップグレードしています。


# luupgrade -n zfsBE -u -s /net/install/export/s10/combined.s10
 51135 blocks 
miniroot filesystem is <lofs>
Mounting miniroot at 
</net/install/export/solaris_10/combined.solaris_10_wos
/Solaris_10/Tools/Boot> 
Validating the contents of the media 
</net/install/export/s10/combined.s10>. 
The media is a standard Solaris media. 
The media contains an operating system upgrade image. 
The media contains Solaris version <10_1008>. 
Constructing upgrade profile to use. 
Locating the operating system upgrade program. 
Checking for existence of previously scheduled Live 
Upgrade requests. 
Creating upgrade profile for BE <zfsBE>. 
Determining packages to install or upgrade for BE <zfsBE>. 
Performing the operating system upgrade of the BE <zfsBE>. 
CAUTION: Interrupting this process may leave the boot environment 
unstable or unbootable. 
Upgrading Solaris: 100% completed 
Installation of the packages from this media is complete. 
Adding operating system patches to the BE <zfsBE>. 
The operating system patch installation is complete. 
INFORMATION: The file /var/sadm/system/logs/upgrade_log on boot 
environment <zfsBE> contains a log of the upgrade operation. 
INFORMATION: The file var/sadm/system/data/upgrade_cleanup on boot 
environment <zfsBE> contains a log of cleanup operations required. 
INFORMATION: Review the files listed above. Remember that all 
of the files are located on boot environment <zfsBE>. 
Before you activate boot environment <zfsBE>, determine if any 
additional system maintenance is required or if additional media 
of the software distribution must be installed. 
The Solaris upgrade of the boot environment <zfsBE> is complete.

新しいブート環境は、作成後いつでもアクティブにできます。


# luactivate new-zfsBE
**********************************************************************

The target boot environment has been activated. It will be used when you 
reboot. NOTE: You MUST NOT USE the reboot, halt, or uadmin commands. You 
MUST USE either the init or the shutdown command when you reboot. If you 
do not use either init or shutdown, the system will not boot using the 
target BE.

**********************************************************************
In case of a failure while booting to the target BE, the following process 
needs to be followed to fallback to the currently working boot environment:

1. Enter the PROM monitor (ok prompt).

2. Change the boot device back to the original boot environment by typing:

     setenv boot-device /pci@1f,0/pci@1/scsi@4,1/disk@2,0:a

3. Boot to the original boot environment by typing:

     boot

**********************************************************************

Modifying boot archive service
Activation of boot environment <new-zfsBE> successful.

システムを ZFS ブート環境にリブートします。


# init 6
# svc.startd: The system is coming down.  Please wait.
svc.startd: 79 system services are now being stopped.
.
.
.

UFS ブート環境に戻す場合は、ZFS ブート環境で作成したすべての ZFS ストレージプールをもう一度インポートしてください。これらは、UFS ブート環境で自動的に使用可能にはならないからです。元の UFS ブート環境に切り替えると、次の例のようなメッセージが表示されます。


# luactivate c0t0d0
WARNING: The following files have changed on both the current boot 
environment <new-zfsBE> zone <global> and the boot environment 
to be activated <c0t0d0>:
 /etc/zfs/zpool.cache
INFORMATION: The files listed above are in conflict between the current 
boot environment <zfsBE> zone <global> and the boot environment to be 
activated <c0t0d0>. These files will not be automatically synchronized 
from the current boot environment <new-zfsBE> when boot environment <c0t0d0>