OpenNebula管理ESXi修改的一些脚本

1.重建DATABLOCK并挂载


在执行持久化DATABLOCK挂在之前执行原DATABLOCK的删除和重建工作。

…………………………………………………

SRC_PATH="${DST_DS_PATH}${SRC_ARG_PATH##$SRC_DS_PATH}"

#-------------------------------------------------------------------------------

# Make by chensh at 131129

#-------------------------------------------------------------------------------


USER=$(whoami)

GROUP=$(groups)


if [ -f "$SRC_PATH" ]; then


SIZE=$(ls -lh $SRC_PATH | cut -d " " -f5)

rm -rf $SRC_PATH

mkdir -p $SRC_PATH


CD_CMD="cd $SRC_PATH"

CREATE_IMAGE="/sbin/vmkfstools -c ${SIZE} -d thin -a lsilogic disk.vmdk"

CHOWN_CMD="sudo chown -R $USER:$GROUP $SRC_PATH"


MKSCRIPT=$(cat <<EOF

$CD_CMD

$CREATE_IMAGE

EOF

)


ssh $DST_HOST "$MKSCRIPT"


$CHOWN_CMD


fi

#-------------------------------------------------------------------------------

# Create DST path

#-------------------------------------------------------------------------------

………………………………

********************************************************************

2.文件夹类型的数据盘删除脚本

[oneadmin@nebula ~]$ pwd

/srv/cloud/one

[oneadmin@nebula ~]$ more bin/onedelete 

#!/bin/bash

#-------------------------------------------------------------------------------

# Make by chensh at 131202

#-------------------------------------------------------------------------------

IMAGE_ID=$1


CODE0="0:OK,Image ID has been deleted."

CODE1="1:Error,Image ID not exist."

CODE2="2:Error,Error image ID type."

CODE3="3:Error,Not input image ID."

CODE4="4:Error,Image is used."


HELP=`cat << EOF

Help Information:

Please use "oneimage list" get image ID and Execute "onedelete ID" delete it;

For example ----> onedelete 123

----------------------------------

$CODE0

$CODE1

$CODE2

$CODE3

$CODE4

----------------------------------

EOF

`

if [ -n "$IMAGE_ID" ]; then


        if [ $IMAGE_ID = "--help" ]; then


                echo "$HELP"


                exit 0


        else


                ID_TYPE=`echo $IMAGE_ID | awk '{print($0~/^([0-9])+$/)?"INT":"NON_INT"}'`


                        if [ $ID_TYPE = "INT" ]; then


                                IMAGE_SOURCE=$(oneimage show  $IMAGE_ID | grep SOURCE | awk -F : '{print $2}')


                                        if [ -n "$IMAGE_SOURCE" ]; then


                                                IMAGE_STATE=$(oneimage show  $IMAGE_ID | grep STATE | awk -F : '{print $2}')


                                                        if [ $IMAGE_STATE = "used"  ]; then


                                                                echo $CODE4


                                                                exit 0


                                                        else


                                                                rm -rf $IMAGE_SOURCE && oneimage delete $IMAGE_ID && echo "$CODE0"


                                                        fi


                                        else


                                                echo "$CODE1"


                                        fi


                        else


                                echo "$CODE2"


                        fi

        fi


else


echo "$CODE3"


fi

********************************************************************

3.添加临时磁盘的脚本

[oneadmin@nebula shared]$ pwd

/srv/cloud/one/var/remotes/tm/shared

[oneadmin@nebula shared]$ vi mkimage

………………………………

#-------------------------------------------------------------------------------

# Make the new image (file-based)

#-------------------------------------------------------------------------------


MKDIR_CMD=`mkdir -p $DST_PATH`


CD_CMD="cd $DST_PATH"


CREATE_IMAGE="/sbin/vmkfstools -c ${SIZE}M -d thin -a lsilogic disk.vmdk"


MKSCRIPT=$(cat <<EOF

$CD_CMD

$CREATE_IMAGE

EOF

)


$MKDIR_CMD

ssh $DST_HOST "$MKSCRIPT"


exit 0

********************************************************************

4.创建qcow2格式的磁盘,大小以10G递增

[oneadmin@opennebula chensh]$ more disk_create131114.sh 

#!/bin/bash


DIR="/srv/cloud/one/images"


for ((i=1;i<=100;i++));

do 

  qemu-img create -f qcow2 data_disk-${i}0G.qcow2 ${i}0G

  

  oneimage create -d 1 --name data_disk-${i}0G --path $DIR/data_disk-${i}0G.qcow2 --prefix vd --type DATABLOCK --fstype ext4 --driver qcow2

  

echo  "Create data_disk-${i}0G.qcow2 ------> Finish ${i}%"


done


[oneadmin@opennebula chensh]$ 


********************************************************************


原文地址:https://www.cnblogs.com/myiaas/p/4161340.html