Czy mogę rozszerzyć urządzenie danych Thin Provision Pool ustawione przez program mapujący?


TL; DR:
Jak mogę rozszerzyć cienką pulę, jeśli nie używam LVM, ale samego Device Mapper?
Szczegółowa wersja:
O ile wiem, kiedy tworzymy cienki basen
       dmsetup
, możemy ustawić low_water_mark;
po osiągnięciu znaku wodnego zostanie wysłane zdarzenie dmevent i demon strażnik będzie mógł natychmiast rozszerzyć pulę.
Nie udało mi się jednak znaleźć sposobu na wykonanie tego zadania w trywialny sposób; i nie mam pojęcia, jak można to osiągnąć.
Zagłębiam się też w
       dm-thin.c
i dowiedz się, że istnieje funkcja o nazwie
       maybe_resize_data_dev
, co spowoduje zwiększenie ilości danych w urządzeniu o
       r = dm_pool_resize_data_dev(pool->pmd, data_size)
jeśli pozostała przestrzeń nie jest wystarczająca.
Jednak sam program Device Mapper nie pozwala tego zrobić, sprawdzając stan urządzenia danych:
       if (le32_to_cpu(disk_super->data_block_size) != pmd->data_block_size) {
/* Verify the data block size hasn't changed */
if (le32_to_cpu(disk_super->data_block_size) != pmd->data_block_size) {
DMERR("changing the data block size (from %u to %llu) is not supported",
le32_to_cpu(disk_super->data_block_size),
(unsigned long long)pmd->data_block_size);
r = -EINVAL;
goto bad_unlock_sblock;
}
co zostało naprawione w zatwierdzeniu 9aec862 nazwanym
       dm thin metadata: do not allow the data block size to change
.

Kody są cytowane z
         drivers/md/dm-thin.c
(ref-1) i
         drivers/md/dm-thin-metadata.c
(Link-2)

I jeszcze bardziej zdumiewa mnie to, że dowiedziałem się, że można to zrobić, jeśli pula jest tworzona za pomocą narzędzi LVM; te.
       lvextend -L+100M vg001/mythinpool
(z

podręcznik
https://access.redhat.com/docu ... .html
opublikowane przez Red Hat), co sprawia, że ​​zastanawiam się, jak to osiągnąć.
ref-1: drivers/md/dm-thin.c # L3246-L3292
link-2: drivers/md/dm-thin-metadata.c # L617-L621

Przepraszam, nie mogę zamieścić więcej niż dwóch linków, ponieważ jestem zbyt nowy.

Zaproszony:

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się