Verifique e corrija imagens personalizadas com a ferramenta sersi antes da importação para evitar falhas de inicialização e problemas de rede causados por drivers ausentes ou configurações incorretas.
As modificações feitas pelos scripts de correção do sersi são irreversíveis.
Sistemas operacionais compatíveis
Famílias de SO compatíveis:
Série Red Hat: Alibaba Cloud Linux, Anolis, Red Hat, CentOS, CentOS Stream, Fedora, AlmaLinux, Rocky Linux, openEuler e OpenCloudOS.
Série Debian: Debian, Ubuntu, Kylin e UOS.
Série SUSE: SUSE e openSUSE.
FreeBSD, Fedora CoreOS e Windows Server não são compatíveis.
Procedimento
Etapa 1: Baixe e descompactar a ferramenta
-
Baixe o pacote
sersi.wget https://ecs-image-tools.oss-cn-hangzhou.aliyuncs.com/imagecheck/sersi.tar.gz -
Extraia o pacote.
tar -xf sersi.tar.gz
Etapa 2: Verifique a imagem
Execute o comando de verificação para gerar um relatório de integridade da imagem.
-
Verifique a imagem.
./main.sh --target=image --diagnostic -
Analise os resultados:
OK: Atende às especificações de imagem do Alibaba Cloud.FAILED(Correção obrigatória): Problema crítico que pode impedir a inicialização ou causar falhas em funções essenciais, como a rede.WARNING(Correção recomendada): Problema de configuração que não impede a inicialização, mas pode indisponibilizar alguns recursos (como Cloud Assistant ou monitoramento) ou apresentar riscos de segurança.
Consulte Visão geral dos itens de verificação e correção para obter detalhes sobre cada item.
------------------------------------------------------------ OS: Alibaba Cloud Linux 3 Kernel: 5.10.134-18.al8.x86_64 Arch: x86_64 RTC-Mode: utc Boot-Mode: Legacy ------------------------------------------------------------ Image Check Result Virtio [OK] Nvme [OK] Fstab [OK] Grub [OK] Dhcp [OK] Selinux [OK] OnlineResizeFS [OK] CloudAssistant [OK] CloudInit [OK] CloudInitConfigPassword [OK] SecurityCenterAgent [OK] SupportMocInstanceTypes [OK] DiskUsage [OK] InodeUsage [OK] SystemFileAttribute [OK] CriticalUser [OK] QemuGuestAgent [OK] SshConfig [OK] Firewall [OK] Total case Count 19 Successes: 19 Failures: 0 Warnings: 0 ------------------------------------------------------------ Import Image Command Example (aliyun CLI) ------------------------------------------------------------ Based on the detected system information, you can use the following command to import this image via Alibaba Cloud CLI: aliyun ecs ImportImage \ --RegionId <your-region-id> \ --ImageName <your-image-name> \ --Architecture x86_64 # [!] auto-detected, verify it matches your image \ --OSType linux \ --Platform 'Aliyun' # [!] auto-detected, must match OS distribution \ --BootMode BIOS # [!] auto-detected, wrong value causes boot failure \ --DiskDeviceMapping.1.OSSBucket <your-oss-bucket> \ --DiskDeviceMapping.1.OSSObject '<your-oss-object-path>' \ --DiskDeviceMapping.1.Format <RAW|VHD|QCOW2> NOTE: Replace <...> placeholders with your actual values. - RegionId must match the OSS Bucket's region. - Format: RAW, VHD, or QCOW2 (matches your image file format). ------------------------------------------------------------ -
Verifique os parâmetros de importação da imagem. A seção
Import Image Command Example, ao final do relatório, gera um comando de exemplo da aliyun CLI para importar a imagem com base nas informações do sistema detectadas. Os parâmetros marcados com[!]são detectados automaticamente. Valide cada um antes da importação, pois valores incompatíveis com a imagem real impedirão a inicialização das instâncias criadas a partir dela.--Architecture: Arquitetura do sistema da imagem. Valores válidos:x86_64earm64.--Platform: Distribuição do sistema operacional da imagem. Deve corresponder ao sistema realmente instalado na imagem. Caso o sistema operacional da sua imagem seja umaPlatformnão compatível com os parâmetros de importação, o relatório de verificação recomendará umaPlatformadequada. Para distribuições baseadas em Red Hat, como openEuler e openCloudOS, recomenda-se definaPlatformcomo CentOS Stream.--BootMode: Modo de inicialização da imagem. Valores válidos:BIOSeUEFI. Um valor incompatível com o modo de inicialização real impede a instância de iniciar.
Para a descrição completa de cada parâmetro, consulte Import a custom image.
Etapa 3: Corrigir a imagem
Correção automática
Os scripts de correção fazem alterações irreversíveis. Adote o processo de "revisar e depois execute".
A ferramentasersinão corrige automaticamente os itensDiskUsage,InodeUsage,CriticalUser,LibDirectoryeSupportMocInstanceTypes. Corrija-os manualmente conforme a seção Correção manual .
-
Revisão:
Use
--dry-runpara gerar e revisar o script de correção sem aplicar as alterações.Para corrigir um único item, consulte Como corrijo um único item de verificação?
# Repair all issues ./main.sh --target=image --run all --dry-run -
Execução:
Após confirmar que o script é seguro, remova
--dry-runpara aplicar a correção.# Interactive repair: Confirmation is requested before each repair step is executed. ./main.sh --target=image --run all -
Analise os resultados da correção:
OK: Corrigido com sucesso.NO_FOUND_RISK: Nenhum problema encontrado.OK_Need_Reboot: Corrigido, mas requer reinicialização para entrar em vigor.DRY_RUN: Problema encontrado; o script de correção foi exibido, mas não executado.FAILED: Falha na correção. Realize uma correção manual.
Correção manual
Para itens que não podem ser corrigidos automaticamente ou quando a correção automática falhar, siga estas instruções.
DiskUsage: Exclua manualmente arquivos desnecessários.InodeUsage: Exclua manualmente arquivos desnecessários.CriticalUser: Mantenha a conta root.LibDirectory: Os links simbólicos /lib e /lib64 devem apontar para caminhos relativos, não absolutos.SupportMocInstanceTypes: Geralmente causado por versões de SO antigas e sem suporte (EOL). Atualize para uma versão com manutenção ativa.Virtio: Instale the virtio driver.Nvme: Instale the NVMe driver.Selinux: Ative or disable SELinux.OnlineResizeFS: Instale cloud-init e a ferramenta growpart.Cloudinit: Instale cloud-init.-
CloudInitConfigPassword: Crie o link simbólico do arquivo de configuração do cloud-init.ln -sf /sys/firmware/qemu_fw_cfg/by_name/etc/cloud-init/vendor-data/raw /etc/cloud/cloud.cfg.d/aliyun_cloud.cfg SshConfig: Verifique the sshd configuration file.Firewall: Disable the system firewall service.CloudAssistant: Instale the Cloud Assistant Agent.SecurityCenterAgent: Instale the Security Center agent.QemuGuestAgent: Desinstale manualmente oqemu-guest-agent.SystemFileAttribute: Não utilize o comandochattrpara bloquear arquivos críticos como /etc/shadow.
Etapa 4: Validar a correção
(Opcional) Reinicie o sistema. Algumas correções (
Nvme,Dhcp,Selinux) exigem reinicialização.-
Execute novamente o comando de verificação para garantir que todos os itens apresentem status
OK../main.sh --target=image --diagnostic
Visão geral dos itens de verificação e correção
|
Item de verificação (Nome do caso) |
Item de correção |
Impacto |
Descrição |
|
|
|
Falha na inicialização da instância ECS. |
Verifica se o driver virtio está instalado. As instâncias do Alibaba Cloud ECS são máquinas virtuais baseadas em KVM e exigem o driver virtio para discos virtuais. |
|
|
|
Impossibilidade de usar tipos de instância que exigem discos cloud baseados no protocolo NVMe, como ecs.g7se. |
Verifica se o driver NVMe está instalado. Alguns tipos de instância ECS, como ecs.g8i, ecs.g8a, ecs.g9i e ecs.g9a, utilizam discos cloud com protocolo NVMe e requerem o driver NVMe. O NVMe oferece velocidades mais rápidas e maior largura de banda do que protocolos tradicionais (como SCSI e virtio-blk). |
|
|
|
Falha na inicialização do sistema. |
Verifica se o /etc/fstab está configurado corretamente. Entradas incorretas, como dispositivo de montagem inexistente ou UUID errado, podem impedir a inicialização. |
|
|
|
Falha na inicialização do sistema. |
Verifica se a configuração do GRUB está correta. Erros, como especificar uma partição de boot pelo nome do dispositivo em vez do UUID, impedem a inicialização. |
|
|
|
Falha na conexão de rede do sistema. |
Verifica se o DHCP está habilitado para as interfaces de rede. O endereçamento estático pode causar falhas de rede. Adicione |
|
|
|
Falha na inicialização da instância ECS. |
Verifica se o SELinux está desabilitado. |
|
|
|
Impossibilidade de redimensionar a partição raiz da instância. |
Verifica se a imagem pode expandir automaticamente a partição raiz e o sistema de arquivos na primeira inicialização (via cloud-init ou growpart). Por exemplo, uma imagem de 10 GB pode ser expandida para preencher um disco de sistema de 100 GB. Consulte Extend partitions and file systems (Linux). |
|
|
|
Configurações de inicialização do sistema ausentes. |
Verifica se o cloud-init está instalado. O cloud-init configura NTP, repositórios de pacotes, nome de host e pares de chaves SSH durante a inicialização, além de executar o script de Dados do Usuário. |
|
|
|
Falha na conexão SSH com a instância. |
Verifica se o arquivo de configuração do sshd (/etc/ssh/sshd_config) está correto. Se o arquivo de configuração do sshd estiver incorreto, o service sshd poderá falhar ao iniciar, impedindo conexões SSH. Para verifique:
|
|
|
|
O firewall do sistema pode bloquear o acesso à instância. |
Verifica se o service de firewall está habilitado. Desative o firewall do sistema e use security groups para gerencie o tráfego de entrada e saída. |
|
|
|
Operações e manutenção em cloud tornam-se inconvenientes. |
Verifica se o Cloud Assistant está instalado. O Cloud Assistant é uma ferramenta nativa de automação do ECS para operações e manutenção. |
|
|
|
Impossibilidade de identificar vulnerabilidades da instância sem a proteção do Security Center. |
Verifica se o agente do Security Center está instalado. Necessário para que o Security Center proteja o servidor. |
|
|
|
Recursos da instância podem não funcionar corretamente. |
Verifica se o está instalado. Este software comunica-se com a máquina host, o que pode interferir nos services do ECS e deixar a funcionalidade da instância incompleta. |
|
|
Não compatível |
Falha na inicialização do sistema. |
Verifica se o uso do espaço em disco está normal. Execute para verifique o uso do espaço em disco e garantir que haja espaço suficiente. |
|
|
Não compatível |
Falha na inicialização do sistema. |
Verifica se o uso de inodes do disco está normal. Execute |
|
|
|
Falha na inicialização da instância ou funcionamento anormal. |
Verifica se os arquivos críticos de configuração do sistema possuem os atributos de arquivo corretos. |
|
|
Não compatível |
Falha na inicialização da instância ou funcionamento anormal. |
Verifica se usuários críticos (como root) existem. A ausência de um usuário crítico pode causar inicialização anormal ou impedir conexões remotas. |
|
|
Não compatível |
Funcionamento anormal do sistema. |
No Linux da série Red Hat, /lib e /lib64 são tipicamente links simbólicos para /usr/lib e /usr/lib64. Não modifique esses links. |
|
|
Não compatível |
Impossibilidade de usar famílias de instâncias SHENLONG como e . |
Verifica se a imagem suporta tipos de instância SHENLONG. As instâncias ECS mais recentes, como e , são tipicamente tipos de instância SHENLONG. Se as versões do SO e do kernel da imagem forem muito antigas, elas poderão falhar ao inicializar nesses tipos de instância. Consulte Instance family overview. |
Referência de comandos de correção
Sintaxe do comando de correção automática:
./main.sh --target=image --run <case> [--debug] [--dry-run] [-y]
|
Parâmetro |
Obrigatório |
Descrição |
|
|
Sim |
Item de correção a ser executado.
|
|
|
Não |
Recomendado para a primeira tentativa. Imprime o script de correção sem executá-lo. |
|
|
Não |
Habilita saída detalhada de log para solução de problemas. |
|
|
Não |
Ignora prompts interativos e confirma automaticamente todas as etapas de correção. |
Referências
Após a validação, obtenha o arquivo de imagem e importe-o como uma imagem personalizada.
Perguntas frequentes
Por que um problema ainda persiste após eu aplicar a correção para nvme, selinux ou dhcp?
Essas três correções exigem uma reinicialização para serem aplicadas. Após aplicá-las, reinicie a VM e execute a ferramenta novamente para verifique o resultado.
Como corrijo um único item de verificação?
Para corrigir um único item, como SshConfig:
Na tabela Visão geral dos itens de verificação e correção, localize o item de correção
sshdcorrespondente aSshConfig.-
Revisão:
Para corrigir um item diferente, substitua
sshdpelo nome do item de correção desejado../main.sh --target=image --run sshd --dry-run -
Execução:
./main.sh --target=image --run sshd