bcache over bcache
Aug. 6th, 2021 11:05 pmКак поставить линукс в виртуалке на 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, да и всё. Дедлок, подумал Штирлиц.
Бля.
Короче, надо было не выделываться, а просто взять другую виртуалку.
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.
И вот тут
Бля.
Короче, надо было не выделываться, а просто взять другую виртуалку.
Месье знает толк...
Date: 2021-08-08 05:44 pm (UTC)Ну там производители накопителей чудо-софт свой только под винду клепают...
Ну и например битая СД на винде форматируется, и даже потом пытается работать, а на линуксе как-то экхм... dd при попытке записи залипает на сутки...
Re: Месье знает толк...
Date: 2021-08-08 08:41 pm (UTC)dd и будет залипать, там в sd'шках контроллеры тупые крайне, даже без wear leveling иногда, а секторы большие, поэтому оно будет его долбить до упора. В последних ядрах по идее можно просто выдернуть карту, оно просрётся ошибками, да и всё.