Uso de LVM con unidades SSD y SATA

22

Vi en esta pregunta que es posible colocar un SSD y un disco duro SATA estándar en un solo grupo de volumen LVM (VG).

¿Cómo afecta esto al rendimiento?

¿Hay alguna manera de obligar al sistema operativo a estar en la SSD mientras los datos están en la unidad SATA dentro de un solo grupo de volúmenes?

¿Existen buenos documentos sobre el uso de LVM con diferentes tipos de unidades?

¿Sería beneficioso crear un VG para cada tipo de unidad y / o velocidad? Estaba pensando en crear un VG para SSD y uno para SATA (y para cada tipo de unidad que pueda agregar en el futuro).

Mella
fuente
Mi intuición es que sería una muy mala idea colocar un SSD y un disco duro convencional en el mismo grupo de volúmenes.
Samiam
@samiam ese fue mi pensamiento inicial. No estaba seguro de si había formas de decirle al LVM que siempre coloque los datos que van y vienen de tal o cual directorio a sda y que siempre coloque los datos que van a otro directorio en sdb.
Nick
@Graeme que habla mucho sobre el rendimiento, pero no vi nada relacionado con abarcar diferentes tipos de discos, que es lo que más me preocupa. Si me perdí algo, por favor indícalo.
Nick
Nick: No puedo responder sobre LVM desde la parte superior de la cabeza, pero, sí, es posible establecer /etc/fstabde manera que /está en un SSD, pero nada por debajo /homeestá en un disco duro convencional. Esta suele ser una opción al instalar cualquier sistema Linux moderno ( /homesería un "punto de montaje" al elegir alguna forma de "opciones avanzadas")
samiam

Respuestas:

8

LVM no distingue entre un disco rápido y uno lento. Parece que no es una buena idea poner esos discos en un grupo de volúmenes LVM.

Además de esto, siempre es bueno montar su /tmpdirectorio en un SSD que proporciona una gran velocidad, especialmente para aplicaciones que lo usan como compilación.


fuente
44
Ponte /tmptmpfs. Más rendimiento, menos desgaste en el SSD (o en el disco duro). Las lecturas muy rápidas de SSD lo hacen principalmente útil para los datos que se leen con más frecuencia de lo que se escribe.
Gilles 'SO- deja de ser malvado'
esto se descubrió como una vulnerabilidad y muchas distribuciones no lo proporcionan más.
55
Meh En general, quiero que los archivos /tmpse limpien al reiniciar; si están destinados a quedarse, para eso /var/tmpestán. He usado tmpfs durante /tmpaños en muchas máquinas y nunca me he quedado sin espacio de intercambio, y no tengo cantidades de datos atípicamente pequeñas /tmp, por lo que ese argumento es falso. En cualquier caso, no es una vulnerabilidad , esa palabra implica un problema de seguridad.
Gilles 'SO- deja de ser malvado'
1
parece que no tienes usuarios malos para servir. Si no quieres llamarlo vulnerabilidad, entonces llámalo dañino, en cualquier caso no se recomienda, excepto que sabes lo que estás haciendo.
8

Lo que puede hacer en versiones recientes de LVM es crear un LV de "origen" en el HDD y un LV de "pool de caché" en el SSD, y luego combinarlo en un solo LV de "caché". Tiene el mismo tamaño que el LV de "origen" (es decir, solo obtiene tanto espacio como en el HDD), pero los bloques y metadatos usados ​​con frecuencia se almacenan en caché en el SSD para mejorar el rendimiento.

La esencia de esto es, suponiendo que ya tienes un VG que abarca ambas 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

Después de eso, tendrá un your_nameLV que puede usar como cualquier otro LV y varios LV internos con los que puede ver lvs -a YourVG.

Por ejemplo, configuré un sistema de archivos raíz cifrado en una partición SSD ( /dev/sda3) y una partición HDD ( /dev/sdb1) con los siguientes 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

Puede encontrar más detalles en esta publicación de blog o en esta . (El primero es lo que usé como referencia y también se usa como referencia en el artículo de LVM Wikipedia; el segundo es para mí, describiendo cómo lo usé en la práctica. Decide por ti mismo en cuál quieres confiar 😉)

Lucas Werkmeister
fuente