12 декабря 2011 г.

Сервер для филиала, RODC, NAS и другое

Недавно возникла необходимость одно из наших подразделений вывести в отдельный офис. Речь шла где-то о 25-30 людях с компьютерами + необходимая техника. Особенность в том, что это редакции журналов, соответственно они работают с большими объемами данных, т.о. работа с нашей сетью хранения данных через WAN подключение, мягко говоря, не подходит.

Итак, нужно было решить ряд задач, а именно, удобную аутентификацию в нашем домене, групповые политики, DNS, DHCP, сервисы печати и хранения данных.

В конечном итоге решено было выделить старенький стоечный сервер, который с успехом потянет Windows 2008 R2 на котором и будут установлены все службы. Проблема оставалась только в том, что в нем стояли диски не очень большого размера (ранее на нем был развернут временный терминальный сервер), да и не было в то время дисков, объем которых измерялся в терабайтах :-)

Самым удобным решением в этом случае оказалось применение готового NAS. Вначале выбор был остановлен на Synology DS712+, но на складе их не оказалось, а поставки ожидались, как обычно, через несколько месяцев. Зато доступен был QNAP 239 Pro II+. Это двухдисковая модель NAS, с поддержкой iSCSI. Для нее были куплены два диска Western Digital 2Tb Raid Edition4 7200RPM 64MB (WD2003FYYS SATAII). К счастью, мы успели их купить еще до того, как цены окончательно взмыли ввысь, хотя и дешевыми их назвать сложно.

Т.к. диски планировалось поставить в “зеркало” (RAID1), то пришлось брать, так называемую, RAID или Enterprise редакцию. В обычных дисках несколько другой алгоритм обработки ошибок, в связи с чем в рейд их ставить не рекомендуется.

Подключить NAS к серверу решили по iSCSI, это позволит использовать все вкусности, которые дают файловые сервисы Microsoft.

Первоначальная настройка NAS интереса не представляет, все достаточно просто. Запускается родная утилита, которая находит устройство и позволяет сделать первичную настройку. Затем, с ее же помощью обновляется прошивка, инициализируются диски, строится рейд и все такое. К настройке iSCSI я вернусь чуть позже.

В сервере установлено две сетевых, одна набортовая Atheros, вторая Intel Pro 1000 MT. Обе на гигабит. Поначалу, я планировал что Atheros пойдет в локальную сеть, а Intel я планировал отдать под iSCSI. Но, оказалось, что не все так просто! Соединенные напрямую сервер и NAS друг друга не видели, хотя линк и показывался поднятым. Кучу времени я потратил на то, что считал какими-то своими ошибками в настройке сети, но, оказалось, что сетевые на NAS и в сервере просто не дружат при прямом соединение на гигабите! На 100 мегабитах заводятся, а на гигабите ни в какую. И это при том, что в NASе тоже стоят Intel :-)

В результате я поменял местами подключения и сеть, наконец-то, заработала.

Но мои приключения с сетью на этом не закончились. При использовании iSCSI желательно применять, так называемые, jumbo frames. Это, по крайней мере в теории, ощутимо может повлиять на производительность. И в сетевой и на NAS заявлена поддержка этой технологии. При этом, сетевая умеет кроме стандартного размера кадра в 1500b, использовать 3k,4k,5k,6k,7k. Записано именно так, хотя в других местах пишут размер в байтах (для кадра это важно). Проблема в том, что в интерфейсе NAS размеры кадра были 1500, 4074, 7418 и 9000. Ну 9000 блока на Atheros не было в принципе, ставим 7к, не пашет! Смотрим, что же имелось ввиду под 7к

netsh interface ipv4 show subinterfaces

   MTU  MediaSenseState   Bytes In  Bytes Out  Interface
------  ---------------  ---------  ---------  -------------
4294967295                1          0        320  Loopback Pseudo-Interface 1
  7154                1  130743437  2501018423  iSCSI
  1500                1    6919345   13642702  LAN

Оп-па, а тут 7154. Может быть можно поменять на больший?

Вначале смотрим какой номер этого интерфейса

netsh interface ipv4 show interfaces

Idx     Met         MTU          State                Name
---  ----------  ----------  ------------  ---------------------------
  1          50  4294967295  connected     Loopback Pseudo-Interface 1
11          10        7154  connected     iSCSIврсз
13          20        1500  connected     LAN

Ага, наш 11, затем можно поменять ему mtu

netsh interface ipv4 set subinterface "11" mtu=7418 store=persistent  

Проверяем

ping -f -t -l 7360 10.0.0.2

Pinging 10.0.0.2 with 7360 bytes of data:
General failure.
General failure.

Значит не может он работать с большим окном. Меняем обратно

netsh interface ipv4 set subinterface "11" mtu=7154 store=persistent

Значит менять нужно не здесь, а на NAS. Через web интерфейс не поменять, т.к. там фиксированный список. Но, можно поменять вручную, в чем мне очень помог коллега.
Для этого нужно зайти с помощью ssh на NAS. В файле /etc/init.d/set_mtu.sh можно найти, что MTU нужно выставлять с помощью функции setcfg

/sbin/setcfg eth1 MTU 7154

Эту же операцию можно сделать и через ifconfig, но тогда он сбросится при перезагрузке и нужно еще понять, куда сохранить, чтобы не сбрасывалось.

После всего этого нужно создать iSCSI Target и LUN, а также привязать их друг к другу. Это не сложно, все делается мастером, потому останавливаться на этом смысла нету.

Потом оказалось, что на NAS нельзя привязать сервис iSCSI только к одной сетевой, при попытке отключить привязку к одному из интерфейсов, отключался и другой :-( Возможно, это  и можно сделать где-то в глубине конфигов, но я решил на это плюнуть.

Кстати, в Windows Server 2008 появилась полезная feature под названием Windows Internet Storage Name Server или iSNS. Эта служба как раз предназначена для помощи в хранении имен, в частности, iSCSI серверов. Ставится она просто и, по большому счету, в настройке не нуждается. Затем адрес сервера прописывается в QNAP, который там и зарегистрирует свой Target.

Затем настраивается iSCSI Initiator на сервере. Для этого запускается управляющая программа, которая при первом запуске предложит запустить службу. Потом на закладке Discovery нужно ввести имя iSNS сервера. Кстати, без него у меня были проблемы с тем, чтобы заставить сервер работать с NAS именно через специально выделенную сеть. Он упорно добавлял соединение через обе сети, причем, по умолчанию ломился именно через “ненужную”. Все можно было настроить, но уже несколько через “одно место”.

Теперь о сервере, саму установку Windows Server 2008 R2 описывать не буду :-) Что нужно сделать после первоначальной настройки и ввода в домен?

  • Создать новый сайт для этого филиала и прописать подсеть для сайта
  • Создать межсайтовое соединение
  • Установить роль RODC. Это делается просто, запускаем dcpromo и просто идем по пунктам (при этом не забываем нажать Use advanced mode installation на первом же экране).

На экране  с настройками политики репликации паролей добавляю группу пользователей, которые будут сидеть в филиале. На экране с делегированием, добавляем группу пользователей, которым будут делегированы права локальных админов. Это на тот случай, если в филиале появится кто-то, кто будет выполнять часть административных функций.

После перезагрузки нужно поменять переместить запись в DNS 127.0.01 “пониже”, иначе работать не будет.

Кроме того, у меня был глюк с тем, что моя внутренняя сеть почему-то вместо профиля Domain была в Public. Мне пришлось найти и применять заказной патч от Microsoft - The network location profile changes from "Domain" to "Public" in Windows 7 or in Windows Server 2008 R2, который мне и помог.

2 комментария:

  1. По поводу винчестеров подскажите, пожалуйста.

    Насколько я помню, и в QNAP и в Synology RAID программный, а не аппаратный. Применение винчестеров Raid Edition всё равно даёт свои плюсы?

    ОтветитьУдалить
  2. Да, вы правы, рейд там не железный, но, тем не менее, они рекомендуют использовать именно диски рейдовой редакции и по тем же причинам.

    ОтветитьУдалить