Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda> Auto Scaling> Preguntas frecuentes> Otros> ¿Cómo puedo habilitar la inicialización automática de discos de EVS en las instancias que se han agregado a un grupo de AS durante las acciones de escalado?
Actualización más reciente 2023-05-15 GMT+08:00

¿Cómo puedo habilitar la inicialización automática de discos de EVS en las instancias que se han agregado a un grupo de AS durante las acciones de escalado?

Escenarios

Después de crear una instancia de ECS, debe inicializar manualmente los discos de EVS conectados a la instancia antes de usarlos. Si se agregan varias instancias al grupo de AS, debe inicializar los discos de EVS en cada instancia, lo que tarda un tiempo.

Esta sección describe cómo configurar un script para habilitar la inicialización automática de discos de EVS, incluida la partición de disco y la conexión de directorios especificados. El script solo se puede usar para inicializar un disco de EVS.

Esta sección utiliza CentOS 6.5 como ejemplo. Para obtener información sobre cómo configurar la inicialización automática de discos de EVS en otros sistemas operativos, consulte la documentación correspondiente del sistema operativo.

Procedimiento

  1. Inicie sesión en la instancia como root de usuario.
  2. Ejecute un comando para cambiar al directorio donde se almacenará el script:

    cd /script directory

    Por ejemplo:

    cd /home

  3. Ejecute el siguiente comando para crear el script:

    vi script name

    Por ejemplo:

    vi fdisk_mount.sh

  4. Pulse i para entrar en el modo de edición.

    El siguiente script se utiliza como ejemplo para mostrar cómo desplegar la inicialización automática de un disco de datos:

    #!/bin/bash 
    bash_scripts_name=fdisk_mount.sh 
    ini_path=/home/fdisk.ini 
    disk= 
    size= 
    mount= 
    partition= 
    function get_disk_from_ini() 
    { 
    disk=`cat $ini_path|grep disk| awk -F '=' '{print $2}'` 
    if [ $disk = "" ] 
    then 
        echo "disk is null in file,exit" 
        exit 
    fi 
    result=`fdisk -l $disk | grep $disk` 
    if [ $result = 1 ] 
    then 
        echo "disk path does not exist in linux,exit" 
        exit 
    fi 
    } 
    function get_size() 
    { 
    size=`cat $ini_path| grep size|awk -F '=' '{print $2}'` 
    if [ $size = "" ] 
    then 
        echo "size is null,exit" 
        exit 
    fi 
    } 
    function make_fs_mount() 
    { 
    mkfs.ext4 -T largefile $partition 
    if [ $? -ne 0 ] 
    then 
        echo "mkfs disk failed,exit" 
        exit 
    fi  
    dir=`cat $ini_path|grep mount |awk -F '=' '{print $2}'` 
    if [ $dir = "" ] 
    then 
        echo "mount dir is null in file,exit" 
        exit 
    fi 
    if [ ! -d $dir ] 
    then 
        mkdir -p $dir 
    fi 
    mount $partition $dir 
    if [ $? -ne 0 ] 
    then 
        echo "mount disk failed,exit" 
        exit 
    fi  
    echo "$partition $dir ext3 defaults 0 0" >> /etc/fstab 
    } 
    function remove_rc() 
    { 
    cat /etc/rc.local | grep $bash_scripts_name 
    if [ $? ne 0 ] 
    then 
        sed -i '/'$bash_scripts_name'/d' /etc/rc.local 
    fi 
    } 
    ################## start ####################### 
    ##1. Check whether the configuration file exists.
    if [ ! -f $ini_path ] 
    then 
        echo "ini file not exist,exit" 
        exit 
    fi 
    ##2. Obtain the device path for the specified disk from the configuration file.
    get_disk_from_ini 
    ##3. Obtain the size of the size partition from the configuration file.
    get_size 
    ##4. Partition the disk.
    fdisk $disk  <<EOF 
    n 
    p 
    1 
    1 
    $size        
    w 
    EOF 
    partition=`fdisk -l $disk 2>/dev/null| grep "^/dev/[xsh].*d" | awk '{print $1}'` 
    ##5. Format the partition and attach the partition to the specified directory.
    make_fs_mount 
    ##6. Change startup items to prevent re-execution of the scripts.
    remove_rc 
    echo 'SUCESS'
  5. Presione Esc, escriba :wq y presione Enter para guardar los cambios y salir.
  6. Ejecute el siguiente comando para crear el archivo de configuración:

    vi fdisk.ini

  7. Pulse i para entrar en el modo de edición.

    La letra de unidad, el tamaño y el directorio de montaje del disco de EVS se configuran en el archivo de configuración. Puede cambiar la configuración en función de la siguiente información mostrada.

    disk=/dev/xdev 
    size=+100G 
    mount=/opt/test
  8. Presione Esc, escriba :wq y presione Enter para guardar los cambios y salir.
  9. Ejecute el siguiente comando para abrir el archivo de configuración rc.local:

    vi /etc/rc.local

  10. Presione i para agregar el siguiente contenido a rc.local:

    /home/fdisk_mount.sh

    Después de configurar rc.local, el script de inicialización del disco de EVS se ejecutará automáticamente cuando se inicie el ECS.

  11. Presione Esc, escriba :wq y presione Enter para guardar los cambios y salir.
  12. Cree una imagen privada usando un ECS.
  13. Cree una configuración de AS.

    Cuando especifique la información de configuración de AS, seleccione la imagen privada creada en el paso anterior y seleccione un disco de EVS.

  14. Cree un grupo de AS.

    Cuando configure el grupo de AS, seleccione la configuración de AS creada en el paso anterior.

    Después de crear el grupo de AS, los discos de EVS de las nuevas instancias agregadas a este grupo de AS en las acciones de ajuste se inicializarán automáticamente.

Otros Preguntas frecuentes

more