aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/zpool-config/Makefile.am15
-rw-r--r--scripts/zpool-config/Makefile.in15
-rw-r--r--scripts/zpool-config/dragon-raid0-1x70.sh21
-rw-r--r--scripts/zpool-config/dragon-raid10-35x2.sh21
-rw-r--r--scripts/zpool-config/dragon-raidz-7x10.sh21
-rw-r--r--scripts/zpool-config/dragon-raidz2-7x10.sh21
-rw-r--r--scripts/zpool-config/supermicro-raid0-1x16.sh21
-rw-r--r--scripts/zpool-config/supermicro-raid10-8x2.sh21
-rw-r--r--scripts/zpool-config/supermicro-raidz-4x4.sh21
-rw-r--r--scripts/zpool-config/supermicro-raidz2-4x4.sh21
-rw-r--r--scripts/zpool-config/x4550-raid0-1x48.sh21
-rw-r--r--scripts/zpool-config/x4550-raid10-24x2.sh21
-rw-r--r--scripts/zpool-config/x4550-raidz-8x6.sh21
-rw-r--r--scripts/zpool-config/x4550-raidz2-8x6.sh21
-rw-r--r--scripts/zpool-config/zpool-raid0.sh81
-rw-r--r--scripts/zpool-config/zpool-raid10.sh86
-rw-r--r--scripts/zpool-config/zpool-raidz.sh88
17 files changed, 261 insertions, 276 deletions
diff --git a/scripts/zpool-config/Makefile.am b/scripts/zpool-config/Makefile.am
index 5af373bec..87f58bbf7 100644
--- a/scripts/zpool-config/Makefile.am
+++ b/scripts/zpool-config/Makefile.am
@@ -1,10 +1,6 @@
pkglibexecdir = $(libexecdir)/@PACKAGE@/zpool-config
dist_pkglibexec_SCRIPTS = \
$(top_srcdir)/scripts/zpool-config/dm0-raid0.sh \
- $(top_srcdir)/scripts/zpool-config/dragon-raid0-1x70.sh \
- $(top_srcdir)/scripts/zpool-config/dragon-raid10-35x2.sh \
- $(top_srcdir)/scripts/zpool-config/dragon-raidz2-7x10.sh \
- $(top_srcdir)/scripts/zpool-config/dragon-raidz-7x10.sh \
$(top_srcdir)/scripts/zpool-config/file-raid0.sh \
$(top_srcdir)/scripts/zpool-config/file-raid10.sh \
$(top_srcdir)/scripts/zpool-config/file-raidz2.sh \
@@ -29,14 +25,9 @@ dist_pkglibexec_SCRIPTS = \
$(top_srcdir)/scripts/zpool-config/scsi_debug-raidz2.sh \
$(top_srcdir)/scripts/zpool-config/scsi_debug-raidz3.sh \
$(top_srcdir)/scripts/zpool-config/sda-raid0.sh \
- $(top_srcdir)/scripts/zpool-config/supermicro-raid0-1x16.sh \
- $(top_srcdir)/scripts/zpool-config/supermicro-raid10-8x2.sh \
- $(top_srcdir)/scripts/zpool-config/supermicro-raidz2-4x4.sh \
- $(top_srcdir)/scripts/zpool-config/supermicro-raidz-4x4.sh \
- $(top_srcdir)/scripts/zpool-config/x4550-raid0-1x48.sh \
- $(top_srcdir)/scripts/zpool-config/x4550-raid10-24x2.sh \
- $(top_srcdir)/scripts/zpool-config/x4550-raidz2-8x6.sh \
- $(top_srcdir)/scripts/zpool-config/x4550-raidz-8x6.sh
+ $(top_srcdir)/scripts/zpool-config/zpool-raid0.sh \
+ $(top_srcdir)/scripts/zpool-config/zpool-raid10.sh \
+ $(top_srcdir)/scripts/zpool-config/zpool-raidz.sh
all:
@list='$(dist_pkglibexec_SCRIPTS)'; \
diff --git a/scripts/zpool-config/Makefile.in b/scripts/zpool-config/Makefile.in
index 61f54ca0a..56a563031 100644
--- a/scripts/zpool-config/Makefile.in
+++ b/scripts/zpool-config/Makefile.in
@@ -274,10 +274,6 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
dist_pkglibexec_SCRIPTS = \
$(top_srcdir)/scripts/zpool-config/dm0-raid0.sh \
- $(top_srcdir)/scripts/zpool-config/dragon-raid0-1x70.sh \
- $(top_srcdir)/scripts/zpool-config/dragon-raid10-35x2.sh \
- $(top_srcdir)/scripts/zpool-config/dragon-raidz2-7x10.sh \
- $(top_srcdir)/scripts/zpool-config/dragon-raidz-7x10.sh \
$(top_srcdir)/scripts/zpool-config/file-raid0.sh \
$(top_srcdir)/scripts/zpool-config/file-raid10.sh \
$(top_srcdir)/scripts/zpool-config/file-raidz2.sh \
@@ -302,14 +298,9 @@ dist_pkglibexec_SCRIPTS = \
$(top_srcdir)/scripts/zpool-config/scsi_debug-raidz2.sh \
$(top_srcdir)/scripts/zpool-config/scsi_debug-raidz3.sh \
$(top_srcdir)/scripts/zpool-config/sda-raid0.sh \
- $(top_srcdir)/scripts/zpool-config/supermicro-raid0-1x16.sh \
- $(top_srcdir)/scripts/zpool-config/supermicro-raid10-8x2.sh \
- $(top_srcdir)/scripts/zpool-config/supermicro-raidz2-4x4.sh \
- $(top_srcdir)/scripts/zpool-config/supermicro-raidz-4x4.sh \
- $(top_srcdir)/scripts/zpool-config/x4550-raid0-1x48.sh \
- $(top_srcdir)/scripts/zpool-config/x4550-raid10-24x2.sh \
- $(top_srcdir)/scripts/zpool-config/x4550-raidz2-8x6.sh \
- $(top_srcdir)/scripts/zpool-config/x4550-raidz-8x6.sh
+ $(top_srcdir)/scripts/zpool-config/zpool-raid0.sh \
+ $(top_srcdir)/scripts/zpool-config/zpool-raid10.sh \
+ $(top_srcdir)/scripts/zpool-config/zpool-raidz.sh
all: all-am
diff --git a/scripts/zpool-config/dragon-raid0-1x70.sh b/scripts/zpool-config/dragon-raid0-1x70.sh
deleted file mode 100644
index dda995700..000000000
--- a/scripts/zpool-config/dragon-raid0-1x70.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-#
-# Dragon (White Box) Raid-0 Configuration (1x70)
-#
-
-RANKS=7
-CHANNELS=10
-
-zpool_create() {
- udev_setup ${ETCDIR}/zfs/zdev.conf.dragon.example
- udev_raid0_setup ${RANKS} ${CHANNELS}
-
- msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAID0S[*]}
- ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAID0S[*]} || exit 1
-}
-
-zpool_destroy() {
- msg ${ZPOOL} destroy ${ZPOOL_NAME}
- ${ZPOOL} destroy ${ZPOOL_NAME}
- udev_cleanup ${ETCDIR}/zfs/zdev.conf.dragon.example
-}
diff --git a/scripts/zpool-config/dragon-raid10-35x2.sh b/scripts/zpool-config/dragon-raid10-35x2.sh
deleted file mode 100644
index 37f2a539a..000000000
--- a/scripts/zpool-config/dragon-raid10-35x2.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-#
-# Dragon (White Box) Raid-10 Configuration (35x2(1+1))
-#
-
-RANKS=7
-CHANNELS=10
-
-zpool_create() {
- udev_setup ${ETCDIR}/zfs/zdev.conf.dragon.example
- udev_raid10_setup ${RANKS} ${CHANNELS}
-
- msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAID10S[*]}
- ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAID10S[*]} || exit 1
-}
-
-zpool_destroy() {
- msg ${ZPOOL} destroy ${ZPOOL_NAME}
- ${ZPOOL} destroy ${ZPOOL_NAME}
- udev_cleanup ${ETCDIR}/zfs/zdev.conf.dragon.example
-}
diff --git a/scripts/zpool-config/dragon-raidz-7x10.sh b/scripts/zpool-config/dragon-raidz-7x10.sh
deleted file mode 100644
index 9857cf1c0..000000000
--- a/scripts/zpool-config/dragon-raidz-7x10.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-#
-# Dragon (White Box) Raid-Z Configuration (7x10(9+1))
-#
-
-RANKS=7
-CHANNELS=10
-
-zpool_create() {
- udev_setup ${ETCDIR}/zfs/zdev.conf.dragon.example
- udev_raidz_setup ${RANKS} ${CHANNELS}
-
- msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAIDZS[*]}
- ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAIDZS[*]} || exit 1
-}
-
-zpool_destroy() {
- msg ${ZPOOL} destroy ${ZPOOL_NAME}
- ${ZPOOL} destroy ${ZPOOL_NAME}
- udev_cleanup ${ETCDIR}/zfs/zdev.conf.dragon.example
-}
diff --git a/scripts/zpool-config/dragon-raidz2-7x10.sh b/scripts/zpool-config/dragon-raidz2-7x10.sh
deleted file mode 100644
index 0dd07a19b..000000000
--- a/scripts/zpool-config/dragon-raidz2-7x10.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-#
-# Dragon (White Box) Raid-Z2 Configuration (7x10(8+2))
-#
-
-RANKS=7
-CHANNELS=10
-
-zpool_create() {
- udev_setup ${ETCDIR}/zfs/zdev.conf.dragon.example
- udev_raidz2_setup ${RANKS} ${CHANNELS}
-
- msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAIDZ2S[*]}
- ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAIDZ2S[*]} || exit 1
-}
-
-zpool_destroy() {
- msg ${ZPOOL} destroy ${ZPOOL_NAME}
- ${ZPOOL} destroy ${ZPOOL_NAME}
- udev_cleanup ${ETCDIR}/zfs/zdev.conf.dragon.example
-}
diff --git a/scripts/zpool-config/supermicro-raid0-1x16.sh b/scripts/zpool-config/supermicro-raid0-1x16.sh
deleted file mode 100644
index efe48459d..000000000
--- a/scripts/zpool-config/supermicro-raid0-1x16.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-#
-# Supermicro (White Box) Raid-0 Configuration (1x16)
-#
-
-RANKS=4
-CHANNELS=4
-
-zpool_create() {
- udev_setup ${ETCDIR}/zfs/zdev.conf.supermicro.example
- udev_raid0_setup ${RANKS} ${CHANNELS}
-
- msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAID0S[*]}
- ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAID0S[*]} || exit 1
-}
-
-zpool_destroy() {
- msg ${ZPOOL} destroy ${ZPOOL_NAME}
- ${ZPOOL} destroy ${ZPOOL_NAME}
- udev_cleanup ${ETCDIR}/zfs/zdev.conf.supermicro.example
-}
diff --git a/scripts/zpool-config/supermicro-raid10-8x2.sh b/scripts/zpool-config/supermicro-raid10-8x2.sh
deleted file mode 100644
index a6e6be6c0..000000000
--- a/scripts/zpool-config/supermicro-raid10-8x2.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-#
-# Supermicro (White Box) Raid-10 Configuration (8x2(1+1))
-#
-
-RANKS=4
-CHANNELS=4
-
-zpool_create() {
- udev_setup ${ETCDIR}/zfs/zdev.conf.supermicro.example
- udev_raid10_setup ${RANKS} ${CHANNELS}
-
- msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAID10S[*]}
- ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAID10S[*]} || exit 1
-}
-
-zpool_destroy() {
- msg ${ZPOOL} destroy ${ZPOOL_NAME}
- ${ZPOOL} destroy ${ZPOOL_NAME}
- udev_cleanup ${ETCDIR}/zfs/zdev.conf.supermicro.example
-}
diff --git a/scripts/zpool-config/supermicro-raidz-4x4.sh b/scripts/zpool-config/supermicro-raidz-4x4.sh
deleted file mode 100644
index 9ed2780e9..000000000
--- a/scripts/zpool-config/supermicro-raidz-4x4.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-#
-# Supermicro (White Box) Raid-Z Configuration (4x4(3+1))
-#
-
-RANKS=4
-CHANNELS=4
-
-zpool_create() {
- udev_setup ${ETCDIR}/zfs/zdev.conf.supermicro.example
- udev_raidz_setup ${RANKS} ${CHANNELS}
-
- msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAIDZS[*]}
- ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAIDZS[*]} || exit 1
-}
-
-zpool_destroy() {
- msg ${ZPOOL} destroy ${ZPOOL_NAME}
- ${ZPOOL} destroy ${ZPOOL_NAME}
- udev_cleanup ${ETCDIR}/zfs/zdev.conf.supermicro.example
-}
diff --git a/scripts/zpool-config/supermicro-raidz2-4x4.sh b/scripts/zpool-config/supermicro-raidz2-4x4.sh
deleted file mode 100644
index ed3eedfdf..000000000
--- a/scripts/zpool-config/supermicro-raidz2-4x4.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-#
-# Supermicro (White Box) Raid-Z2 Configuration (4x4(2+2))
-#
-
-RANKS=4
-CHANNELS=4
-
-zpool_create() {
- udev_setup ${ETCDIR}/zfs/zdev.conf.supermicro.example
- udev_raidz2_setup ${RANKS} ${CHANNELS}
-
- msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAIDZ2S[*]}
- ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAIDZ2S[*]} || exit 1
-}
-
-zpool_destroy() {
- msg ${ZPOOL} destroy ${ZPOOL_NAME}
- ${ZPOOL} destroy ${ZPOOL_NAME}
- udev_cleanup ${ETCDIR}/zfs/zdev.conf.supermicro.example
-}
diff --git a/scripts/zpool-config/x4550-raid0-1x48.sh b/scripts/zpool-config/x4550-raid0-1x48.sh
deleted file mode 100644
index 16156aa09..000000000
--- a/scripts/zpool-config/x4550-raid0-1x48.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-#
-# Sun Fire x4550 (Thumper/Thor) Raid-0 Configuration (1x48)
-#
-
-RANKS=8
-CHANNELS=6
-
-zpool_create() {
- udev_setup ${ETCDIR}/zfs/zdev.conf.x4550.example
- udev_raid0_setup ${RANKS} ${CHANNELS}
-
- msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAID0S[*]}
- ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAID0S[*]} || exit 1
-}
-
-zpool_destroy() {
- msg ${ZPOOL} destroy ${ZPOOL_NAME}
- ${ZPOOL} destroy ${ZPOOL_NAME}
- udev_cleanup ${ETCDIR}/zfs/zdev.conf.x4550.example
-}
diff --git a/scripts/zpool-config/x4550-raid10-24x2.sh b/scripts/zpool-config/x4550-raid10-24x2.sh
deleted file mode 100644
index ec91f43e6..000000000
--- a/scripts/zpool-config/x4550-raid10-24x2.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-#
-# Sun Fire x4550 (Thumper/Thor) Raid-10 Configuration (24x2(1+1))
-#
-
-RANKS=8
-CHANNELS=6
-
-zpool_create() {
- udev_setup ${ETCDIR}/zfs/zdev.conf.x4550.example
- udev_raid10_setup ${RANKS} ${CHANNELS}
-
- msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAID10S[*]}
- ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAID10S[*]} || exit 1
-}
-
-zpool_destroy() {
- msg ${ZPOOL} destroy ${ZPOOL_NAME}
- ${ZPOOL} destroy ${ZPOOL_NAME}
- udev_cleanup ${ETCDIR}/zfs/zdev.conf.x4550.example
-}
diff --git a/scripts/zpool-config/x4550-raidz-8x6.sh b/scripts/zpool-config/x4550-raidz-8x6.sh
deleted file mode 100644
index ed31a80e6..000000000
--- a/scripts/zpool-config/x4550-raidz-8x6.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-#
-# Sun Fire x4550 (Thumper/Thor) Raid-Z Configuration (8x6(5+1))
-#
-
-RANKS=8
-CHANNELS=6
-
-zpool_create() {
- udev_setup ${ETCDIR}/zfs/zdev.conf.x4550.example
- udev_raidz_setup ${RANKS} ${CHANNELS}
-
- msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAIDZS[*]}
- ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAIDZS[*]} || exit 1
-}
-
-zpool_destroy() {
- msg ${ZPOOL} destroy ${ZPOOL_NAME}
- ${ZPOOL} destroy ${ZPOOL_NAME}
- udev_cleanup ${ETCDIR}/zfs/zdev.conf.x4550.example
-}
diff --git a/scripts/zpool-config/x4550-raidz2-8x6.sh b/scripts/zpool-config/x4550-raidz2-8x6.sh
deleted file mode 100644
index 45ccd7474..000000000
--- a/scripts/zpool-config/x4550-raidz2-8x6.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-#
-# Sun Fire x4550 (Thumper/Thor) Raid-Z Configuration (8x6(4+2))
-#
-
-RANKS=8
-CHANNELS=6
-
-zpool_create() {
- udev_setup ${ETCDIR}/zfs/zdev.conf.x4550.example
- udev_raidz2_setup ${RANKS} ${CHANNELS}
-
- msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAIDZ2S[*]}
- ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAIDZ2S[*]} || exit 1
-}
-
-zpool_destroy() {
- msg ${ZPOOL} destroy ${ZPOOL_NAME}
- ${ZPOOL} destroy ${ZPOOL_NAME}
- udev_cleanup ${ETCDIR}/zfs/zdev.conf.x4550.example
-}
diff --git a/scripts/zpool-config/zpool-raid0.sh b/scripts/zpool-config/zpool-raid0.sh
new file mode 100644
index 000000000..aa78b71ed
--- /dev/null
+++ b/scripts/zpool-config/zpool-raid0.sh
@@ -0,0 +1,81 @@
+#!/bin/bash
+#
+# Zpool Raid-0 Configuration
+#
+# This script is used to simplify testing with the /dev/disk/zpool/[A-Z][1-n]
+# devices. It assumes that you have already populated /dev/disk/zpool/ by
+# creating an /etc/zfs/zdev.conf file based on your system design. You may
+# use the zpool_layout command or manually create your own config file.
+#
+# You can then use either the zpool-create.sh or the zpios.sh test script to
+# test various Raid-0 configurations by adjusting the following tunables.
+# For example if you wanted to create and test a single 4-disk Raid-0
+# configuration using disks [A-D]1 with dedicated ZIL and L2ARC devices
+# you could run the following.
+#
+# ZIL="log A2" L2ARC="cache B2" RANKS=1 CHANNELS=4 \
+# zpool-create.sh -c zpool-raid0
+#
+# zpool status tank
+# pool: tank
+# state: ONLINE
+# scan: none requested
+# config:
+#
+# NAME STATE READ WRITE CKSUM
+# tank ONLINE 0 0 0
+# A1 ONLINE 0 0 0
+# B1 ONLINE 0 0 0
+# C1 ONLINE 0 0 0
+# D1 ONLINE 0 0 0
+# logs
+# A2 ONLINE 0 0 0
+# cache
+# B2 ONLINE 0 0 0
+#
+# errors: No known data errors
+#
+
+# Number of interior vdevs to create using the following rank ids.
+RANKS=${RANKS:-1}
+RANK_LIST=( 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 )
+
+# Number of devices per vdev using the following channel ids.
+CHANNELS=${CHANNELS:-8}
+CHANNEL_LIST=( A B C D E F G H I J K L M N O P Q R S T U V W X Y Z )
+
+# Create a ZIL vdev as follows.
+ZIL=${ZIL:-}
+
+# Create an L2ARC vdev as follows.
+L2ARC=${L2ARC:-}
+
+
+raid0_setup() {
+ local RANKS=$1
+ local CHANNELS=$2
+
+ RAID0S=()
+ for (( i=0, k=0; i<${RANKS}; i++ )); do
+ RANK=${RANK_LIST[$i]}
+
+ for (( j=0; j<${CHANNELS}; j++, k++ )); do
+ RAID0S[${k}]="${CHANNEL_LIST[$j]}${RANK}"
+ done
+ done
+
+ return 0
+}
+
+zpool_create() {
+ raid0_setup ${RANKS} ${CHANNELS}
+
+ ZPOOL_DEVICES="${RAID0S[*]} ${ZIL} ${L2ARC}"
+ msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${ZPOOL_DEVICES}
+ ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${ZPOOL_DEVICES} || exit 1
+}
+
+zpool_destroy() {
+ msg ${ZPOOL} destroy ${ZPOOL_NAME}
+ ${ZPOOL} destroy ${ZPOOL_NAME}
+}
diff --git a/scripts/zpool-config/zpool-raid10.sh b/scripts/zpool-config/zpool-raid10.sh
new file mode 100644
index 000000000..8cb1f1548
--- /dev/null
+++ b/scripts/zpool-config/zpool-raid10.sh
@@ -0,0 +1,86 @@
+#!/bin/bash
+#
+# Zpool Raid-10 Configuration
+#
+# This script is used to simplify testing with the /dev/disk/zpool/[A-Z][1-n]
+# devices. It assumes that you have already populated /dev/disk/zpool/ by
+# creating an /etc/zfs/zdev.conf file based on your system design. You may
+# use the zpool_layout command or manually create your own config file.
+#
+# You can then use either the zpool-create.sh or the zpios.sh test script to
+# test various Raid-10 configurations by adjusting the following tunables.
+# For example if you wanted to create and test a single 4-disk Raid-10
+# configuration using disks [A-D]1 with dedicated ZIL and L2ARC devices
+# you could run the following.
+#
+# ZIL="log A2" L2ARC="cache B2" RANKS=1 CHANNELS=4 \
+# zpool-create.sh -c zpool-raid10
+#
+# zpool status tank
+# pool: tank
+# state: ONLINE
+# scan: none requested
+# config:
+#
+# NAME STATE READ WRITE CKSUM
+# tank ONLINE 0 0 0
+# mirror-0 ONLINE 0 0 0
+# A1 ONLINE 0 0 0
+# B1 ONLINE 0 0 0
+# mirror-1 ONLINE 0 0 0
+# C1 ONLINE 0 0 0
+# D1 ONLINE 0 0 0
+# logs
+# A2 ONLINE 0 0 0
+# cache
+# B2 ONLINE 0 0 0
+#
+# errors: No known data errors
+#
+
+# Number of interior vdevs to create using the following rank ids.
+RANKS=${RANKS:-1}
+RANK_LIST=( 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 )
+
+# Number of devices per vdev using the following channel ids.
+CHANNELS=${CHANNELS:-8}
+CHANNEL_LIST=( A B C D E F G H I J K L M N O P Q R S T U V W X Y Z )
+
+# Create a ZIL vdev as follows.
+ZIL=${ZIL:-}
+
+# Create an L2ARC vdev as follows.
+L2ARC=${L2ARC:-}
+
+
+raid10_setup() {
+ local RANKS=$1
+ local CHANNELS=$2
+ local IDX=0
+
+ RAID10S=()
+ for (( i=0, l=0 ; i<${RANKS}; i++ )); do
+ RANK=${RANK_LIST[$i]}
+
+ for (( j=0, k=1; j<${CHANNELS}; j+=2,k+=2,l++ )); do
+ DISK1="${CHANNEL_LIST[$j]}${RANK}"
+ DISK2="${CHANNEL_LIST[$k]}${RANK}"
+ RAID10S[$l]="mirror ${DISK1} ${DISK2}"
+ done
+ done
+
+ return 0
+}
+
+zpool_create() {
+ raid10_setup ${RANKS} ${CHANNELS}
+
+ ZPOOL_DEVICES="${RAID10S[*]} ${ZIL} ${L2ARC}"
+ msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${ZPOOL_DEVICES}
+ ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${ZPOOL_DEVICES} || exit 1
+}
+
+zpool_destroy() {
+ msg ${ZPOOL} destroy ${ZPOOL_NAME}
+ ${ZPOOL} destroy ${ZPOOL_NAME}
+}
diff --git a/scripts/zpool-config/zpool-raidz.sh b/scripts/zpool-config/zpool-raidz.sh
new file mode 100644
index 000000000..4f022666f
--- /dev/null
+++ b/scripts/zpool-config/zpool-raidz.sh
@@ -0,0 +1,88 @@
+#!/bin/bash
+#
+# Zpool Raid-Z Configuration
+#
+# This script is used to simplify testing with the /dev/disk/zpool/[A-Z][1-n]
+# devices. It assumes that you have already populated /dev/disk/zpool/ by
+# creating an /etc/zfs/zdev.conf file based on your system design. You may
+# use the zpool_layout command or manually create your own config file.
+#
+# You can then use either the zpool-create.sh or the zpios.sh test script to
+# test various Raid-Z configurations by adjusting the following tunables.
+# For example if you wanted to create and test a single 4-disk Raid-Z2
+# configuration using disks [A-D]1 with dedicated ZIL and L2ARC devices
+# you could run the following.
+#
+# ZIL="log A2" L2ARC="cache B2" RANKS=1 CHANNELS=4 LEVEL=2 \
+# zpool-create.sh -c zpool-raidz
+#
+# zpool status tank
+# pool: tank
+# state: ONLINE
+# scan: none requested
+# config:
+#
+# NAME STATE READ WRITE CKSUM
+# tank ONLINE 0 0 0
+# raidz2-0 ONLINE 0 0 0
+# A1 ONLINE 0 0 0
+# B1 ONLINE 0 0 0
+# C1 ONLINE 0 0 0
+# D1 ONLINE 0 0 0
+# logs
+# A2 ONLINE 0 0 0
+# cache
+# B2 ONLINE 0 0 0
+#
+# errors: No known data errors
+#
+
+# Number of interior vdevs to create using the following rank ids.
+RANKS=${RANKS:-1}
+RANK_LIST=( 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 )
+
+# Number of devices per vdev using the following channel ids.
+CHANNELS=${CHANNELS:-8}
+CHANNEL_LIST=( A B C D E F G H I J K L M N O P Q R S T U V W X Y Z )
+
+# Raid-Z Level: 1, 2, or 3.
+LEVEL=${LEVEL:-2}
+
+# Create a ZIL vdev as follows.
+ZIL=${ZIL:-}
+
+# Create an L2ARC vdev as follows.
+L2ARC=${L2ARC:-}
+
+
+raidz_setup() {
+ local RANKS=$1
+ local CHANNELS=$2
+
+ RAIDZS=()
+ for (( i=0; i<${RANKS}; i++ )); do
+ RANK=${RANK_LIST[$i]}
+ RAIDZ=("raidz${LEVEL}")
+
+ for (( j=0, k=1; j<${CHANNELS}; j++, k++ )); do
+ RAIDZ[$k]="${CHANNEL_LIST[$j]}${RANK}"
+ done
+
+ RAIDZS[$i]="${RAIDZ[*]}"
+ done
+
+ return 0
+}
+
+zpool_create() {
+ raidz_setup ${RANKS} ${CHANNELS}
+
+ ZPOOL_DEVICES="${RAIDZS[*]} ${ZIL} ${L2ARC}"
+ msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${ZPOOL_DEVICES}
+ ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${ZPOOL_DEVICES} || exit 1
+}
+
+zpool_destroy() {
+ msg ${ZPOOL} destroy ${ZPOOL_NAME}
+ ${ZPOOL} destroy ${ZPOOL_NAME}
+}