Работа с файлами в среде терминального сервера (часть 1)

Опубликовано: 24 Апреля, 2023

Введение

Служба файлов существует столько же, сколько и Windows. На самом деле, файловое обслуживание — это одна из основных причин, по которой мы в свое время начали создавать сети в первую очередь: для обмена информацией и ресурсами. Что ж, обмен файлами — прекрасный пример этого. Конечно, файловая служба прошла долгий путь с самого начала, но основы остались прежними, что иллюстрируется именами, которые Microsoft до сих пор использует для своих файловых компонентов: lanmanserver и lanmanworkstation. Lanman, LAN Manager, восходит к тому времени, когда Microsoft создавала OS/2, и впервые был разработан для обеспечения связи между клиентами DOS и OS/2 и серверами локальной сети OS/2.

Основы работы с файлами

Обработка файлов в Windows и других средах, таких как Novell, является классическим примером механизма клиент-сервер. В Windows клиентская сторона почти всегда включена, так как работа в сети (аутентификация по сети) без нее практически невозможна. Неудивительно, что клиентская часть — это «клиент для сетей Microsoft». Соответствующая служба Windows — это «служба рабочей станции».

Что касается серверной части: все, что вам нужно сделать, чтобы стать файловым сервером, — это поделиться файлом. Моя мама может сделать это (на самом деле она делает). Черт возьми, любая старая рабочая станция Windows 3.51 может быть файловым сервером. В зависимости от вашей версии Windows, включение «общего доступа к файлам и принтерам» или что-то подобное — это все, что вам нужно сделать, чтобы ваш сервер стал файловым сервером. Соответствующая служба Windows — это «служба сервера».

Это одна из основных причин, по которой важность файлового обслуживания недооценивается: это так просто и не требует «руководств» (мастеров настройки, документации или чего-либо подобного). Обычно при настройке сервера Microsoft дает более чем достаточно рекомендаций. Например, если вы настраиваете DNS-сервер, Windows поможет вам с помощью мастеров, всевозможных файлов справки и документации.

Это не относится к файловому сервису.

Итак, с одной стороны «создать» файловый сервер очень просто, а с другой — явно не хватает соответствующей документации и инструментов настройки/настройки. В качестве дополнительного бонуса файловый сервер почти всегда присутствует в любой сети Windows.

Все это вместе — потенциальный рецепт катастрофы.

Оснастка общих папок

Когда вы делитесь файлом, он отображается в одном из немногих инструментов Windows для управления файловыми серверами: оснастке «Общие папки».

Это скриншот фиктивного файлового сервера, который я настроил. Никаких общих ресурсов не определено, кроме тех, что используются по умолчанию. Если вы хотите, вы можете узнать больше об этих общих ресурсах по умолчанию и о том, как их отключить здесь. Я уверен, что количество долей на файловом сервере вашей компании намного больше. Вероятно, когда вы пойдете, чтобы проверить их, вы найдете некоторые акции, которых там даже не должно быть (больше). Это угроза безопасности, но это совсем другая история.

В разделе «Сеансы» указано, у каких пользователей и сколько сеансов к вашему файловому серверу, как долго у них были эти сеансы и как давно этот сеанс был активен (время простоя).

Наконец, раздел «открытые файлы» действительно дает представление о нагрузке на файловый сервер. Здесь перечислены все открытые файлы. Иди и посмотри. Если у вас есть среда с приличным количеством общих ресурсов и сопоставлением дисков, вы увидите, что в этом окне происходит довольно много действий. Это окно очень быстро загромождается, если в нем много открытых файлов. Также обратите внимание на столбец «# Locks». Это особенно интересно, если вы устраняете неполадки с файлами, которые больше нельзя открыть, потому что они используются.

Больше файлового сервиса

Может быть, вы думаете, о чем вся эта суета? Можно сказать, что в среднем мои пользователи записывают что-то на свой домашний диск примерно 10 раз в день. И, может быть, они создают 2 файла в своем ведомственном каталоге в день. Вот где распространенное заблуждение.

Файлообмен — это гораздо больше, чем просто общий доступ к файлам. Гораздо больше. Например:

Профили

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

Файлы приложения (конфигурации)

Можно подумать, что к настоящему времени все приложения превратились в приложения, записывающие данные своей конфигурации в реестр. К сожалению, все еще существует множество приложений, которые хранят свои настройки в файлах.ini. Плохо. Еще хуже становится, когда эти файлы конфигурации хранятся в сетевой папке. Биты действительно начинают бить вентилятор, когда это конкретное приложение опрашивает этот файл.ini каждые пять секунд. Например (старые версии) Lotus Notes печально известны этим. Также следите за такими файлами, как файлы кеша приложений или файлы с аналогичными функциями. На самом деле, следите за всеми файлами, к которым чрезмерно обращаются, независимо от того, читаются они или записываются.

Перенаправление папок

Представленная в Windows 2000 функция перенаправления папок позволяет перенаправлять определенные папки профиля, такие как «Мои документы», «Рабочий стол и меню «Пуск», «Данные приложений» и другие, в общий сетевой ресурс. Мои документы обычно перенаправляются на общую папку по понятным причинам. Однако вам следует тщательно подумать, действительно ли вы хотите перенаправить какие-либо другие папки. В частности, перенаправление данных приложения может значительно увеличить нагрузку на ваш файловый сервер. Это связано с тем, что современные приложения хранят почти все, что они не могут хранить в реестре, в папке Application Data. Если для каждого чтения или записи приложению приходится проходить через сеть к файловому серверу, вы можете себе представить, как это повлияет на вашу производительность.

Принтеры

Это не зря называется «общим доступом к файлам и принтерам». Да, доступ к принтерам осуществляется через тот же механизм, что и к файлам ( на самом деле редиректор выполняет гораздо больше задач, но это выходит за рамки этой статьи ). Поэтому, когда вы думали, что сделать файловый сервер компании одновременно сервером печати будет хорошей идеей, возможно, это было не так. Хотя роль файлового сервера и сервера печати нередко находится на одном сервере, помните, что сетевая печать приличного размера может сильно нагрузить ваш сервер. В частности, буферизация, в зависимости от размера и частоты заданий на печать, может сильно нагрузить ваш файловый сервер.

Фактор терминального сервера

Если сложить все эти факторы вместе, становится намного легче понять, почему файловый сервер может быть узким местом. Представьте, что у каждого пользователя есть свой перемещаемый профиль, домашний каталог, несколько общих ресурсов, файлы конфигурации удаленного приложения и перенаправленные данные приложения.

Теперь примените коэффициент сервера терминалов: умножьте ресурсы, которые требуются пользователю, на количество пользователей на этом конкретном сервере терминалов. Когда вы делаете это, становится более очевидным, почему большинство проблем с производительностью, связанных с обслуживанием файлов, связаны не с сервером, а с клиентом. Клиентом в данном случае является терминальный сервер. Иногда даже серверная операционная система Windows (по умолчанию) не приспособлена для обработки таких нагрузок.

Вывод

В этой статье мы рассмотрели, из чего состоит файловое обслуживание для сред терминального сервера и почему оно может стать узким местом.

Во второй части этой серии мы обсудим, что вы можете сделать, чтобы определить, есть ли у вас проблемы с производительностью файлового сервера, и что вы можете сделать, чтобы решить эти проблемы.