Utilisation de LVM avec des disques SSD et SATA

22

J'ai vu dans cette question qu'il est possible de placer à la fois un SSD et un disque dur SATA standard dans un seul groupe de volume LVM (VG).

Comment cela affecte-t-il les performances?

Existe-t-il un moyen de forcer le système d'exploitation à être sur le SSD pendant que les données sont sur le disque SATA dans un seul groupe de volumes?

Existe-t-il de bons livres blancs sur l'utilisation de LVM avec différents types de lecteurs?

Serait-il avantageux de créer un VG pour chaque type et / ou vitesse de lecteur? Je pensais créer un VG pour les SSD et un pour SATA (et pour chaque type de disque, je pourrais ajouter à l'avenir au fur et à mesure).

Entaille
la source
Mon intuition est que ce serait une très mauvaise idée de mettre à la fois un SSD et un disque dur conventionnel dans le même groupe de volumes.
samiam
@samiam, c'était ma pensée initiale. Je ne savais pas s'il y avait des moyens de dire au LVM de toujours placer les données allant vers et depuis tel ou tel répertoire vers sda et de toujours placer les données allant vers un autre répertoire sur sdb.
Nick
@Graeme qui parle beaucoup de performances, mais je n'ai rien vu concernant la répartition de différents types de disques, ce qui m'intéresse principalement. Si j'ai raté quelque chose, veuillez le signaler.
Nick
Nick: Je ne peux pas répondre à propos de LVM du haut de ma tête, mais, oui, il est possible de le configurer de /etc/fstabmanière à ce qu'il /soit sur un SSD mais tout ce qui /homeest ci - dessous se trouve sur un disque dur conventionnel. C'est généralement une option lors de l'installation de tout système Linux moderne (ce /homeserait un "point de montage" lors du choix d'une forme "d'options avancées")
samiam

Réponses:

8

LVM ne fait pas de distinction entre un disque rapide et un disque lent. Est-ce que cela ne semble pas être une bonne idée de mettre ces disques dans un groupe de volumes LVM.

En plus de cela, il est toujours bon de monter votre /tmprépertoire sur un SSD qui fournit une énorme accélération, en particulier pour les applications qui l'utilisent comme la compilation.


la source
4
Mettez /tmptmpfs. Plus de performances, moins d'usure sur le SSD (ou sur le disque dur d'ailleurs). Les lectures très rapides du SSD le rendent surtout utile pour les données qui sont lues plus souvent qu'elles ne sont écrites.
Gilles 'SO- arrête d'être méchant'
cela a été découvert comme une vulnérabilité et n'est pas davantage fourni par de nombreuses distributions.
5
Meh. Je veux généralement que les fichiers /tmpsoient nettoyés au redémarrage - s'ils sont destinés à rester, c'est à cela /var/tmp. J'utilise tmpfs depuis /tmpdes années sur de nombreuses machines et je n'ai jamais failli manquer d'espace de swap, et je n'ai pas de petites quantités de données atypiques /tmp, donc cet argument est faux. En tout cas, ce n'est pas une vulnérabilité - ce mot implique un problème de sécurité.
Gilles 'SO- arrête d'être méchant'
1
il semble que vous n'ayez aucun mauvais utilisateur à servir. Si vous ne voulez pas l'appeler vulnérabilité, appelez-la nuisible, en tout cas ce n'est pas recommandé sauf si vous savez ce que vous faites.
8

Dans les versions LVM récentes, vous pouvez créer un LV «d'origine» sur le disque dur et un LV «pool de cache» sur le SSD, puis le combiner en un LV «cache» unique. Il a la même taille que le LV «d'origine» (c'est-à-dire que vous n'obtenez que l'espace sur le disque dur), mais les blocs et les métadonnées fréquemment utilisés sont mis en cache sur le SSD pour améliorer les performances.

L'essentiel est, en supposant que vous avez déjà un VG couvrant les deux disques:

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

Après cela, vous aurez un your_nameLV que vous pouvez utiliser comme n'importe quel autre LV, et plusieurs LV internes avec lesquels vous pouvez voir lvs -a YourVG.

Par exemple, j'ai configuré un système de fichiers racine chiffré sur une partition SSD ( /dev/sda3) et une partition HDD ( /dev/sdb1) avec les commandes suivantes:

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

Vous pouvez trouver plus de détails sur ce billet de blog ou celui-ci . (Le premier est ce que j'ai utilisé comme référence et est également utilisé comme référence dans l'article de LVM Wikipedia; le second est de moi, décrivant comment je l'ai utilisé dans la pratique. Décidez par vous-même à qui vous voulez faire confiance 😉)

Lucas Werkmeister
la source