Corrigir um erro de sistema de arquivos Btrfs somente leitura no SUSE Linux Enterprise

Ao tentar salvar um arquivo ou atualizar um serviço no SUSE Linux Enterprise Server (SLES), o Linux responde com a mensagem “Sistema de arquivos somente leitura”. Essa mensagem pode significar que o ponto de montagem foi configurado deliberadamente como somente leitura, que você inicializou o sistema a partir de um snapshot do Snapper em modo somente leitura ou que o Btrfs detectou um problema e parou de aceitar gravações para proteger o volume. Essas causas exigem soluções diferentes. Comece identificando qual sistema de arquivos e ponto de montagem estão envolvidos; não force uma remontagem nem execute um comando de reparo antes de verificar os logs do kernel e proteger os dados importantes.

O que significa o erro

O Btrfs é um sistema de arquivos Linux do tipo copy-on-write, usado por padrão como sistema de arquivos raiz do SLES em muitas instalações padrão. Um subvolume Btrfs é uma parte independente e montável de um sistema de arquivos; um snapshot é uma cópia pontual de um subvolume que compartilha blocos de dados inalterados. O Snapper e o menu de inicialização do SLES podem usar snapshots para recuperar o sistema de alterações. Inicializar um snapshot monta intencionalmente as partes incluídas em modo somente leitura. Além disso, o Btrfs pode alternar para o modo somente leitura após detectar certos erros estruturais para evitar novas gravações. A SUSE documenta o comportamento dos snapshots em seu guia do Snapper para SLES 15 SP7 ; o projeto Btrfs explica que as verificações estruturais do sistema de arquivos podem alternar um volume para o modo somente leitura para evitar danos adicionais em sua documentação do tree-checker . Os rótulos exatos do menu e as opções de recuperação disponíveis podem variar de acordo com o service pack do SLES e o layout de armazenamento.

Um problema de permissões é diferente. "Permissão negada" geralmente indica problemas de propriedade ou controle de acesso; "Sistema de arquivos somente leitura" (frequentemente exibido como EROFS) indica o estado do sistema de arquivos ou subvolume. Alterar as permissões de um arquivo com chmodnão tornará uma montagem somente leitura gravável.

Antes de alterar qualquer coisa

Se este for um servidor de produção, um volume de banco de dados ou a única cópia de dados importantes, entre em contato com o administrador do sistema e confirme o backup antes de tentar a recuperação. Quando o sistema ainda estiver legível, copie os arquivos mais importantes para um armazenamento separado e íntegro, se puder fazê-lo sem sobrecarregar um dispositivo com falhas. O Btrfs pode ter alterações de metadados recentes apenas na memória após um erro crítico; desmontar ou reiniciar o sistema pode perder essas alterações não confirmadas. Se os logs mencionarem erros de E/S, desaparecimento de dispositivos ou reinicializações repetidas, priorize a integridade do armazenamento e a proteção dos dados em vez de restaurar as gravações.

Não execute btrfs check --repairesse procedimento como primeiro passo de rotina. O projeto Btrfs alerta que o modo de reparo pode causar danos e não consegue corrigir todos os tipos de corrupção. Também não force repetidamente uma remontagem de leitura e gravação: isso pode falhar imediatamente se o kernel tiver protegido o sistema de arquivos por algum motivo.

Passo 1: Identifique o suporte afetado

Use o caminho onde a gravação falhou. Por exemplo, se um serviço não consegue gravar em /srv/app, inspecione esse caminho em vez de presumir que o problema está no sistema de arquivos raiz:

findmnt -T /srv/app -o TARGET,SOURCE,FSTYPE,OPTIONS

Substitua /srv/apppelo arquivo ou diretório afetado. Verifique a saída para a origem Btrfs, o destino da montagem e uma opção de `--mount` roou ` --mount` rw. O destino pode ser ` //usr/local/bin`, uma montagem de dados separada ou um subvolume. Anote a origem e o destino antes de continuar. Se o comando reportar outro tipo de sistema de arquivos, as etapas específicas do Btrfs não se aplicam a esse caminho.

Verifique as mensagens do kernel da inicialização atual para descobrir o motivo pelo qual o sistema de arquivos se tornou somente leitura:

sudo journalctl -k -b --no-pager | grep -iE 'btrfs|I/O error|read-only|readonly'

Procure por erros do Btrfs ou mensagens de "somente leitura forçado", erros de checksum ou de árvore de arquivos, falhas de E/S do dispositivo e desconexões do dispositivo. Uma linha de log é uma pista, não um diagnóstico completo. Salve as mensagens e os registros de data e hora relevantes antes de reiniciar, pois os logs podem ser úteis para a equipe de suporte de armazenamento ou hardware.

Etapa 2: Verifique se há um snapshot intencionalmente somente leitura.

Se o servidor foi iniciado a partir de um snapshot inicializável no GRUB, os arquivos incluídos nesse snapshot são somente leitura por padrão. Este é um ambiente de recuperação para verificar um estado anterior do sistema; não se trata automaticamente do sistema restaurado permanentemente. Confirme a entrada de inicialização com o administrador, reinicie o servidor e selecione a entrada padrão do SLES caso a inicialização do snapshot tenha sido acidental. A SUSE documenta que a inicialização de um snapshot monta as partes do sistema de arquivos incluídas como somente leitura e descreve o procedimento de reversão separadamente em seu guia de recuperação do SLES 15 SP7 Snapper .

Um snapshot específico pode ser somente leitura mesmo que o sistema de arquivos pai esteja montado em modo de leitura e gravação. Se você estiver trabalhando intencionalmente com um snapshot, inspecione-o sem alterá-lo:

sudo btrfs property get -t subvol /path/to/subvolume ro

Substitua o caminho pelo caminho de montagem do subvolume. Um resultado ro=trueconfirma que a propriedade do subvolume é somente leitura; a documentação de referência de propriedades do Btrfs registra essa flag. Não altere simplesmente um snapshot de backup gerenciado ou recebido pelo Snapper para leitura/gravação: o status somente leitura pode fazer parte das premissas de rollback ou backup incremental. Use um fluxo de trabalho do Snapper compatível ou crie um subvolume gravável separado quando essa for a tarefa pretendida.

Etapa 3: Verifique a configuração de montagem e o status do armazenamento.

Se findmntos relatórios roe os logs não mostrarem erros de Btrfs ou de E/S, inspecione a entrada de montagem correspondente em /etc/fstab. Uma montagem pode ter sido configurada deliberadamente como somente leitura para recuperação, uma imagem de dispositivo ou uma política de proteção de dados. Altere a configuração somente após confirmar o estado pretendido com o proprietário do serviço. Verifique também se o sistema usa uma implantação transacional ou de raiz somente leitura: o SLES documenta essas configurações e seu fluxo de trabalho de manutenção em seu guia de atualizações transacionais . Se a entrada for explicitamente destinada à gravação, o dispositivo estiver íntegro e o caminho não for um snapshot somente leitura, um administrador poderá tentar uma remontagem temporária.

sudo mount -o remount,rw /mountpoint

Substitua /mountpointpelo destino exato mostrado por findmnt. Isso não diagnostica nem repara corrupção. Se falhar, retornar um erro ou os logs do kernel mostrarem problemas de armazenamento, pare e passe para o planejamento de recuperação em vez de tentar novamente com mais opções.

Para um possível problema de capacidade, verifique a alocação do Btrfs e o status do dispositivo:

sudo btrfs filesystem usage /mountpoint
sudo btrfs filesystem show /mountpoint

A SUSE observa que resumos comuns de espaço livre em disco podem ser enganosos no Btrfs, pois dados e metadados são alocados separadamente. Os snapshots do Snapper também podem reter uma quantidade substancial de espaço. No entanto, a mensagem "Sem espaço disponível no dispositivo" não é idêntica a um erro de somente leitura do Btrfs; identifique qual mensagem o aplicativo realmente recebeu. Não exclua snapshots apenas para testar uma teoria. Confirme o que eles contêm e siga a política de retenção aplicável primeiro. Consulte o guia de solução de problemas do sistema de arquivos do SLES 15 SP7 .

Etapa 4: Decida se o sistema de arquivos precisa de recuperação.

Se erros do Btrfs aparecerem no log do kernel, o dispositivo estiver ausente ou a remontagem for recusada, preserve os logs e providencie um backup verificado ou um snapshot em nível de armazenamento antes de realizar qualquer reparo. Para um volume de dados que não seja o raiz, planeje uma janela de manutenção e desmonte-o antes de realizar verificações offline. Para o sistema de arquivos raiz, utilize a mídia de instalação ou de recuperação do SUSE e siga o procedimento específico para a versão do SLES e a assinatura de erro. Não tente adivinhar o nome do dispositivo: um sistema de arquivos Btrfs pode abranger vários dispositivos, portanto, primeiro identifique todos os membros e os identificadores de montagem ou de dispositivo corretos.

O guia de administração do SLES 15 SP7 da SUSE possui uma seção específica para partições Btrfs raiz que não podem ser montadas. Nela, são discutidas opções de recuperação para essa falha de inicialização. Essas instruções não significam que todos os sistemas de arquivos somente leitura montados devam ter seus logs apagados. O manual do btrfs-rescue explica que btrfs rescue zero-logele serve para determinadas falhas de reprodução de logs durante a montagem e pode descartar alterações desde a última transação confirmada. Use-o somente quando o erro registrado corresponder ao caso documentado e o plano de recuperação levar em conta a possível perda de dados.

btrfs checkPor padrão, o btrfs-check é executado em modo somente leitura em um sistema de arquivos desmontado. Mantenha-o assim para a avaliação inicial e compartilhe a saída com o suporte da SUSE ou com um especialista em Btrfs. O manual do btrfs-check adverte explicitamente contra o uso --repairsem a orientação de um usuário ou desenvolvedor experiente. Nunca execute um verificador offline em um sistema de arquivos montado e em processo de alteração.

Etapa 5: Verificar recuperação

Após a correção da causa, reinicie o sistema somente quando o plano de recuperação assim o exigir. Em seguida, utilize o sistema findmnt -T /path -o TARGET,SOURCE,FSTYPE,OPTIONSnovamente e confirme se a montagem pretendida é de leitura e gravação. Verifique o log do kernel em busca de novos erros de Btrfs ou de E/S. Por fim, verifique se o serviço ou aplicativo afetado consegue operar normalmente e confirme se o backup permanece disponível. Uma remontagem bem-sucedida por si só não comprova que o armazenamento está íntegro.

Se o sistema de arquivos retornar ao modo somente leitura, o dispositivo for desconectado ou os erros persistirem, interrompa as gravações e envie os logs salvos, findmnta saída, a lista de dispositivos Btrfs, o nível do service pack do SLES e os detalhes do controlador de armazenamento. Essas evidências ajudam a distinguir um snapshot intencional ou uma opção de montagem de danos à mídia, à conexão, ao driver ou ao sistema de arquivos — e evitam que um estado somente leitura de proteção se transforme em um problema de recuperação maior.

Deixar um comentário

Baixe o FlightGear gratuitamente: Guia de Instalação Oficial

Baixe o FlightGear gratuitamente: Guia de Instalação Oficial

Baixe o FlightGear gratuitamente no site oficial. Compare os pacotes para Windows, macOS e Linux, instale os arquivos de dados e inicie seu primeiro voo.

Aplicativo Google Tasks para desktop: como usá-lo no computador

Aplicativo Google Tasks para desktop: como usá-lo no computador

Abra o Google Tasks em um navegador, adicione um atalho do Chrome ou inicie o aplicativo automaticamente e gerencie suas tarefas agendadas pelo Agenda e pelo Gmail.

OKSampler: Um sampler de música gratuito e simples para batidas de teclado.

OKSampler: Um sampler de música gratuito e simples para batidas de teclado.

O OKSampler mapeia trechos de MP3 para teclas do teclado e pode reproduzir áudio em loop. Saiba o que este software gratuito legado faz, onde terminam suas funcionalidades antigas e o que verificar antes de baixar.

Como instalar o Linux Mint Debian Edition 5 “Elsie” a partir de um pendrive USB

Como instalar o Linux Mint Debian Edition 5 “Elsie” a partir de um pendrive USB

Baixe e verifique a ISO arquivada do LMDE 5, crie um USB inicializável e escolha as configurações de instalação segura. O Elsie chegou ao fim de seu suporte; veja a versão atual do LMDE.

Como instalar o Wireshark no Linux: Ubuntu, Fedora, Arch e outras distribuições

Como instalar o Wireshark no Linux: Ubuntu, Fedora, Arch e outras distribuições

Instale o Wireshark no Ubuntu, Debian, Fedora, Arch ou openSUSE com os comandos de pacote atuais e, em seguida, configure a captura de pacotes em tempo real com segurança.

Como jogar Don't Starve Together no Linux

Como jogar Don't Starve Together no Linux

Instale a versão Linux de Don't Starve Together pelo Steam, crie um mundo ou junte-se a amigos seguindo estes passos de configuração e resolução de problemas.

Como jogar Squad no Linux com o Steam Proton

Como jogar Squad no Linux com o Steam Proton

Configure o Squad no Linux com o Steam Play e o Proton, instale o jogo, escolha uma ferramenta de compatibilidade e resolva problemas com o sistema anti-cheat.

Como criar uma unidade USB inicializável do Windows 11 no Linux

Como criar uma unidade USB inicializável do Windows 11 no Linux

Crie um pendrive de instalação do Windows 11 no Linux com o Ventoy: obtenha a ISO oficial, instale o Ventoy com segurança, copie a imagem e inicialize o computador de destino.

Como jogar DiRT Rally no Linux: Configuração do Steam e correções do Proton

Como jogar DiRT Rally no Linux: Configuração do Steam e correções do Proton

Aprenda a jogar DiRT Rally no Linux se você já o possui no Steam: instale a versão nativa, execute-o e use o Proton apenas como alternativa.

Como instalar o Devuan Linux a partir de um USB inicializável

Como instalar o Devuan Linux a partir de um USB inicializável

Instale o Devuan Excalibur a partir da ISO Live para desktop. Verifique o download, crie um USB inicializável, proteja as partições existentes e finalize a instalação com o Refracta Installer.