Suponha que temos um grupo LV com 2 volumes lógicos: /dev/lvm/home
e /dev/lvm/root
. Suponha que eu acidentalmente excluí alguns dados importantes /dev/lvm/home
e desliguei o PC no momento em que percebi isso, mudei /dev/lvm/home
para montar somente no modo somente leitura do fstab, inicializei /dev/lvm/root
e comecei a usá-lo, escrevendo coisas nele, etc. dados excluídos são seguros? Não sei muito sobre como funcionam os LVMs. Você pode sobrescrever os dados excluídos em um volume lógico gravando dados em outro do mesmo grupo LV? fdisk -l
não mostra a geometria de volumes lógicos, então suponho que não exista geometria de um volume lógico.
relate perguntas
-
Existe uma maneira de fazer ls mostrar arquivos ocultos apenas para determinados diretórios?
-
Inicie/pare o serviço systemd usando o atalho de teclado [fechado]
-
Necessidade de algumas chamadas de sistema
-
astyle não altera a formatação do arquivo de origem
-
Passe o sistema de arquivos raiz por rótulo para o kernel do Linux
Os volumes lógicos são todos separados, escrever em um não afetará o outro. LVs têm “geometria” e você pode ver isso executando
Isto mostrará como cada LV (representado pelos dispositivos DM constituintes) é mapeado.
Como você está usando LVs, uma ferramenta útil em tais circunstâncias é a disponibilidade de instantâneos: você pode capturar instantâneos do seu
home
LV, para preservar seu estado atual, e trabalhar com isso para recuperar dados.Resposta curta: sim, seus dados excluídos estão tão seguros quanto possível, dadas as circunstâncias.
Quando você configura volumes lógicos normais (em oposição aos "finos"), extensões específicas de blocos de disco são alocadas para cada volume lógico e não serão alteradas sem usar novamente os comandos de configuração do LVM. A menos que você comece a alterar os tamanhos dos volumes lógicos, os blocos que continham os arquivos excluídos no seu
home
LV permanecerão alocados para esse LV e não serão tocados por outros sistemas de arquivos.Você pode visualizar uma lista de trechos de blocos alocados para cada LV com
lvdisplay -m /dev/lvm/home
,pvdisplay -m /dev/sdXX
, oudmsetup table
.(Com LVs "finos", seria uma questão de saber se o sistema de arquivos foi montado ou não com a
discard
opção. Com essa opção definida, o sistema de arquivos informará às camadas subjacentes que os blocos excluídos agora estão livres e, para um LV fino, ele significaria que os blocos podem ser liberados de volta no "pool fino", prontos para serem realocados para qualquer outro LV fino que faça parte do mesmo pool. Mas adiscard
opção de montagem não é o padrão e não é mais recomendada para uso geral.)O que você deve observar são as execuções programadas de
fstrim
, especialmente se o seu disco for um SSD. Muitas distribuições modernas tendem a rodarfstrim
cerca de uma vez por semana para cada sistema de arquivos montado, seja como um trabalhocron
/anacron
ou por uma*.timer
unidade systemd. Se quiser tentar recuperar dados excluídos, você deve desativá-los, apenas por segurança.A menos que você goste de retrocomputação ou lide com HDDs menores que 8 GB, você deve considerar a geometria do disco como "mentiras que contamos a software/firmware antigo por uma questão de compatibilidade" . Quaisquer discos maiores que isso usam LBA (Logical Block Addressing), basicamente apenas um número de bloco.
Somente o firmware do disco em si se preocupa com a geometria real do disco, que provavelmente será mais complexa do que o clássico trio C/H/S pode representar: por exemplo, agora é padrão que os cilindros externos contenham mais setores do que os internos. uns. Quaisquer números C/H/S relatados por
fdisk
são essencialmente ficção completa, mantidos no caso de um novo disco ser conectado a um sistema muito antigo.Com volumes lógicos normais, cada LV é separado da mesma forma que as partições são separadas.
O LVM aloca extensões de seus volumes físicos para cada LV. Fora dos instantâneos, a mesma extensão não pode ser dada duas vezes. Portanto,
/dev/lvm/root
pode estar usando as extensões 0-1023 e/dev/lvm/home
pode estar usando as extensões 1024-2047. Não há sobreposição, então você pode escrever o que quiser no Root-LV sem prejudicar o Home-LV.No entanto, existem outros casos especiais, como Volumes Lógicos Thinly-Provisioned, onde as extensões são alocadas dinamicamente. Neste cenário, o LV-Home pode ter liberado algumas extensões que podem posteriormente ser usadas e substituídas pelo LV-Root.
Isso funciona através
fstrim
dediscard
um mecanismo. Se você estiver no armazenamento SSD, os dados desaparecerão defstrim
qualquer maneira. Infelizmentefstrim
pode funcionar mesmo para sistemas de arquivos montados somente leitura.Portanto, além de torná-lo somente leitura (
lvchange -p r
), desabilite tambémfstrim
(timer, cron e/ouchmod -x
o próprio binário),discard
opção de montagem e também desabiliteissue_discards
em lvm.conf se estiver habilitado.Infelizmente, é muito difícil garantir a capacidade de leitura. A montagem somente leitura pode não ser suficiente.