zoukankan      html  css  js  c++  java
  • 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]$ 


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


  • 相关阅读:
    97. Interleaving String
    96. Unique Binary Search Trees
    95. Unique Binary Search Trees II
    94. Binary Tree Inorder Traversal
    odoo many2many字段 指定打开的form视图
    docker sentry 配置文件位置
    postgres 计算时差
    postgres 字符操作补位,字符切割
    postgres判断字符串是否为时间,数字
    odoo fields_view_get
  • 原文地址:https://www.cnblogs.com/myiaas/p/4161340.html
Copyright © 2011-2022 走看看