Go to main content

Oracle® Solaris 11.4 での ZFS ファイルシステムの管理

印刷ビューの終了

更新: 2018 年 9 月
 
 

ミラー化されたストレージプールの分割による新しいプールの作成

zpool split コマンドを使用することによって、ミラー化された ZFS ストレージプールをすばやくクローニングできます。新しいプールの内容は、元のミラー化 ZFS ストレージプールと同じになります。その後、同じシステムまたは別のシステムのいずれかに新しいプールをインポートできます。インポートツールの詳細については、ZFS ストレージプールをインポートするを参照してください。

プールを分割するには、次のコマンドを使用します。

$ zpool split pool new-pool [device]

デバイスを指定しないかぎり、zpool split コマンドはデフォルトで、新しく作成されるプールのために、プールの仮想デバイスの最後のディスクを切り離します。プールに複数の最上位レベルの仮想デバイスが存在する場合、これらのディスクから新しいプールを作成するため、このコマンドは各仮想デバイスからディスクを切り離します。

プールの分割は、ミラー化構成にのみ適用されます。RAID-Z で構成されたプールまたは非冗長プールは分割できません。

3 台のディスクで構成される単一の最上位レベルのデバイスのみが存在するプールを分割する場合、3 番目のディスクから作成した新しいプールは非冗長になります。残りのプールには、残りの 2 台のディスクによるデータの冗長性が保持されます。新しいプールを冗長な構成に変換するには、新しいデバイスをプールに接続します。

zpool split コマンドで ZFS プールを分割する方法の詳細な手順および例については、My Oracle Support (https://support.oracle.com) にログインし、「'zpool split' を使用してプールを分割する方法 (ドキュメント ID 1637715.1)」を参照してください。

    ミラー化プールを分割する前に次の点を確認してください。

  • データおよびアプリケーションの操作が静止されている。

  • 進行中の再同期化がない。

  • ハードウェアが正しく構成されている。ハードウェアのキャッシュフラッシュ設定の確認方法については、一般的なシステムプラクティスを参照してください。

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

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

$ zpool split -R /system2 system1 system2

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

使用例 12  ミラー化された ZFS プールを分割する

次の例では、3 台のディスクから成る poolA というミラー化ストレージプールが分割されます。結果となる 2 つのプールは、2 台のディスクから成るミラー化プール poolA と、1 台のディスクから成る新しいプール poolB です。

$ zpool status poolA
  pool: poolA
 state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        poolA       ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t0d0  ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c0t2d0  ONLINE       0     0     0

errors: No known data errors
$ zpool split poolA poolB
$ zpool import luna 
$ zpool status poolA poolB
  pool: luna
 state: ONLINE
  scan: none requested
config:

        NAME      STATE     READ WRITE CKSUM
        poolB     ONLINE       0     0     0
          c0t2d0  ONLINE       0     0     0

errors: No known data errors

  pool: poolA
 state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        poolA       ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t0d0  ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0

errors: No known data errors

新しい構成では、ほかの操作を実行できます。たとえば、バックアップするために別のシステムに poolB をインポートできます。バックアップが完了したあとは、poolB を破棄し、poolA にディスクを再接続できます。