Lister les block devices
$ lsblk
Connaître la taille d'un device, exprimée en nombre de "secteurs" de 512 octets
# blockdev --getsz <device>
Désactiver un device de type "device mapper" (obtenu via lvm
, cryptsetup
, dmsetup
, mdadm
)
# blkdeactivate /dev/mapper/<nom>
Création
# losetup -f <fichier>
Infos
# losetup -l
Détacher
# losetup -d <device>
Créer une table de partitions de type msdos
ou gpt
# parted <device> mklabel <type>
Créer une partition qui prend la moitié du device
# parted <device> mkpart primary 0% 50%
Créer une partition qui prend la moitié du device, mais aligne correctement ses blocs avec le block device du dessous
# parted <device> mkpart primary 2048s 50%
Créer une partition qui va du 1er MiB au 8e GiB
# parted <device> mkpart primary 1MiB 8GiB
Supprimer la 1ère partition
# parted <device> rm 1
Demander au noyau de mettre à jour sa connaissance des partitions
# partprobe
Si cela ne suffit pas pour un block device "loop" (comportement rencontré sur certaines Ubuntu), il est possible de préciser le device :
# partprobe /dev/loop<n>
Installer un block device chiffré dans <device>
# cryptsetup luksFormat <device>
Activer (déchiffrer) ce block device, il apparaîtra sous le nom /dev/mapper/<nom>_crypt
# cryptsetup open <device> <nom>
Désactiver (oublier le mot de passe)
# cryptsetup close <nom>
# pvcreate <device1> # pvcreate <device2> # vgcreate <nom_volume> <device1> <device2> # lvcreate -l 100%VG <nom_volume>
# pvcreate <device1> # pvcreate <device2> # pvcreate <device3> # vgcreate <nom_volume> <device1> <device2> <device3> # lvcreate -L 10MiB <nom_volume> # lvcreate -l 50%FREE <nom_volume> # lvcreate -l 100%FREE <nom_volume>
TODO.
(un secteur fait 512 octets) d'un device de 100 MiB. Si le device fait 100 MiB, alors il y a 100*1024*1024/512 = 100*1024*2 = 204800
secteurs.
:
Alterner une période de 10 secondes sans erreur et une période de 100 secondes avec des erreurs
# dmsetup create <nom> << EOF 0 <taille> flakey <device> 0 10 100
Introduire une erreur permanente au niveau du 9e "secteur"
# dmsetup create <nom> << EOF 0 8 linear <device> 0 8 1 error 9 <taille - 9> linear <device> 9 EOF
Note : le manuel de dmsetup
est insuffisant, voir plutôt