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
- Faça logon na instância como usuário root.
- Execute um comando para alternar para o diretório onde o script será armazenado:
Por exemplo:
cd /home
- Execute o seguinte comando para criar o script:
Por exemplo:
vi fdisk_mount.sh
- 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'
- Pressione Esc, insira :wq e pressione Enter para salvar as alterações e sair.
- Execute o seguinte comando para criar o arquivo de configuração:
- 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
- Pressione Esc, insira :wq e pressione Enter para salvar as alterações e sair.
- Execute o seguinte comando para abrir o arquivo de configuração rc.local:
vi /etc/rc.local
- 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.
- Pressione Esc, insira :wq e pressione Enter para salvar as alterações e sair.
- Crie uma imagem privada usando um ECS.
- 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.
- 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.