Estou martelando meu SSD mantendo um link simbólico sobre ele?

4

Em vez de configurar o meu servidor Nextcloud (Linux / Nginx / PGsql / PHP) para procurar uma pasta na minha unidade de disco giratória montada em /mnt/HDDfs/ , eu Sym-Linked /var/Nextcloud_Data para que aponte para /mnt/HDDfs/Nextcloud_Data e depois apontou minha configuração do Nextcloud para /var/Nextcloud_Data . Dessa forma, se eu decidir mudar o nome do meu ponto de montagem, não preciso tocar no banco de dados, pois posso simplesmente editar o Link simbólico.

A princípio pareceu uma ótima idéia, mas depois lembrei que a minha raiz / drive é um SSD, que só pode suportar um desgaste limitado em comparação com um prato magnético tradicional; mesmo que o uso por uso seja marginal nos discos de hoje em dia, martelar células específicas de uma unidade repetidamente não é exatamente a melhor idéia.

O que eu estou perguntando é: quando um programa carrega e / ou grava em um local com um symlink, o SO carrega o symlink toda vez a partir do local de origem e depois o segue para o alvo real e executa ações lá ou "cache" links simbólicos e traduzir /var/Nextcloud_Data/filename para /mnt/HDDfs/Nextcloud_Data/filename diretamente?

Informações adicionais:

  • Sistema operacional: Ubuntu Server 18.04 LTS com todos os patches e upgrades mais recentes.
  • Unidades de disco: um disco rígido WD RED conectado via SATA e um SSD PCIe M.2 (Samsung 960 EVO).
  • File Systems: ambas as unidades são formatadas em GPT com sistemas de arquivos Ext4 .
  • Placa-mãe: Asus Z170-Deluxe (uma desktop board)
por Manchineel 12.10.2018 / 20:01

1 resposta

11

Tudo bem, por vários motivos.

Primeiro, a preocupação com as unidades flash é o número de gravações, não o número de leituras.

Em segundo lugar, essa preocupação se aplica a unidades mais antigas ou mais baratas com firmware ou drivers ruins, mas não a unidades modernas em sistemas operacionais modernos. Modern SSD tem bom o suficiente desgaste nivelamento e sistemas operacionais modernos têm drivers que distinguem substituir de apagar ( TRIM ) por isso é preciso muito tempo antes que o número de gravações comece a se tornar uma preocupação. Nessa idade, os acionamentos magnéticos são frequentemente mortos por motivos mecânicos, como umidade ou poeira no local errado ou danos mecânicos.

A leitura por meio de um link simbólico pode atualizar seu tempo de acesso, dependendo da configuração do sistema. O Linux usa como padrão a atualização do horário de acesso de um arquivo apenas uma vez por dia . Portanto, mesmo que houvesse uma preocupação com o número de gravações na unidade, uma gravação seria um dia, não um acesso por meio do link simbólico.

O kernel mantém informações sobre o link simbólico em seu cache de disco como qualquer outra informação que ele lê do disco. Ele não mantém um cache que diz " /var/Nextcloud_Data/filename redireciona para /mnt/HDDfs/Nextcloud_Data/filename ", mas mantém um cache que diz " /var/Nextcloud_Data é um link simbólico cujo destino é /mnt/HDDfs/Nextcloud_Data ". Isso significa que, enquanto a entrada do cache ainda estiver presente, ela não será lida na unidade. Isso não tem relação com a frequência com que o tempo de acesso é atualizado: isso é uma função de quando o arquivo é acessado, e não de quando as informações sobre o arquivo são transferidas da unidade.

    
por 12.10.2018 / 20:28