|
Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi. |
Comment ajouter des disques supplémentaires au groupe de volumes LVM lors de l’installation
Cet exemple couvre la configuration d’un hôte avec plusieurs disques, dont certains sont utilisés dans le cadre d’une configuration LVM.
Par exemple, nous avons un hôte avec trois disques (/dev/sda, /dev/sdb et /dev/sdc).
Le premier disque est utilisé pour une installation Elemental classique et les deux autres sont utilisés dans le cadre d’un groupe LVM où des volumes logiques arbitraires sont créés, formatés et montés au démarrage via un fichier fstab étendu.
Pour cet exemple, des étapes de cloud-config sont nécessaires à deux étapes différentes. Tout d’abord, quelques crochets d’installation sont nécessaires pour préparer et gérer les volumes LVM pendant l’installation. Deuxièmement, un cloud-config est requis au démarrage pour s’assurer que les volumes LVM créés sont inclus dans /etc/fstab et donc montés.
Des crochets d’installation peuvent être inclus dans la section SeedImage.spec.cloud-config avec quelque chose comme :
apiVersion: elemental.cattle.io/v1beta1
kind: SeedImage
metadata:
name: custom-seed
namespace: fleet-default
spec:
...
cloud-config:
name: "Create LVM logic volumes over some physical disks"
stages:
post-install:
- name: "Create physical volume, volume group and logical volumes"
if: '[ -e "/dev/sdb" ] && [ -e "/dev/sdc" ]'
commands:
- |
# Create the physical volume, volume group and logical volumes
pvcreate /dev/sdb /dev/sdc
vgcreate elementalLVM /dev/sdb /dev/sdc
lvcreate -L 8G -n elementalVol1 elementalLVM
lvcreate -l 100%FREE -n elementalVol2 elementalLVM
# Trigger udev detection
if [ ! -e "/dev/elementalLVM/elementalVol1" ] || [ ! -e "/dev/elementalLVM/elementalVol2" ]; then
sleep 10
udevadm settle
fi
# Ensure devices are already available
[ -e "/dev/elementalLVM/elementalVol1" ] || exit 1
[ -e "/dev/elementalLVM/elementalVol2" ] || exit 1
# Format logical volumes with a known label for later use in fstab
mkfs.xfs -L eVol1 /dev/elementalLVM/elementalVol1
mkfs.xfs -L eVol2 /dev/elementalLVM/elementalVol2
Les dispositifs LVM sont créés et formatés comme souhaité. C’est un bon exemple d’un crochet d’installation, car cette configuration n’est nécessaire qu’une seule fois, au moment de l’installation. En alternative, la même action pourrait être effectuée au premier démarrage, cependant, cela nécessiterait une logique plus sophistiquée pour s’assurer qu’elle n’est appliquée qu’une seule fois au premier démarrage. Enfin, les données de cloud-config au moment du démarrage contiennent les paramètres de point de montage pour déclencher les montages. Le fichier Elemental OS fstab est éphémère et il est créé dynamiquement au moment du démarrage. C’est pourquoi il n’existe pas pendant l’installation et ne peut pas être utilisé dans un crochet d’installation.
Consid rez l’exemple suivant pour personnaliser le fichier /etc/fstab en utilisant la section cloud-config d’une ressource MachineRegistration :
apiVersion: elemental.cattle.io/v1beta1
kind: MachineRegistration
metadata:
name: my-nodes
namespace: fleet-default
spec:
...
config:
...
cloud-config:
stages:
initramfs:
- name: "Extend fstab to mount LVM logical volumes at boot"
commands:
- |
echo "LABEL=eVol1 /run/elemental/eVol1 xfs defaults 0 0" >> /etc/fstab
echo "LABEL=eVol2 /run/elemental/eVol2 xfs defaults 0 0" >> /etc/fstab
|
Le |