sexta-feira, 24 de abril de 2020

Utilizando um SSD ao lado de um HD em micro desktop



Nesta dica que também é ao mesmo tempo um pequeno depoimento pessoal da minha utilização de um SSD pela primeira vez, relatarei os passos da minha instalação e do uso do mesmo.

A utilização de um SSD 2,5" atualmente no Linux é muito fácil não precisando mais fazer configurações complexas manualmente como era feito nos primeiros SSDs pois nas grandes distros com versões mais recentes seu SSD será reconhecido e o comando fstrim será executado uma vez por semana automaticamente em segundo plano, podendo você continuar trabalhando no seu computador normalmente sem você tomar conhecimento que isto está sendo feito, para não ter que se lembrar de fazer isto manualmente.

Foi utilizado um SSD de 120 GB de capacidade de armazenamento da WD Green, onde foi utilizado um pendrive de boot com o Lubuntu Xenial 64 bits gravado com o Etcher.
Como eu não tinha nenhuma experiência com SSDs conectei o mesmo em uma porta SATA livre do gabinete e desconectei os cabos do HD (mas não era necessário fazer isto), a bios já utilizava o modo AHCI para SATA como default da configuração não precisando mexer em nada e a mesma já estava configurada como UEFI pois o HD possui tabela gpt.

Deixando somente o SSD conectado a placa mãe fiz um boot com um live pendrive do Lubuntu no modo experimentar primeiro.

É recomendado que a Bios UEFI esteja em modo AHCI para SATA e que a mesma esteja configurada para o modo UEFI para usar a tabela de partição gpt tanto para os HDs modernos e pra a mídia SSD que melhora bastante do desempenho mesmo em micro desktop.  

Um detalhe importante em computadores desktop é que muitas placas mães possuem conectores SATA II e SATA III na mesma placa mãe e se o seu SSD for um SATA III o mesmo deve ser conectado no slot SATA III para que ele funcione com sua velocidade máxima.
Caso você conecte ele em um slot SATA II ele vai funcionar sem problemas, mas a sua velocidade será reduzida pela metade.


Vendo como é reconhecido o SSD no comando fdisk no boot pelo pendrive

$ sudo fdisk -l /dev/sda
Disk /dev/sda: 111.8 GiB, 120040980480 bytes, 234455040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Meu SSD tem 120 GB mas aparece como 111.8 Gib ? Não se assuste com isto você não foi enganado é apenas uma grandeza de medida de valor diferente, pois Gib e GB são escalas de valores diferentes sendo isto normal também no Windows (120040980480 bytes corresponde a 120 GB).

Foi utilizando o Gparted para particionar o SSD pelo live pendrive do Lubuntu.

Definindo o tipo de tabela ( 1º item a começar)

Ao iniciar o Gparted, utilizando um SSD novo sem particionamento, clique no espaço não alocado e ir no menu Device/Create partition e escolha Select new partition table... em Type selecione gpt e clique em Apply.

Criando as partições

Selecionando sempre o espaço unallocated utilizando o botão direito do mouse escolha a opção New e fiz conforme a ordem abaixo.


Partição do efi
Digite o valor 200 (200 MB) em Criar como: selecione Partição Primária em Sistema de arquivos selecione: FAT32

Observação:
Não é necessário ser de 200 MB pode ser até menos, pois no HD que tem uma partição efi também os arquivos dos 3 S.O. nela ocupam 31 MB de espaço (Windows 10, Debian Stretch e Xubuntu 18.04) mas fiz com um bocado de folga para evitar problemas.

Partição do swap (opcional
Vai conforme o tipo de uso do pc, é recomendável se você costuma suspender/hibernar e se você executa as vezes tarefas pesadas e tem somente 4 GB de RAM ou menos. Não se preocupe seu SSD não vai degastar tanto assim caso você faça uso ocasionalmente do swap, pois seu SSD vai durar por muitos anos ainda (salvo se você utilizar 100% todos os dias intensivamente, então neste caso é melhor adicionar mais memória RAM).

Digite o valor 2000 (2000 MB = 2 GB) para o swap em Criar como: selecione Partição Primária, em Sistema de arquivos, selecione: linux-swap

Partição raiz do Linux
Digite o valor 65000 (65000 MB = 65 GB), Criar como: selecione Partição Primária, em Sistema de arquivos selecione: Ext4

O restante que sobrou
O restante que sobrou será utilizado como partição de backup
Os 47279 MB (46 GB) que sobrou, todo ele será utilizada para guardar arquivos.
Criar como: selecione Partição Primária, em Sistema de arquivos, selecione: Ext4

Clique em Aplicar para salvar tudo.

Depois selecione a partição do efi e utilizando o botão direito do mouse escolha a opção Manage flags (“Gerenciar sinalizadores” em português) e marque a opção "esp" que automaticamente será marcado junto a opção boot e finamente clique no botão Aplicar. A opção "esp" é que diz pra o sistema que é uma partição para boot com efi.

Pronto, depois de aplicada as alterações reinicie o computador dando um boot pelo live pendrive do Lubuntu novamente e escolhi a opção de Instalar direto.

Notas:
A opção "Manage flags" somente fica disponível depois que você concluir o particionamento e clicar no botão Aplicar.

Não é necessário reiniciar para instalar o Lubuntu, mas eu fiz isto para ver ser não haveria problemas de reconhecimento do particionamento fazendo um novo boot limpo para depois instalar.


Esclarecimentos

Arquivo swap

Porque coloquei uma partição swap no SSD?

Porque queria ter uma ideia do desgaste de gravações/regravações em um computador tendo apenas uma mídia SSD ou seja sem HD e minha intenção inicial seria de colocar este SSD depois em um notebook, por isto também já criei a partição EFI nele, mas de qualquer forma a meu ver pelo menos acho que é necessário ter uma partição EFI em cada mídia diferente que possuir um sistema operacional instalado num mesmo computador (minha opinião).

Vir muito dizeres que o swap no SSD irá desgastar o mesmo de tantas regravações, mas isto depende muito pois para um usuário doméstico que eventualmente executa muitos processos pesados, o swap será o menor dos problemas e sim o hábito de utilizar várias abas abertas do navegador, assistir muitos filmes online ou muitos vídeos no Youtube, ou para quem faz muita pesquisas e acessa sites grandes com páginas pesadas cheias de animações e imagens constantemente isto sim detonara o seu SSD se você se preocupa muito com isto pois o cache do seu navegador certamente terá 1 GB ou mais em apenas um dia, imagine todos dos dias. Quem gosta de experimentar sempre programas novos quase todos  os dias instalando e removendo os mesmos, principalmente programas grandes (jogos pesados com 1 GB ou mais de espaço, isto sem contar o download do arquivo).

Eu em 40 dias seguidos utilizando o SSD, o swap foi utilizando entre 3 ou 4 vezes e o maior uso dele foi de apenas 5% quando tinha 2 navegadores de Internet diferentes abertos e com algumas abas em cada um deles e outras aplicações em execução, portanto o swap não será um grande problema neste caso.

Qual o limite de gravações/regravações do SSD

Quando maior o TBW do SSD mais gravações/regravações você poderá fazer nele.
TBW corresponde a vida útil do seu SSD que significa “terabytes written” ou no bom português "terabytes gravados".

Num SSD de 120 GB com TBW 40 (significa 40 terabyte) e fazendo todos os dias 20 GB em gravações/regravações quando tempo levará para atingir os 40 terabytes que é a vida útil deste SSD.

Calculando:
20 GB * 365 dias = 7300 GB (gigabyte) que corresponde a 7,3 TB (terabyte) * 5 anos =  36.500 GB ou 36,5 TB (terabyte)

Então seu SSD vai durar por 5 anos, mais precisamente 5,5 anos, já que fiz arredondado o ano.

E depois que atingir o limite de gravações do TBW ?

O SSD não vai parar de funcionar ou queimar, mas este é o limite de gravações garantida pelo fabricante, onde ele continuara a funcionar mas neste caso ele poderá não ter mais o mesmo desempenho, poderá apresentar setores defeituosos e outros problemas variados, a grosso modo você pode comparar como se fosse uma bateria de Lítio, depois de tantas ciclos de recargas completa ela não mais segura a carga e não carrega totalmente pois suas células estão deterioradas pois perdeu sua vida útil.

Deste o dia da instalação do Lubuntu em 31 de janeiro que é o meu S.O. principal agora, o qual utilizo ele todos os dias já tenho 122 GB de gravações/regravações realizada no SSD, onde o sistema operacional mais a pasta do usuário  ocupam 20 GB de espaço, até o dia da escrita deste relato.

Preciso configurar algo no sistema para usar o SSD ?

Normalmente não é preciso fazer configuração manualmente nenhuma em seu Linux, mas isto pode depender da distro, mas se quiser melhorar um pouco a performance pode colocar a opção noatime na linha da montagem do seu sistema no arquivo /etc/fstab.  Também pode usar a opção discard nele que fará o mesmo serviço do fstrim só que online ou seja em tempo real a todo instante assim que você apaga/mover arquivos, mas um detalhe e que esta opção não deve ser utilizado caso o SSD não suporta NCQ e TRIM que é o caso dos SSDs muitos antigos ou de baixa qualidade pois deixará o seu sistema lento.
Se no seu sistema existir o arquivo /etc/cron.weekly/fstrim deixe a manutenção do SSD por conta dele que fará a limpeza do SSD uma vez por semana automaticamente.

Eu usei inicialmente durante uns 20 dias a opção discard na linha da partição raiz junto com o arquivo /etc/cron.weekly/fstrim e não tive problemas de lentidão e depois removi a mesma deixando somente agora por conta do arquivo /etc/cron.weekly/fstrim onde não deu diferença nenhuma no desempenho do sistema, portanto fica a sua escolha.

Exemplo da linha da partição / do sistema com SSD no /etc/fstab utilizada inicialmente por mim.


UUID=5b47f8f8-880a-4d51-82c2-1b673e09af4b /       ext4    noatime,discard,errors=remount-ro 0       1

Nota:
Algumas distro com systemd usam um arquivo .service para o TRIM no lugar do /etc/cron.weekly/fstrim.


Descobrindo se o SSD suporta NCQ e TRIM pelo hdparm

$ sudo hdparm -I /dev/sda | grep -i ncq
   * Native Command Queueing (NCQ)

$ sudo hdparm -I /dev/sda | grep -i trim
   * Data Set Management TRIM supported (limit 8 blocks)
   * Deterministic read data after TRIM


Programas para verificar a saúde de HDs e SSDs

Instale os pacotes smartmontools ou HDSentinel.


Temperatura do SSD

Um fato curioso é que a temperatura do SSD é sempre maior que a do HD variando entre 8 a 14 ºC a mais em relação ao HD, não importando se o boot foi feito pelo HD ou SSD neste micro desktop que possuem ambos. Se a temperatura do SSD não ultrapassar os 50 ºC está tudo bem, sendo o limite máximo suportado pelo meu SSD de acordo com o fabricante é de 70 ºC.


Após instalação do Lubuntu

Após instalado o Lubuntu, desliguei o pc e reconectei os cabos do HD e ligando o pc normalmente, como o Lubuntu era o único sistema operacional instalado no SSD (já que HD não estava ligado na placa mãe durante a instalação) o menu do grub não é apresentado neste caso iniciado diretamente no Lubuntu já mostrado a tela de login.

O Grub, opta por default em não mostrar o menu na inicialização quando não existir outro sistema operacional instalado durante o processo da instalação, então para exibir sempre o menu na inicialização eu fiz numa janela de terminal.

sudo nano -w /etc/default/grub

e comente adicionando um "#" na frente da linha:

GRUB_HIDDEN_TIMEOUT=0

que deverá ficar assim:

# GRUB_HIDDEN_TIMEOUT=0

No mesmo arquivo configure o tempo para boot automático em 10 segundos (ou menos se desejar)

GRUB_TIMEOUT=10

veja se a opção "true" está habilitada na linha abaixo:

GRUB_HIDDEN_TIMEOUT_QUIET=true

Save o arquivo, e use o comando:

sudo update-grub


Após reiniciado o computador agora eu posso escolher no Grub do Lubuntu que foi atualizado se quero usar o Windows 10, Debian 9 ou Xubuntu 18.04 pois os mesmos foram adicionados automaticamente e que estão instalado no HD ou escolher usar o Lubuntu 16.04 que está sozinho no SSD.

Vale ressaltar se você atualizar o Grub ou usar o apt upgrade (ser for atualizado o kernel ou o grub) de qualquer uma das distros do HD este passará a ser o padrão na inicialização, mas sempre se pode alterar pela Bios uefi qual iniciar como padrão ou atualizar manualmente o grub da sua distro predileta para sobrepor o da outra distro.


Benefícios de um SSD

Muita rapidez ao iniciar o sistema e também na inicialização de programas.

Num pc desktop com cpu Intel Celeron G1820 dual core com cache L2 de 2 MB 4 GB de RAM e clock 2.7 Ghz.

Boot da tela do Grub até a tela de login do Lubuntu Xenial em apenas 8 segundos, depois mais 2 segundos para exibi totalmente o desktop.
A seguir a execução do Firefox, LibreOffice e WPS Office, ambos em torno de 5 segundos  para inicialização total, sendo executado seguidamente um atrás do outro quando terminou a inicialização completa de cada um.

Já em um notebook Samsung com HD utilizando uma cpu Intel I3 dual core cache L3 de 3 MB 4 GB de RAM e clock 2.30 Ghz

Boot da tela do Grub até a tela de login do Lubuntu Xenial em 45 segundos, depois mais 11 segundos para exibi totalmente o desktop.
A seguir a execução do Firefox e o LibreOffice ambos em torno de 10 segundos apenas para inicialização total, sendo executado seguidamente um atrás do outro quando terminou a inicialização completa de cada um.