]> Sergey Matveev's repositories - stargrave-blog.git/commitdiff
Быстрое заполнение диска рандомом
authorSergey Matveev <stargrave@stargrave.org>
Tue, 22 Dec 2020 21:26:56 +0000 (00:26 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Tue, 22 Dec 2020 21:26:56 +0000 (00:26 +0300)
Если нужно заполнить диск рандомом (перед тем как отдать, сделав
заполнение нулями или просто для проверки), то dd if=/dev/urandom делать
не стоит для больших скоростей, ибо под FreeBSD используется полноценная
Fortuna PRNG, потребление и ротирование энтропии и у меня скорость
работы где-то 70-80 MBps, что не может насытить современный SATA диск.
Можно использовать (go)hpenc утилиты для генерирования более быстрого
рандома, но я делаю проще:

    # geli onetime -s 4K /dev/disk
    # dd if=/dev/zero of=/dev/disk.eli bs=1M

это конечно не запишет рандом в начало, так как там будет заголовок
GELI, но это уже можно "по старинке" перезаписать. При этом по сути всё
будет упираться в скорость AES-XTS (по умолчанию), который на
современных Intel процессорах и ускоряется ещё (поэтому в CPU не
упереться). А рандом будет по всему диску, так как хоть данные и ключ
одни и те же, но XTS в качестве tweak-а принимает порядковый номер
сектора, который везде будет разный. Вообще и размер GELI сектора можно
выставить большего размера, что ещё сократит нагрузку на CPU.


No differences found