Aug. 6th, 2021

Как поставить линукс в виртуалке на bcache, при условии что инсталлятор его не поддерживает? Конечно же, отредактировать диск напрямую хостом, подключив его через loop или nbd. Итого имеем следующий "i/o-стек":

0. /dev/sda — обычный физический hdd. Из него порождается:
1. /dev/bcache0 — кэшированный "прокси" для доступа через кэш (bcache просто так работает, вставая промежуточной прослойкой за неимением фильтр-драйверов).
2. cryptsetup+LVM — вполне обычный сетап, расписанный в десятках мануалов.
3. ext4 на одном из томов lvm смонтированная в /home
4. machine.vdi — желанный образ диска, куда мы имеем намерение ставить виртуалку.

Это еще нестрашно, это моя обычная конфигурация, работающая у меня годами. Но мы же хотели виртуальный диск размечать, да?

5. Цепляем machine.vdi к nbd0 с помощью qemu-nbd. Разбиваем на разделы, пока всё еще штатно.
6. Создаём еще один bcache поверх /dev/nbd0p2, ядро его все еще видит, любит и понимает.
Ну и наконец вызываем mkfs.ext4 на новосозданный /dev/bcache1.

И вот тут и таилась смерть Кощеева всё вешается наглухо. Ну не всё, а mkfs только, но ни прибить его не получается, ни nbd отмонтировать. В ядре невнятная ругань на зависший blkio во время flush, да и всё. Дедлок, подумал Штирлиц.

Бля.

Короче, надо было не выделываться, а просто взять другую виртуалку.

Profile

ex0_planet

April 2023

S M T W T F S
      1
234567 8
910111213 1415
16171819202122
23242526272829
30      

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 25th, 2026 06:06 pm
Powered by Dreamwidth Studios