Нам нужно реализовать новый сервер MS-SQL / IIS, обслуживающий страницы интрасети внутри. На данный момент мы наблюдаем в среднем 22 обращения в секунду, но каждый запрос довольно мал.
Какая конфигурация сервера вам рекомендуется?
а) один сервер с обоими приложениями
б) два физических сервера, по одному на приложение
в) два сервера VMware, по одному на приложение
г) другое
Кроме того, какую версию Windows и MS-SQL вы бы выбрали в данный момент и почему?
Вы не говорите, какую нагрузку ожидаете от приложения Intranet. Я предполагаю, что, если ваша компания не крупная, приложение Intranet не будет такой большой нагрузкой. В этом случае ключевая цель - управляемость. Если так, я бы использовал две виртуальные машины Hyper-V. Для начала вы можете разместить их на одном физическом сервере, а если нагрузка станет слишком большой, поместите каждую виртуальную машину на отдельный сервер.
Преимущество наличия IIS и SQL на отдельных серверах - простота. Вам не нужно беспокоиться о том, что изменения, внесенные в одну службу, повлияют на другую.
Преимущество использования виртуальных машин вместо реальных серверов заключается в том, что вы можете создавать резервные копии виртуальных машин, просто копируя (теневое) папку, в которой они находятся. Это делает такие вещи, как пакеты обновления SQL Server. много менее страшно. Если у вас есть два физических сервера, вы даже можете хранить копии одной и той же виртуальной машины на обоих серверах, а затем, если вы потеряете физический сервер, вы можете быстро установить виртуальную машину на другом физическом сервере. Это также значительно упрощает обновление оборудования.
Я бы использовал W2k8 для IIS. Стоит ли использовать x64 - вопрос спорный. Я действительно использовал x64 на моем последнем сервере IIS, но мне пришлось запускать IIS в 32-битном режиме, потому что многие из COM-серверов, которые ему нужны, доступны только в версиях x86. Для SQL-сервера, использующего x64, это будет подтверждением будущего, если вы думаете, что вам может понадобиться> 4 ГБ ОЗУ, и, честно говоря, у вас никогда не может быть слишком много памяти для SQL-сервера. Я бы, вероятно, выбрал SQL 2008 на том основании, что в конечном итоге вам придется это сделать, а сделать это сейчас намного проще, чем обновляться позже.
Наличие SQL Server на виртуальном диске может вызвать недоумение (или будет ли он в сети SAN?), Но мое тестирование наших баз данных среднего размера показывает, что падение производительности едва заметно. Фактически, когда я недавно переместил один из наших SQL-серверов на виртуальную машину, он работал примерно на 50% быстрее просто из-за значительного увеличения скорости диска нового хост-сервера по сравнению с одним двухлетним сервером.
Джон Ренни
Я управляю нашими экземплярами серверов IIS и SQL в очень активной производственной среде. Раньше у нас всегда был свой sql / iis-сервер «резак для печенья», и мы размещали их в каждой из различных областей. Слишком много раз разработчики вносили изменения или устанавливали программное обеспечение, которое вызывало проблемы с сервером, которые, очевидно, также влияли на ваш сервер sql. Сказав это, я определенно рекомендую разделить приложения на отдельные серверы. Я не знаю, как влияет на производительность наличие sql в среде виртуальной машины или нет. У нас есть тестовая сборка кластера sql в виртуальной машине, и она отлично работает со многими другими экземплярами виртуальных машин.
Мы только недавно начали консолидацию наших серверов sql в отказоустойчивый кластер sql 2005, работающий на Windows Server 2003. Они существуют на 2 физических серверах в активной / пассивной конфигурации с серверной частью SAN. Если бы я мог сделать это снова, я бы использовал SQL 2008, поэтому мне не нужно какое-то время беспокоиться об обновлении, и я бы также подумал о том, чтобы поместить их в виртуальную машину.
Наши серверы IIS существуют в веб-кластере на Windows Server 2003 в виртуальной машине.
Что мне действительно нравится в виртуальной машине, так это то, что, как указано выше, экземпляры виртуальных машин можно отключать и перемещать без особого уведомления конечных пользователей. Например, если физический сервер может быть снят с аренды, экземпляр виртуальной машины не отходит из аренды. А для реального оборудования вы можете просто переместить свои экземпляры виртуальных машин на другое оборудование, пока выполняете свопинг.
D) Другое
Не хватает информации. Каков твой бюджет? У вас уже есть виртуальная инфраструктура? Какую нагрузку вы ожидаете на сервере?
Если у вас неограниченный бюджет и значительная нагрузка, очевидный ответ - разделить И виртуализировать все.
Всем скептикам виртуализированного SQL: покажите мне доказательства того, что виртуализация SQL должна отличаться от виртуализации чего-либо еще. ; )
Я бы выбрал вариант B или C. Лучше всего было бы разделить два. Если у вас есть хорошая настройка виртуального сервера, я не вижу причин, по которым они не могут быть виртуальными серверами. Вы просто можете знать, сколько запросов страниц и SQL-запросов вы получите для повышения производительности.
Если у вас нет тяжелого полнотекстового поиска в вашем поле SQL, я бы выбрал SQL2008. В противном случае я бы выбрал SQL2005. Server 2008 и SQL2008 хорошо интегрируются друг с другом, поэтому я бы пошел с ними.
-JFV
Моя стоимость 0,02 фунта стерлингов:
Выложите сервер БД в отдельный ящик. Это позволяет вам оптимизировать его для сервера базы данных. Один или несколько кластерных веб-серверов могут работать на дешевых корпусах 1U. Масштабировать сервер базы данных на одном устройстве намного проще.
Не используйте виртуальные машины, если у вас нет для них специального приложения. Они действительно дают вам преимущество только в том случае, если у вас есть большое количество отдельных приложений, которые вы хотите изолировать.
SQL Server 2008 бесплатно дает вам дополнительные три года жизни вашей системы. SQL Server 2005 перейдет на EOL на 3 года раньше, чем 2008, поэтому использование SQL Server 2008 дает вашему приложению больше времени, прежде чем его нужно будет перенести.
Не вариант А, и уж точно не в том же ЭКЗЕМПЛЯРЕ Windows.
SQL Server действительно не слишком хорошо работает с другими приложениями на том же сервере, поскольку он требует очень много работать с ОЗУ и может выгружать другие приложения / службы. (Я также рекомендую ИСПРАВИТЬ количество оперативной памяти, которую использует SQL Server, отключив параметр «автоматический»)
У вас может быть один сервер, на котором запущено vmware и размещены два виртуальных экземпляра Windows 2008. Если вы еще не начали работать с vmware (или любой другой средой виртуализации), тогда приступайте к работе.
Как только вы обнаружите, что ваш единственный виртуальный сервер работает нормально, вы можете инвестировать в более дорогие продукты vmware: esx, виртуальный центр и т. Д., И вы можете создать DR / HA и емкость с помощью кластеризации.