Зачем ставят сервер баз данных на виртуалку?
Если речь идет о том, что СУБД будет крутиться на университетских ПК, тогда цель может быть только одна - не засорять основную ОС. Представь, ты сел, поставил себе СУБД на хостовую ОС, создал какую-то базу, забил пару таблиц информацией и т.д.
Первая причина - время инсталляции СУБД. Не знаю как для MS SQL, но, например, Oracle 10g ставится около 50 минут, что есть полпары. А процесс инсталяции особо ничем не примечателен, просто сидишь втыкаешь в процесс бар на экране.
Вторая причина. ОК, поставил ты СУБД, начинаешь ты ее конфигурировать. Все упирается в рут-пароль, без которого, например, Oracle снести вообще нельзя(хотя могу ошибаться). Можно конечно условится, чтобы пасс был один, но кто-нибудь из больно "умных" студентов задаст свой пароль и потом надо будет над этим ПК оператору аудитории с бубном плясать пару часов либо искать кто ставил тот злосчастных пасс. А это все время, на которое учебная машина выпадает из учебного процесса.
Третья причина Убил кто-то СУБД корявыми настройками. Сколько надо будет танцевать с бубном чтобы выпилить убитую СУБД с хостовой ОС? Зависит от того как убили, но ясно что на это время опять университетская машина из учебного процесса выпадает.
А теперь прикинь, что СУБД стоит под виртуалкой и есть где-то образ с конфигурацией по умолчанию. Развернуть виртуалку на основе готового образа - дело 5-10 минут. Снести виртуалку или заменить ее - опять же больших проблем не вызовет. При этом, как было подмечено в выше, в настройках твоего приложения разница будет только в 1 строке - адрес сервера. Для локального localhost, для любого другого - ip-адрес
- Вконтакте
Реальные проекты, особенно мелкие - часто на виртуалках.
Выделять каждому ученику реальный компьютер под базу данных - дорого, а учитывая, что для обучения нужна СЛОЖНАЯ база из 2.5 таблиц и 10 строк в каждой, то на одном компе можно целый класс виртуалок поднять для каждого, дешево и сердито.
P.S. Практически весь хостинг, на котором сейчас крутятся сайты - это ВСЕ виртуалки. P.P.S. Весь бизнес по возможности также виртуализируют, если есть возможность. Исключения - высоконагруженные машины, и то. Виртуализация позволяет упростить процесс миграции, резервного копирования и т.д.
- Вконтакте
- Вконтакте
Не нужно нервничать:) , люди целиком переносят свою рабочую среду внутрь виртуальной машины, вот например: habrahabr.ru/post/178797
И все отличие от того что База будет на виртуалке или нет, это в 1 месте во время настройки подключения. А так - хоть на луне, все равно задачи на перформанс в ВУЗе вряд ли будут преподаваться.
- Вконтакте
- Вконтакте
Виртуалку проще восстанавливать, клонировать.
А так разницы почти никакой нету.
- Вконтакте
- Вконтакте
Учебное применение виртуализации - это одно. Да, очень удобно - сунул файлик ВМ, запустил - готово! Каждый студент работает со своей виртуалкой, никто ни к кому не вмешается, на работу другого не повлияет. Кончилась лаба, грохнул файлик и всё. Совсем другое - продакшн. Не всё удобно виртуализировать. Отчасти из-за потерь на "накладные расходы" виртуализации, отчасти из-за дополнительных лицензий на виртуальные серверы. У себя поставил виртуальные серверы под Debian на libvirt. Проводил тесты, потери на io виртуализируемого в файле винчестера примерно 5-10% от аналогичного реального. Потери производительности виртуализованного процессора аналогично. Вот к каким выводам пришёл:
Минусы виртуализации на libvirt: - снижение производительности io - снижение производительности процессора - виртуальный сервер "поедает" до 100Мб оперативной памяти - необходимость lvm для снапшотов (никогда не настраивал, ненавижу lvm) - ядра процессора с поддержкой HyperTrading видны как "настоящие" процессоры - некоторые "тяжёлые" операции внутри ВМ вызывают сильное торможение всего виртуального сервера - не стоит использовать для хранения ВМ дисковые массивы, отличные от raid1 - требуются дополнительные "колдунства", чтобы виртуальный сервер корректно выключал ВМ с серверными платформами Windows, аналогичные выключению питания Windows Server по кнопке питания
Плюсы виртуализации на libvirt: - лёгкая смена "железа" при выходе из строя сервера - лёгкое администрирование с любой платформы по rdp, если поставить xrdp и virt-manager - лёгкое использование аппаратных или программных raid для хранения ВМ - возможность использовать в качестве дисков ВМ локальных файлов|дисков, удалённых ресурсов nfs и др.
Тонкости виртуализации на libvirt: Поставил виртуальный сервер. Размер самого сервера - менее 10Гб. Винтов два, на обоих своп по паре Гб. Raid софтовый, на нём система, остаток места на винтах - софтовый raid1. Как его использовать - два варианта. Можно создать ФС и примонтировать в стандартный пул libvirt: /var/lib/libvirt (или в другое место) и разместить там требуемые образы дисков и ВМ. Можно образы дисков разместить в /var/lib/libvirt в корневом разделе системы, а софтовый raid оставить без ФС и подключить полностью как "диск" ВМ, указав его имя, например, /dev/md1. Преимущество софтового raid1 под Linux в том, что можно соединить хоть 10 дисков, в отличие от аппаратных raid контроллеров или софтового под Windows. Вообще же, использование софтового raid даёт существенный прирост в чтении данных, например, софтовый raid1 из 6 дисков имеет скорость чтения, сопостовимую с 6-дисковым raid0. Если сервер БД виртуальный, и работает больше на выборку, чем на обновление|добавление, это преимущество вам может быть просто неимоверно на руку :)