[Ovirt-devel] [PATCH ovirt-node] standalone mode - configure local storage (DESTRUCTIVE)
Alan Pevec
apevec at redhat.com
Fri Nov 7 01:27:45 UTC 2008
From: Darryl L. Pierce <dpierce at redhat.com>
---
scripts/ovirt-config-storage | 112 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 112 insertions(+), 0 deletions(-)
diff --git a/scripts/ovirt-config-storage b/scripts/ovirt-config-storage
index 8b13789..91d50de 100755
--- a/scripts/ovirt-config-storage
+++ b/scripts/ovirt-config-storage
@@ -1 +1,113 @@
+#!/bin/bash
+#
+# All sizes are in gigabytes
+DRIVE=$(sfdisk -s | awk '/\/dev\/([sh]da)/ { match($0, "^(.*):.*", data); printf data[1] }')
+BOOT_SIZE=1
+INSTALL_SIZE=10
+CONFIG_SIZE=5
+LOGGING_SIZE=2
+
+MEM_SIZE=$(cat /proc/meminfo | awk '/MemTotal/ { print $2 }')
+MEM_SIZE=$(( $MEM_SIZE / ( 1024 ** 2) ))
+SWAP_SIZE=$(($MEM_SIZE * 2 + 1))
+
+function do_configure
+{
+ read -p "Swap partition size (Currently ${SWAP_SIZE})? "
+ if [[ $REPLY =~ ^[0-9]+$ ]] && [[ $REPLY -gt 0 ]]; then
+ SWAP_SIZE=$REPLY
+ else
+ printf "Swap value is invalid.\n"
+ return
+ fi
+
+ read -p "Boot partition size (Currently ${SWAP_SIZE})? "
+ if [[ $REPLY =~ ^[0-9]+$ ]] && [[ $REPLY -gt 0 ]]; then
+ BOOT_SIZE=$REPLY
+ else
+ printf "Boot value is invalid.\n"
+ return
+ fi
+
+}
+
+function do_review
+{
+ printf "\n"
+ printf "The local disk will be repartitioned as follows:\n"
+ printf "================================================\n"
+ printf " Physical Hard Disk: ${DRIVE}\n"
+ printf " Boot partition size: ${BOOT_SIZE} GB\n"
+ printf " Swap partition size: ${SWAP_SIZE} GB\n"
+ printf " Installation partition size: ${INSTALL_SIZE} GB\n"
+ printf " Configuration partition size: ${CONFIG_SIZE} GB\n"
+ printf " Logging partition size: ${LOGGING_SIZE} GB\n"
+ printf "\n"
+}
+
+function do_partitioning
+{
+ while true; do
+ printf "\n"
+ printf "!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!\n"
+ printf "!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!\n"
+ printf "!!WARNING!! !!WARNING!!\n"
+ printf "!!WARNING!! !!WARNING!!\n"
+ printf "!!WARNING!! If you proceed this will destroy all data on your local system, and !!WARNING!!\n"
+ printf "!!WARNING!! your hard disk will be irreversably reconfiguration. !!WARNING!!\n"
+ printf "!!WARNING!! !!WARNING!!\n"
+ printf "!!WARNING!! !!WARNING!!\n"
+ printf "!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!\n"
+ printf "!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!\n"
+ printf "\n"
+ printf "\tContinue? (Y/n) "
+ read
+ case $REPLY in
+ Y|y)
+ {
+ dd if=/dev/zero of=/dev/sda bs=1K count=1
+ blockdev --rereadpt /dev/sda
+ # Boot partition
+ # /dev/sda1 = Boot partition
+ # /dev/sda2 = Swap partition
+ # /dev/sda4 = LVM
+ echo -e "n\np\n1\n\n+$(( $BOOT_SIZE * 1024))M\na\n1\n
+ n\np\n2\n\n+$(( $SWAP_SIZE * 1024))M\nt\n2\n82\n
+ n\np\n4\n\n\nt\n4\n8e\n
+ w\n" | fdisk $DRIVE
+ pvcreate /dev/sda4
+ vgcreate /dev/VolGroup00 /dev/sda4
+
+ lvcreate --name Ovirt /dev/VolGroup00 --size ${INSTALL_SIZE}G
+ lvcreate --name Config /dev/VolGroup00 --size ${CONFIG_SIZE}G
+ lvcreate --name Logging /dev/VolGroup00 --size ${LOGGING_SIZE}G
+
+ mkfs -t ext3 /dev/sda1
+ mkfs -t ext3 /dev/VolGroup00/Ovirt
+ mkfs -t ext3 /dev/VolGroup00/Config
+ mkfs -t ext3 /dev/VolGroup00/Logging
+
+ } > partition.log
+ break ;;
+ N|n) return ;;
+ esac
+ done
+}
+
+while true; do
+ OPTIONS="Configure Review Partition Quit"
+ PS3="Choose an option: "
+
+ printf "\n"
+
+ select OPTION in $OPTIONS
+ do
+ case "$OPTION" in
+ "Configure") do_configure ; break ;;
+ "Review") do_review ; break ;;
+ "Partition") do_partitioning ; break ;;
+ "Quit") exit ;;
+ esac
+ done
+done
--
1.5.6.5
More information about the ovirt-devel
mailing list