Всем привет!
По ходу знакомства с UIRD на предмет использования "в личных целях" - нативной загрузки Linux из VDI-VHD-VMDK и применения файлов VD в качестве слоев AUFS - появились у меня пара предложений и одна "непонятка".
Обращаюсь к авторам и знатокам UIRD.
Начну с предложений.
1. Предлагаю в UIRD заменить qemu-nbd на vdfuse.
Быстродействие вирт-дисков, подключенных с использованием vdfuse, выше в 3-5 раз.
Подключение стабильно, на данный момент проблем в тестах пока не замечено.
Собрал и потестил с MagOC ядро 4.15 (ради поддержки BTRFS с zstd) и UIRD с поддержкой монтирования VDI-VHD-VMDK с использованием vdfuse - подумал, что можно предложить командам MagOS и Puppy на "посмотреть-потестить" - >
MagOS+VDВ архиве дополнение к стандартному составу MagOS из "крайнего на сегодня" x64 дистра и в файле magos-menu.cfg используемый мной конфиг.
2. Попутно немного дополнил UIRD - к режиму RW-слоя "использовать ZRAM" (uird.zram) добавил вариант с алгоритмом сжатия zstd: запись в конфиг - uird.zstd
В ZRAM пока вроде бы zstd на прикрутили - пришлось изобретать самостоятельно. На RAM-слой без ощутимого замедления в работе получается впихнуть примерно в 1,4 раза больше данных, чем в варианте uird.zram c lzo. Мне этот вариант показался привлекателен при компилировании.
Немного иллюстраций:
1. UIRD.ZRAM - исходное состояние.
загрузка RAMD копированием
двух комплектов /usr/lib/*
очистка
2. UIRD.ZSTD - исходное
загрузка RAMD копированием
ТРЕХ комплектов /usr/lib/*
очистка
PS Параметры алгоритма UIRD.ZRAM несколько изменены, относительно авторского варианта.
# echo $mem_zram >/sys/block/zram1/disksize
# echo $mem_zram >/sys/block/zram1/mem_limit
echo $(($mem_zram * 4 / 3)) >/sys/block/zram1/disksize
echo $(($mem_zram * 3 / 4)) >/sys/block/zram1/mem_limit
Теперь про "непонятку" - при добавлении источника по uird.from+=... в параметрах загрузки обращение к источнику и его инициализация выполняется дважды.
Если в загрузочной записи полностью записать конфиг uird.from, то все источники инициируются однократно.
Так должно быть, или это я чего-то своей рихтовкой исходника накосячил?