Я унаследовал сервер Windows 2012 R2, который испытывает ужасную производительность SMB / CIFS, в частности, для клиентов Mac OS X. Сервер выполняет файловые службы и является контроллером домена Active Directory (один из двух для домена). Это эмулятор PDC. Другой контроллер домена - это Windows 2003 Server.
Среда на стороне клиента представляет собой смесь компьютеров Mavericks с Windows 7 и Mac OS X 10.9. Все машины находятся в одной физической и логической гигабитной локальной сети. Пользователи Windows 7 оценивают производительность в пределах ожиданий. Клиенты Mac OS X 10.9 Mavericks демонстрируют ужасную производительность, в том числе: медленное отображение каталогов, обход, чтение и запись файлов. Похоже, существует значительная асимметрия в производительности чтения / записи, при которой скорость записи значительно ниже.
Мы попытались заставить клиентов OS X использовать SMBv1 и CIFS, в отличие от более новой реализации SMBX / SMB2. Проблема сохраняется для всех версий. Мы также установили Турсби ДЕЙВ для тестирования. Производительность листинга / обхода немного снизилась, но по-прежнему неприемлемо медленно.
Я установил долю и использовал dd
читать /dev/random
и напишите в общую папку текстовый файл размером 1 ГБ. Скорость записи составила 0,33 Мбит / с. Я побежал tcpdump
во время записи, чтобы захватить сообщения. Извините за отсутствие форматирования - я не могу убрать галочку, чтобы избежать этого блока:
РЕДАКТИРОВАТЬ Я включил сервер NFS для 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?)
РЕДАКТИРОВАТЬ
Эта ссылка мне очень помогла: Интеграция компьютеров Mac в домен Windows Active Directory | TechRepublic
В основном это говорит о том, что вам нужно изменить настройки служб каталогов на Mac. Перейдите в Системные настройки / Пользователи и группы и нажмите Параметры входа. Нажмите кнопку редактирования для Network Account Server, а затем «Open Directory Utility». Измените настройки в соответствии со своими потребностями.
Дважды щелкните «Active Directory» и перейдите в Дополнительные параметры:
Попробуйте отключить SMB 3.0 на сервере и посмотрите, улучшится ли производительность. Отключение SMB 3.0 - не лучшая идея, особенно если сервер работает как точка хранения виртуальных машин Hyper-V или хранилищ данных SQL, но вам может сойти с рук, если вы используете его довольно простым способом.
Вот некоторые из причин, которые я видел для этого: [по порядку]
Проверьте настройки связующего дерева на коммутаторах. Настройки связующего дерева могут влиять на то, что видно, и на качество соединений на компьютерах Mac.
Размер MTU
Настройки Jumbo-пакета
Разгрузка процессора
Отключение неиспользуемых протоколов Я видел много сетей с включенными протоколами, которые не используются.
Гирляндное соединение слишком большого количества коммутаторов неправильно нарушает стандарты Ethernet.
подавление широковещательного шторма
Нарушения электропроводки:
наматывание лишнего провода Ethernet - создание магнитной индукции. Неправильно завершенный разъем RJ45, длина которого недостаточна для обеспечения достаточного сопротивления. обертывание провода вокруг кабелепровода большой мощности
Установка этих двух разделов реестра помогла мне значительно улучшить производительность совместного использования 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
Я бы добавил комментарий, но не могу. У меня нет никаких идей для вас, но я хотел сказать, что мой коллега недавно установил новый сервер OSX с почти всеми клиентами OSX. У него тоже были некоторые странные проблемы с общими файлами, такими как производительность и невозможность открытия клиентами определенных файлов с сетевых дисков с сервера OSX. В итоге мы купили у Apple контракт на поддержку, чтобы помочь ему, и они сказали ему, чтобы пользователи загружали файлы, над которыми они хотели работать, локально на свой Mac выполняли свою работу и копировали все это обратно ...
Увидев это, я подумал, что в новой OSX что-то не так с доступом к сетевым ресурсам.
Я не знаю, актуально ли это, но у меня тоже была такая же проблема, как вы описали, и я решил ее, отредактировав /etc/sysctl.conf
файл на клиентах Mac.
Я обнаружил, что эти настройки работают в моей ситуации, но, возможно, они могут потребовать некоторой настройки в вашей ситуации.
net.inet.tcp.win_scale_factor=8
net.inet.tcp.autorcvbufmax=16777216
net.inet.tcp.autosndbufmax=16777216
Не реклама - попробуйте пробную версию Acronis Access Connect (раньше назывался Acronis ExtremeZ-IP). Согласно моим исследованиям, Microsoft часто меняет реализацию SMB, и даже если вы заставите ее работать с нормальной скоростью, она может «сломаться» в более позднем выпуске. Acronis всегда будет в этом за вас за огромную плату.
http://www.acronis.com/en-us/mobility/mac-windows-compatibility/
Я использовал его с несколькими клиентами в течение нескольких лет, и он довольно надежен.
Заметка: По моему опыту, фактическая пропускная способность сети резко увеличивается при использовании этой службы. Этот продукт устраняет различия в реализации SMB. У меня была именно эта проблема, пока я не попробовал это - она работает. И, как я уже сказал, даже если вы заставите его работать, он может сломаться из-за более позднего обновления реализации SAMBA.