現在稼動中のシステムからブート環境を作成する場合は、lucreate コマンドで UFS ルート (/) ファイルシステムを ZFS ルートプールにコピーします。コピー処理には、システムによって時間がかかる場合があります。
UFS ファイルシステムから移行する場合は、ディスクスライス上の UFS ルート (/) ファイルシステムをソースブート環境にすることができます。ZFS ルートプール上のソースブート環境から UFS ファイルシステム上のブート環境を作成することはできません。
ここでは、ZFS ルートプールを作成し、UFS ルート (/) ファイルシステムから ZFS ルートプール内に新規ブート環境を作成するためのコマンドについて説明します。ZFS ルートプールは lucreate を使用する前に作成します。また、アップグレード可能かつブート可能にするために、ディスク全体ではなくスライス上に作成します。EFI ラベルの付いたディスクは使えません。SMI ラベルの付いたディスクを使用してください。その他の制限事項については、「Solaris Live Upgrade 使用時のシステム要件と制限事項」を参照してください。
図 11–1 に、ルートプール rpool を別のスライス c0t1d0s5 上に作成する zpool コマンドを示します。ディスクスライス c0t0d0s0 には、UFS ルート (/) ファイルシステムが含まれています。lucreate コマンドの -c オプションで指定する現在稼動中のシステム c0t0d0 が、UFS ルート (/) ファイルシステムです。-n オプションで、作成するブート環境に new-zfsBE という名前を割り当てます。-p オプションでは、新しいブート環境を rpool に配置することを指定します。UFS の /export ファイルシステムと /swap ボリュームは、新しいブート環境にコピーされません。
この例では、図 11–1 と同じコマンドを示しています。これらのコマンドで、新規のルートプール rpool を作成し、UFS ルート (/) ファイルシステムからプール内に新規ブート環境を作成します。この例では、zfs list コマンドで、zpool コマンドによって作成した ZFS ルートプールを表示しています。次の zfs list コマンドでは、lucreate コマンドで作成されたデータセットを表示しています。
# zpool create rpool c0t1d0s5 # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 9.29G 57.6G 20K /rpool |
# lucreate -c c0t0d0 -n new-zfsBE -p rpool # 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 - |
新しいブート環境は rpool/ROOT/new-zfsBE です。ブート環境 new-zfsBE は、すぐにアップグレードおよびアクティブ化できます。
Solaris ボリュームマネージャー (SVM) ボリュームがあるシステムでも、UFS ファイルシステムの移行が可能です。既存の SVM 構成から UFS ブート環境を作成するため、現在稼動中のシステムから新規ブート環境を作成します。その後、その新しい UFS ブート環境から ZFS ブート環境を作成します。
Solaris ボリュームマネージャー (SVM) の概要。ZFS では、物理ストレージを管理するために、「ストレージプール」という概念を使用します。従来のファイルシステムは、1 つの物理デバイス上に構築されていました。複数のデバイスを扱ってデータの冗長性を実現するため、単一デバイスのイメージを提供するボリュームマネージャーの概念が導入されました。このようにすれば、複数デバイスの利点を享受するためにファイルシステムを変更する必要はありません。一方、この設計によって、複雑さは増大します。ファイルシステムには、仮想化したボリューム上の物理的なデータの配置を制御する機能がないため、この複雑さは結局、ある面でファイルシステムの進化を阻みました。
ZFS ストレージプールによる SVM の置き換え。ZFS は、ボリューム管理を完全になくしています。ZFS では、仮想化されたボリュームを作成する代わりに、デバイスをストレージプールに集約します。ストレージプールは、デバイスのレイアウト、データの冗長性などのストレージの物理特性を記述したもので、ファイルシステムを作成できる任意のデータストアとして機能します。ファイルシステムが個々のデバイスに制約されなくなり、デバイスの領域をプール内のすべてのファイルシステムで共有することができます。ファイルシステムのサイズを事前に決定する必要はなくなりました。ファイルシステムのサイズは、ストレージプールに割り当てられた領域内で自動的に拡張します。新しいストレージを追加すると、何も操作しなくても、プール内のすべてのファイルシステムで追加した領域をすぐに使用できます。多くの点で、ストレージプールは仮想的なメモリーシステムと言えます。システムに DIMM メモリーを追加したときに、メモリーの構成と各プロセスへの割り当てを実行するコマンドの呼び出しをオペレーティングシステムから要求されることはありません。追加したメモリーは、システムのすべてのプロセスによって自動的に使用されます。
SVM ボリュームのあるシステムを移行する場合、SVM ボリュームは無視されます。次の例に示すように、ルートプール内にミラーを設定できます。
この例では、-m オプションを指定した lucreate コマンドで、現在稼動中のシステムから新規ブート環境を作成します。ディスクスライス c1t0d0s0 には、SVM ボリュームで構成された UFS ルート (/) ファイルシステムが含まれています。zpool コマンドで、ルートプール c1t0d0s0、および RAID-1 ボリューム (ミラー) c2t0d0s0 を作成します。2 つめの lucreateコマンドでは、-n オプションで、作成するブート環境に new-zfsBE-name という名前を割り当てます。-p オプションでは、新しいブート環境を rpool に配置することを指定します。
# lucreate -n ufsBE -m /:/dev/md/dsk/d104:ufs # zpool create rpool mirror c0t0d0s0 c0t1d0s0 # lucreate -n c0t0d0s0 -s ufsBE -p zpool |
ブート環境 c0t0d0s0 は、すぐにアップグレードおよびアクティブ化できます。