Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ Auto Scaling/ Perguntas frequentes/ Outros/ Como ativar a inicialização automática de discos EVS em instâncias que foram adicionadas a um grupo de AS durante ações de dimensionamento?
Atualizado em 2023-11-27 GMT+08:00

Como ativar a inicialização automática de discos EVS em instâncias que foram adicionadas a um grupo de AS durante ações de dimensionamento?

Cenários

Depois que uma instância do ECS é criada, você precisa inicializar manualmente os discos EVS anexados à instância antes de usá-los. Se várias instâncias forem adicionadas ao grupo de AS, você deverá inicializar os discos EVS em cada instância, o que demora um pouco.

Esta seção descreve como configurar um script para habilitar a inicialização automática de discos EVS, incluindo particionamento de disco e anexação de diretórios especificados. O script só pode ser usado para inicializar um disco EVS.

Esta seção usa o CentOS 6.5 como exemplo. Para saber como configurar a inicialização automática de discos EVS em outros sistemas operacionais, consulte a documentação relevante do sistema operacional.

Procedimento

  1. Faça logon na instância como usuário root.
  2. Execute um comando para alternar para o diretório onde o script será armazenado:

    cd /script directory

    Por exemplo:

    cd /home

  3. Execute o seguinte comando para criar o script:

    vi script name

    Por exemplo:

    vi fdisk_mount.sh

  4. Pressione i para entrar no modo de edição.

    O script a seguir é usado como um exemplo para mostrar como implementar a inicialização automática de um disco de dados:

    #!/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. Pressione Esc, insira :wq e pressione Enter para salvar as alterações e sair.
  6. Execute o seguinte comando para criar o arquivo de configuração:

    vi fdisk.ini

  7. Pressione i para entrar no modo de edição.

    A letra da unidade, o tamanho e o diretório de montagem do disco EVS são configurados no arquivo de configuração. Você pode alterar as configurações com base nas seguintes informações exibidas.

    disk=/dev/xdev 
    size=+100G 
    mount=/opt/test
  8. Pressione Esc, insira :wq e pressione Enter para salvar as alterações e sair.
  9. Execute o seguinte comando para abrir o arquivo de configuração rc.local:

    vi /etc/rc.local

  10. Pressione i para adicionar o seguinte conteúdo ao rc.local:

    /home/fdisk_mount.sh

    Após a configuração do rc.local, o script de inicialização do disco EVS será executado automaticamente quando o ECS for iniciado.

  11. Pressione Esc, insira :wq e pressione Enter para salvar as alterações e sair.
  12. Crie uma imagem privada usando um ECS.
  13. Crie uma configuração de AS.

    Ao especificar as informações de configuração do AS, selecione a imagem privada criada na etapa anterior e selecione um disco EVS.

  14. Crie um grupo de AS.

    Ao configurar o grupo de AS, selecione a configuração de AS criada na etapa anterior.

    Depois que o grupo de AS for criado, os discos EVS de novas instâncias adicionadas a esse grupo de AS em ações de dimensionamento serão inicializados automaticamente.