]> git.proxmox.com Git - mirror_zfs-debian.git/blob - scripts/zpool-config/dm0-raid0.sh
Imported Upstream version 0.6.5.9
[mirror_zfs-debian.git] / scripts / zpool-config / dm0-raid0.sh
1 #!/bin/bash
2 #
3 # Four disk Raid-0 DM in a single Raid-0 Configuration
4 #
5
6 PVCREATE=${PVCREATE:-/sbin/pvcreate}
7 PVREMOVE=${PVREMOVE:-/sbin/pvremove}
8 PVDEVICES=${PVDEVICES:-"/dev/sd[abcd]"}
9
10 VGCREATE=${VGCREATE:-/sbin/vgcreate}
11 VGREMOVE=${VGREMOVE:-/sbin/vgremove}
12 VGNAME=${VGNAME:-"vg_tank"}
13
14 LVCREATE=${LVCREATE:-/sbin/lvcreate}
15 LVREMOVE=${LVREMOVE:-/sbin/lvremove}
16 LVNAME=${LVNAME:-"lv_tank"}
17 LVSTRIPES=${LVSTRIPES:-4}
18 LVSIZE=${LVSIZE:-32G}
19
20 DEVICES="/dev/${VGNAME}/${LVNAME}"
21
22 zpool_dm_destroy() {
23 msg ${LVREMOVE} -f ${VGNAME}/${LVNAME}
24 ${LVREMOVE} -f ${VGNAME}/${LVNAME} >/dev/null
25
26 msg ${VGREMOVE} -f ${VGNAME}
27 ${VGREMOVE} -f ${VGNAME} >/dev/null
28
29 msg ${PVREMOVE} ${PVDEVICES}
30 ${PVREMOVE} ${PVDEVICES} >/dev/null
31 }
32
33 zpool_create() {
34 # Remove EFI labels which cause pvcreate failure
35 for DEVICE in ${PVDEVICES}; do
36 dd if=/dev/urandom of=${DEVICE} bs=1k count=32 &>/dev/null
37 done
38
39 msg ${PVCREATE} -f ${PVDEVICES}
40 ${PVCREATE} -f ${PVDEVICES} >/dev/null || exit 1
41
42 msg ${VGCREATE} ${VGNAME} ${PVDEVICES}
43 ${VGCREATE} ${VGNAME} ${PVDEVICES} >/dev/null || exit 2
44
45 msg ${LVCREATE} --size=${LVSIZE} --stripes=${LVSTRIPES} \
46 --name=${LVNAME} ${VGNAME}
47 ${LVCREATE} --size=${LVSIZE} --stripes=${LVSTRIPES} \
48 --name=${LVNAME} ${VGNAME} >/dev/null || exit 3
49
50 msg ${ZPOOL} create ${ZPOOL_FLAGS} ${ZPOOL_NAME} ${DEVICES}
51 ${ZPOOL} create ${ZPOOL_FLAGS} ${ZPOOL_NAME} \
52 ${DEVICES} || (zpool_dm_destroy && exit 4)
53 }
54
55 zpool_destroy() {
56 msg ${ZPOOL} destroy ${ZPOOL_NAME}
57 ${ZPOOL} destroy ${ZPOOL_NAME}
58
59 zpool_dm_destroy
60 }