|
[PHP]#!/bin/bash
mkdir /istorage_install
mkdir /etc/istorage
usage()
{
echo "Usage: "
echo "install diskname disk_cache_size(GB)"
echo "example:"
echo "install hda 8"
echo "install sda 0"
echo "install sda 20"
echo "install sda all"
exit 0
}
run()
{
CMDLINE=$1
$CMDLINE
RESULT=$?
if [ $RESULT -eq 0 ]; then
echo "Success: $CMDLINE "
else
echo "Error: $CMDLINE failed, exit $RESULT "
umount $DISK_PARTION
exit $RESULT
fi
}
my_cat()
{
# CMDLINE1=$1
echo "$1" >> /istorage_install/set_cache
}
clear_disk()
{
my_cat "/sbin/fdisk /dev/$1 << EOF"
my_cat "d"
my_cat "8"
my_cat ""
my_cat "d"
my_cat "7"
my_cat ""
my_cat "d"
my_cat "6"
my_cat ""
my_cat "d"
my_cat "5"
my_cat ""
my_cat "d"
my_cat "4"
my_cat ""
my_cat "d"
my_cat "3"
my_cat ""
my_cat "d"
my_cat "2"
my_cat ""
my_cat "d"
my_cat "1"
my_cat ""
my_cat "n"
my_cat "p"
my_cat "1"
my_cat ""
my_cat "+160M"
my_cat "a"
my_cat "1"
}
check_sys_partition()
{
DISK_NAME=$1
DISK_CACHE_SIZE=+$2000M
TWE=2
CACHE_PARTION=$DISK_NAME$TWE
rm /istorage_install/set_cache
rm /etc/istorage/disk_cache.conf
clear_disk $DISK_NAME
#echo "para2=$2"
case "$2" in
0)
my_cat "n"
my_cat "p"
my_cat "3"
my_cat ""
my_cat ""
my_cat "w"
my_cat "EOF"
;;
all)
my_cat "n"
my_cat "p"
my_cat "2"
my_cat ""
my_cat ""
my_cat "w"
my_cat "EOF"
echo "/dev/$CACHE_PARTION" >> /etc/istorage/disk_cache.conf
;;
# default
*)
my_cat "n"
my_cat "p"
my_cat "2"
my_cat ""
my_cat "$DISK_CACHE_SIZE"
my_cat "n"
my_cat "p"
my_cat "3"
my_cat ""
my_cat ""
my_cat "w"
my_cat "EOF"
echo "/dev/$CACHE_PARTION" >> /etc/istorage/disk_cache.conf
esac
chmod 777 /istorage_install/set_cache
/istorage_install/set_cache
}
## disk device name ##
DISK_DEV=$1
ONE=1
DISK_PARTION=$DISK_DEV$ONE
[ -z "$2" ] && usage
check_sys_partition $DISK_DEV $2
/sbin/mkfs.xfs -f /dev/$DISK_PARTION[/PHP]
为什么最后不能格式化分区? |
|