Производительность Windows Server 2012 R2 для клиентов Mac OS X (файловые службы)

11

Я унаследовал сервер Windows 2012 R2, который испытывает ужасную производительность SMB / CIFS для клиентов Mac OS X, в частности. Сервер выполняет файловые службы и является контроллером домена Active Directory (один из двух для домена). Это эмулятор PDC. Другой контроллер домена - Windows 2003 Server.

Среда на стороне клиента представляет собой смесь компьютеров Windows 7 и Mac OS X 10.9 Mavericks. Все машины находятся в одной физической и логической гигабитной локальной сети. Пользователи Windows 7 испытывают производительность в пределах ожиданий. Клиенты Mac OS X 10.9 Mavericks испытывают ужасную производительность, включая: медленный просмотр каталога, обход, чтение и запись в файл. Кажется, существует значительная асимметрия в производительности чтения / записи, где производительность записи значительно ниже.

Мы пытались заставить клиентов OS X использовать SMBv1 и CIFS, в отличие от более новой реализации SMBX / SMB2. Проблема сохраняется для всех версий. Мы также установили четверг DAVE для тестирования. Есть небольшое снижение производительности листинга / обхода, но оно все еще неприемлемо медленно.

Я смонтировал общий ресурс и использовал его ddдля чтения /dev/randomи записи текстового файла объемом 1 ГБ. Производительность записи составила 0,33 Мбит / с. Я запустил tcpdumpво время записи, чтобы перехватить сообщения. Прошу прощения за отсутствие форматирования - я не могу поставить галочку напротив этого блока:

РЕДАКТИРОВАТЬ Я включил NFS Server для Windows Server и смонтировал на клиенте Mac OS X. Я провел такой же ddтест с субтитрами выше и с похожими результатами.


15:45:45.221337 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], ack 102, win 32767, options [nop,nop,TS val 1279665835 ecr 242798971], length 0
15:45:45.221546 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 1:501, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500WARNING: Packet is continued in later TCP segments
SMB PACKET: SMBwriteX (REQUEST)
15:45:45.221547 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 501:1001, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?)
15:45:45.221547 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 1001:1501, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?)
15:45:45.221547 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 1501:2001, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?)
15:45:45.221548 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 2001:2501, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?)
15:45:45.221548 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 2501:3001, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?)
15:45:45.221549 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 3001:3501, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?)
15:45:45.221549 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 3501:4001, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?)
15:45:45.221550 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 4001:4501, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?)
15:45:45.221550 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 4501:5001, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?)
15:45:45.221551 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 5001:5501, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?)

РЕДАКТИРОВАТЬ

  1. Какие дальнейшие действия по устранению неполадок я могу предпринять, чтобы изолировать потенциальную причину?
  2. Можно ли что-нибудь извлечь из вышеприведенного заголовка tcpdump?
  3. Есть ли какие-либо рекомендации по настройке производительности сети, чтобы облегчить описанные проблемы производительности?
sardean
источник
2
Какой у тебя конкретный вопрос?
ewwhite
@ewwhite Добавлены конкретные вопросы в строке.
Сардины
3
Вы видели Discussions.apple.com/message/23576276 ? Есть три предложения, одно в конце о подключении с использованием адреса cifs://server/sharecoffeecoffee11, одно об изменении значения MTU в середине страницы с помощью userofalltrades и интересный тест о том, чтобы попробовать его по проводному, а не по беспроводному, на более высоком уровне. Также discussions.apple.com/thread/5500165?start=45&tstart=0 предложение о NetBIOS через TCP / порт 445 на Windows , от joewebdms.
TessellatingHeckler
2
Что касается @ комментария Ньют подключитесь к доле от пострадавшего клиента и запустить его с сервера: Get-SmbSession | fl cli*,d*. Dialectэто версия SMB.
charleswj81
2
Кроме того, вы можете запустить Iperf между Mac и 2012 серверами 2003 года, чтобы устранить (или нет) SMB как проблему в отличие от сети или чего-то еще.
charleswj81

Ответы:

1

Попробуйте отключить SMB 3.0 на сервере и посмотрите, улучшится ли производительность. Отключение SMB 3.0 не очень хорошая идея, особенно если сервер работает как точка хранения для виртуальных машин Hyper-V или хранилищ данных SQL, но вам может это сойти с рук, если вы используете его довольно простым способом.

Обнаружение, включение и отключение SMBv1, SMBv2 и SMBv3 в Windows и Windows Server | Поддержка Microsoft

anuff
источник
1

Эта ссылка мне очень помогла: интегрировать Mac в домен Windows Active Directory | TechRepublic

В основном говорится, что вам нужно изменить настройки службы каталогов на Mac. Перейдите в «Системные настройки» / «Пользователи и группы» и нажмите «Параметры входа». Нажмите кнопку «Изменить» для сервера сетевых учетных записей, а затем «Откройте утилиту каталогов». Измените настройки в соответствии со своими потребностями.

Дважды щелкните «Active Directory» и перейдите в «Дополнительные параметры»:

  • «Форсировать локальный домашний каталог на загрузочном диске» будет «форсировать создание профиля на локальном жестком диске для всех пользователей»
  • «Использовать UNC-путь из Active Directory для определения местоположения домашней сети» и выбрать используемый протокол - smb
  • «Отображения, которые относятся к указанию уникальных идентификаторов GUID для определенных атрибутов, используемых в ADDS для идентификации учетной записи объекта компьютера. OS X будет генерировать их случайным образом по умолчанию при привязке к домену; однако вы можете использовать определенный набор, созданный администратор вашего предприятия. "
Haminidaba
источник
0

Я бы добавил комментарий, но не могу. У меня нет идей, чтобы вы попробовали, но я хотел сказать, что мой коллега недавно установил новый сервер OSX с почти всеми клиентами OSX. У него также были некоторые странные проблемы с общими файлами, такие как производительность, и клиенты не могли открыть определенные файлы с сетевых дисков с сервера OSX. Мы закончили тем, что купили контракт на поддержку от Apple, чтобы помочь ему, и они сказали ему, чтобы пользователи загружали файлы, над которыми они хотели работать, локально, чтобы их Mac выполняли свою работу и копировали все обратно ...

Увидев это, я понял, что у нового OSX что-то не так с доступом к сетевым ресурсам.

Джордж
источник
0

Установка этих двух разделов реестра помогла мне значительно улучшить производительность Windows для Mac на Windows Server 2012 и Windows 8.1

win_share_tweak.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]
"Smb2CreditsMin"=dword:00000300
"Smb2CreditsMax"=dword:00004000
Ведран
источник
0

Некоторые из причин, которые я видел для этого: [по порядку]

Проверьте настройки связующего дерева на ваших коммутаторах. Настройки связующего дерева могут влиять на то, что видно, и на качество соединений на Mac.

Размер MTU

Настройки Jumbo пакета

Разгрузка процессора

Отключить протоколы, которые не используются Я видел много сетей с включенными протоколами, которые не используются.

Маргаритка, соединяющая слишком много коммутаторов, неправильно нарушает стандарты Ethernet.

подавление широковещательных штормов

Нарушения проводки:
намотка избыточного провода Ethernet - создание магнитной индукции неправильно соединенного разъема RJ45 недостаточной длины для обеспечения достаточного сопротивления. обмотка провода вокруг мощного трубопровода

Том Клэнси
источник
0

Я не знаю, если это все еще актуально, но у меня тоже была та же проблема, что вы описали, и я решил ее, отредактировав /etc/sysctl.confфайл на клиентах Mac.

Я обнаружил, что эти настройки работают в моей ситуации, но, возможно, они могут нуждаться в некоторой настройке в вашей ситуации.

net.inet.tcp.win_scale_factor=8
net.inet.tcp.autorcvbufmax=16777216
net.inet.tcp.autosndbufmax=16777216
паскаль
источник
0

Не реклама - ознакомьтесь с пробной версией Acronis Access Connect (раньше назывался Acronis ExtremeZ-IP). Из моего исследования Microsoft часто меняет свою реализацию SMB, и даже если вы заставите ее работать с нормальной скоростью, она может «сломаться» в более позднем выпуске. Acronis остается на вершине этого для вас, за огромные расходы.

http://www.acronis.com/en-us/mobility/mac-windows-compatibility/

Я использовал его с несколькими клиентами в течение нескольких лет, и это довольно солидно.

Примечание . По моему опыту, при использовании этой услуги фактическая пропускная способность сети значительно увеличивается. Этот продукт устраняет различия в реализации SMB. У меня была такая проблема, пока я не попробовал это - это работает. И, как я уже сказал, даже если вы заставите его работать, он может сломаться с последующим обновлением реализации SAMBA.

hailthemelody
источник