summaryrefslogtreecommitdiffstats
path: root/scripts/zpool-config/md0-raid5.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/zpool-config/md0-raid5.sh')
-rw-r--r--scripts/zpool-config/md0-raid5.sh38
1 files changed, 38 insertions, 0 deletions
diff --git a/scripts/zpool-config/md0-raid5.sh b/scripts/zpool-config/md0-raid5.sh
new file mode 100644
index 000000000..b5b22fe7a
--- /dev/null
+++ b/scripts/zpool-config/md0-raid5.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+#
+# Four disk Raid-5 in a single Raid-0 Configuration
+#
+
+MDADM=${MDADM:-/sbin/mdadm}
+MDDEVICES=${MDDEVICES:-"/dev/sd[abcd]"}
+MDCOUNT=${MDCOUNT:-4}
+MDRAID=${MDRAID:-5}
+
+DEVICES="/dev/md0"
+
+zpool_md_destroy() {
+ msg ${MDADM} --manage --stop ${DEVICES}
+ ${MDADM} --manage --stop ${DEVICES} &>/dev/null
+
+ msg ${MDADM} --zero-superblock ${MDDEVICES}
+ ${MDADM} --zero-superblock ${MDDEVICES} >/dev/null
+}
+
+zpool_create() {
+ msg ${MDADM} --create ${DEVICES} --level=${MDRAID} \
+ --raid-devices=${MDCOUNT} ${MDDEVICES}
+ ${MDADM} --create ${DEVICES} --level=${MDRAID} \
+ --raid-devices=${MDCOUNT} ${MDDEVICES} \
+ &>/dev/null || (zpool_md_destroy && exit 1)
+
+ msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${DEVICES}
+ ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} \
+ ${DEVICES} || (zpool_md_destroy && exit 2)
+}
+
+zpool_destroy() {
+ msg ${ZPOOL} destroy ${ZPOOL_NAME}
+ ${ZPOOL} destroy ${ZPOOL_NAME}
+
+ zpool_md_destroy
+}