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
Le 2021-11-15 12:27, Frédéric Dumas a écrit :
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
Hello,
Je ne connaissais pas bcache avant ton mail. Pourquoi ne pas avoir utiliser lvm-cache ? Ca m'étonnerait que tu ais le genre de message d'erreur que tu as avec...
Sinon j'ai l'impression que tu n'as pas créé comme il faut la partie bcache si j'en suis ce qui est indiqué ici : https://fedoraproject.org/wiki/QA:Testcase_bcache-tools_home_on_bcache_(LVM)
Make /dev/sda4 a bcache backing device: make-bcache -B /dev/sda4 Make /dev/sdb1 a bcache caching device: make-bcache -C /dev/sdb1 Retrieve the cset.uuid from your /dev/sdb1 caching device: bcache-super-show /dev/sdb1 Attach /dev/sdb1 to /dev/bcache0: echo <cset.uuid> > /sys/block/bcache0/bcache/attach Now you have a bcache device: /dev/bcache0
Mais je ne suis absolument pas un spécialiste du sujet...
Cordialement,
-- Jean-Yves LENHOF