Назад | Перейти на главную страницу

Apache имеет ограничение на размер файла 2 ГБ на сетевом диске CIFS?

Настроить:

  1. Windows и сервер Ubuntu размещены в VMware ESXi.
  2. У меня есть файл размером 6 ГБ на общей папке Windows
  3. Общий ресурс Windows монтируется в Ubuntu с помощью smbmount
  4. Символьная ссылка, указывающая на файл размером 6 ГБ, создается в public_html каталог, доступный для чтения Apache

Эта проблема:

  1. wget получает ошибку Connection closed at byte 2130706432. Retrying. после загрузки 2130706432 байта (ровно 2032 МиБ, и каждый раз одно и то же)
  2. Apache возвращается 206 Partial Content без отображения ошибок в журнале
  3. Такая же ошибка, даже если я загружаю с localhost
  4. Аналогичная ошибка при использовании Firefox вместо wget
  5. Нет ошибки, если я md5sum или cp файл на Ubuntu, предполагая, что smbmount и Windows Server в порядке с файлами размером 6 ГБ.
  6. Ошибка отсутствует, если Apache обслуживает файл размером 6 ГБ с локального диска, что говорит о том, что Apache не имеет проблем с обработкой файлов размером 6 ГБ.

Есть идеи, почему Apache / symlink / smbmount / Windows вызывает ошибку при совместном использовании? Как я могу решить проблему?

Используемое программное обеспечение:

Изменить: если я использую CentOS 4.8 x64 вместо Ubuntu 8.04, Apache отключится на байте 2147483647 (2 ГБ - 1 байт) вместо 2130706432 (2 ГБ - 16 МБ).

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

EnableSendfile Off

Вы упомянули smbmount о том, как монтируется общий ресурс cifs. smbmount и mount.cifs - это два разных животных. smbmount имеет ограничение на файлы размером 2 ГБ для одного. Но smbmount - это старый способ сделать это, и он был заменен на mount.cifs.

Почему бы вам не использовать другой метод распространения файла? 6 ГБ - это много, и без проверки MD5sum это может привести к ошибкам. Возможна ли в этом случае доставка через распределенную систему?

Я почти уверен, что это действительно проблема с вашим общим ресурсом Windows, вам нужно установить размер блока 4 КБ и разрешить ему делиться им таким образом, чтобы клиент мог правильно интерпретировать. К сожалению, это может потребовать переформатирования тома, извините.