Usando LVM com unidades SSD e SATA

22

Vi nesta pergunta que é possível colocar um SSD e um disco rígido SATA padrão em um único grupo de volumes LVM (VG).

Como isso afeta o desempenho?

Existe uma maneira de forçar o sistema operacional a estar no SSD enquanto os dados estão na unidade SATA em um único grupo de volumes?

Existem bons whitepapers sobre o uso do LVM com diferentes tipos de unidades?

Seria benéfico criar um VG para cada tipo de drive e / ou velocidade? Eu estava pensando em criar um VG para SSDs e um para SATA (e para cada tipo de unidade que eu possa adicionar no futuro).

usuario
fonte
Minha intuição é que seria uma péssima idéia colocar um disco rígido SSD e um disco rígido convencional no mesmo grupo de volumes.
Samiam
@ Samiam esse foi o meu pensamento inicial. Eu não tinha certeza se havia maneiras de dizer ao LVM para sempre colocar dados que vão para esse diretório e para sda e sempre colocar dados que vão para outro diretório no sdb.
22414 Nick
@ Graeme, que fala muito sobre desempenho, mas não vi nada relacionado a abranger diferentes tipos de disco, que é o que mais me preocupa. Se eu perdi alguma coisa, indique-a.
22414 Nick
Nick: Não consigo responder sobre o LVM de cima para baixo, mas sim, é possível configurá- /etc/fstablo /para um SSD, mas qualquer coisa abaixo /homeestá em um disco rígido convencional. Isso geralmente é uma opção durante a instalação de qualquer sistema Linux moderno ( /homeseria um "ponto de montagem" na escolha de alguma forma de "opções avançadas")
Samiam

Respostas:

8

O LVM não faz distinção entre um disco rápido e um disco lento. Não parece uma boa idéia colocar esses discos em um grupo de volumes LVM.

Além disso, é sempre bom montar seu /tmpdiretório em um SSD que ofereça uma enorme velocidade, especialmente para aplicativos que o utilizam como compilação.


fonte
4
Coloque /tmpem tmpfs. Mais desempenho, menos desgaste no SSD (ou no disco rígido). As leituras muito rápidas do SSD o tornam mais útil para dados lidos com mais frequência do que gravados.
Gilles 'SO- stop be evil'
isso foi descoberto como uma vulnerabilidade e não é mais fornecido por muitas distribuições.
5
Meh. Geralmente, eu quero que os arquivos /tmpsejam limpos na reinicialização - se eles devem ficar, /var/tmpé para isso. Eu uso tmpfs há /tmpanos em muitas máquinas e nunca cheguei perto de ficar sem espaço de troca, e não tenho quantidades atipicamente pequenas de dados /tmp, portanto esse argumento é falso. De qualquer forma, não é uma vulnerabilidade - essa palavra implica um problema de segurança.
Gilles 'SO- stop be evil'
1
parece que você não tem nenhum usuário ruim para servir. Se você não quiser chamá-lo de vulnerabilidade, chame-o de prejudicial; de qualquer forma, não é recomendado, exceto que você saiba o que está fazendo.
8

O que você pode fazer nas versões recentes do LVM é criar um LV de "origem" no HDD e um LV de "pool de cache" no SSD e combiná-lo em um único LV de "cache". Ele tem o mesmo tamanho que o LV de “origem” (ou seja, você só tem tanto espaço quanto no HDD), mas os blocos e metadados frequentemente usados ​​são armazenados em cache no SSD para melhorar o desempenho.

A essência disso é, supondo que você já tenha um VG abrangendo as duas unidades:

lvcreate -l 100%PVS -n your_name YourVG /dev/YourHDD
lvcreate --type cache-pool -l 100%PVS -n your_name_cache YourVG /dev/YourSSD
lvconvert --type cache --cachepool YourVG/your_name_cache YourVG/your_name

Depois disso, você terá um your_nameLV que poderá ser usado como qualquer outro LV e vários LVs internos que você poderá ver lvs -a YourVG.

Por exemplo, configurei um sistema de arquivos raiz criptografado em uma partição SSD ( /dev/sda3) e uma partição HDD ( /dev/sdb1) com os seguintes comandos:

pvcreate /dev/sda3 /dev/sdb1
vgcreate RootVG /dev/sda3 /dev/sdb1
lvcreate -l 100%PVS -n cryptroot RootVG /dev/sdb1
lvcreate --type cache-pool -l 100%PVS -n cryptroot_cache RootVG /dev/sda3
lvconvert --type cache --cachepool RootVG/cryptroot_cache RootVG/cryptroot
cryptsetup luksFormat --type luks2 /dev/RootVG/cryptroot

Você pode encontrar mais detalhes sobre este post ou este . (O primeiro é o que eu usei para referência e também é usado como referência no artigo da Wikipédia LVM; o segundo é por mim, descrevendo como o usei na prática. Decida por si mesmo em qual você deseja confiar)

Lucas Werkmeister
fonte