// // Chicletes para o Cérebro: Servidor
Mostrando postagens com marcador Servidor. Mostrar todas as postagens
Mostrando postagens com marcador Servidor. Mostrar todas as postagens

quinta-feira, 19 de junho de 2025

MiniPC Beelink SER 8

Pessoal,


Acabou de chegar um novo brinquedo aqui em casa! O MiniPC Beelink SER8!

No projeto do homeserver daqui de casa, eu precisava de um PC mais novo para rodar o Proxmox com as VMs. Estava rodando no PC véio, aquele com um i3 de 4a geração que já tava abrindo o bico pra tudo que era trabalho.

Assim, pensei em algo que demandasse pouca energia, que fosse compacto e potente ao mesmo tempo.

Olhei vários equipamentos, inclusive pensei em montar um PC "parrudo", mas aí faltaria espaço, seria muito caro e gastaria muita energia! Exatamente o oposto do que eu buscava!

Assim olhei o SER8 e resolvi ver os detalhes dele. Tem um processador AMD Ryzen 7 8845HS, ainda que Zen 4, é bem atual e compete com o Intel Core i7 13700 HX (mas consome menos energia, TDP 45W). Com tecnologia 4nm, possui 8 núcleos e 16 threads com clock base de 3.8GHz e boost de até 5.1GHz, suporta até 256GB de RAM DDR5-5600MHz com dois slots SO-DIMM.

A parte gráfica do Ryzen 7 8845HS é um dos seus pontos fortes graças à GPU integrada Radeon 780M com 12 unidades computacionais (768 shaders) e clock de até 2.7 GHz baseada na arquitetura RDNA 3. Essa iGPU é considerada uma das melhores do mercado em 2023/2024 capaz de rodar jogos modernos em 1080p com configurações médias ou baixas.

Por exemplo títulos como Cyberpunk 2077 alcançam cerca de 30-40 FPS em 1080p com ajustes enquanto jogos menos exigentes como Valorant ou Dota 2 rodam acima de 100 FPS com facilidade. Jogos mais antigos (mas nem por isso ruins) com GTA V e RDP2 alcançam cerca de 60-90 FPS e 40-60 FPS, respectivamente.

Comparada a GPUs dedicadas, a Radeon 780M tem desempenho bem próximo a uma Nvidia GeForce GTX 1650 ou uma RTX 2050 em cenários otimizados embora GPUs dedicadas ainda levem vantagem em jogos que demandam mais VRAM (a 780M depende da RAM do sistema). A 780M suporta até quatro monitores com resoluções até 8K e oferece excelente desempenho em codificação/decodificação de vídeo tornando-a boa alternativa até para criadores de conteúdo que trabalham com ferramentas como DaVinci Resolve.

Para utilização em IA, o Ryzen 7 8845HS destaca-se pelo seu NPU de segunda geração Ryzen AI com 16 TOPS (tera operações por segundo). Isso o torna ideal para aplicações de inteligência artificial como reconhecimento de imagem processamento de linguagem natural e inferência em modelos leves diretamente no dispositivo. Softwares como DaVinci Resolve e Adobe Premiere Pro já aproveitam o NPU para acelerar tarefas como upscaling de vídeo e remoção de fundo



Tem espaço para até dois SSD M.2 tipo 2280 de até 8TB, Bluetooth 5.2, WiFi 6 e pesa apenas 750g! Menor que meu MacMini Intel!


Comprei na Amazon Brasil em 15/04/2025 e recebi em menos de 15 dias depois. Custou R$ 5.388,00 com impostos do 💓amor💓 inclusos. Se tivesse comprado no AliExpress custaria menos (R$ 4.400), mas com mais impostos do 💓amor💓 (R$ 3.944,39 para a Janja viajar e comprar bolsas)!


O Lon Siedman fez um excelente review (aqui) desta máquina (ainda que seja a versão sem NPU, 8745HS).

O computador acompanha uma chave Philips para soltar o fundo e acessar o espaço para memória e SSD, um cabo HDMI, uma fonte (pouco maior que um carregador de celular), além de um manualzinho todo em chinês que é completamente descartável pra quem não fala chinês (aqui você encontra o manual em várias línguas).

Ele vem com 32GB de RAM e um SSD NVMe M.2 de 1TB e com Windows 11 instalado.

A primeira coisa que fiz foi colocar mais um SSD de 1TB e instalar o Proxmox.

Obviamente é extremamente rápido, silencioso e, o que mais impressionou-me: não esquenta! Testei por algumas semanas antes deste review e não tenho nada a reclamar!

O PC véio vai virar alguma outra coisa, ainda não sei se um TrueNAS ou UnRaid, mas será apenas um backup do Synology.

O homeserver aqui tá saindo. Em breve vou fazer um review completo dele.

É isto por hoje, pessoa;!

domingo, 25 de dezembro de 2022

Resolvido: erro no FireWall após atualização do Ubuntu Server para 22.04 LTS

Pessoal,


Pequena nota mental aqui.

Hoje fui atualizar o Ubuntu Server aqui na VM do Proxmox da 20.04 para a 22.04. Essa atualização foi com o comando:
# do-release-upgrade

Atualização demorada mas bem tranquila. O susto veio após o término. Após o reboot, dei um "apt update" e deu um monte de erro de atualização.



 Aí fui ver se estava pingando. Nada de internet.


Bom, vamos pesquisar. Achei vários lugares citando um erro na criação do arquivo "/etc/netplan/01-network-manager-all.yaml". Alguns lugares citam o nome "01-network-manager-all", outros citam "01-netcfg". No meu estava "00-netcfg". Assim, renomeei o arquivo para "01-netcfg.yaml" mas não alterei o conteúdo já que estava tudo certo:


Depois usei os comandos abaixos para gerar a configuração no sistema e aplicá-la.
# netplan generate
# netplan apply

Dei outro ping e tive o mesmo erro de falha na resolução de nomes e perda de pacotes. Sem conexão ainda. Reiniciei e nada.


Cavucando um pouco mais na internet, achei uma dica de desabilitar o firewall do Ubuntu Server usando:

# ufw disable

O resultado está aqui:


Bom, o problema está no firewall. Testei reiniciar o firewall e rebootar. Mesmo problema. Inclusive, após reiniciar a VM, desligar o firewall e religá-lo novamente, dá esse erro aqui:


Costumo usar o Console do Proxmox para acessar o shell das VM mas para algumas coisas eu prefiro usar o Terminal do MacOS. Interessante, bem interessante, que quando eu ativo o firewall do Ubuntu Server, a conexão via SSH cai. Então realmento o firewall é o vilão dessa história.

Até pensei em fazer as regras "na unha", mas aí procurei um pouco mais sobre esse erro no ufw-init e fiz os seguintes comandos:
# ufw disable
# ufw reset
E apaguei as regras todas do ufw. Depois conferi os requerimentos do ufw:
# /usr/share/ufw/check-requirements
Esse script cria várias regras para IPV4 e IPV6. Muito interessante é o que mostrou no final:


Esse  "netfilter-persistent" é parte, pelo que entendi, de um sistema firewall antigo (junto com o iptables) do Ubuntu e que foi / está sendo substituido pelo ufw (Ubuntu FireWall ou Uncomplicated FireWall). Então, parece que deu pau entre os dois nessa atualização do 20.04 para o 22.04. Vários relatos na internet e fóruns dedicados reforçam essa ideia.

Assim, vou ficar com o ufw e vou apagar o netfilter-persistent:
# apt-get remove --purge netfilter-persistent

Depois fiz o /usr/share/ufw/check-requirements novamente e a resposta agora foi outra:


Agora que o netfilter-persistent foi removido, vamos configurar o ufw com três comandos simples: os dois primeiros configuram os padrões para negar as conexões de entrada e permitir as conexões de saída; o terceiro permite conexões de entrada via SSH que por padrão utiliza a porta 22.


E agora ativamos o ufw com:
# ufw enable

No final deste post deixarei algumas referências para configurar corretamente o ufw.

Para ter certeza que tudo estava funcionando bem, rebootei o Ubuntu Server e testei a internet:


Resumindo: o ufw não conseguia iniciar (ou funcionar adequadamente) como iptables-persistent e/ou netfilter-persistent instalados. A solução era desinstalar um deles. Optei por ficar com ufw por ser mais novo e, teoricamente, mais fácil de configurar / manter / gerir.

É isso então!


Sugestão de leitura:

https://www.cyberithub.com/solved-no-internet-connection-after-installation-of-ubuntu-20-04/

https://www.reddit.com/r/Ubuntu/comments/wpwflx/no_internet_connection_after_upgrading_to_2204/

https://upcloud.com/resources/tutorials/troubleshoot-network-connectivity-linux-server

https://askubuntu.com/questions/585430/error-problem-running-ufw-init

https://www.cyberciti.biz/faq/ubuntu-22-04-lts-set-up-ufw-firewall-in-5-minutes/

https://ubuntuforums.org/showthread.php?t=1660916

https://bugs.launchpad.net/ufw/+bug/1987227

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04-pt

domingo, 27 de novembro de 2022

Avaliação: comparando o funcionamento das VMs no Proxmox e no Synology

Pessoal,


Um dos objetivos do meu servidor vai ser rodar VM. Especificamente Windows via VM, seja para algum jogo seja para algum programa que só tenha para Windows.

Algumas funções rodam no Ubuntu Server, mas esta VM requer poucos recursos do computador. O Windows, inegavelmente, é um consumidor muito mais feroz de recursos da máquina.

Assim, resolvi fazer um teste aqui em casa após instalar o Synology no Dell antigo.

Esse Dell é um guerreiro. É de 2012, se não me engano. É um Core i5-2430M, ou seja, da segunda geração, lançado em 2011, com litografia de 32nm. Tem 2 cores e 4 threads, cache 3MB e frequência base de 2.40GHz com turbo de até 3.0 GHz. É capaz de endereçar até 16GB de RAM do tipo DDR3 1333. Possui gráficos internos do tipo Intel HD Graphics 3000. Utiliza o socket PPGA988.

Já o outro computador, onde roda o Proxmox, usa um Core 13-4130, de 4a geração, lançado em 2013, com litografia de 22nm. Também tem 2 cores e 4 threads, cache de 3MB, mas frequência base de 3.40GHZ sem modo turbo. Esse aqui endereça até 32GB de RAM DDR3 1333 a 1600. Também possui gráficos integrados, aqui do tipo Intel HD Graphics 4400 e usa o socket FCLGA1150.

Para o teste, utilizei o Windows 11 rodando após uma limpeza do "ThisIsWin11", como mostrado neste post aqui. Ambos foram instalados usando este e este métodos (uma vez que estão rodando em máquinas que não o suportam) e rodam com 8GB de RAM e quatro núcleos.

A primeira percepção é visual. A máquina rodando no Proxmox está sensivelmente mais rápida. É funcional. Não serve para jogos (no máximo um FreeCell) mas dá para navegar e usar o Office. Já a máquina no Synology é de chorar! Lenta para começar, lenta para abrir os programas...

Entretanto o modo de acessar as máquinas no Synology é fantástico! Utilizando uma VPN (ou o QuickConnect, caso esteja usando o sistema da Synology em um NAS original), basta abrir a página do NAS e ligar a VM. A integração da VM com o sistema é melhor.

A minha dúvida era se esses processadores poderiam interferir tanto no funcionamento das VM. E eu acho que sim.

De acordo com o site CPUBenchMark, o i5-2430M faz 1244 pontos no single thread contra 1891 do i3-4130 (34,2% a menos) e faz 2016 pontos contra 3304 no CPU Mark (39% a menos). É muita coisa!



Cabe notar que esse modelo do i5, da linha "M", é focado em mobilidade (em um notebook) e gasta menos energia que o i3, focado em desempenho.

Com base no preço médio do kWh aqui em Minas Gerais em 2021 (R$ 0,62), o custo em energia elétrica comparando os dois equipamentos é mais favorável, obviamente, ao i5. Como os servidores aqui ficam ligados 24h/dia, em um ano o i5 custará R$47,52 e o i3 custará R$73,32.



Além disso, os processadores dependem de placas gráficas integradas e essas placas são de gerações diferentes. O i5 utiliza a HD Graphics 3000 e o i3 utiliza a HD Graphics 4400. É uma covardia:


Para ter ideia da diferença dessas specs para alguma coisa mais atual, vou comparar esses dois processadores com o do MacMini (i7-8700 com 6 núcleos e 12 threads, 14nm e frequência de 3.20GHz).



É possível notar que o i7 é absurdamente mais potente.

Desse modo, é importante observar o seguinte: mais importante que a quantidade absoluta de núcleos ou threads ou saber se é core i3, i5 ou i7, é fundamental saber diferenciar a geração do processador.

No meu caso, o i7 tem mais núcleos e threads e é mais novo (8a geração), mas repare que o i5 é bem menos potente que o i3 e é de duas gerações anteriores.

Outra coisa foi o comportamento do Windows antes e após rodar o removedor de bloatwares. As VMs ficam significativamente mais rápidas, tanto para iniciar quanto para abrir os programas.

Outra coisa interessante é como cada sistema "detecta" o hardware real que está por trás dele. O Proxmox reconhece o processador, ainda que suas VMs mostrem algo diferente:




Veja que enquanto o Proxmox reconhece que existe um core i3-4130 com quatro núcleos, a VM reconhece um processador "genérico" com a frequência correta e apenas 2 núcleos pra ela.

Já o Synology não reconhece o processador verdadeiro apesar que a VM que roda nele reconhece corretamente:




Veja que o Synology mostra o Intel Celeron J4125 como o processador do DS920+, com 2.39GHz de frequência e 16GB de RAM enquanto a VM mostra o core i5-2430M com 2.40GHz de frequência.

Esse Celeron J4125 é o processador do DS920+ original mas rodando a 2.0GHz de frequência. Ou seja, o sistema identifica a frequência correta mas nomeia o processador com o nome errado. E também  é interessante que o Synalogy mostre que tem 16GB no sistema, mas esse Celeron só trabalha com 8GB... O Celeron, apesar de ser de 2019, é ligeiramente inferior ao i3-4130 mas superior ao i5-2430M.

Assim, concluindo o teste: esse i5 roda o Synology muito bem, mas não dá conta de rodar o Windows 11 em VM. Talvez para navegação ou algo bem básico. E olhe lá.

É isso!

domingo, 20 de novembro de 2022

Tutorial: Instalar o Synology 7.1.1 em um computador antigo para fazer um NAS doméstico

Pessoal,


Enquanto o NAS definitivo não vem, a gente tenta se divertir com o que tem em mãos, certo?

Lá atrás eu tentei usar o Synology usando o XPEnology para instalação (aqui). Como falei na época, achei a instalação do XPEnology confusa e tive alguns problemas, inclusive limite de 4GB de arquivo. Acredito, agora, que talvez tenha sido por alguma configuração que fiz (errada, com certeza).

Assim, fuçando a internet descobri outra opção de instalação: TinyCore RedPill (veja o GitHub deles aqui).

Esse tutorial é um apanhado de várias coisas que vi li e apliquei na instalação aqui em casa.

Para começar, vamos baixar a última versão do TinyCore RedPill (no momento a 0.9.3.0, veja os releases aqui) e gravar em um pendrive (aqui estou usando o Balena Etcher).


Repare que há algumas versões, todas compactadas (usei o Keka para descompactar aqui no Mac). A versão "uefi" é para máquinas mais novas que usam esse modo de boot seguro. O meu é a segunda opção. A terceira opção (vmdk) é para quem vai usar o Synology em uma VM.

Nessa última opção, em VM, você baixa o arquivo, descompacta e utiliza esse disco diretamente (se for utilizar o VMWare ou transforma ele para ".raw" para usar no Proxmox ou algum outro gestor de VM. No caso de usar ele no Proxmox, é necessário passar ele pro PVE e depois converter de ".vmdk" para ".raw".

Para passar para o PVE, usei o FileZilla (usando a porta 22):


Depois, conectei ao PVE pelo Terminal do Mac e usei o comando abaixo para realizar a conversão:
#qemu-img convert tinycore-redpill.v0.9.3.0.vmdk tinycore.raw
Depois criei uma VM e adicionei um pendrive, conforme visto na imagem abaixo:


Por último, fiz o comando abaixo para enviar os dados do arquivo ".raw" para o disco da VM (no caso, o disco "vm-106-disk-0". Esse disco já está na pasta do PVE para onde copiamos o arquivo ".vmdk" (já que copiamos para a pasta onde ficam os disco das VMs, né?).
#dd if=tinycore.raw of=vm-106-disk-0
Pronto! Agora é só iniciar a VM e seguir as instruções a partir da hora que iniciaremos o TinyCore no computador (mais pra baixo).

Se você vai fazer a instalação em um computador real (e não em VM), vamos começar baixando o arquivo "tinycore-redpill.v09.3.0.img.gz" e descompactar para extrair a imagem e gravá-la no pendrive.

Feito isso, coloquei o pendrive na máquina e ligue. Configure seu computador para iniciar a partir do pendrive (no Dell é F12, em alguns é F8 ou F2).  Após o boot, entrará nessa tela aqui:


A partir daqui, quem está fazendo em VM começa a colocar os comando também.

Em outro computador, acesse o computador que vai virar NAS pelo SSH (Terminal, Shell, Putty ou qualquer outro que você queira usar).

Um detalhe, no meu caso eu já tinha reservado o IP dessa máquina no roteador (veja na foto acima, no primeiro quadro: "System Mani IP: 192.168.1.50". Como será um servidor, o IP dele deverá ser fixo. Cada roteador tem um modo de fazer isso (veja aqui, aqui para ASUS e aqui para TP-Link).

Caso você não saiba (ou não consiga ver) qual IP foi designado pelo DHCP server do seu roteador para o seu computador, digite "ifconfig" e veja:


Para esse acesso, use o username "tc" e a senha "P@ssw0rd". Use "ssh tc@<seuIP>" para acessar.


Agora serão alguns comandos (sim, o "./" dos comandos DEVE ser digitado). Os três primeiros serão para atualizar a lista dos arquivos e fazer a atualização do que houver de novo:
./rploader.sh upgrade
./rploader.sh update
./rploader.sh fullupgrade
Após o primeiro, repare que haverá uma nome lista de versões disponíveis:


Essa lista mostra os equipamentos da Synology e as versões do bootloader disponíveis. Vamos ter que escolher uma depois (teoricamente, você pode escolher versões que permitem 2, 4, 5 ou 6 discos, além de alguns recursos a mais a depender da versão). Assim, você pode montar um NAS excelente usando o software mais potente da Synology.

Após digitar alguns comandos, o sistema vai perguntar se você deseja atualizar os arquivos. Sempre escolha sim!


O próximo comando vai identificar o PID e VID do seu pendrive e salvar esses dados nos arquivos de configuração.
./rploader.sh identifyusb

Repare que no meu caso houve um erro. O meu pendrive é o SanDisk mas ele não conseguiu salvar no arquivo de configuração. Assim, vou fazer isso manualmente editando o arquivo user_config.json com o Vi (veja os comandos básicos do Vi aqui).



Entrando no Vi, temos que editar a parte "extra_cmdline, especificamente os valores do PID e VID. Para editar use "i" e depois de editar clique em <ESC> e use ":wq" para salvar e sair.


Coloque os valores que o comando "identifyusb" mostrou. Vai ficar assim:


O próximo comando vai gerar o número de série do equipamento e usar o MAC Address real do computador.
./rploader.sh serialgen DS920+ realmac

Aqui eu optei por usar o modelo "DS920+",  mas você pode escolher o modelo que quiser daquela lista do primeiro comando ("upgrade", lembra?).

Agora é a hora um pouco mais complicada. Vamos baixar e construir o bootloader. Pra isso, você precisa saber qual a máquina escolheu (no nosso caso, DS920+ ou DS920p - p de Plus e as opções disponíveis para essa máquina. No nosso caso, temos essas opções, baseada na lista que obtivemos lá atrás:


Outro modo de saber as opções é acessar o arquivo "custom_config.json" lá no GitHub deles (aqui) e procurar o nome mais atual correspondente ao DS920+ (o arquivo tem, hoje, 1417 linhas; dê um <CMD + F> para abrir uma caixa de pesquisa e procurar o nome).

O arquivo onde estão as opções

O tipo de informação que precisamos!

Passei muita raiva até entender isso e conseguir fazer o build corretamente. Bom, no nosso caso o próximo comando será assim:
./rploader.sh build ds920p-7.1.1-42962
Um longo download vai acontecer e uma série de verificações serão feitas. Aqui demorou uns poucos minutos. Algo mais ou menos assim:


Ao final, ficará assim:

Vejam que temos vários "OK", para deixar-nos bem felizes!!! :)

O último comando é para reiniciar a máquina.
exitcheck.sh reboot
Após reiniciar, é necessário achar o Synology na sua rede. Para tanto, use o programa "Synology Assistant", disponível na página da Synology (aqui).

Após o boot, a tela do computador ficará como abaixo. É sinal que tudo deu certo. 


Pronto! Agora é com o Synology Assistant.

Synology DS920+ "genérico" encontrado!!! :)

Para acessar o NAS, simplesmente digite o IP dele:

Lindeza!! :)

Agora vamos baixar o sistema atualizado para o NAS. Entre na página de downloads da Synology (aqui) e escolha o equipamento que você definiu lá atrás (aqui foi NAS -> DS920+ -> 7.1-42661).


Veja que eu escolhi o 7.1-42661 porque o 7.1.1-42962 só estava disponível como update. Assim, uso o download 1 e depois o download 2. O arquivo é grande, uns 400MB. Na página inicial do NAS clique em "Install" e escolha o arquivo do download 1.



Clique em "Avançar" e vá em frente. Demora uns dois ou três minutos aqui.



Depois de baixar, ele vai reiniciar algumas vezes. Vai ficar essa tela aqui embaixo. O meu voltou com menos de 4 minutos :)



Pronto! Instalado!!


Agora um detalhe: desative as atualizações automáticas. Siga as instruções e seja feliz!


Por enquanto é isso!