适用于EC2实例的Amazon provides instance store。如果您使用自己的AMI,则不会自动为您格式化或安装这些AMI。您需要手动格式化并装入它们。
可用设备为listed here,并根据实例类型而有所不同。例如,m1.small将具有与c1.xlarge不同的可用实例存储设备。
我正在寻找一个
的剧本curl -s http://169.254.169.254/latest/meta-data/instance-type
可能?完成了?有吗?
答案 0 :(得分:7)
所以,这就是我为此所建立的。
#!/bin/bash
# This script formats and mounts all available Instance Store devices
##### Variables
devices=( )
##### Functions
function add_device
{
devices=( "${devices[@]}" $1 )
}
function check_device
{
if [ -e /dev/$1 ]; then
add_device $1
fi
}
function check_devices
{
check_device sda2
check_device sda3
check_device sdb
check_device sdc
check_device sdd
check_device sde
}
function print_devices
{
for device in "${devices[@]}"
do
echo Found device $device
done
}
function do_mount
{
echo Mounting device $1 on $2
fdisk $1 << EOF
n
p
1
w
EOF
# format!
mkfs -t xfs -f $1
mkdir $2
mount $1 $2
echo "$1 $2 xfs defaults 0 0" >> /etc/fstab
}
function mount_devices
{
for (( i = 0 ; i < ${#devices[@]} ; i++ ))
do
mountTarget=/mnt
if [ $i -gt 0 ]; then
mountTarget=/mnt$(($i+1))
fi
do_mount /dev/${devices[$i]} $mountTarget
done
}
##### Main
check_devices
print_devices
mount_devices
答案 1 :(得分:1)
#!/bin/bash
#SETUP RAID0
checkAllDevices()
{
devicemount=/ephemeral
logicalname=/dev/md0
deviceslist=( '/dev/xvdb' '/dev/xvdc' '/dev/xvdd' '/dev/xvde' )
for device in ${deviceslist[@]}; do
if ([ -b $device ]) then
aDevices=( "${aDevices[@]}" $device )
fi
done
if [ "${#aDevices[@]}" -gt '1' ];then
yes | mdadm --create $logicalname --level=0 -c256 --raid-devices=${#aDevices[@]} ${aDevices[@]}
echo \'DEVICE ${aDevices[@]}\' > /etc/mdadm.conf
mdadm --detail --scan >> /etc/mdadm.conf
blockdev --setra 65536 $logicalname
mkfs.xfs -f $logicalname > /dev/null
mkdir -p $devicemount
mount -t xfs -o noatime $logicalname $devicemount
if [ ! -f /etc/fstab.backup ]; then
cp -rP /etc/fstab /etc/fstab.backup
echo "$logicalname $devicemount xfs defaults 0 0" >> /etc/fstab
fi
else
echo "Required more than one devices"
fi
}
#MAIN FUNCTION
aDevices=()
checkAllDevices