Suivant: , Précédent: , Monter: Configuration système   [Table des matières][Index]


10.4 Périphériques mappés

The Linux kernel has a notion of device mapping: a block device, such as a hard disk partition, can be mapped into another device, usually in /dev/mapper/, with additional processing over the data that flows through it28. A typical example is encryption device mapping: all writes to the mapped device are encrypted, and all reads are deciphered, transparently. Guix extends this notion by considering any device or set of devices that are transformed in some way to create a new device; for instance, RAID devices are obtained by assembling several other devices, such as hard disks or partitions, into a new one that behaves as one partition.

Les périphériques mappés sont déclarés avec la forme mapped-device, définie comme suit ; par exemple, voir ci-dessous.

Type de données : mapped-device

Les objets de ce type représentent des mappages de périphériques qui seront effectués au démarrage du système.

source

This is either a string specifying the name of the block device to be mapped, such as "/dev/sda3", or a list of such strings when several devices need to be assembled for creating a new one. In case of LVM this is a string specifying name of the volume group to be mapped.

target

This string specifies the name of the resulting mapped device. For kernel mappers such as encrypted devices of type luks-device-mapping, specifying "my-partition" leads to the creation of the "/dev/mapper/my-partition" device. For RAID devices of type raid-device-mapping, the full device name such as "/dev/md0" needs to be given. LVM logical volumes of type lvm-device-mapping need to be specified as "VGNAME-LVNAME".

targets

This list of strings specifies names of the resulting mapped devices in case there are several. The format is identical to target.

type

Ce doit être un objets mapped-device-kind, qui spécifie comment source est mappés sur target.

Variable Scheme : luks-device-mapping

Cela définie les périphériques blocs chiffrés en LUKS avec cryptsetup du paquet du même nom. Elle s’appuie sur le module du noyau Linux dm-crypt.

Variable Scheme : raid-device-mapping

Cela définie un périphérique RAID qui est assemblé avec la commande mdadm du paquet du même nom. Elle nécessite un module noyau Linux approprié pour le niveau RAID chargé, comme raid456 pour RAID-4, RAID-5 et RAID-6 ou raid10 pour RAID-10.

Scheme Variable : lvm-device-mapping

This defines one or more logical volumes for the Linux Logical Volume Manager (LVM). The volume group is activated by the vgchange command from the lvm2 package.

L’exemple suivant spécifie un mappage de /dev/sda3 vers /dev/mapper/home avec LUKS — Linux Unified Key Setup, un mécanisme standard pour chiffrer les disques. Le périphérique /dev/mapper/home peut ensuite être utilisé comme device d’une déclaration file-system (voir Systèmes de fichiers).

(mapped-device
  (source "/dev/sda3")
  (target "home")
  (type luks-device-mapping))

Autrement, pour devenir indépendant du numéro de périphérique, on peut obtenir l’UUID LUKS (l’identifiant unique) du périphérique source avec une commande comme :

cryptsetup luksUUID /dev/sda3

et l’utiliser ainsi :

(mapped-device
  (source (uuid "cb67fc72-0d54-4c88-9d4b-b225f30b0f44"))
  (target "home")
  (type luks-device-mapping))

Il est aussi désirable de chiffrer l’espace d’échange, puisque l’espace d’échange peut contenir des données sensibles. Une manière de faire cela est d’utiliser un fichier d’échange dans un système de fichiers sur un périphérique mappé avec un chiffrement LUKS. De cette manière, le fichier d’échange est chiffré parce que tout le périphérique est chiffré. Voir Disk Partitioning, pour un exemple.

Un périphérique RAID formé des partitions /dev/sda1 et /dev/sdb1 peut être déclaré ainsi :

(mapped-device
  (source (list "/dev/sda1" "/dev/sdb1"))
  (target "/dev/md0")
  (type raid-device-mapping))

Le périphérique /dev/md0 peut ensuite être utilisé comme device d’une déclaration file-system (voir Systèmes de fichiers). Remarquez que le niveau de RAID n’a pas besoin d’être donné ; il est choisi pendant la création initiale du périphérique RAID et est ensuite déterminé automatiquement.

LVM logical volumes “alpha” and “beta” from volume group “vg0” can be declared as follows:

(mapped-device
  (source "vg0")
  (targets (list "vg0-alpha" "vg0-beta"))
  (type lvm-device-mapping))

Devices /dev/mapper/vg0-alpha and /dev/mapper/vg0-beta can then be used as the device of a file-system declaration (voir Systèmes de fichiers).


Notes de bas de page

(28)

Note that the GNU Hurd makes no difference between the concept of a “mapped device” and that of a file system: both boil down to translating input/output operations made on a file to operations on its backing store. Thus, the Hurd implements mapped devices, like file systems, using the generic translator mechanism (voir Translators dans The GNU Hurd Reference Manual).


Suivant: , Précédent: , Monter: Configuration système   [Table des matières][Index]