<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>vm | Self-Hosted!</title><link>https://blog.brumarino.com/tags/vm/</link><description>Post novo no “Rack” todo dia às 7AM. Proxmox, rede, backup, UPS, IA e tudo o que tenho estudado.</description><language>pt-BR</language><managingEditor>Bruno Marino</managingEditor><image><url>https://blog.brumarino.com/brand/icon-144.png</url><title>vm | Self-Hosted!</title><link>https://blog.brumarino.com/tags/vm/</link><width>144</width><height>144</height></image><webfeeds:icon>https://blog.brumarino.com/brand/icon-192.png</webfeeds:icon><webfeeds:logo>https://blog.brumarino.com/brand/symbol.svg</webfeeds:logo><webfeeds:accentColor>2B3036</webfeeds:accentColor><lastBuildDate>Wed, 14 Oct 2026 07:00:00 -0300</lastBuildDate><atom:link href="https://blog.brumarino.com/tags/vm/index.xml" rel="self" type="application/rss+xml"/><item><title>LXC ou VM no Proxmox: por que quase tudo aqui é LXC</title><link>https://blog.brumarino.com/proxmox-lxc-ou-vm/</link><pubDate>Wed, 14 Oct 2026 07:00:00 -0300</pubDate><guid>https://blog.brumarino.com/proxmox-lxc-ou-vm/</guid><category>Proxmox</category><description>Num ThinkCentre de 24 GB, quase tudo roda em container LXC e só uma VM sobrou. Quando usar cada um no Proxmox e os cuidados para não se arrepender.</description><content:encoded><![CDATA[<p>Meu homelab roda em um único nó Proxmox: um Lenovo ThinkCentre M720q com 6 núcleos e 24 GB de RAM. Nessa máquina pequena cabe muita coisa porque quase tudo roda em container LXC, e não em máquina virtual. Hoje tenho uma única VM, e até ela poderia ser um container.</p>
<p>Neste post explico por que escolhi LXC para quase tudo, quando uma VM ainda faz sentido e o que muda na prática.</p>
<h2 id="a-diferença-em-uma-frase">A diferença em uma frase <a class="anchor" href="#a-diferen%c3%a7a-em-uma-frase" aria-label="Link para esta seção">#</a></h2>
<p>Uma <strong>VM</strong> simula um computador inteiro, com kernel próprio. Um <strong>container LXC</strong> compartilha o kernel do host e isola só os processos, a rede e o sistema de arquivos.</p>
<p>Essa diferença decide quase tudo:</p>
<table>
	<thead>
			<tr>
					<th></th>
					<th>Container LXC</th>
					<th>Máquina virtual</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>Kernel</td>
					<td>o do host Proxmox</td>
					<td>próprio, qualquer sistema</td>
			</tr>
			<tr>
					<td>Memória ociosa</td>
					<td>só o que os processos usam</td>
					<td>reserva a RAM do sistema convidado inteiro</td>
			</tr>
			<tr>
					<td>Tempo para ligar</td>
					<td>segundos</td>
					<td>o boot de um sistema completo</td>
			</tr>
			<tr>
					<td>Isolamento</td>
					<td>bom, mas compartilha o kernel</td>
					<td>mais forte</td>
			</tr>
			<tr>
					<td>Rodar Windows ou outro kernel</td>
					<td>não</td>
					<td>sim</td>
			</tr>
	</tbody>
</table>
<h2 id="por-que-quase-tudo-aqui-é-lxc">Por que quase tudo aqui é LXC <a class="anchor" href="#por-que-quase-tudo-aqui-%c3%a9-lxc" aria-label="Link para esta seção">#</a></h2>
<p>Num servidor com 24 GB de RAM, cada gigabyte conta. Um container com um serviço web simples consome a memória do serviço e pouco mais. A mesma aplicação numa VM carrega junto um sistema operacional inteiro.</p>
<p>O que eu hospedo é, em sua maioria, serviço Linux leve:</p>
<ul>
<li>cofre de senhas;</li>
<li>DNS interno;</li>
<li>o conector do Cloudflare Tunnel;</li>
<li>monitoria da internet;</li>
<li>minhas próprias aplicações;</li>
<li>este blog.</li>
</ul>
<p>Nada disso precisa de kernel próprio. Para esse tipo de carga, LXC é mais leve para tudo, e é essa a razão principal da minha escolha.</p>
<p>Outro ganho é a agilidade. Container liga em segundos, o backup é pequeno e criar um container novo para testar algo é rápido o suficiente para eu não ter preguiça de separar cada serviço no seu próprio container. Separar serviços facilita muito na hora de restaurar só uma coisa.</p>
<figure class="prose-figure">
  <img src="/proxmox-lxc-ou-vm/proxmox-criar-lxc_hu_32f393b9781ee224.webp" alt="Tela de criação de um container LXC no Proxmox VE, na aba General, com nó, ID, hostname e senha" loading="lazy" width="700" height="510"><figcaption>Criando um container LXC. Imagem: Proxmox VE (GNU FDL).</figcaption>
</figure><h2 id="a-minha-única-vm-o-jump-server">A minha única VM: o jump server <a class="anchor" href="#a-minha-%c3%banica-vm-o-jump-server" aria-label="Link para esta seção">#</a></h2>
<p>A exceção é a porta de entrada do homelab, o meu <em>jump server</em>. É por ele que eu chego por SSH quando estou fora de casa, e é nele que fica a monitoria dos acessos SSH.</p>
<p>Ele começou como um Debian completo, com ambiente gráfico. Com o tempo, enxuguei para modo texto e menos pacotes. Hoje, olhando com calma, ele poderia muito bem ser um container LXC. Mantive como VM, e existe um argumento a favor disso: numa máquina que fica exposta como ponto de entrada, o kernel próprio da VM adiciona uma camada de isolamento a mais entre quem tenta entrar e o host.</p>
<p>Se eu estivesse começando hoje, eu pensaria assim: <strong>VM para o que é exposto, precisa de outro kernel ou exige isolamento forte; LXC para o resto.</strong></p>
<h2 id="quando-uma-vm-é-a-escolha-certa">Quando uma VM é a escolha certa <a class="anchor" href="#quando-uma-vm-%c3%a9-a-escolha-certa" aria-label="Link para esta seção">#</a></h2>
<p>Mesmo sendo fã de LXC, eu usaria VM nestes casos:</p>
<ul>
<li><strong>Outro sistema operacional:</strong> Windows, BSD ou qualquer coisa que não rode no kernel Linux do host.</li>
<li><strong>Módulos de kernel próprios:</strong> alguns softwares de VPN, de armazenamento ou de virtualização exigem carregar módulos, o que um container não pode fazer.</li>
<li><strong>Isolamento forte:</strong> serviços expostos à internet ou softwares em que você confia pouco.</li>
<li><strong>Appliances prontos:</strong> sistemas distribuídos como imagem completa, por exemplo alguns firewalls e sistemas de NAS.</li>
</ul>
<h2 id="cuidados-com-lxc">Cuidados com LXC <a class="anchor" href="#cuidados-com-lxc" aria-label="Link para esta seção">#</a></h2>
<p>Container não é VM pequena. Três detalhes que vale saber:</p>
<ol>
<li><strong>Prefira containers não privilegiados.</strong> No Proxmox, o padrão ao criar pela interface é o container não privilegiado. Nele, o root do container não é o root do host, o que reduz bastante o estrago de uma invasão.</li>
<li><strong>Docker dentro de LXC precisa de ajuste.</strong> É preciso ligar o recurso de <em>nesting</em> no container:</li>
</ol>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">pct <span class="nb">set</span> &lt;vmid&gt; --features <span class="nv">nesting</span><span class="o">=</span><span class="m">1</span>
</span></span></code></pre></div><ol start="3">
<li><strong>O kernel é do host.</strong> Uma atualização do Proxmox atualiza o kernel de todos os containers de uma vez. Isso é bom para manutenção, mas significa que um problema de kernel afeta todos juntos.</li>
</ol>
<p>Para ver o que está rodando no nó, os dois comandos básicos são:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">pct list   <span class="c1"># containers LXC</span>
</span></span><span class="line"><span class="cl">qm list    <span class="c1"># máquinas virtuais</span>
</span></span></code></pre></div><aside class="alert alert--tip">
  <p class="alert__title">Dica</p>
  <p>Um container por serviço. Fica mais fácil fazer backup, restaurar e limitar CPU e memória de cada coisa, e um serviço quebrado não derruba os vizinhos.</p>
</aside><h2 id="como-isso-escala-num-nó-só">Como isso escala num nó só <a class="anchor" href="#como-isso-escala-num-n%c3%b3-s%c3%b3" aria-label="Link para esta seção">#</a></h2>
<p>Ter um único nó tem um limite óbvio: se a máquina para, tudo para. Para mim isso é aceitável hoje, porque a energia está coberta por uma bateria (contei no post sobre a <a href="/ecoflow-river-3-plus-ups-homelab/">EcoFlow como UPS</a>) e os backups estão em dia.</p>
<p>O próximo passo que eu quero dar é uma segunda máquina para montar um cluster, o que traz outros cuidados, como quórum. Mas a lógica de LXC para quase tudo continua valendo: quanto mais leve cada serviço, mais coisa cabe em cada nó.</p>
<h2 id="resumindo">Resumindo <a class="anchor" href="#resumindo" aria-label="Link para esta seção">#</a></h2>
<ul>
<li><strong>LXC</strong> para serviços Linux leves: menos memória, liga em segundos e tem backup pequeno.</li>
<li><strong>VM</strong> para outro sistema operacional, módulos de kernel, appliances e o que fica mais exposto.</li>
<li><strong>Comece não privilegiado</strong> e ligue o <em>nesting</em> só onde precisar de Docker.</li>
<li><strong>Um serviço por container</strong> facilita backup, restauração e limites.</li>
</ul>
<p>Num ThinkCentre de 24 GB, essa escolha é o que permite rodar todos os meus serviços com folga e ainda sobrar espaço para testar coisas novas.</p>
]]></content:encoded></item></channel></rss>