Задумался я полгода назад об оптимизации нашего серверного парка... Производительность, бекап, потребление электроэнергии, надежность...
Для тестов был выбран VMware Server 2.0 (Beta тогда ещё), как достаточно стабильное, развитое и бесплатное средство. После краткого периода изучения начальство дало добро, купили сервер (Quad Core, 8GB RAM) и виртуализировали первый офис.
В офисе было 5 серверов - ISA, DC, Exchange 2003, Backup/App и App2. Сервера переносились по следующей методике:
- Заменяем контроллер IDE на Standard IDE, очищаем MountedDevices, глушим сервер.
- Используя Norton Ghost делаем образ диска сервера. С помощью UltraISO закатываем образ в ISO файл.
- Создаём виртуальную машину, выбираем подходящее количество памяти и прочего железа, жесткий диск - IDE, подключаем 2 CDROM из образов - один загрузочный BartPE с Ghost и второй - ISO образ сервера.
- Запускаемся, грузится BartPE, с помощью Ghost восстанавливаем сервер на диск виртуальной машины.
- Отсоединяем оба CD и запускаем машину. У меня все сервера нормально поднялись (именно для этого диск был сделан IDE - см. потом проблемы).
- Проставляем VMware Tools и ещё разок перегружаемся.
- Активируем Windows (т.к. "железо" поменялось то активация слетает).
- Настраиваем Start|Stop в VMware Server, UPS софт на хост машине и прочее.
Проблемы которые меня поджидали:
- Первой серьёзнейшей проблемой с которой я столкнулся, было черезвычайно низкое быстродействие дисковой подсистемы. Здесь сработало 3 фактора: а) реально дисков per machine стало меньше - т.е. 5 машин работало на той же дисковой где раньше всегда была одна. б) неоптимальные настройки памяти для виртуальных машин - сервер старался сохранить побольше памяти для себя откусывая "неиспользуемую" в данный момент у виртуальных машин. Для этого он делал дополнительный файл размером с выделенную память для машины и активно с ним работал. и наконец в) - как оказалось производительность виртуальных IDE дисков в VMware намного ниже их SCSI собратов. Решения:
- Образы машин были вынесены на 2 15k SCSI диска в RAID1 (кстати Fujitsu MAU/MAX - отличные винты).
- В настройках машин было указано MemTrimRate = "0", sched.mem.pshare.enable = "FALSE", MemAllowAutoScaleDown = "FALSE" и mainMem.useNamedFile = "FALSE" - после чего файл дампа памяти с диска исчез и связанные с ним потери тоже.
- Тип виртуальных дисков для серверов был сменён на SCSI. Лично мне кажется, что это можно было сделать как-то просто меняя параметры в .vmxf файле, но по быстрому как - я не нашел и поэтому просто создал новые виртуальные диски, перегрузил сервера разок, чтобы они распознали SCSI контроллеры, и загрузившись с BartPE Ghost скопировал образы с IDE на SCSI. После чего IDE диски были убраны из конфигурации машин и загрузка пошла со SCSI. Практически после этих изменений нареканий к дисковой больше не было.
- Для нормальной работы ISA сервера нужно было 2 сетевые карты на хост системе и настроить виртуальные сети. Manage Virtual Networks мне в этом помог. В итоге для входящего соединения с Интернетом была сконфигурирована частная сеть к которой коннектились только физическая карта хоста и виртуальная карта ISA сервера. Для безопасности я отбиндил все протоколы на карте хоста кроме VMware Bridge Protocol.
- SCSI device pass-through для ленты работает неустойчиво. Эту проблему пока до конца не поборол - буду тестировать дальше.
Во втором офисе было всего 3 сервера (ISA, DC, Exchange) и конфигурация хоста там послабее, но тоже всё работает достаточно уверенно.
Плюсы которые я получил:
- Виртуальное железо не ломается :-) Для меня резко сократилось количество железа, которое нужно мониторить.
- Устойчивость к фатальным сбоям железа возрасла. При любом форс-мажоре я могу запустить образы на любой адекватной машине в офисе.
- Простота бекапа - написал батник, который гасит все машины, делает snapshot, запускает их опять и архивирует образы дисков. По окончании архивации snapshot удаляется. Минимальный downtime ~5 минут, При желании можно вообще обойтись без выключения серверов - но тогда имиджи будут сняты в "живом" состоянии.
- Счета за электричество на 50евро в месяц упали.
- Быстродействие возрасло - все машины редко ломятся к диску, а в каждый текущий момент SCSI обеспечивает лучшее быстродействие чем старые IDE...
- На хосте осталось немного места, иногда поднимаю свою старую рабочую машину (наконец-то из под стола этот гроб убрал :-)
Выявленные недостатки:
- Проблемы с ленточкой. Будем решать.
- Квада явно много для моей конфигурации - можно было обойтись dual core. Что интересно - pre-Core процессоры работают с заметно большей нагрузкой (меньшей эффективностью) В непиковое время загрузка CPU для Q6600 составляет 1-2%, а вот на Pentium D 2.8GHz - уже 7-10%
- Чтобы и старт и стоп проходили нормально надо тюнить сервера и хост. Это заняло некоторое время.
- Нет автоматического бекапа хост-компа. Вообще говоря он обновляется не так часто и подъем с нуля займёт час, но хотелось бы и его тоже как-то бекапить. Для третьего офиса я планирую на хост компе иметь 2 операционки и переключась с одной на другую -бекапить неработающую.
P.S. На iXBT поправили - для миграции лучше использовать
http://www.vmware.com/products/converter/ ...