January 21st, 2016

Book

User mode iSCSI target

Протоколы типа iSCSI дают полную возможность реализовывать всякие упоротые аналоги LVM на машине Тьюринга, не залезая в дебри OS IO API. Блядские неынтырпрайзные линуксоиды IOCP ниасиливают (и аналоги на их труЪ ОС), не говоря уже о DPC/IRP, ну вы понели.

Че там делать - пропарсил пакетик, записал в файлик, прочитал из файлика - и вот готовый ынтырпрайз сан. Казалось бы! Ну, спека там упоротая, конечно, так просто не заимплементишь, так что здесь я лукавлю.

Так вот, некая русская славянская контора StarWind запилила одноимённый продукт. А именно, у них iSCSI Target под винду, с их собственной упоротой на говне консолькой вместо MMS и прочими прелестями наколенности.

Но тем не менее! Короче, они умеют DRBD падвенду, и даже (что невероятно) сами протестировали это через WAN! Кроме этого, можно сделать софтовый гибридный диск (один файлик на флеше, другой на хдд), и они будут кешировать. Кроме того, там block level deduplication, и ещё переупорядочивание рандом врайтов по аналогии с log structured storage, c фоновой дефрагментацией. Говорят, IOPS на виртуалках и аналогичной нагрузке неслабо возрастает в результате. Короче, позиционируют себя как ускоритель Hyper-V и ESXi.

Ну и я решил протестить их в нетрадиционном режиме - 10 гб на SSD, 200 гб на внешнем USB3-винте. Это всё экспозится по iSCSI over IP loopback как 200-гиговый диск. Его форматнул как GPT/NTFS, смонтироал в папочку, и кладу на него VHD. Альтернатива, как я понял, грузиться по iSCSI, что умеют все (т.е. линь и винда), но настраивать влом.

Скорость записи файлика 18 метров в секунду, подозреваю, из-за их кривых рук. У них есть утилита преобразования vmdk в vhd(x) и обратно, которая, о чудо, работает, в отличие от других испробованных мной, но с теми же 15 мб-сек вместо 80, выдаваемых фаром при копировании файликов.

Вот интересно, есть ли аналоги. Можно за сотни денег, просто шоб посмотреть, как у людей.

Ну и надо б собрать на девмаппере/LIO аналог, и сравнить. Мне кажется, они ебанулись жрать 40% процового ядра при записи 18 мб-сек.

Посмотрел я тут iSCSI Cake - предлагают создавать файлы образов в %programfiles%. Отказать. Но на перформанс посмотреть можно. Они же утилитку ccboot сделали (как я понял, сервер dhcp/bootp/tftp) - так блядь ставится в c:\ccboot и за собой не удаляет все файлы. Отказать снова, там оплот идиотов. Надо что-то более-менее найти.

А от старфорcа старвинда есть польза. Теперь на устройствах очередь не в 15 запросов, а в 1. Но может, это они сами сериализуют приходящие запросы и превращают нормальную очередь в дегенератскую типа "NCQ не нужен". IOPS надо мерять внутри виртуалки.