Oracle Solaris ZFS 管理ガイド

ミラー化 ZFS ストレージプールを分割して新しいプールを作成する

zpool split コマンドを使用すると、ミラー化された ZFS ストレージプールをバックアッププールとしてすばやく複製できます。

現時点では、この機能を使用してミラー化ルートプールを分割することはできません。

zpool split コマンドを使用してミラー化 ZFS ストレージプールからディスクを切り離し、切り離されたディスクのうちの 1 つを含む新しいプールを作成することができます。新しいプールの内容は、元のミラー化 ZFS ストレージプールと同じになります。

デフォルトでは、ミラー化プールに対して zpool split 操作を実行すると、最後のディスクが切り離され、新しく作成されるプールで使用されます。分割操作のあとで、新しいプールをインポートします。次に例を示します。


# zpool status tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c1t0d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0

errors: No known data errors
# zpool split tank tank2
# zpool import tank2
# zpool status tank tank2
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          c1t0d0    ONLINE       0     0     0

errors: No known data errors

  pool: tank2
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank2       ONLINE       0     0     0
          c1t2d0    ONLINE       0     0     0

errors: No known data errors

新しく作成されるプールでどのディスクを使用するかは、zpool split コマンドで指定できます。次に例を示します。


# zpool split tank tank2 c1t0d0

実際の分割操作が行われる前に、メモリー上のデータがミラー化ディスクに書き出されます。データが書き出されたあとで、ディスクがプールから切り離されて新しいプール GUID を付与されます。新しいプール GUID が生成され、プールが分割されたのと同じシステム上でプールをインポートできるようになります。

分割されるプールのデータセットマウントポイントがデフォルトと異なっている場合に、新しいプールを同じシステム上に作成するには、zpool split -R オプションを使用して新しいプール用の代替ルートディレクトリを特定し、既存のマウントポイントと競合しないようにする必要があります。次に例を示します。


# zpool split -R /tank2 tank tank2

zpool split -R オプションを使用せずに新しいプールのインポートを試みたときにマウントポイントの競合を確認した場合は、-R オプションを使用して新しいプールをインポートしてください。新しいプールを別のシステムに作成する場合は、マウントポイントの競合が発生しないかぎり、代替ルートディレクトリの指定は不要です。

zpool split 機能を使用する前に、次の考慮事項を確認してください。


例 4–7 ミラー化された ZFS プールを分割する

次の例では、c1t0d0c1t2d0c1t3d0 の 3 台のディスクから成る、trinity という名前のミラー化ストレージプールを分割します。分割後の 2 つのプールは、ディスク c1t0d0c1t2d0 から成るミラー化プール trinity と、ディスク c1t3d0 から成る新しいプール neo になります。各プールの内容は同じです。


# zpool status trinity
  pool: trinity
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        trinity     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c1t0d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0
            c1t3d0  ONLINE       0     0     0

errors: No known data errors
# zpool split trinity neo
# zpool import neo
# zpool status trinity neo
  pool: neo
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        neo         ONLINE       0     0     0
          c1t3d0    ONLINE       0     0     0

errors: No known data errors

  pool: trinity
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        trinity     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c1t0d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0

errors: No known data errors