Ir para o conteúdo principal

Modo de resgate

Há momentos em que um servidor se torna inacessível via SSH devido a uma rede quebrada, uma instalação ruim, configuração incorreta, uma atualização do kernel, regras de firewall ruins, etc. Quando você não consegue fazer login no seu servidor (você não tem a senha de root ou o servidor não inicializa), você pode usar nosso Modo de Recuperação, que carrega uma imagem vanilla do Alpine Linux na RAM do seu servidor.

Se você tiver a senha de root do seu servidor e sua chave SSH, você deve usar nosso console Serial Over SSH.

Requisitos

Rede de Camada 3 - Para que possamos carregar o Rescue OS em seu servidor, ele precisa estar acessível por um endereço IP. Portanto, seu servidor deve estar em um modo de rede de Camada 3 ou Híbrido. Se o seu servidor estiver atualmente em uma configuração de Camada 2 pura, você deve convertê-lo para um modo de rede de Camada 3 ou Híbrido para usar o Modo de Resgate.

Chaves SSH - Para acesso o servidor após a inicialização do Rescue OS, você precisa de uma chave SSH válida. O Rescue OS utiliza as chaves públicas SSH associadas ao seu servidor no momento do provisionamento inicial.

Partição Raiz - Dependendo do tipo de operação de reparo ou recuperação que você precisa realizar, você necessário saber a localização da partição raiz original do sistema operacional. A melhor maneira de encontrar essa informação é antes de você do modo de recuperação, diretamente no sistema operacional. Por exemplo, no Ubuntu, você pode encontrar a partição raiz com df -h.

Inicializando no Modo de Resgate

Para entrar no Modo de Resgate, você pode encontrá-lo na página principal de Visão Geral do seu servidor. Clique em Ações do Servidor e selecione Resgatar SO no menu suspenso.

Rescue OS in the Server Actions Menu

Isso reinicia o servidor, carrega a imagem do Alpine Linux do Rescue OS na RAM e, em seguida, inicializa o servidor no Alpine Linux. O endereço IPv4 público do servidor permanece o mesmo.

Após a inicialização do servidor, você pode usar o SSH como root usando chaves SSH autorizadas. Se você já usou SSH para conectar a servidor, você receber um aviso de que a chave do host foi alterada e solicitar que você a remova do arquivo de hosts conhecidos na máquina local antes de você se conectar.

ssh root@<server_ip_address>

Depois de você login com sucesso no servidor via SSH, você verá a introdução do Rescue OS e o prompt de linha de comando.

,------. ,--. ,--.
| .---' ,---. ,--.,--.`--',--,--, `--',--. ,--.
| `--, | .-. || || |,--.| \,--. \ `' /
| `---.' '-' |' '' '| || || || | / /. \
`------' `-| | `----' `--'`--''--'`--''--' '--'
`--'
===============================================
OS Rescue Environment
Commit: dd4b2268 (main) BuildNo: unknown
===============================================
Based on Alpine Linux 3.18.4

Use "apk" package manager for additional utilities.
See docs at http://wiki.alpinelinux.org
localhost:~#

Montando a partição raiz original

Para corrigir muitos problemas, você precisa montar a partição raiz original do sistema operacional. Se você ainda não sabe onde está a partição raiz original do sistema operacional, você tentar adivinhar. Geralmente, é dev/sda3 ou dev/sdc3. Para alguns de nossos servidores, pode estar em dev/mdxxx, onde xxx é o número do dispositivomd.

Os exemplos nesta página montam de dev/sda3 a /mnt.

mount -t ext4 /dev/sda3 /mnt

Depois de você com sucesso uma partição, atribua cd a ela.

cd /mnt

Execute ls para ver o sistema de arquivos original do SO.

localhost:/mnt# ls

Este exemplo de saída é do Ubuntu 20.04.

bin home libx32 opt sbin tmp
boot lib lost+found proc snap usr
dev lib32 media root srv var
etc lib64 mnt run sys

Se você acessou com sucesso a partição raiz, você pode repará-la.

Casos de uso e reparos comuns

Redefinindo a senha do root

Nos casos em que você normalmente consegue acessar seu servidor via SSH e não consegue usar o console SOS/OOB porque você ou não salvou a senha de root, você pode redefini-la através do Modo de Recuperação.

Após montar o sistema de arquivos raiz em /mnt, podemos usar chroot para carregar o sistema de arquivos montado e usar diretamente o comando passwd para modificar a senha root existente.

chroot /mnt /bin/bash
>
passwd

Recuperando Arquivos

Se o servidor não conseguir mais inicializar o sistema operacional original e você precisar recuperar arquivos importantes, você usar scp no Modo de Resgate para movê-los para outro local.

Então, se você tiver uma pasta de demonstração localizada em uma pasta /demo em seu diretório pessoal, você pode usar scp para salvá-las em sua máquina local.

scp -r root@<server_ip_address>:/mnt/home/demo /User/Downloads

Redimensionar ou adicionar partições

Por padrão, a unidade de inicialização terá uma partição raiz que utiliza todo o espaço da unidade. Alguns servidores têm unidades adicionais não formatadas, mas se você precisar criar várias partições na mesma unidade de inicialização, você entrar no Modo de Recuperação para reduzir a partição raiz e criar novas.

O processo para fazer isso pode variar dependendo do sistema de arquivos que você usa, mas se estiver usando um sistema operacional com ext4, como o Ubuntu, você pode usar resize2fs e gdisk para redimensionar seu sistema de arquivos/partição e criar outros adicionais.

Vale ressaltar que o arquivo de configuração padrão do cloud-init em nossas imagens possui os módulos growpart e resizefs habilitados, que redimensionarão sua partição raiz de volta ao seu tamanho máximo se você apenas reduzir a partição, sem criar novas. Se você quiser evitar esse comportamento, você editar o arquivo de configuração do cloud-init encontrado em /etc/cloud/cloud.cfg para remover os módulos -growpart e -resizefs. Depois de você o arquivo, o cloud-init não tentará redimensionar a partição a cada inicialização do sistema operacional.

Pacotes adicionais para Alpine Linux

A imagem Alpine Linux usada para o Modo de Resgate pode não conter pacotes necessários para operações especiais. Por exemplo, para executar fsck você precisa instalar o pacote e2fsprogs.

apk add e2fsprogs

Após a instalação bem-sucedida, você pode executar fsck em sda1, por exemplo.

fsck.ext4 -f -y /dev/sda1

Você pode precisar de outros pacotes, como zfs se você formatando uma partição com um sistema de arquivos diferente de ext4. Você pode encontrar todos os pacotes disponíveis para instalação no [diretório de pacotes do Alpine Linux.

Retornando ao seu sistema operacional original

Para retornar ao sistema operacional original, podemos simplesmente reiniciar o servidor.

Do Alpine Linux:

Para reiniciar o Alpine Linux, use o comando reboot.

reboot

Do console:

Para reiniciar o servidor a partir da página Visão geral, clique em Ações do servidor e selecione Reiniciar no menu suspenso.

Rebooting a Server from the Console

Depois que o servidor terminar de reinicializar qualquer um dos processos, ele inicializará novamente no sistema operacional original.

Esta página foi útil?