В последнее время все больше пользователей виртуализуют критичные базы данных под управлением СУБД Oracle в виртуальных машинах VMware vSphere. При этом есть миф о том, что Oracle не поддерживает свои СУБД в виртуальных машинах, и, если что-то случится, то получить техническую поддержку будет невозможно. Это не так.
Техническая поддержка Oracle для ВМ на VMware vSphere
На самом деле у Oracle есть документ "MyOracleSupport Document ID #249212" в котором прописаны принципы работы с техподдержкой при работе СУБД в ВМ VMware vSphere:
Вкратце их можно изложить так:
1. Действительно, Oracle не сертифицирует работу своих СУБД в виртуальных машинах VMware.
2. Если у вас возникает проблема с БД Oracle в виртуальной машине VMware, то Oracle смотрит, есть ли подобная проблема для физической системы, либо вы можете продемонстрировать, что проблема повторяется на физической машине, а не только в ВМ. Если проблема относится именно к виртуальной машине и не проявляется на физической системе, либо решение от техподдержки Oracle работает только для физического сервера - вас направляют к техподдержке VMware. Однако отметим, что VMware заявляет, что подобных проблем в ее практике еще не было.
Теперь, что касается самой VMware - у них есть отдельная политика технической поддержки "Oracle Support Policy". В ней, в частности, написано, что VMware принимает запросы на техподдержку касательно ВМ Oracle, работающих на vSphere, после чего взаимодействует со службой техподдержки Oracle через TSANet для поиска причины проблемы и решения. Тут важно, что за такие кейсы отвечает сама VMware.
1. Виртуальные машины с СУБД Oracle могут работать на хостах VMware ESX/ESXi, у которых либо все физические процессоры (ядра), либо их часть лицензированы под Oracle. Оптимально, конечно, лицензировать весь хост, однако если это дорого, можно лицензировать и несколько процессоров, после чего привязать конкретные виртуальные машины к физическим процессорам хоста, используя vSphere Client:
Либо используя vSphere Web Client:
Однако, как вы можете прочитать в документе от VMware (см. комментарии к заметке), компания Oracle не признает такого разделения лицензий по процессорам на хосте, хотя сама VMware этим очень недовольна. Поэтому вам придется лицензировать все процессоры хоста, при этом вы там сможете запустить столько экземпляров Oracle, сколько потребуется.
Возможно, эта ситуация в будущем изменится, и можно будет лицензировать отдельные процессоры хоста.
2. Если вы хотите, чтобы виртуальная машина с Oracle перемещалась на другой хост, то все процессоры исходного и целевого хостов должны быть лицензированы Oracle.
3. Что касается кластеров VMware HA/DRS, то тут нужно быть внимательным. Оптимальное решение - это создать отдельный кластер для ВМ с Oracle и лицензировать все процессоры всех хостов в нем, если у вас достаточно виртуальных машин, нагрузки и денег для такой задачи. Если недостаточно - можно лицензировать часть хостов (но, опять-таки, целиком), после чего выставить для них DRS Host Affinity Rules таким образом, чтобы виртуальные машины с Oracle всегда оставались на лицензированных хостах:
Для получения более полной информации о лицензировании Oracle в виртуальной среде VMware vSphere читайте приведенный выше документ.