Bonjour à tous,
quelques questions à propos de bcache.
Je l’installe sur cette configuration matérielle:
backend device /dev/sda = RAID6 hardware avec stripe size de 1024Ko cache device /dev/md0 = RAID1 software avec deux P3700
Le device /dev/bcache0 est créé avec ces paramètres :
# make-bcache --data-offset 1024k --bucket 2048k --writeback --bdev /dev/sda4 --cache /dev/md0
Le cache est bien attaché à son backend device:
# lsblk NAME SIZE FSTYPE TYPE MOUNTPOINT sda 7.3T disk ├─sda1 1007K part ├─sda2 512M vfat part ├─sda3 31.5G LVM2_member part │ └─pve-root 7.8G ext4 lvm / └─sda4 7.2T bcache part └─bcache0 7.2T disk sr0 1024M rom nvme0n1 745.2G disk └─md0 745.1G bcache raid1 └─bcache0 7.2T disk nvme1n1 745.2G disk └─md0 745.1G bcache raid1 └─bcache0 7.2T disk
Questions:
(1) Quel est le erase block size sur le P3700 ? Je n’ai pas trouvé dans les specs Intel. Mon seul indice, c’est un message d’un développeur sur la liste LKML. La valeur 2048k donnée à l'option --bucket est-elle correcte ?
(2) stride width = "stripe width » et aussi "stripe size" ?
Extrait de la doc bcache:
> If your backing device is RAID based, then be sure to align this by a multiple > of your stride width using bcache make –data-offset.
L’option --data-offset attend-elle bien la valeur (dans mon cas 1024k) du stripe width de la grappe RAID6 ?
Voilà un plus long extrait de la doc bcache:
Backing device alignment
The default metadata size in bcache is 8k. If your backing device is RAID based, then be sure to align this by a multiple of your stride width using bcache make –data-offset. If you intend to expand your disk array in the future, then multiply a series of primes by your raid stripe size to get the disk multiples that you would like.
For example: If you have a 64k stripe size, then the following offset would provide alignment for many common RAID5 data spindle counts:
64k * 2*2*2*3*3*5*7 bytes = 161280k
Source: https://www.kernel.org/doc/html/latest/admin-guide/bcache.html#troubleshooti...
(3) Dernière question: quand j’intègre le device /dev/bcache0 à LVM, ça passe mais avec des erreurs:
# pvcreate /dev/bcache0 Error reading device /dev/bcache0 at 7965015146496 length 4. bcache_invalidate: block (0, 0) still held bcache_abort: block (0, 0) still held Error reading device /dev/bcache0 at 7965015248896 length 4. Error reading device /dev/bcache0 at 7965015259648 length 24. Error reading device /dev/bcache0 at 7965015260160 length 512. scan_dev_close /dev/bcache0 no DEV_IN_BCACHE set scan_dev_close /dev/bcache0 already closed Error reading device /dev/bcache0 at 7965015146496 length 4. bcache_invalidate: block (0, 0) still held bcache_abort: block (0, 0) still held Error reading device /dev/bcache0 at 7965015248896 length 4. Error reading device /dev/bcache0 at 7965015259648 length 24. Error reading device /dev/bcache0 at 7965015260160 length 512. Physical volume "/dev/bcache0" successfully created.
Google reste muet sur « Error reading device /dev/bcache0 at », au moins pour moi.
La définition du VG donne un retour similaire:
# vgcreate vms /dev/bcache0 Error reading device /dev/bcache0 at 7965015146496 length 4. bcache_invalidate: block (3, 0) still held bcache_abort: block (3, 0) still held Error reading device /dev/bcache0 at 7965015248896 length 4. Error reading device /dev/bcache0 at 7965015259648 length 24. Error reading device /dev/bcache0 at 7965015260160 length 512. Error reading device /dev/bcache0 at 7965015146496 length 4. bcache_invalidate: block (0, 0) still held bcache_abort: block (0, 0) still held Error reading device /dev/bcache0 at 7965015248896 length 4. Error reading device /dev/bcache0 at 7965015259648 length 24. Error reading device /dev/bcache0 at 7965015260160 length 512. Volume group "vms" successfully created
La création d’un LV dans ce VG ne renvoie par contre aucune erreur.
Si quelqu’un a une hypothèse ? Merci!
-- Frédéric Dumas f.dumas@ellis.siteparc.fr