Это немного многословно, так что потерпите меня. :)
У нас есть кластер RAC из 3 серверов Oracle 11gR2 и мы приобрели карты FusionIO ioDrive2 PCIx для этих серверов, чтобы использовать их в качестве Flash Cache OracleDB. На этих серверах работают как наш производственный экземпляр базы данных, так и меньшая база данных разработки. Мы хотели бы настроить оба экземпляра для использования этих устройств в качестве их Flash Cache, dev db имеет гораздо меньший размер.
Насколько я понимаю, только 1 устройство может быть настроено как место назначения для Flash Cache.
В то же время это устройство ioDrive2 поддерживает так называемые «виртуальные контроллеры». Он в основном разделяет это устройство на 2, чтобы удвоить количество операций ввода-вывода в секунду (общая комбинированная полоса пропускания остается прежней).
Итак, чтобы собрать всю картину вместе: мне понадобятся 2 раздела, по одному для каждого экземпляра db. Если я использую «виртуальные контроллеры», у меня будет 2 диска одинакового размера.
Я думаю о том, чтобы объединить 2 виртуальных контроллера в 1 с помощью LVM, а затем разделить этот объединенный том на каждую базу данных.
Сколько накладных расходов на производительность и управление я получу от LVM? Есть ли какие-либо предостережения, о которых я должен знать при такой настройке? Есть ли лучший подход к этой ситуации?
Я делаю нечто подобное с другим продуктом, но то, что вы хотите сделать, на самом деле требует довольно небольших накладных расходов. Устройства, которые я использую, представляют четыре «диска» на карту PCIe, и использование MDRAID для преобразования этого в устройство RAID0, на котором я использую LVM, очень хорошо работает для меня. Вы теряете некоторые блоки для метаданных, но пути кода ввода-вывода в ядре действительно хорошо оптимизированы для этого.
Предостережение здесь в том, что "RAID0". У меня случился сбой одного из этих виртуальных «дисководов», и я действительно потерял всю карту (это нормально, эта служба предназначена для защиты от сбоев всего узла). Я не знаю flash-кеша Oracle, поэтому не могу сказать, терпимо ли он к таким сбоям.
Я не думаю, что кто-нибудь из присутствующих может сказать вам, сколько накладных расходов вы испытаете. Это реально является а испытать и наблюдать ситуация. Я предполагаю, что при прочих равных возможен выигрыш в производительности.
Есть ли у вас какие-либо характеристики хост-системы? Когда я оценивал FusionIO и необходимость (программного) RAID 1 + 0 для нескольких карт FusionIO Duo, я обращал внимание на возможности ЦП, ОЗУ и системной платы хост-сервера (ов). Будет влияние на ЦП, если вы продвигаете ввод-вывод, который, похоже, планируете.
Другой вопрос ... Какую проблему это решит? Вы действительно просто пытаетесь добавить к БД еще один уровень хранилища? Каков рабочий набор данных для кластера RAC; например с какими дисками вы работаете?
У вас уже все на месте и куплено?