Планирую скрипт написать, который ведёт локальную БД с мак-адресами qemu.
Когда запускаешь qemu, у виртуалки мак 52:54:00:12:34:56, и соотвественно виртуалки с одинаковыми маками в одном бридже конфликтуют не работают.
И например, когда запускаешь qemu с display vnc, оно тут умеет автоматически подбирать порт, начиная с 5900 порта, оно слушает VNC и когда запускаешь новые qemu, оно автоматически слушает первый свободный порт 5901, 5902 и т.д.
А вот с мак-адресами так делать не умеет, поэтому нужна баш-портянка, которая будет вести базу данных запущенных qemu и каждой новой qemu автоматически присваивать новый мак адрес с инкрементом, чтобы было 52:54:00:00:00:01, 52:54:00:00:00:02 и так далее. И когда qemu грохается, скрипт сам бы эту запись из базы удалял и освобождал для использования другим вм.
Кстати интересное наблюдение, у qemu официальный диапазон мак-адресов 52:54:00:, соотвественно 3 байта свободные, и эти 3 байта идеально вписываются в картину мира, как если использовать подсеть 10.0.0.0/8 на всю котлету.
Идеально, запускать виртуалки в подсети 10.0.0.0/8 начиная с 10.0.0.1 и маком 52:54:00:00:00:01 и заканчивая 10.255.255.254 и маком 52:54:00:FF:FF:FE
Это сколько виртуалок можно на одном хосте запустить? 255^3?
255^3 = 16581375 виртуалок на хосте, даже если запускать каждую виртуалку с дефолтными 64мб памяти, с которыми qemu стартует по-умолчанию, на это потребуется 255^3 * 64 = 1061208000 мб памяти, или 1012.04681396 гб или 1 петабайт памяти!!!
Я нигде не просчитался?
Сейчас я буду запускать 255 виртуалок на локалхосте 10.0.0.1/24, 32гб памяти всего потребуется.