Como transformar um dispositivo USB em SWAP

No Linux, o arquivo, disco ou partição SWAP pode ficar, praticamente, em qualquer lugar que você quiser.
É possível, até mesmo, usar o sistema operacional sem SWAP algum.

É claro que cabe avaliar a “conveniência” do local para o qual deseja direcionar o seu swapping ou memória virtual.
Em outras palavras, o seu pendrive pode não ser o melhor lugar para uma partição ou arquivo SWAP.

Em uma configuração de hardware ideal, para mim, o SWAP nunca é usado. A quantidade de memória é sempre suficiente para realizar todas as tarefas necessárias em um dia de trabalho duro, mas… quem é que tem uma configuração de hardware ideal por aqui?

Se você tiver outras dúvidas sobre o tema, recomendo ler o post Perguntas e respostas sobre o SWAP.
Por ser assunto recorrente, este blog tem vários outros textos relatando procedimentos com o SWAP — também vale a pena dar uma olhada (e, se quiser, compartilhar com os amigos).

Ferramentas básicas de manipulação do swap

Há inúmeras ferramentas para trabalhar com o swap (vou escrever em minúsculas, daqui pra frente).
Inicialmente, costumo trabalhar com o free e o swapon:

  • o free oferece informações básicas sobre o uso da memória no seu sistema, o que inclui o uso do swap.
  • o swapon oferece informações um pouco mais específicas sobre o uso atual do swap e permite realizar configurações rápidas.

Mesmo em situações emergenciais, o swap não é um recurso difícil de se gerenciar e ajustar.
A maioria das suas necessidades podem ser satisfeitas com uma linha de comando usando o swapon.

como obter informações do uso do swap no Linux

Você começar a obter informações genéricas sobre como o seu sistema está lidando com a memória usando o free:


free -h

             total        used        free      shared  buff/cache   available
Mem:          7,5Gi       4,0Gi       522Mi       482Mi       3,0Gi       3,1Gi
Swap:          11Gi       1,5Gi        10Gi

O parâmetro ‘-h’ (human readable ou legível para humanos) serve para formatar a saída do free e torná-lo mais fácil de entender.
Pelo resultado obtido com a execução do comando free, é possível visualizar o quanto de swap já está em uso pelo sistema.

A minha configuração atual do swap

No meu caso, uso o swap em duas partições diferentes: 3GiB em um pequeno drive SSD (24GiB) e 8,8GiB no HD principal.

O lsblk, em conjunto com o comando grep pode ajudar a visualizar a sua configuração:


lsblk | grep -i swap

└─sda2   8:2    0   8,8G  0 part [SWAP]
└─sdb2   8:18   0     3G  0 part [SWAP]

Como veremos, abaixo, optei por usar a partição sdb2 (em SSD) como prioritária. Assim, quando houver pequenas necessidades de uso do recurso, o sistema pode se beneficiar da velocidade do disco em estado sólido (solid state drive).


Eu não teria nada contra em fazer o contrário. Neste caso, o sistema recorreria à partição “mais lenta” nas pequenas emergẽncias — e quando “o bicho pegar”, teria uma tecnologia mais rápida e avançada para usar.
Sem querer me alongar, outra vantagem desta abordagem seria reduzir o desgaste do SSD.
Se você tiver alguma opinião sobre o assunto, ficarei feliz em ler nos comentários 😉


Ao executar o comando swapon, sem qualquer parâmetro adicional, ele exibe informações sobre a configuração atual do seu sistema de swap:


sudo swapon

[sudo] senha para justincase: 
NAME      TYPE      SIZE USED PRIO
/dev/sdb2 partition   3G 1,5G   -2
/dev/sda2 partition 8,8G   0B   -3

A coluna PRIO (priority) mostra qual swap é o prioritário. O que tiver o menor valor será o primeiro a ser usado.
Neste caso, o sdb2 (-2) é o que tem maior prioridade.

Como adicionar mais um dispositivo swap

Tenha cuidado, daqui pra frente. Os procedimento descritos podem fazer você perder dados.
O comando mkswap formata o arquivo/partição em que ele é aplicado.
Você foi avisado.

Em situações de emergência pode ser necessário adicionar mais uma opção de swap ao sistema.
O comando swapon é tudo o que você precisa para esta tarefa.
No meu exemplo, vou adicionar um pendrive USB, com prioridade máxima (-1) à memória virtual.
Trata-se de um dispositivo extremamente lento, comparado aos que já estou usando. Portanto, se eu não estivesse apenas fazendo um teste não haveria motivos para fazer isso.

Neste pendrive há uma segunda pequena partição sem uso, que vou transformar em swap:


sudo mkswap /dev/sdg2

mkswap: /dev/sdg2: aviso: apagando assinaturas antigas de vfat.
Configurando espaço de swap versão 1, tamanho = 2,3 MiB (2387968 bytes)
nenhum rótulo, UUID=41e12683-940c-440c-b5b9-1cd9fe21a5a1

Agora a partição já pode ser usada pelo swapon:


sudo swapon -o discard=pages,nofail /dev/sdg2

Verifique a nova situação do sistema:


sudo swapon

NAME      TYPE      SIZE USED PRIO
/dev/sdb2 partition   3G 1,5G   -2
/dev/sda2 partition 8,8G   0B   -3
/dev/sdg2 partition 2,3M   0B   -4

Agora é possível observar uma nova partição.
Se quiser, é possível colocá-la como prioritária, para ver o impacto que terá sobre o sistema (calafrios…).

Seguindo o procedimento padrão, o swapon colocará a sua nova partição de swap último lugar na lista de prioridades.
Se quiser mudar esta situação, uma maneira rápida de fazer isso é desligando a(s) outra(s) opções de swap existentes.
Isto pode ser feito com o comando swapoff.
No meu exemplo, isto poderia ser feito assim:


sudo swapoff /dev/sda2 /dev/sdb2

Se uma destas partições estiver em uso, ao executar o swapoff, o sistema pode demorar para esvaziar o swap e enviar o conteúdo que ainda tenha relevância para a memória RAM do sistema. Portanto, tenha bastante paciência.

Por fim, para reverter o processo todo, quando terminar de brincar, use o swapon para reativar a sua memória virtual.

Proteja o disco rígido do seu notebook Linux contra quedas

Quando um laptop cai no chão, da altura de uma mesa ou da sua cintura, vários de seus componentes pode ser danificados.
Um dos componentes mais sensíveis é o disco rígido (HDD).
O maior problema, neste caso, não são os danos físicos, uma vez que ele sempre pode ser substituído por outro.
O maior problema, ao danificar um HD, é perder todos os seus dados.
O disco rígido é composto de várias peças e partes móveis, como sabemos. Após a queda, quando ele chega ao chão, estas peças funcionam como armas — umas contra as outras.
O braço mecânico e a ponta da cabeça de leitura, podem destruir uma quantidade significativa de dados gravados nos discos, durante o processo de desaceleração brusca — sem qualquer chance de recuperação.
O software que vou apresentar, neste post, trabalha na detecção de situações típicas de queda e “ordena” que o sistema recolha imediatamente os braços de leitura/gravação dos discos rígidos.
A partir daí, as possibilidades de recuperação dos seus dados podem ser bem maiores.
Mesmo que o HD não funcione mais, se os discos ainda estiverem inteiros, ainda será possível entregá-los a uma empresa de recuperação de dados, para tentar extrair e salvar as informações de dentro deles.

O que é o hdapsd

O acrônimo significa Hard Drive Active Protection System — Sistema Ativo de Proteção ao Disco Rígido.
De acordo com a descrição oficial, o HDAPS é um daemon voltado para laptops de diversas marcas que possuam sensores de movimento (motion sensor).
Sua função é proteger o disco rígido do seu sistema, com o monitoramento constante dos valores de aceleração.
Assim que o daemon detecta uma queda ou um deslizamento brusco do seu notebook, ele age, fazendo com que as cabeças de leitura/gravação “estacionem” (parking).

Verifique no manual do seu produto ou pergunte ao vendedor se o seu equipamento possui sensor de movimento. Sem isso, o hdaps é inútil.

A versão atual (20141203) do hdapsd tem suporte às seguintes interfaces:

  • IBM/Lenovo ThinkPad (HDAPS)
  • Apple iBook/PowerBook (AMS)
  • Apple MacBook/MacBook Pro (APPLESMC)
  • HP (HP3D)
  • Dell (FREEFALL)
  • Toshiba (ACPI and HAPS)
  • Acer (INPUT)

No Debian/Ubuntu, é possível obter estas informações (lista, acima), bem como da versão do hdapsd, com o comando apt, antes de instalar:

apt show hdapsd

Se você tem um Lenovo Thinkpad, é recomendado usar o módulo hdaps, que já vem no pacote tp-smapi-dkms ou tp-smapi — que consome menos energia e tem compatibilidade com uma quantidade maior de equipamentos da linha Thinkpad.


Como instalar e usar o hdapsd

O daemon começa a funcionar logo após a instalação.
Para instalar no Debian/Ubuntu, use o apt:

sudo apt install hdapsd

O arquivo de configuração padrão, pode ser encontrado em /etc/hdapsd.conf.
Dentro dele, podemos indicar exatamente qual o dispositivo (sda, sdb etc.) a ser protegido e qual a sensibilidade desejada para a interface do sensor (sensitivity).
O valor padrão de sensibilidade é 15. Se quiser que ele seja mais sensível (recomendado!), use um valor mais baixo.

Recupere o seu sistema de arquivos com o TestDisk

O TestDisk é uma ferramenta poderosa e útil para recuperar dados de dispositivos de armazenamento, como HDs, SSDs, pendrives, cartões de memória etc.
Originalmente, foi projetado para recuperar partições perdidas, danificadas e/ou fazer discos, que não estão dando boot mais, voltar a dar boot — quando estes sintomas forem causados por softwares defeituosos, vírus ou remoção acidental da tabela de partições.
A tarefa de recuperar tabelas de partições é relativamente fácil com o TestDisk.
testdisk logo
Neste texto, vou apresentar o aplicativo, mostrar como ele pode ser instalado e dar algumas dicas iniciais para o processo de recuperação dos dados.

O que dá pra fazer com o TestDisk

Dentre as tarefas possíveis com o aplicativo, a wiki oficial (link no final do texto) cita as seguintes:

  • Concertar a tabela de partições e recuperar partições removidas acidentalmente
  • Recuperar o setor de boot de uma partição FAT32 a partir do seu backup
  • Reconstruir setores de inicialização (boot sectors) de partições FAT12/FAT16/FAT32
  • Consertar tabelas FAT
  • Rebuild NTFS boot sector
  • Recover NTFS boot sector from its backup
  • Corrige o MFT, usando o MFT mirror
  • Localiza o Backup SuperBlock dos sistemas de arquivos ext2, ext3 e ext4
  • Recupera arquivos apagados da FAT, da exFAT, partições NTFS e ext2
  • Copia arquivos apagados a partir de sistemas FAT, exFAT, NTFS, ext2, ext3 e ext4

O utilitário tem recursos voltados para usuários novatos e avançados.
Se você tem pouco conhecimento sobre técnicas de recuperação de dados, pode usar o TestDisk apenas para coletar informações detalhadas sobre um dispositivo que não está inicializando e enviá-las para a análise de um técnico.
Sistemas operacionais suportados pelo TestDisk:

  • DOS
  • Windows (NT4, 2000, XP, 2003, Vista, 2008, Windows 7 (x86 & x64), Windows 10
  • Linux
  • FreeBSD, NetBSD, OpenBSD
  • SunOS
  • MacOS X

Ao final do texto, segue o link para download do aplicativo para a sua plataforma preferida.
Neste artigo, vou focalizar o uso do TestDisk no Linux (Debian 8.2, para ser mais preciso) — você pode facilmente adequar os conceitos explicados aqui a outra distribuição GNU/Linux ou plataforma de sistema operacional.

Sistemas de arquivos suportados

De acordo com a wiki, o TestDisk suporta os seguintes sistemas de arquivos:

  • BeFS ( BeOS )
  • BSD disklabel ( FreeBSD/OpenBSD/NetBSD )
  • CramFS, Compressed File System
  • DOS/Windows FAT12, FAT16 and FAT32
  • XBox FATX
  • Windows exFAT
  • HFS, HFS+ and HFSX, Hierarchical File System
  • JFS, IBM’s Journaled File System
  • Linux btrfs
  • Linux ext2, ext3 and ext4
  • Linux GFS2
  • Linux LUKS encrypted partition
  • Linux RAID md 0.9/1.0/1.1/1.2
  • RAID 1: mirroring
  • RAID 4: striped array with parity device
  • RAID 5: striped array with distributed parity information
  • RAID 6: striped array with distributed dual redundancy information
  • Linux Swap (versions 1 and 2)
  • LVM and LVM2, Linux Logical Volume Manager
  • Mac partition map
  • Novell Storage Services NSS
  • NTFS ( Windows NT/2000/XP/2003/Vista/2008/7 )
  • ReiserFS 3.5, 3.6 and 4
  • Sun Solaris i386 disklabel
  • Unix File System UFS and UFS2 (Sun/BSD/…)
  • XFS, SGI’s Journaled File System
  • Wii WBFS
  • Sun ZFS

Como instalar o TestDisk

Em distribuições baseadas no Debian, como é o caso do Ubuntu, Linux Mint e várias outras, é possível baixar e instalar diretamente dos repositórios oficiais, com o comando apt-get:

sudo apt-get install testdisk

se você prefere usar o aptitude (ideal, no Debian):

sudo aptitude install testdisk

Para executar o aplicativo, rode o comando testdisk no terminal.
Captura de tela do testdisk
A versão, que você vê na imagem acima, é a versão em modo texto.
Você também pode encontrar o TestDisk dentro de várias distribuições Live CD — ideal para suporte técnico ou no caso de você ter perdido acesso ao seu sistema por causa de problemas no disco rígido.
Como usar:

  • Para fazer uso do aplicativo, use as setas (no teclado), para se movimentar entre as opções do menu.
  • Para prosseguir e confirmar suas opções, use a tecla Enter.
  • Você pode usar a tecla ‘q’ (quit) para voltar às opções anteriores.
  • Para gravar as mudanças, use a tecla ‘y’ (yes) e Enter, para confirmar.
  • A opção ‘Write” é usada para registrar as mudanças na MBR (Master Boot Record).

Por fim, é necessário ter privilégios administrativos (superusuário) para usar a maior parte dos recursos do programa.

Alguns detalhes que você precisa entender

Antes de começar a trabalhar na recuperação do seu sistema de arquivos, é preciso entender que não há garantias de que você irá recuperar coisa alguma depois de um acidente ou desastre.
Suas chances de recuperar dados importantes são aleatórias — boa sorte!
Prepare-se psicologicamente para o pior.
Por mais que eu queira simplificar esta tarefa, a recuperação de dados é algo complexo e você pode facilmente causar mais danos ao sistema, piorando ainda mais a situação.

Se as informações são muito importantes para você, pergunte-se se não vale mais a pena pagar a um especialista para realizar os procedimentos necessários para a recuperação.

Não raro, a tarefa exige destreza no uso da linha de comando, conhecimento sobre partições, geometria de discos rígidos, compilações e, possivelmente, entender o conteúdo de arquivos a partir de um hex editor.
É muito importante não fazer nada, antes de ter certeza do que você está fazendo.

Referências

Como recuperar seu sistema de arquivos com o FSCK: https://elias.praciano.com/2014/03/como-verificar-e-consertar-seu-sistema-de-arquivos-no-ubuntu/
Download do TestDisk: http://www.cgsecurity.org/wiki/TestDisk_Download
Wiki do TestDisk, no CGISecurity: http://www.cgsecurity.org/wiki/TestDisk
Dedoimedo: http://www.dedoimedo.com/computers/linux-data-recovery.html

Como desmontar o HD externo WD Elements

Veja, neste post, como abrir com segurança o invólucro de plástico de um HD externo com o objetivo de reutilizá-lo no notebook ou trocá-lo por outro de maior capacidade.
As imagens mostram, por si, o que é possível fazer com este dispositivo de armazenamento, fora da sua caixinha.
wd-elements_feat300x200b
Se você já desmontou um HD externo e quiser postar alguma informação, sinta-se à vontade para fazer isto na sessão de comentários.

É possível conectar diretamente o HD externo em meu notebook?

Se você tiver sorte, sim.
Em alguns casos, a interface de conexão é exclusivamente USB. Nestes casos, portanto, não vai ser possível conectá-lo em outro lugar.
Se você danificar o conector USB, provavelmente sequer poderá trocar a placa a que ele estiver soldado — uma vez que esta interface tem também a função de criptografar os dados.

Como desmontar um HD externo

A grande maioria dos HDs externos é composta por um conjunto:

  • um HD comum (usualmente, de 2,5 polegadas)
  • um invólucro de plástico, feito para proteger o dispositivo de pequenos choques ou pequenas quedas (não confie demais nisto)
  • uma interface (removível ou não) entre o HD e a conexão USB — ou entre a interface SATA e a conexão USB

O invólucro de plástico, normalmente, é montado e não aparafusado.
Você precisa afastar cuidadosamente os encaixes de plástico da tampa, para poder separar as duas partes do case.

WD Elements desmontado
Clique para ampliar.

Nas imagens, o exemplo é de um dos modelos WD Elements. O princípio de desmontagem é quase sempre o mesmo. O que muda é o formato das caixas de plástico e os posicionamentos das travas de encaixe.
Abertura do invólucro plástico do WD Elements
Clique, para ver detalhes.

É possível fazer a desmontagem com uma faca de cozinha, sem ponta, desde que ela seja fina o suficiente para passar pelas frestas do invólucro.
Detalhes do encaixe
Clique para ver detalhes.

Faça a desmontagem sempre com o dispositivo desconectado e desligado.
HD Externo WD Elements
Clique para ampliar.

Internamente, o disco rígido usado é o mesmo que se usa em qualquer notebook.

  • Leia este artigo, para saber como descobrir mais sobre o seu HD externo, sem precisar abrir a caixa.

Proteção de borracha do HD.
Clique para ampliar.

Na lateral do drive, encontram-se pequenas peças de borracha, chamadas bumpers, que ajudam a protegê-lo de pequenos choques.
Evite danificá-los.
Interface USB 3.0 do HD externo Western Digital WD Elements
Clique para ampliar.

Quando a conexão USB está soldada à placa e esta é integrante de todo o conjunto — no caso da foto acima, não existe outra interface (nem SATA, nem nada).
Se a interface USB 3.0 for danificada você provavelmente vai perder toda a funcionalidade do seu HD externo — e, em consequência, o acesso aos seus dados.

Muitas pessoas já fazem uso do HD externo como mídia de backup.
Minha recomendação é que você faça também backup do seu HD externo em outro lugar — até por que ele está mais propenso a ser danificado em acidentes do que qualquer outro dispositivo interno.

HD WD 1.0 TB Western Digital
Clique para ampliar.

Acima, mais uma imagem do HD.
HD Externo WD Elements desmontado
Clique para ampliar

Montar novamente não é difícil. Normalmente basta posicionar as peças e pressionar levemente, para que se encaixem adequadamente.
Veja, no vídeo abaixo, como desmontar um HD externo WD Passport 2 TB. O processo é muito semelhante no WD Elements.

Recupere dados do seu HD, congelando-o

Esta técnica é um tanto controversa. Embora muitos usuários e profissionais relatem ter recuperado dados após deixar o HD dentro de um congelador por um tempo (de 1 a 12 horas), há motivos para não fazer isto.
O propósito deste texto é demonstrar o processo e discutir sua real funcionalidade — por que isto pode dar certo e por que pode dar muito errado.
Termômetro congelado

Como fazer

Se você quiser garantir que tudo dê certo, precisa seguir alguns passos:

  1. Remova o disco rígido de dentro do PC ou do notebook (se não for um HD externo).
  2. Guarde o HD dentro de uma embalagem de plástico. Use uma embalagem antiestática. Você deve reembalar várias vezes o HD. Usar plástico bolha ajuda a proteger o equipamento contra choques.
    Jamais coloque um disco rígido sem proteção alguma dentro do congelador.
  3. Agora posicione o HD dentro do congelador.
  4. Deixe-o lá por um período de 1 a 12 horas — 2 horas podem ser o suficiente.
  5. Passado este tempo, remova-o e reinstale no seu PC ou reconecte-o, se for um HD externo.
  6. Copie os seus dados pro PC. Ele vai voltar a esquentar, durante o uso — portanto garanta que os dados mais importantes sejam transferidos primeiro.
  7. Se ele parar de funcionar, repita o processo de congelamento e comece a copiar novamente a partir do ponto em que parou — até conseguir retirar todos os dados existentes.

Como dica adicional, se o drive em questão for um drive externo USB, é possível mantê-lo dentro do congelador de um frigobar, enquanto você o opera de um notebook.
Outra coisa importante é estar pronto pra começar a fazer o backup de seus arquivos mais importantes, assim que você retirar o HD do congelador — ele não vai demorar muito tempo até atingir uma temperatura superior à do ambiente e, provavelmente, parar de funcionar novamente.

Por que pode dar errado

Embora haja relatos de usuários e técnicos que conseguiram recuperar dados através desta técnica, eu vou colocar as minhas dúvidas sobre este processo.
Em alguns casos, a placa de circuitos acoplada ao HD pode estar desgastada e, por ter sido feita de material vagabundo, pode estar, até mesmo rachada, ressecada ou ter algum outro problema que pode estar causando o superaquecimento dos componentes eletrônicos — os materiais se expandem quando aquecidos.
O congelamento do HD, irá contrair os diversos materiais do aparelho, o que pode trazê-lo de volta à vida por algum tempo, como já vimos.

Entrada de ar em um HD
Clique para ampliar.

Existe um mito de que o HD tem vácuo dentro.
Os HD atuais convivem bem com ar dentro de si e chegam a ter, até mesmo, entradas de ar. Portanto, nem todos os drives trabalham com vácuo interno
Ao congelar um HD, o ar interno irá condensar, formando, inclusive cristais de gelo, sobre os pratos.
Ao pôr um equipamento congelado pra funcionar, a fricção do gelo com entre os pratos e a cabeça de leitura podem tornar os danos ainda maiores.
O pessoal da ACS Data Recovery, uma empresa especializada em recuperação de dados, tem um vídeo no Youtube (veja abaixo) mostrando o que acontece a um HD, após mais de 4 horas dentro de um freezer.

Segue um resumo, para ajudar a entender o vídeo:

  • 2:26 — o técnico chama a atenção pro fato de que, quando a técnica de congelamento funciona, isto ocorre por que havia problemas na placa de circuitos.
  • 3:23 — mostra a entrada de ar do drive que ele tem em mãos.
  • 9:50 — após a remoção da tampa do disco rígido, mostra o resultado: cristalização, condensação e gelo. Isto fica mais claro, ainda, quando ele gira, manualmente, o disco.

Algumas pessoas chamam a atenção pro fato de que a condensação ocorreu depois que o HD foi aberto (nos comentários do vídeo) — o técnico afirma que o equipamento estava selado e novo e só parou de funcionar depois do processo de congelamento.
Ele é enfático no sentido de não usar esta técnica para recuperar seus dados — ao mesmo tempo, ele sugere que você contate a empresa para a qual ele trabalha, para recuperar os seus dados. Isto, contudo, não invalida seus argumentos.

Conclusão

A opção é sempre sua e eu não vou tomar decisões no seu lugar.
Contudo, não aplique esta técnica em um drive ainda funcional ou se você ainda não tentou outras formas de recuperação de seus dados — Use o congelamento apenas como último recurso.