Determinar se meu VPS precisa de alguma atualização (geralmente)

Continuando a discussão de Falha espetacular na atualização:

Qual é a melhor maneira de verificar se meu VPS precisa de alguma atualização, antes de realizar uma atualização do Discourse? Obrigado.

3 curtidas

De cabeça, acho que você pode atualizá-lo quando a versão do seu sistema operacional estiver desatualizada ou quando o Docker estiver desatualizado?

1 curtida

Se você estiver executando o Ubuntu LTS (geralmente a distribuição recomendada para Discourse). Cada edição de versão gratuita, pelo que entendi, tem um ciclo de suporte de 5 anos.

Fonte

Portanto, pelo que entendi da lista, se você estiver executando o 18.04 ou 20.04, deve considerar a atualização do sistema operacional. Se o 18.04 for definitivo e com o suporte do 20.04 terminando em abril, você também deve considerar isso.

O outro componente seria verificar a compatibilidade da versão do Docker. Nesta parte, honestamente, não tenho certeza. Embora eu possa adivinhar, acho que o Ubuntu 22.04 LTS pode suportar o Docker mais recente que o Discourse requer, mas seria necessário alguém com conhecimento mais aprofundado para opinar. No entanto, talvez uma pesquisa aqui no Meta também possa fornecer essas informações.

1 curtida

Discourse 3.4 está procurando por Docker 24.0.7 min

Parece que, de acordo com a pesquisa no Google, o Ubuntu 22.04 LTS o suporta.

É claro que também é suportado na versão mais recente do Ubuntu 24 LTS. Parece que também é suportado no Ubuntu 20.04 LTS, mas, na minha opinião, você deve considerar a atualização, pois o suporte para esta LTS está terminando em abril de 2025; no entanto, em teoria, deve ser seguro, se você precisar de mais tempo antes de atualizar o sistema operacional.

Você sabe qual versão do seu sistema operacional você está usando? Presumo que você esteja executando um Ubuntu LTS.

Minha versão do Docker (20.10.21) é anterior a essa e minha versão do Discourse é 3.4.0.beta4-dev. O Discourse está me dizendo para atualizar agora para 3.4.0.beta4 – “Uma atualização crítica está disponível. Por favor, atualize!”

Duas perguntas:

  1. Os requisitos são declarados nas notas de lançamento em algum lugar? Sempre dei uma olhada nos posts de anúncios, mas não notei requisitos de Docker ou Ubuntu declarados.

  2. Suponho que eu deva atualizar para o Ubuntu 24.04 e qualquer versão do Docker que venha com ele, antes de atualizar o Discourse novamente. Isso parece certo?

Obrigado.

Você quer dizer “não pode”? Acho que sim.

Você quer dizer que o script de atualização terminaria graciosamente se os requisitos não fossem atendidos, sem bagunçar meu fórum?

Acabei de notar em discourse_docker/launcher at main · discourse/discourse_docker · GitHub

docker_min_version='20.10.0'
docker_rec_version='24.0.7'

Então, talvez eu esteja bem por enquanto. Espero que você estivesse errado sobre 24.0.7 – mas talvez eu esteja olhando no lugar errado. Você poderia verificar e confirmar? Eu agradeceria. Obrigado.

1 curtida

O requisito do Docker para o Discourse 3.4, eu tirei de um tópico com um tópico de atualização de linha de comando falho. Onde um Jay do tópico que você citou, acredito que mencionou lá ou em outro tópico. Onde ele mencionou que o Docker precisava ser atualizado com base no log fornecido. O log afirma que o Docker precisava estar na versão mínima que mencionei.

Provavelmente estão, mas não sou sempre bom em lê-los completamente, se for honesto. Tentarei pesquisar aqui e verei.

Se o seu Ubuntu LTS for a versão 18.04, então definitivamente. Se for Ubuntu 20.04 LTS, como mencionado. Acredito que você possa atualizá-lo manualmente via linha de comando. Pelo que me lembro, há um tópico sobre a Atualização do Docker. A Documentação do Docker que linkei, acredito que tenha instruções sobre como atualizar. Mas recomendaria ver se há um tópico, caso haja etapas recomendadas a seguir primeiro.

Lembre-se que ainda estou aprendendo muitas coisas com o Discourse também. Pessoas como Jay, Robert (Merrifield) são apenas algumas das pessoas com muito mais experiência e compreensão sobre esses tipos de tópicos.

O principal passo, no entanto, é garantir que você faça um backup. Na minha opinião, faça um snapshot do servidor e um backup do Discourse. Um backup do servidor com tempo de inatividade planejado anunciado pode ser bom, pois você pode carregar seu snapshot antes da atualização. Imagino que até mesmo um backup do Discourse provavelmente funcione bem.

1 curtida

Não tenho certeza. Baseei-me apenas em posts com logs compartilhados.

Mas aqui está um guia de Documentation que talvez ajude.

Se eu criasse um fluxograma para responder, a primeira pergunta seria algo como:

Todos os itens a seguir se aplicam? Se sim, prossiga de acordo com sua experiência. Se não, certifique-se de estar na versão LTS mais recente, desde que tenha pelo menos um mês de idade.

  • Sou um administrador de sistema experiente
  • Tenho um backup recente em um local seguro e estou muito confiante de que posso restaurá-lo
  • Sei como realizar uma atualização pela linha de comando
  • Sei como encontrar e citar as partes relevantes do log ao relatar um problema aqui no meta.

Verifique a versão atual do seu sistema operacional lendo /etc/lsb-release

root# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.4 LTS"

Deve estar atualizado recentemente, deve ser LTS, não deve ter muito mais de 2 anos. Os dois primeiros dígitos são o número do ano. Mas não confie em um LTS que tenha menos de um mês.

3 curtidas

Eu criaria uma nova VM e migraría para ela, como descrito em Mover um site Discourse para outro VPS com rsync. Se você não se importar com um tempo de inatividade considerável e a possibilidade de que isso possa danificar seu sistema, você pode tentar fazer vários dist-upgrades. Se fizer isso, você deve fazer um snapshot (que também incorre em tempo de inatividade) para que possa restaurá-lo.

1 curtida

Acho que a migração do 18.04 para o 20.04 foi feita no mesmo servidor. Provavelmente seguindo algo como How to upgrade your Ubuntu release - Ubuntu Server documentation. Não tenho 100% de certeza. Qual a sua opinião sobre isso?

Há um benefício colateral possível na migração em vez de uma atualização in-loco: você pode conseguir uma oferta de melhor valor. No meu caso, a mudança de x86 para ARM me rendeu uma configuração com mais armazenamento pelo mesmo preço, mesmo com o mesmo serviço de hospedagem. Há também a possibilidade de mudar para um serviço de hospedagem diferente, o que também fiz em outro caso, novamente conseguindo um negócio melhor.

2 curtidas

Com a Hetzner, os servidores ARM são ligeiramente mais baratos que os x86 para as mesmas especificações (vCPU, RAM, armazenamento).

Notavelmente, eles parecem ser mais rápidos (velocidade de reconstrução do Discourse e carregamento de páginas).

Infelizmente, não há benchmarks para o Discourse, mas recentemente fiz uma comparação de tempo de compilação:

Provedor Preço Disco CPU GB RAM Tempo de compilação Data Centers
Hetzner CX22 (x86) €3,95 40GB 2 4 9m56s DE, FI, SG, US (2)
Hetzner CAX11 (arm64) €3,95 40GB 2 4 5m45s DE, FI

Esteja ciente de que não há uma imagem oficial mail-receiver compatível com ARM.

Veja:

4 curtidas

5 minutos para uma reconstrução? Uau, leva cerca de 2-3 horas para mim.

Estou no menor droplet da Digital Ocean, que tem 2GB de memória, e estimo que leve cerca de 10 minutos.

1 curtida

Isso não é “Pesquisa do Google”. É o Gemini. Eu desconfiaria de saídas de IA que falam sobre números de versão específicos e versões compatíveis, pois os LLMs não são tão bons em lidar com esses detalhes. Mas se você conseguir encontrar alguma fonte definitiva, isso ajudaria.

É o que eu obtenho, diferente:

:man_shrugging:

2 curtidas

Fora do tópico, mas tem alguns benefícios ao morar na UE :joy:

4 curtidas

Obrigado, boa observação. Embora o link da Documentação do Docker que postei também confirmou que a saída do Gemini parece ter estado correta. No entanto, obrigado pela dica. Terei definitivamente cuidado com a saída da IA a partir de agora.

:clinking_beer_mugs::smiling_face_with_sunglasses::+1::sparkles:

2 curtidas

Eu não achei que conseguiria seguir o tópico do rsync, pois havia muitas perguntas e variações sugeridas. Então fiz isso em vez disso, e tudo parece funcionar!

1 curtida