<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>debian &amp;mdash; Sei lá e pans</title>
    <link>https://rberlim.writeas.com/tag:debian</link>
    <description>O título diz tudo.</description>
    <pubDate>Tue, 12 May 2026 22:30:53 +0000</pubDate>
    <item>
      <title>Configurando um servidor Luanti/Minetest no Debian 13 Trixie</title>
      <link>https://rberlim.writeas.com/configurando-um-servidor-luanti-minetest-no-debian-13-trixie?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[Novidades para aqueles, que, como eu, preferem a versão FOSS mais próxima do minecraft para seus filhos jogarem.  &#xA;  &#xA;Recentemente, no debian 13 trixie os pacotes do minetest passar a se chamar Luanti. Uma otima atualização para ficar mais próximo do jogo, mas um arraso para quem rodava servidores hospedados na versão antiga. Várias coisas mudaram de lugar, e um bom resumo das alterações pode ser encontrado no Readme do pacote luanti-server.  &#xA;  &#xA;Aqui em casa, além do jogo normal, gostamos de rodar as versões VoxeLibre e Mineclonia ambas com uma proposta mais próxima do Minecraft. &#xA;&#xA;Para fazer a coisa &#34;acontecer&#34;, supondo que você já tenha instalado o pacote luanti-server, montei o servidor da seguinte forma.  &#xA;  &#xA;em /etc/luanti foram criados dois arquivos para cada jogo. Usando o mineclonia como exemplo, criei os arquivos mineclonia.conf com o seguinte conteúdo:  &#xA;  prometheuslisteneraddress=0.0.0.0:30001&#xA;map-dir=/var/lib/luanti/mineclonia/world&#xA;name=rico&#xA;port=30001&#xA;defaultgame=mineclonia&#xA;&#xA;e um mineclonia.env com o seguinte conteúdo:  &#xA;  LUANTIGAMEID=mineclonia  &#xA;  &#xA;feito isso, é hora de obter a versão do Mineclonia em questão do git na pasta correta. Penei um pouco para achar, mas deve ser feito em /var/lib/private/luanti  &#xA; &#xA;git clone https://codeberg.org/mineclonia/mineclonia.git &#xA;&#xA;após clonado, recomendo mudar o proprietário e grupo para luanti-server atráves do comando chown -Rf luanti-server:luanti-server /var/lib/private/luanti/mineclonia&#xA;&#xA;Feito isso, basta iniciar o servidor via systemctl da seguinte forma  &#xA;systemctl start luanti-server@mineclonia&#xA;&#xA;o @mineclonia que compõe o comando refere-se ao arquivo .conf criado em /etc/luanti.  &#xA;&#xA;Pronto, com isso você deve levantar um servidor com consideral menos esforço que eu. Fique de olho no parâmetro port=e no prometheus_listener para não tentar levantar o servidor em uma porta já utilizada.&#xA;&#xA;Boa jogatina e divirta-se!  &#xA;  &#xA;#minetest #debian #luanti #voxelibre #mineclonia]]&gt;</description>
      <content:encoded><![CDATA[<p>Novidades para aqueles, que, como eu, preferem a versão FOSS mais próxima do minecraft para seus filhos jogarem.</p>

<p>Recentemente, no debian 13 trixie os pacotes do minetest passar a se chamar <a href="https://wiki.debian.org/Games/Luanti" rel="nofollow">Luanti</a>. Uma otima atualização para ficar mais próximo do jogo, mas um arraso para quem rodava servidores hospedados na versão antiga. Várias coisas mudaram de lugar, e um bom resumo das alterações pode ser encontrado no <a href="https://sources.debian.org/src/luanti/5.10.0%2Bdfsg-5/debian/luanti-server.README.Debian/" rel="nofollow">Readme</a> do pacote luanti-server.</p>

<p>Aqui em casa, além do jogo normal, gostamos de rodar as versões <a href="https://git.minetest.land/VoxeLibre/VoxeLibre" rel="nofollow">VoxeLibre</a> e <a href="https://codeberg.org/mineclonia/mineclonia" rel="nofollow">Mineclonia</a> ambas com uma proposta mais próxima do <em>Minecraft</em>.</p>

<p>Para fazer a coisa “acontecer”, supondo que você já tenha instalado o pacote <code>luanti-server</code>, montei o servidor da seguinte forma.</p>

<p>em <code>/etc/luanti</code> foram criados dois arquivos para cada jogo. Usando o <em>mineclonia</em> como exemplo, criei os arquivos <code>mineclonia.conf</code> com o seguinte conteúdo:<br/>
&gt; prometheus<em>listener</em>address=0.0.0.0:30001
map-dir=/var/lib/luanti/mineclonia/world
name=rico
port=30001
default_game=mineclonia</p>

<p>e um <code>mineclonia.env</code> com o seguinte conteúdo:<br/>
&gt; LUANTI_GAMEID=mineclonia</p>

<p>feito isso, é hora de obter a versão do <em>Mineclonia</em> em questão do git na pasta correta. Penei um pouco para achar, mas deve ser feito em <code>/var/lib/private/luanti</code></p>

<p><code>git clone https://codeberg.org/mineclonia/mineclonia.git</code></p>

<p>após clonado, recomendo mudar o proprietário e grupo para <code>luanti-server</code> atráves do comando <code>chown -Rf luanti-server:luanti-server /var/lib/private/luanti/mineclonia</code></p>

<p>Feito isso, basta iniciar o servidor via <em>systemctl</em> da seguinte forma<br/>
<code>systemctl start luanti-server@mineclonia</code></p>

<p>o <em>@mineclonia</em> que compõe o comando refere-se ao arquivo .conf criado em <code>/etc/luanti</code>.</p>

<p>Pronto, com isso você deve levantar um servidor com consideral menos esforço que eu. Fique de olho no parâmetro <code>port=</code>e no <code>prometheus_listener</code> para não tentar levantar o servidor em uma porta já utilizada.</p>

<p>Boa jogatina e divirta-se!</p>

<p><a href="https://rberlim.writeas.com/tag:minetest" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">minetest</span></a> <a href="https://rberlim.writeas.com/tag:debian" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">debian</span></a> <a href="https://rberlim.writeas.com/tag:luanti" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">luanti</span></a> <a href="https://rberlim.writeas.com/tag:voxelibre" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">voxelibre</span></a> <a href="https://rberlim.writeas.com/tag:mineclonia" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">mineclonia</span></a></p>
]]></content:encoded>
      <guid>https://rberlim.writeas.com/configurando-um-servidor-luanti-minetest-no-debian-13-trixie</guid>
      <pubDate>Wed, 04 Jun 2025 14:26:49 +0000</pubDate>
    </item>
    <item>
      <title>Recuperando um pool ZFS</title>
      <link>https://rberlim.writeas.com/recuperando-um-pool-zfs?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[Recentemente perdi meu servidor principal de casa. Os discos do pool zroot estavam ruins, e quando fui trocar um, puf, a máquina parou de dar boot. Retornar os discos anteriores não dava muito resultado, já que a máquina ficava trava em erros de discos. Acho que consegui uma falha em ambos os discos do pool zroot, parabéns para mim.&#xA;&#xA;Esperançoso que o pool onde realmente estão os dados estava intacto, comecei a tarefa de tentar recuperar tudo. &#xA;Felizmente, dada situações pregressas, eu tinha pelo menos alguma idéia de quais os discos realmente estavam envolvidos no pool que queria recuperar. &#xA;&#xA;Desde o meu post anterior sobre zfs, comecei a usar a boa prática de adicionar os discos pelo seu número serial, conforme estão em &#xA;Enfim, após reinstalar o sistema em um disco a parte (resolvi por enquanto abandonar a idéia de ter o root em zfs) começa o trabalho de descobrir quais discos fazem parte do pool e remonta-lo&#xA;Após preparar o novo sistema para o zfs e adicionar alguns discos do pool antigo, um simples &#xA;  pool: dados&#xA;     id: 1176411848024315794&#xA;  state: DEGRADED&#xA;status: The pool was last accessed by another system.&#xA; action: The pool can be imported despite missing or damaged devices.  The&#xA;&#x9;fault tolerance of the pool may be compromised if imported.&#xA;   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-EY&#xA; config:&#xA;&#xA;&#x9;dados                          DEGRADED&#xA;&#x9;  raidz1-0                     DEGRADED&#xA;&#x9;    ata-ST32000644NS9WM7LQT3  ONLINE&#xA;&#x9;    ata-ST32000644NS9WM7N07E  UNAVAIL&#xA;&#x9;    wwn-0x5000cca224c5ea5c     ONLINE&#xA;Otimo, o pool estava lá. Com um disco a menos, mas estava lá. A partir daí, um &#xA;agora, para substituição do disco ausente, coloquei o pool offline com &#xA;dessa forma, só bastou fazer um &#xA;Agora é configurar snapshots e backups para não precisar contar com a sorte no próximo incidente :)&#xA;&#xA;zfs&#xA;debian&#xA;recovery]]&gt;</description>
      <content:encoded><![CDATA[<p>Recentemente perdi meu servidor principal de casa. Os discos do pool zroot estavam ruins, e quando fui trocar um, <em>puf</em>, a máquina parou de dar boot. Retornar os discos anteriores não dava muito resultado, já que a máquina ficava trava em erros de discos. Acho que consegui uma falha em ambos os discos do pool zroot, parabéns para mim.</p>

<p>Esperançoso que o pool onde realmente estão os dados estava intacto, comecei a tarefa de tentar recuperar tudo.
Felizmente, dada situações pregressas, eu tinha pelo menos alguma idéia de quais os discos realmente estavam envolvidos no pool que queria recuperar.</p>

<p>Desde o meu post anterior sobre zfs, comecei a usar a boa prática de adicionar os discos pelo seu número serial, conforme estão em <code>/dev/disk/by-uuid</code> em vez de usar os clássicos <code>/dev/sdX</code> ou coisa assim, que as vezes mudam a qual disco se referem. Pelo menos comigo, aconteceu mais de uma vez.</p>

<p>Enfim, após reinstalar o sistema em um disco a parte (resolvi por enquanto abandonar a idéia de ter o root em zfs) começa o trabalho de descobrir quais discos fazem parte do pool e remonta-lo
Após preparar o novo sistema para o zfs e adicionar alguns discos do pool antigo, um simples <code>zpool import</code> começou a me encher de esperança</p>

<pre><code>  pool: dados
     id: 1176411848024315794
  state: DEGRADED
status: The pool was last accessed by another system.
 action: The pool can be imported despite missing or damaged devices.  The
	fault tolerance of the pool may be compromised if imported.
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-EY
 config:

	dados                          DEGRADED
	  raidz1-0                     DEGRADED
	    ata-ST32000644NS_9WM7LQT3  ONLINE
	    ata-ST32000644NS_9WM7N07E  UNAVAIL
	    wwn-0x5000cca224c5ea5c     ONLINE
</code></pre>

<p>Otimo, o pool estava lá. Com um disco a menos, mas estava lá. A partir daí, um <code>zpool import dados -f</code> fez o trabalho de deixar o pool disponível.</p>

<p>agora, para substituição do disco ausente, coloquei o pool offline com <code>zpool offline dados ata-ST32000644NS_9WM7N07E</code> e depois um <code>zpool replace dados ata-ST32000644NS_9WM7N07E /dev/disk/by-id/ata-ST32000644NS_9WM7KY7S</code> como sempre, tomando cuidado para usar o <code>/dev/by-id</code> para evitar que os discos se movimentem para um outro /dev/sdX em alguma manipulação futura dos cabos.</p>

<p>dessa forma, só bastou fazer um <code>zfs mount -a</code> e pronto, os datasets estavam montados e disponíveis.</p>

<p>Agora é configurar snapshots e backups para não precisar contar com a sorte no próximo incidente :)</p>

<p><a href="https://rberlim.writeas.com/tag:zfs" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">zfs</span></a>
<a href="https://rberlim.writeas.com/tag:debian" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">debian</span></a>
<a href="https://rberlim.writeas.com/tag:recovery" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">recovery</span></a></p>
]]></content:encoded>
      <guid>https://rberlim.writeas.com/recuperando-um-pool-zfs</guid>
      <pubDate>Sat, 22 Mar 2025 16:43:09 +0000</pubDate>
    </item>
    <item>
      <title>Corrigindo o erro Missing Signed-by ao realizar apt modernize-sources</title>
      <link>https://rberlim.writeas.com/corrigindo-o-erro-ao-realizar-o-apt-modernize-sources?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[Uma nova versão dos arquivos source.list, no modelo chamado deb822 está em curso no #debian. Eu fiz recentemente a atualização em um Debian Trixie. Tudo teria dado certo, exceto pelo erro abaixo&#xA;&#xA;Humm. teria eu feito algo de errado?&#xA;&#xA;Resolvi dar uma olhada nos novos arquivos de source.list gerados, agora presentes em &#xA;Logo encontrei o erro no arquivo debian-backports.source:&#xA;Modernized from /etc/apt/sources.list&#xA;Types: deb deb-src&#xA;URIs: http://deb.debian.org/debian/&#xA;Suites: trixie-backports&#xA;Components: main contrib non-free non-free-firmware&#xA;Signed-By: &#xA;&#xA;O campo Signed-By: havia ficado em branco. Ao fuçar um pouco no site do debian, achei isso, sugerindo que preenche o campo com &#xA;Feito isso e pans, problema resolvido :)&#xA;vamos esperar que isso seja corrigido no modernize-sources antes do lançamento do Debian Trixie&#xA;&#xA;debian&#xA;apt&#xA;modernize-sources&#xA;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Uma nova versão dos arquivos source.list, no modelo chamado <em>deb822</em> está em curso no <a href="https://rberlim.writeas.com/tag:debian" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">debian</span></a>. Eu fiz recentemente a atualização em um Debian Trixie. Tudo teria dado certo, exceto pelo erro abaixo</p>

<p><code>Notice: Missing Signed-By in the sources.list(5) entry for &#39;http://deb.debian.org/debian&#39;</code></p>

<p>Humm. teria eu feito algo de errado?</p>

<p>Resolvi dar uma olhada nos novos arquivos de source.list gerados, agora presentes em <code>/etc/apt/sources.list.d/</code></p>

<p>Logo encontrei o erro no arquivo debian-backports.source:</p>

<pre><code># Modernized from /etc/apt/sources.list
Types: deb deb-src
URIs: http://deb.debian.org/debian/
Suites: trixie-backports
Components: main contrib non-free non-free-firmware
Signed-By: 
</code></pre>

<p>O campo <em>Signed-By:</em> havia ficado em branco. Ao fuçar um pouco no site do debian, achei <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1041732" rel="nofollow">isso</a>, sugerindo que preenche o campo com <code>/usr/share/keyrings/debian-archive-keyring.gpg</code></p>

<p>Feito isso e <em>pans</em>, problema resolvido :)
vamos esperar que isso seja corrigido no <em>modernize-sources</em> antes do lançamento do Debian Trixie</p>

<p><a href="https://rberlim.writeas.com/tag:debian" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">debian</span></a>
<a href="https://rberlim.writeas.com/tag:apt" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">apt</span></a>
<a href="https://rberlim.writeas.com/tag:modernize" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">modernize</span></a>-sources</p>
]]></content:encoded>
      <guid>https://rberlim.writeas.com/corrigindo-o-erro-ao-realizar-o-apt-modernize-sources</guid>
      <pubDate>Wed, 05 Mar 2025 17:26:39 +0000</pubDate>
    </item>
    <item>
      <title>Desventuras com ZFS</title>
      <link>https://rberlim.writeas.com/esses-dias-mexendo-com-o-pool-zfs-na-minha-maquina-notei-algo?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[Esses dias mexendo com o pool ZFS na minha máquina, notei algo.&#xA;De vez enquando, alguns HDs dão problema (sou quebrado, então são reaproveitados de discos descomissionados que iriam ser descartados). Normalmente bastaria fazer um zpool replace nome do pool/dev/disco ruim /dev/disco novo.&#xA;Perfeito, tudo muito simples, mas tem um detalhe... E quando você não sabe o disco que quer substituir? &#xA;Eu explico, obviamente, você quer trocar o disco defeituoso, mas nem sempre as informações do zpool status são tão claras quanto eu gostaria.&#xA;&#xA;Por exemplo, olhe isso aqui:&#xA;&#xA;  pool: dados&#xA; state: DEGRADED&#xA;status: One or more devices is currently being resilvered.  The pool will&#xA;&#x9;continue to function, possibly in a degraded state.&#xA;action: Wait for the resilver to complete.&#xA;  scan: resilver in progress since Wed Feb 19 11:27:10 2025&#xA;&#x9;389G scanned at 862M/s, 34.8G issued at 77.2M/s, 389G total&#xA;&#x9;34.8G resilvered, 8.96% done, 01:18:15 to go&#xA;config:&#xA;&#xA;&#x9;NAME                             STATE     READ WRITE CKSUM&#xA;&#x9;dados                            DEGRADED     0     0     0&#xA;&#x9;  mirror-0                       DEGRADED     0     0     0&#xA;&#x9;    replacing-0                  DEGRADED     0     0     0&#xA;&#x9;      16849396304634906415       UNAVAIL      0     0     0  was /dev/sda1&#xA;&#x9;      ata-ST32000644NS9WM5X8TR  ONLINE       0     0     0  (resilvering)&#xA;&#x9;    sdb                          ONLINE       0     0     0&#xA;&#xA;errors: No known data errors&#xA;Nesse caso, temos esse disco com esse identificador &#34;16849396304634906415&#34;. Como saber no fim das contas, qual disco é esse? Ele já foi /dev/sda1, mas como o meu lsblk mostra:&#xA;&#xA;lsblk &#xA;NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS&#xA;sda      8:0    0 111,8G  0 disk &#xA;sdb      8:16   0   1,8T  0 disk &#xA;├─sdb1   8:17   0   1,8T  0 part &#xA;└─sdb9   8:25   0     8M  0 part &#xA;sdc      8:32   0 223,6G  0 disk &#xA;├─sdc1   8:33   0   512M  0 part /boot/efi&#xA;├─sdc2   8:34   0 222,1G  0 part /&#xA;└─sdc3   8:35   0   976M  0 part [SWAP]&#xA;sdd      8:48   0   1,8T  0 disk &#xA;├─sdd1   8:49   0   1,8T  0 part &#xA;└─sdd9   8:57   0     8M  0 part &#xA;sde      8:64   1     0B  0 disk&#xA;esse não é necessáriamente mais o caso, visto que meu pool usa discos de 1.8TB e o atual /dev/sda tem apenas 111,8GB.&#xA;&#xA;Não me pergunte porque, mas essas coisas acontecem.&#xA;Em todo caso, decidi tomar um novo caminho, a partir de agora, faço os pools a a partir que consta em /dev/disk/by-id&#xA;&#xA;ls -l /dev/disk/by-id/&#xA;total 0&#xA;lrwxrwxrwx 1 root root  9 fev 19 11:07 ata-KINGSTONSUV300S37A240G50026B72630171DA -  ../../sdc&#xA;lrwxrwxrwx 1 root root 10 fev 19 11:07 ata-KINGSTONSUV300S37A240G50026B72630171DA-part1 -  ../../sdc1&#xA;lrwxrwxrwx 1 root root 10 fev 19 11:07 ata-KINGSTONSUV300S37A240G50026B72630171DA-part2 -  ../../sdc2&#xA;lrwxrwxrwx 1 root root 10 fev 19 11:07 ata-KINGSTONSUV300S37A240G50026B72630171DA-part3 -  ../../sdc3&#xA;lrwxrwxrwx 1 root root  9 fev 19 11:07 ata-SATASSD181210101001015 -  ../../sda&#xA;lrwxrwxrwx 1 root root  9 fev 19 11:27 ata-ST32000644NS9WM5X8TR -  ../../sdd&#xA;lrwxrwxrwx 1 root root 10 fev 19 11:27 ata-ST32000644NS9WM5X8TR-part1 -  ../../sdd1&#xA;lrwxrwxrwx 1 root root 10 fev 19 11:27 ata-ST32000644NS9WM5X8TR-part9 -  ../../sdd9&#xA;lrwxrwxrwx 1 root root  9 fev 19 11:07 ata-ST32000644NS9WM7KRXX -  ../../sdb&#xA;lrwxrwxrwx 1 root root 10 fev 19 11:07 ata-ST32000644NS9WM7KRXX-part1 -  ../../sdb1&#xA;lrwxrwxrwx 1 root root 10 fev 19 11:07 ata-ST32000644NS9WM7KRXX-part9 -  ../../sdb9&#xA;lrwxrwxrwx 1 root root  9 fev 19 11:07 usb-MultipleCardReader058F63666485-0:0 -  ../../sde&#xA;lrwxrwxrwx 1 root root  9 fev 19 11:07 wwn-0x5000000000000000 -  ../../sda&#xA;lrwxrwxrwx 1 root root  9 fev 19 11:27 wwn-0x5000c500353451fe -  ../../sdd&#xA;lrwxrwxrwx 1 root root 10 fev 19 11:27 wwn-0x5000c500353451fe-part1 -  ../../sdd1&#xA;lrwxrwxrwx 1 root root 10 fev 19 11:27 wwn-0x5000c500353451fe-part9 -  ../../sdd9&#xA;lrwxrwxrwx 1 root root  9 fev 19 11:07 wwn-0x5000c5003ec2f9c0 -  ../../sdb&#xA;lrwxrwxrwx 1 root root 10 fev 19 11:07 wwn-0x5000c5003ec2f9c0-part1 -  ../../sdb1&#xA;lrwxrwxrwx 1 root root 10 fev 19 11:07 wwn-0x5000c5003ec2f9c0-part9 -  ../../sdb9&#xA;&#xA;Não que seja a coisa mais compreensível do mundo, mas pelo menos aí você pode usar o serial do disco (que normalmente vem estampado na etiqueta) para identificar qual disco você precisa trocar quando o seu pool der pau, aí fica muito mais simples. No meu caso, rodei: &#xA;zpool replace dados 16849396304634906415 /dev/disk/by-id/ata-ST32000644NS_9WM5X8TR&#xA;&#xA;e já sei que o disco 9wm5x8tr substitui o anterior que deu pau. Futuramente, pretendo adotar essa prática também para quando for criar um novo pool, ai evito essa incerteza de que, quando eventualmente o disco der pau (e vai dar) eu consigo saber qual devo trocar.&#xA;&#xA;zfs&#xA;debian&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Esses dias mexendo com o pool ZFS na minha máquina, notei algo.
De vez enquando, alguns HDs dão problema (sou quebrado, então são reaproveitados de discos descomissionados que iriam ser descartados). Normalmente bastaria fazer um <code>zpool replace &lt;nome do pool&gt;/dev/&lt;disco ruim&gt; /dev/&lt;disco novo&gt;</code>.
Perfeito, tudo muito simples, mas tem um detalhe... E quando você não sabe o disco que quer substituir?
Eu explico, obviamente, você quer trocar o disco defeituoso, mas nem sempre as informações do zpool status são tão claras quanto eu gostaria.</p>

<p>Por exemplo, olhe isso aqui:</p>

<pre><code>  pool: dados
 state: DEGRADED
status: One or more devices is currently being resilvered.  The pool will
	continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
  scan: resilver in progress since Wed Feb 19 11:27:10 2025
	389G scanned at 862M/s, 34.8G issued at 77.2M/s, 389G total
	34.8G resilvered, 8.96% done, 01:18:15 to go
config:

	NAME                             STATE     READ WRITE CKSUM
	dados                            DEGRADED     0     0     0
	  mirror-0                       DEGRADED     0     0     0
	    replacing-0                  DEGRADED     0     0     0
	      16849396304634906415       UNAVAIL      0     0     0  was /dev/sda1
	      ata-ST32000644NS_9WM5X8TR  ONLINE       0     0     0  (resilvering)
	    sdb                          ONLINE       0     0     0

errors: No known data errors
</code></pre>

<p>Nesse caso, temos esse disco com esse identificador “16849396304634906415”. Como saber no fim das contas, qual disco é esse? Ele já foi /dev/sda1, mas como o meu lsblk mostra:</p>

<pre><code># lsblk 
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 111,8G  0 disk 
sdb      8:16   0   1,8T  0 disk 
├─sdb1   8:17   0   1,8T  0 part 
└─sdb9   8:25   0     8M  0 part 
sdc      8:32   0 223,6G  0 disk 
├─sdc1   8:33   0   512M  0 part /boot/efi
├─sdc2   8:34   0 222,1G  0 part /
└─sdc3   8:35   0   976M  0 part [SWAP]
sdd      8:48   0   1,8T  0 disk 
├─sdd1   8:49   0   1,8T  0 part 
└─sdd9   8:57   0     8M  0 part 
sde      8:64   1     0B  0 disk
</code></pre>

<p>esse não é necessáriamente mais o caso, visto que meu pool usa discos de 1.8TB e o atual /dev/sda tem apenas 111,8GB.</p>

<p>Não me pergunte porque, mas essas coisas acontecem.
Em todo caso, decidi tomar um novo caminho, a partir de agora, faço os pools a a partir que consta em <code>/dev/disk/by-id</code></p>

<pre><code># ls -l /dev/disk/by-id/
total 0
lrwxrwxrwx 1 root root  9 fev 19 11:07 ata-KINGSTON_SUV300S37A240G_50026B72630171DA -&gt; ../../sdc
lrwxrwxrwx 1 root root 10 fev 19 11:07 ata-KINGSTON_SUV300S37A240G_50026B72630171DA-part1 -&gt; ../../sdc1
lrwxrwxrwx 1 root root 10 fev 19 11:07 ata-KINGSTON_SUV300S37A240G_50026B72630171DA-part2 -&gt; ../../sdc2
lrwxrwxrwx 1 root root 10 fev 19 11:07 ata-KINGSTON_SUV300S37A240G_50026B72630171DA-part3 -&gt; ../../sdc3
lrwxrwxrwx 1 root root  9 fev 19 11:07 ata-SATA_SSD_181210101001015 -&gt; ../../sda
lrwxrwxrwx 1 root root  9 fev 19 11:27 ata-ST32000644NS_9WM5X8TR -&gt; ../../sdd
lrwxrwxrwx 1 root root 10 fev 19 11:27 ata-ST32000644NS_9WM5X8TR-part1 -&gt; ../../sdd1
lrwxrwxrwx 1 root root 10 fev 19 11:27 ata-ST32000644NS_9WM5X8TR-part9 -&gt; ../../sdd9
lrwxrwxrwx 1 root root  9 fev 19 11:07 ata-ST32000644NS_9WM7KRXX -&gt; ../../sdb
lrwxrwxrwx 1 root root 10 fev 19 11:07 ata-ST32000644NS_9WM7KRXX-part1 -&gt; ../../sdb1
lrwxrwxrwx 1 root root 10 fev 19 11:07 ata-ST32000644NS_9WM7KRXX-part9 -&gt; ../../sdb9
lrwxrwxrwx 1 root root  9 fev 19 11:07 usb-Multiple_Card_Reader_058F63666485-0:0 -&gt; ../../sde
lrwxrwxrwx 1 root root  9 fev 19 11:07 wwn-0x5000000000000000 -&gt; ../../sda
lrwxrwxrwx 1 root root  9 fev 19 11:27 wwn-0x5000c500353451fe -&gt; ../../sdd
lrwxrwxrwx 1 root root 10 fev 19 11:27 wwn-0x5000c500353451fe-part1 -&gt; ../../sdd1
lrwxrwxrwx 1 root root 10 fev 19 11:27 wwn-0x5000c500353451fe-part9 -&gt; ../../sdd9
lrwxrwxrwx 1 root root  9 fev 19 11:07 wwn-0x5000c5003ec2f9c0 -&gt; ../../sdb
lrwxrwxrwx 1 root root 10 fev 19 11:07 wwn-0x5000c5003ec2f9c0-part1 -&gt; ../../sdb1
lrwxrwxrwx 1 root root 10 fev 19 11:07 wwn-0x5000c5003ec2f9c0-part9 -&gt; ../../sdb9
</code></pre>

<p>Não que seja a coisa mais compreensível do mundo, mas pelo menos aí você pode usar o serial do disco (que normalmente vem estampado na etiqueta) para identificar qual disco você precisa trocar quando o seu pool der pau, aí fica muito mais simples. No meu caso, rodei:
<code>zpool replace dados 16849396304634906415 /dev/disk/by-id/ata-ST32000644NS_9WM5X8TR</code></p>

<p>e já sei que o disco 9wm5x8tr substitui o anterior que deu pau. Futuramente, pretendo adotar essa prática também para quando for criar um novo pool, ai evito essa incerteza de que, quando eventualmente o disco der pau (e vai dar) eu consigo saber qual devo trocar.</p>

<p><a href="https://rberlim.writeas.com/tag:zfs" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">zfs</span></a>
<a href="https://rberlim.writeas.com/tag:debian" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">debian</span></a></p>
]]></content:encoded>
      <guid>https://rberlim.writeas.com/esses-dias-mexendo-com-o-pool-zfs-na-minha-maquina-notei-algo</guid>
      <pubDate>Wed, 19 Feb 2025 19:37:10 +0000</pubDate>
    </item>
  </channel>
</rss>