[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