個々のストレージプールには 1 つ以上の仮想デバイスが含まれます。「仮想デバイス」は、物理ストレージのレイアウトとストレージプールの障害時の特性を定義した、ストレージプールの内部表現です。つまり、仮想デバイスは、ストレージプールの作成に使用されるディスクデバイスまたはファイルを表しています。プールでは、構成の最上位に任意の数の仮想デバイス (「最上位レベル vdev」と呼ばれる) を含めることができます。
最上位の仮想デバイスに 2 つ以上の物理デバイスが含まれている場合、その構成はミラーまたは RAID-Z 仮想デバイスとしてのデータ冗長性を備えます。これらの仮想デバイスは、複数のディスク、ディスクスライス、またはファイルで構成されています。スペアは、プールで利用可能なホットスペアを追跡する特殊な仮想デバイスです。
次の例では、2 つの最上位仮想デバイスから成るプールを作成する方法を示します。仮想デバイスはそれぞれ 2 ディスクのミラーです。
# zpool create tank mirror c1d0 c2d0 mirror c3d0 c4d0 |
次の例では、4 ディスクから成る 1 つの最上位仮想デバイスで構成されたプールを作成する方法を示します。
# zpool create mypool raidz2 c1d0 c2d0 c3d0 c4d0 |
zpool add コマンドを使用して、このプールに別の最上位仮想デバイスを追加できます。次に例を示します。
# zpool add mypool raidz2 c2d1 c3d1 c4d1 c5d1 |
非冗長プールで使用されるディスク、ディスクスライス、またはファイルは、最上位の仮想デバイスとして機能します。ストレージプールには通常、複数の最上位レベルの仮想デバイスが含まれています。ZFS では、プール内のすべての最上位レベルの仮想デバイス間でデータが動的にストライプ 化されます。
ZFS ストレージプールに含まれている仮想デバイスと物理デバイスは、zpool status コマンドで表示されます。次に例を示します。
# 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 c0t1d0 ONLINE 0 0 0 c1t1d0 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 c0t2d0 ONLINE 0 0 0 c1t2d0 ONLINE 0 0 0 mirror-2 ONLINE 0 0 0 c0t3d0 ONLINE 0 0 0 c1t3d0 ONLINE 0 0 0 errors: No known data errors |