[Ovirt-devel] [PATCH node] Adds support for a core dump partition to the node.

Darryl L. Pierce dpierce at redhat.com
Wed May 20 16:20:17 UTC 2009


Creates an additional LV, CoreDump. This LV, if present, is mounted at
/var/log/core. Its default size is 10240 MB (10G) and has a minimum size
of 1024 MB.

Additionally, the default log partition size was changed from 256 MB to
2048 MB (2G).

Signed-off-by: Darryl L. Pierce <dpierce at redhat.com>
---
 scripts/ovirt-config-storage |   23 ++++++++++++++++++-----
 scripts/ovirt-early          |    9 +++++----
 2 files changed, 23 insertions(+), 9 deletions(-)

diff --git a/scripts/ovirt-config-storage b/scripts/ovirt-config-storage
index 815c8e0..8d550ea 100755
--- a/scripts/ovirt-config-storage
+++ b/scripts/ovirt-config-storage
@@ -1,7 +1,7 @@
 #!/bin/bash
 #
 # To automate the partitioning, pass in the specific fields in this order
-# ovirt-config-storage [swap size] [boot size] [root size] [logging size] [data size]
+# ovirt-config-storage [swap size] [boot size] [root size] [logging size] [core dump size] [data size]
 #
 # All sizes are in megabytes
 #
@@ -25,7 +25,8 @@ default_overcommit=0.5
 default_boot_size=50
 default_root_size=256
 default_config_size=5
-default_logging_size=256
+default_logging_size=2048
+default_coredump_size=10240
 # -1 indicates data partition should use remaining disk
 default_data_size=-1
 
@@ -33,6 +34,7 @@ boot_min_size=50
 root_min_size=256
 config_min_size=5
 logging_min_size=5
+coredump_min_size=1024
 data_min_size=5
 swap_min_size=5
 
@@ -73,7 +75,7 @@ check_partition_sizes()
     disk_size=$SPACE
     need_size=$(echo "scale=0;" \
                      "$BOOT_SIZE + $SWAP_SIZE + $ROOT_SIZE * 2" \
-                     "+ $CONFIG_SIZE + $LOGGING_SIZE + $min_data_size" | bc -l)
+                     "+ $CONFIG_SIZE + $LOGGING_SIZE + $COREDUMP_SIZE + $min_data_size" | bc -l)
 
     if [ $need_size -gt $disk_size ]; then
         local gap_size=$(echo "scale=0; $need_size-$disk_size;" | bc -l)
@@ -186,7 +188,7 @@ do_configure()
     printf "  partition should use up the remaining space on the disk.\n\n"
 
     local space_left=$SPACE
-    for part in boot swap root config logging data ; do
+    for part in boot swap root config logging coredump data ; do
         part_regexp="^0$"
         if [ "$part" = "data" ]; then
             part_regexp="^\-1|0$"
@@ -234,6 +236,7 @@ set /files$OVIRT_DEFAULTS/OVIRT_VOL_SWAP_SIZE $SWAP_SIZE
 set /files$OVIRT_DEFAULTS/OVIRT_VOL_ROOT_SIZE $ROOT_SIZE
 set /files$OVIRT_DEFAULTS/OVIRT_VOL_CONFIG_SIZE $CONFIG_SIZE
 set /files$OVIRT_DEFAULTS/OVIRT_VOL_LOGGING_SIZE $LOGGING_SIZE
+set /files$OVIRT_DEFAULTS/OVIRT_VOL_COREDUMP_SIZE $COREDUMP_SIZE
 set /files$OVIRT_DEFAULTS/OVIRT_VOL_DATA_SIZE $DATA_SIZE
 EOF
 }
@@ -248,7 +251,7 @@ do_review()
     local data_size_display="$DATA_SIZE MB"
     if [ "$DATA_SIZE" = -1 ]; then
         local remaining_mb=$(( $SPACE - $BOOT_SIZE - $SWAP_SIZE \
-                - $ROOT_SIZE * 2 - $CONFIG_SIZE - $LOGGING_SIZE ))
+                - $ROOT_SIZE * 2 - $CONFIG_SIZE - $LOGGING_SIZE - $COREDUMP_SIZE ))
         data_size_display="$remaining_mb MB"
     fi
 
@@ -263,6 +266,7 @@ The local disk will be repartitioned as follows:
   Installation partition size: $ROOT_SIZE * 2 MB
  Configuration partition size: $CONFIG_SIZE MB
        Logging partition size: $LOGGING_SIZE MB
+     Core dump partition size: $COREDUMP_SIZE MB
           Data partition size: $data_size_display
 
 EOF
@@ -381,6 +385,14 @@ perform_partitioning()
         tune2fs -c 0 -i 0 /dev/HostVG/Logging
         echo "/dev/HostVG/Logging /var/log ext3 defaults 0 0" >> /etc/fstab
     fi
+    if [ "$COREDUMP_SIZE" -gt 0 ]; then
+	log "Creating core dump partition"
+	lvcreate --name CoreDump --size ${COREDUMP_SIZE}M /dev/HostVG
+	mke2fs -j /dev/HostVG/CoreDump -L "COREDUMP"
+	tune2fs -c 0 -i 0 /dev/HostVG/CoreDump
+	mkdir -p /var/log/core
+	echo "/dev/HostVG/CoreDump /var/log/core ext3 defaults 0 0" >> /etc/fstab
+    fi
 
     local use_data=1
     if [ "$DATA_SIZE" -eq -1 ]; then
@@ -486,6 +498,7 @@ BOOT_SIZE=${OVIRT_VOL_BOOT_SIZE:-$default_boot_size}
 ROOT_SIZE=${OVIRT_VOL_ROOT_SIZE:-$default_root_size}
 CONFIG_SIZE=${OVIRT_VOL_CONFIG_SIZE:-$default_config_size}
 LOGGING_SIZE=${OVIRT_VOL_LOGGING_SIZE:-$default_logging_size}
+COREDUMP_SIZE=${OVIRT_VOL_COREDUMP_SIZE:-$default_coredump_size}
 DATA_SIZE=${OVIRT_VOL_DATA_SIZE:-$default_data_size}
 
 if [ -n "$OVIRT_INIT" ]; then
diff --git a/scripts/ovirt-early b/scripts/ovirt-early
index ac54e4b..b11b85d 100755
--- a/scripts/ovirt-early
+++ b/scripts/ovirt-early
@@ -129,7 +129,7 @@ start() {
     # oVirt boot parameters
     #   BOOTIF=link|eth*|<MAC> (appended by pxelinux)
     #   ovirt_init=[usb|scsi[:serial#]|/dev/...]
-    #   ovirt_vol=BOOT_MB:SWAP_MB:ROOT_MB:CONFIG_MB:LOGGING_MB:DATA_MB
+    #   ovirt_vol=BOOT_MB:SWAP_MB:ROOT_MB:CONFIG_MB:LOGGING_MB:COREDUMP_MB:DATA_MB
     #   ovirt_overcommit=<overcommit_ratio>
     #   ovirt_local_boot
     #   ovirt_standalone
@@ -166,13 +166,14 @@ start() {
     # w/o value - grab the first disk (/dev/?da)
     init=
 
-    #   ovirt_vol=BOOT_MB:SWAP_MB:ROOT_MB:CONFIG_MB:LOGGING_MB:DATA_MB
+    #   ovirt_vol=BOOT_MB:SWAP_MB:ROOT_MB:CONFIG_MB:LOGGING_MB:COREDUMP_MB:DATA_MB
     # local partition sizes in MB
     vol_boot_size=
     vol_swap_size=
     vol_root_size=
     vol_config_size=
     vol_logging_size=
+    vol_coredump_size=
     # data size can be set to 0 to disable data partition, -1 to use
     # remaining free space after the other above partitions are defined
     # or a specific positive number in MB
@@ -294,7 +295,7 @@ start() {
             ;;
             ovirt_vol=*)
             i=${i#ovirt_vol=}
-            eval $(printf $i|awk -F: '{print "vol_boot_size="$1; print "vol_swap_size="$2; print "vol_root_size="$3; print "vol_config_size="$4; print "vol_logging_size="$5; print "vol_data_size="$6;}')
+            eval $(printf $i|awk -F: '{print "vol_boot_size="$1; print "vol_swap_size="$2; print "vol_root_size="$3; print "vol_config_size="$4; print "vol_logging_size="$5; print "vol_coredump_size="$6; print "vol_data_size="$7;}')
             ;;
             ovirt_local_boot*)
             local_boot=1
@@ -361,7 +362,7 @@ start() {
         ip_gateway=$gateway
     fi
     # save boot parameters as defaults for ovirt-config-*
-    params="bootif init vol_boot_size vol_swap_size vol_root_size vol_config_size vol_logging_size vol_data_size local_boot standalone overcommit ip_address ip_netmask ip_gateway ipv6 dns ntp syslog_server syslog_port collectd_server collectd_port bootparams hostname firstboot"
+    params="bootif init vol_boot_size vol_swap_size vol_root_size vol_config_size vol_logging_size vol_coredump_size vol_data_size local_boot standalone overcommit ip_address ip_netmask ip_gateway ipv6 dns ntp syslog_server syslog_port collectd_server collectd_port bootparams hostname firstboot"
     # mount /config unless firstboot is forced
     if [ "$firstboot" != "1" ]; then
         mount_config
-- 
1.6.0.6




More information about the ovirt-devel mailing list