Использование технологий виртуализации

Jan 02, 2009 19:01


Задумался я полгода назад об оптимизации нашего серверного парка... Производительность, бекап, потребление электроэнергии, надежность...

Для тестов был выбран VMware Server 2.0 (Beta тогда ещё), как достаточно стабильное, развитое и бесплатное средство. После краткого периода изучения начальство дало добро, купили сервер (Quad Core, 8GB RAM) и виртуализировали первый офис.

В офисе было 5 серверов - ISA, DC, Exchange 2003, Backup/App и App2.  Сервера переносились по следующей методике: 
  1. Заменяем контроллер IDE на Standard IDE, очищаем MountedDevices, глушим сервер.
  2. Используя Norton Ghost делаем образ диска сервера. С помощью UltraISO закатываем образ в ISO файл.
  3. Создаём виртуальную машину, выбираем подходящее количество памяти и прочего железа, жесткий диск - IDE, подключаем 2 CDROM из образов - один загрузочный BartPE с Ghost и второй - ISO образ сервера.
  4. Запускаемся, грузится BartPE, с помощью Ghost восстанавливаем сервер на диск виртуальной машины.
  5. Отсоединяем оба CD и запускаем машину. У меня все сервера нормально поднялись (именно для этого диск был сделан IDE - см. потом проблемы).  
  6. Проставляем VMware Tools и ещё разок перегружаемся.
  7. Активируем Windows (т.к. "железо" поменялось то активация слетает).
  8. Настраиваем Start|Stop в VMware Server, UPS софт на хост машине и прочее.
Проблемы которые меня поджидали:
  1. Первой серьёзнейшей проблемой с которой я столкнулся, было черезвычайно низкое быстродействие дисковой подсистемы. Здесь сработало 3 фактора: а) реально дисков per machine стало меньше - т.е. 5 машин работало на той же дисковой где раньше всегда была одна. б) неоптимальные настройки памяти для виртуальных машин - сервер старался сохранить побольше памяти для себя откусывая "неиспользуемую" в данный момент у виртуальных машин. Для этого он делал дополнительный файл размером с выделенную память для машины и активно с ним работал. и наконец в) - как оказалось производительность виртуальных IDE дисков в VMware намного ниже их SCSI собратов. Решения:
    1. Образы машин были вынесены на 2 15k SCSI диска в RAID1 (кстати Fujitsu MAU/MAX - отличные винты).
    2. В настройках машин было указано MemTrimRate = "0", sched.mem.pshare.enable = "FALSE", MemAllowAutoScaleDown = "FALSE" и mainMem.useNamedFile = "FALSE" - после чего файл дампа памяти с диска исчез и связанные с ним потери тоже.
    3. Тип виртуальных дисков для серверов был сменён на SCSI. Лично мне кажется, что это можно было сделать как-то просто меняя параметры в .vmxf файле, но по быстрому как - я не нашел и поэтому просто создал новые виртуальные диски, перегрузил сервера разок, чтобы они распознали SCSI контроллеры, и загрузившись с BartPE Ghost скопировал образы с IDE на SCSI. После чего IDE диски были убраны из конфигурации машин и загрузка пошла со SCSI. Практически после этих изменений нареканий к дисковой больше не было.
  2. Для нормальной работы ISA сервера нужно было 2 сетевые карты на хост системе и настроить виртуальные сети. Manage Virtual Networks мне в этом помог. В итоге для входящего соединения с Интернетом была сконфигурирована частная сеть к которой коннектились только физическая карта хоста и виртуальная карта ISA сервера. Для безопасности я отбиндил все протоколы на карте хоста кроме VMware Bridge Protocol. 
  3. SCSI device pass-through для ленты работает неустойчиво. Эту проблему пока до конца не поборол - буду тестировать дальше.
Во втором офисе было всего 3 сервера (ISA, DC, Exchange) и конфигурация хоста там послабее, но тоже всё работает достаточно уверенно.

Плюсы которые я получил:
  1. Виртуальное железо не ломается :-) Для меня резко сократилось количество железа, которое нужно мониторить.
  2. Устойчивость к фатальным сбоям железа возрасла. При любом форс-мажоре я могу запустить образы на любой адекватной машине в офисе.
  3. Простота бекапа - написал батник, который гасит все машины, делает snapshot, запускает их опять и архивирует образы дисков. По окончании архивации snapshot удаляется. Минимальный downtime ~5 минут, При желании можно вообще обойтись без выключения серверов - но тогда имиджи будут сняты в "живом" состоянии. 
  4. Счета за электричество на 50евро в месяц упали.
  5. Быстродействие возрасло - все машины редко ломятся к диску, а в каждый текущий момент SCSI обеспечивает лучшее быстродействие чем старые IDE...
  6. На хосте осталось немного места, иногда поднимаю свою старую рабочую машину (наконец-то из под стола этот гроб убрал :-) 
Выявленные недостатки:
  1. Проблемы с ленточкой. Будем решать.
  2. Квада явно много для моей конфигурации - можно было обойтись dual core. Что интересно - pre-Core процессоры работают с заметно большей нагрузкой (меньшей эффективностью) В непиковое время загрузка CPU для Q6600 составляет 1-2%, а вот на Pentium D 2.8GHz - уже 7-10%
  3. Чтобы и старт и стоп проходили нормально надо тюнить сервера и хост. Это заняло некоторое время.
  4. Нет автоматического бекапа хост-компа. Вообще говоря он обновляется не так часто и подъем с нуля займёт час, но хотелось бы и его тоже как-то бекапить. Для третьего офиса я планирую на хост компе иметь 2 операционки и переключась с одной на другую -бекапить неработающую. 
P.S. На iXBT поправили - для миграции лучше использовать http://www.vmware.com/products/converter/ ...
 

vmware

Next post
Up