diff options
author | Brian Behlendorf <[email protected]> | 2009-11-20 10:32:06 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2009-11-20 10:32:06 -0800 |
commit | 8bacf4f03d587536b3b30a727baf72f5b6334621 (patch) | |
tree | 4c935e73acba7d26178f7caa48635944509673d0 /scripts | |
parent | 81c56431ae685d7522a4a29979afa6d0fc537d8b (diff) | |
parent | 88be0ad843c31e1077cc76f138e86bc0673b3ba3 (diff) |
Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/udev-rules/99-zpool.rules.promise | 41 | ||||
-rwxr-xr-x | scripts/zconfig.sh | 48 | ||||
-rw-r--r-- | scripts/zpool-config/promise-raid0-1x16.sh | 20 | ||||
-rw-r--r-- | scripts/zpool-config/promise-raid10-8x2.sh | 20 | ||||
-rw-r--r-- | scripts/zpool-config/promise-raidz-2x8.sh | 20 | ||||
-rw-r--r-- | scripts/zpool-config/promise-raidz2-2x8.sh | 20 |
6 files changed, 169 insertions, 0 deletions
diff --git a/scripts/udev-rules/99-zpool.rules.promise b/scripts/udev-rules/99-zpool.rules.promise new file mode 100644 index 000000000..8a32a539b --- /dev/null +++ b/scripts/udev-rules/99-zpool.rules.promise @@ -0,0 +1,41 @@ +# +# /etc/udev/rules.d/99-zpool.rules +# + +ENV{DEVTYPE}=="disk", IMPORT{program}="path_id %p" + +# Full devices (*:pci*port:*:id-lun) +ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:07:00.0*0:*:8-lun0", SYMLINK+="disk/zpool/a1" +ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:07:00.0*0:*:9-lun0", SYMLINK+="disk/zpool/a2" +ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:07:00.0*0:*:10-lun0", SYMLINK+="disk/zpool/a3" +ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:07:00.0*0:*:11-lun0", SYMLINK+="disk/zpool/a4" +ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:07:00.0*0:*:12-lun0", SYMLINK+="disk/zpool/a5" +ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:07:00.0*0:*:13-lun0", SYMLINK+="disk/zpool/a6" +ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:07:00.0*0:*:14-lun0", SYMLINK+="disk/zpool/a7" +ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:07:00.0*0:*:15-lun0", SYMLINK+="disk/zpool/a8" +ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:07:00.0*0:*:16-lun0", SYMLINK+="disk/zpool/b1" +ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:07:00.0*0:*:17-lun0", SYMLINK+="disk/zpool/b2" +ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:07:00.0*0:*:18-lun0", SYMLINK+="disk/zpool/b3" +ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:07:00.0*0:*:19-lun0", SYMLINK+="disk/zpool/b4" +ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:07:00.0*0:*:20-lun0", SYMLINK+="disk/zpool/b5" +ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:07:00.0*0:*:21-lun0", SYMLINK+="disk/zpool/b6" +ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:07:00.0*0:*:22-lun0", SYMLINK+="disk/zpool/b7" +ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:07:00.0*0:*:23-lun0", SYMLINK+="disk/zpool/b8" + +# Partitions (*:pci*port:*:id-lun) +ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:07:00.0*0:*:8-lun0", SYMLINK+="disk/zpool/a1-part%n" +ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:07:00.0*0:*:9-lun0", SYMLINK+="disk/zpool/a2-part%n" +ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:07:00.0*0:*:10-lun0", SYMLINK+="disk/zpool/a3-part%n" +ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:07:00.0*0:*:11-lun0", SYMLINK+="disk/zpool/a4-part%n" +ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:07:00.0*0:*:12-lun0", SYMLINK+="disk/zpool/a5-part%n" +ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:07:00.0*0:*:13-lun0", SYMLINK+="disk/zpool/a6-part%n" +ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:07:00.0*0:*:14-lun0", SYMLINK+="disk/zpool/a7-part%n" +ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:07:00.0*0:*:15-lun0", SYMLINK+="disk/zpool/a8-part%n" +ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:07:00.0*0:*:16-lun0", SYMLINK+="disk/zpool/b1-part%n" +ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:07:00.0*0:*:17-lun0", SYMLINK+="disk/zpool/b2-part%n" +ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:07:00.0*0:*:18-lun0", SYMLINK+="disk/zpool/b3-part%n" +ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:07:00.0*0:*:19-lun0", SYMLINK+="disk/zpool/b4-part%n" +ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:07:00.0*0:*:20-lun0", SYMLINK+="disk/zpool/b5-part%n" +ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:07:00.0*0:*:21-lun0", SYMLINK+="disk/zpool/b6-part%n" +ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:07:00.0*0:*:22-lun0", SYMLINK+="disk/zpool/b7-part%n" +ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:07:00.0*0:*:23-lun0", SYMLINK+="disk/zpool/b8-part%n" diff --git a/scripts/zconfig.sh b/scripts/zconfig.sh index 7a215dcee..2968ad8dc 100755 --- a/scripts/zconfig.sh +++ b/scripts/zconfig.sh @@ -115,4 +115,52 @@ zconfig_test2() { } zconfig_test2 +# ZVOL sanity check +zconfig_test3() { + POOL_NAME=tank + ZVOL_NAME=fish + FULL_NAME=${POOL_NAME}/${ZVOL_NAME} + SRC_DIR=/bin/ + TMP_FILE1=`mktemp` + TMP_CACHE=`mktemp -p /tmp zpool.cache.XXXXXXXX` + + echo -n "test 3 - ZVOL sanity: " + + # Create a pool and volume. + ${ZFS_SH} zfs="spa_config_path=${TMP_CACHE}" || fail 1 + ${ZPOOL_CREATE_SH} -p ${POOL_NAME} -c lo-raidz2 || fail 2 + ${ZFS} create -V 400M ${FULL_NAME} || fail 3 + + # Partition the volume, for a 400M volume there will be + # 812 cylinders, 16 heads, and 63 sectors per track. + /sbin/sfdisk -q /dev/${FULL_NAME} << EOF &>${TMP_FILE1} || fail 4 +,812 +; +; +; +EOF + + # Format the partition with ext3. + /sbin/mkfs.ext3 /dev/${FULL_NAME}1 &>${TMP_FILE1} || fail 5 + + # Mount the ext3 filesystem and copy some data to it. + mkdir -p /tmp/${ZVOL_NAME} || fail 6 + mount /dev/${FULL_NAME}1 /tmp/${ZVOL_NAME} || fail 7 + cp -RL ${SRC_DIR} /tmp/${ZVOL_NAME} || fail 8 + + # Verify the copied files match the original files. + diff -ur ${SRC_DIR} /tmp/${ZVOL_NAME}${SRC_DIR} || fail 9 + + # Remove the files, umount, destroy the volume and pool. + rm -Rf /tmp/${ZVOL_NAME}${SRC_DIR}* || fail 10 + umount /tmp/${ZVOL_NAME} || fail 11 + ${ZFS} destroy ${FULL_NAME} || fail 12 + ${ZPOOL_CREATE_SH} -p ${POOL_NAME} -c lo-raidz2 -d || fail 13 + rm -f ${TMP_FILE1} || fail 14 + ${ZFS_SH} -u || fail 15 + + pass +} +zconfig_test3 + exit 0 diff --git a/scripts/zpool-config/promise-raid0-1x16.sh b/scripts/zpool-config/promise-raid0-1x16.sh new file mode 100644 index 000000000..0136fe3a2 --- /dev/null +++ b/scripts/zpool-config/promise-raid0-1x16.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# +# Flash (White Box) Raid-0 Configuration (1x16) +# + +RANKS=8 +CHANNELS=2 + +zpool_create() { + udev_setup ${UDEVDIR}/99-zpool.rules.promise + 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} +} diff --git a/scripts/zpool-config/promise-raid10-8x2.sh b/scripts/zpool-config/promise-raid10-8x2.sh new file mode 100644 index 000000000..a16f0d0f5 --- /dev/null +++ b/scripts/zpool-config/promise-raid10-8x2.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# +# Flash (White Box) Raid-10 Configuration (10x2(1+1)) +# + +RANKS=8 +CHANNELS=2 + +zpool_create() { + udev_setup ${UDEVDIR}/99-zpool.rules.promise + 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} +} diff --git a/scripts/zpool-config/promise-raidz-2x8.sh b/scripts/zpool-config/promise-raidz-2x8.sh new file mode 100644 index 000000000..0f6223f38 --- /dev/null +++ b/scripts/zpool-config/promise-raidz-2x8.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# +# Flash (White Box) Raid-Z Configuration (2x8(7+1)) +# + +RANKS=8 +CHANNELS=2 + +zpool_create() { + udev_setup ${UDEVDIR}/99-zpool.rules.promise + 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} +} diff --git a/scripts/zpool-config/promise-raidz2-2x8.sh b/scripts/zpool-config/promise-raidz2-2x8.sh new file mode 100644 index 000000000..5b642dd22 --- /dev/null +++ b/scripts/zpool-config/promise-raidz2-2x8.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# +# Flash (White Box) Raid-Z2 Configuration (2x8(6+2)) +# + +RANKS=8 +CHANNELS=2 + +zpool_create() { + udev_setup ${UDEVDIR}/99-zpool.rules.promise + 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} +} |