tencent cloud

Cloud Virtual Machine

Dinâmicas e anúncios
Dinâmica do produto
Dinâmica de atualização de imagem pública
Anúncio do produto
Introdução do produto
Visão geral da Cloud Virtual Machine
Vantagens do produto
Conceitos básicos
Regiões e zonas
Tutorial
Service Regions and Service Providers
Cobrança do produto
Visão geral de cobrança
Modo de cobrança
Item de cobrança
Converter modo de cobrança
Aquisição de instâncias
Descrição de cobrança de ajustes de configuração
Descrição de cobrança em atraso
Guia de início rápido
Comprar instância Linux personalizada
Comprar instância Windows personalizada
Guia do usuário
Visão geral do guia de operação
Visão geral dos limites de uso
Instância
Instância spot
Instância reservada
Imagem
Armazenamento
Backup e recuperação
Rede
Segurança
Senhas/chaves secretas
Gerenciamento de operação e manutenção
Migrar o servidor
Migração online
Consultoria de migração
Solução de falhas
Falhas relacionados ao login em instâncias Windows
Falhas relacionados ao login em instâncias Linux
Outras falhas relacionadas ao login em instâncias
Falha na execução de instância
Falha de memória em instâncias Linux
Falha de rede
Tutorial prático
Recomendações de seleção da CVM
Configurar o ambiente
Configurar o site
Configurar o aplicativo
Configurar a página visual
Carregar arquivos locais para a CVM
Teste de desempenho de rede
Outros tutoriais práticos
Segurança e conformidade
Gerenciamento de acesso
Rede
Perguntas frequentes
Regiões e zonas
Sobre o faturamento
Instância
Armazenamento
Imagem
Migração de servidor
Rede
Segurança
Operação/manutenção e monitoramento
Gerenciamento de acesso
Serviço NTP
Cenário de aplicação
Agreements
CVM Service Level Agreements
Red Hat Enterprise Linux Image Service Agreement
Public IP Service Level Agreement
Glossário

Importação forçada de imagem

PDF
Modo Foco
Tamanho da Fonte
Última atualização: 2024-01-23 17:41:32

Cenário

Se você não conseguir instalar o cloudinit na sua imagem do Linux, use a Forced Image Import (Importação forçada de imagem) para importar a imagem. Se você usar essa imagem para importação, que não tem o cloudinit instalado, o Tencent Cloud não consegue inicializar seu CVM. Nesse caso, é necessário configurar o script por conta própria, a fim de configurar o CVM com base no arquivo de configuração fornecido pelo Tencent Cloud. Este documento descreve como configurar o CVM no caso da importação forçada da imagem.
O Tencent Cloud fornece ao usuário um dispositivo de CDROM contendo as informações de configuração. O usuário precisa montar o CDROM e ler as informações de mount_point/qcloud_action/os.conf para configuração. Se outros dados de configuração ou UserData precisarem ser usados, o usuário pode ler diretamente os arquivos em mount_point/.

Arquivo de configuração os.conf

Veja o conteúdo do os.conf a seguir.
hostname=VM_10_20_xxxx
password=GRSgae1fw9frsG.rfrF
eth0_ip_addr=10.104.62.201
eth0_mac_addr=52:54:00:E1:96:EB
eth0_netmask=255.255.192.0
eth0_gateway=10.104.0.1
dns_nameserver="10.138.224.65 10.182.20.26 10.182.24.12"
Nota:
Os nomes dos parâmetros acima são para referência e os valores são usados apenas como exemplos.
Veja a descrição de cada parâmetro no arquivo de configuração os.conf:
Nome do parâmetro
Descrição
hostname
Nome do CVM
password
Senha criptografada
eth0_ip_addr
IP da LAN do eth0
eth0_mac_addr
Endereço MAC do eth0
eth0_netmask
Máscara da sub-rede do eth0
eth0_gateway
Gateway do eth0
dns_nameserver
Servidor de resolução de DNS

Limites

A imagem deve corresponder aos limites das imagens do Linux, conforme descrito em Importação de imagens, exceto para o cloudinit.
A partição do sistema para importar a imagem não está cheia.
A imagem importada não contém vulnerabilidades que possam ser exploradas remotamente.
Recomendamos que você altere a senha imediatamente após a instância ser criada com êxito no caso da importação forçada.

Observações

Observe o seguinte ao configurar a análise de script:
O script é executado automaticamente na inicialização. Implemente esse requisito com base em seu sistema operacional.
Monte /dev/cdrom e leia o arquivo qcloud_action/os.conf no ponto de montagem para obter as informações de configuração.
A senha colocada no CDROM pelo Tencent Cloud é criptografada. Você pode definir uma nova senha com chpasswd -e. Observe que a senha criptografada pode conter caracteres especiais. Recomendamos que você coloque em um arquivo e, em seguida, defina a senha com chpasswd -e < passwd_file.
Ao usar a imagem de importação forçada para criar uma instância e, em seguida, criar uma imagem, é necessário garantir que o script ainda será executado, a fim de garantir que a instância esteja configurada corretamente. Também é possível instalar o cloudinit nessa instância.

Instruções

Atenção:
O Tencent Cloud fornece um exemplo de script baseado no CentOS. É possível consultá-lo para criar um script para suas imagens. Durante a criação, observe que:
O script deve ser colocado corretamente no sistema antes da importação da imagem.
O script não é aplicável a todos os sistemas operacionais. É necessário modificá-lo de acordo com seus próprios sistemas operacionais.
1. Crie um script os_config baseado no seguinte exemplo de script. É possível modificar o script conforme necessário.
#!/bin/bash
### BEGIN INIT INFO
# Provides: os-config
# Required-Start: $local_fs $network $named $remote_fs
# Required-Stop:
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: config of os-init job
# Description: run the config phase without cloud-init
### END INIT INFO
###################user settings#####################
cdrom_path=`blkid -L config-2`
load_os_config() {
mount_path=$(mktemp -d /mnt/tmp.XXXX)
mount /dev/cdrom $mount_path
if [[ -f $mount_path/qcloud_action/os.conf ]]; then
. $mount_path/qcloud_action/os.conf
if [[ -n $password ]]; then
passwd_file=$(mktemp /mnt/pass.XXXX)
passwd_line=$(grep password $mount_path/qcloud_action/os.conf)
echo root:${passwd_line#*=} > $passwd_file
fi
return 0
else
return 1
fi
}
cleanup() {
umount /dev/cdrom
if [[ -f $passwd_file ]]; then
echo $passwd_file
rm -f $passwd_file
fi
if [[ -d $mount_path ]]; then
echo $mount_path
rm -rf $mount_path
fi
}
config_password() {
if [[ -f $passwd_file ]]; then
chpasswd -e < $passwd_file
fi
}
config_hostname(){
if [[ -n $hostname ]]; then
sed -i "/^HOSTNAME=.*/d" /etc/sysconfig/network
echo "HOSTNAME=$hostname" >> /etc/sysconfig/network
fi
}
config_dns() {
if [[ -n $dns_nameserver ]]; then
dns_conf=/etc/resolv.conf
sed -i '/^nameserver.*/d' $dns_conf
for i in $dns_nameserver; do
echo "nameserver $i" >> $dns_conf
done
fi
}
config_network() {
/etc/init.d/network stop
cat << EOF > /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
IPADDR=$eth0_ip_addr
NETMASK=$eth0_netmask
HWADDR=$eth0_mac_addr
ONBOOT=yes
GATEWAY=$eth0_gateway
BOOTPROTO=static
EOF
if [[ -n $hostname ]]; then
sed -i "/^${eth0_ip_addr}.*/d" /etc/hosts
echo "${eth0_ip_addr} $hostname" >> /etc/hosts
fi
/etc/init.d/network start
}
config_gateway() {
sed -i "s/^GATEWAY=.*/GATEWAY=$eth0_gateway" /etc/sysconfig/network
}
###################init#####################
start() {
if load_os_config ; then
config_password
config_hostname
config_dns
config_network
cleanup
exit 0
else
echo "mount ${cdrom_path} failed"
exit 1
fi
}
RETVAL=0
case "$1" in
start)
start
RETVAL=$?
;;
*)
echo "Usage: $0 {start}"
RETVAL=3
;;
esac
exit $RETVAL
2. Coloque o script os_config no diretório /etc/init.d/ e execute o seguinte comando.
chmod +x /etc/init.d/os_config
chkconfig --add os_config
3. Execute o seguinte comando para verificar se os_config foi adicionado ao serviço de inicialização.
chkconfig --list
Nota:
É necessário garantir que o script seja executado corretamente. Se você não conseguir se conectar à instância por SSH ou ocorrer uma exceção de rede após a importação da imagem, tente se conectar à instância pelo console para executar o script novamente. Se o problema persistir, entre em contato com o atendimento ao cliente.


Ajuda e Suporte

Esta página foi útil?

comentários