Поменять местами HDD в bcache

У меня есть установка bcache, включающая SSD и HDD. Жесткий диск начинает выходить из строя, и у меня есть заказ на замену. Как лучше всего заменить жесткий диск?


Я подумал, что могу: При прямом обращении к серверу с таким запросом:

GET server.domain.com/api/adFile/fileName С заголовком: Диапазон: байты = 168-3922822

Я правильно получаю ответ 206. Вот некоторые из соответствующих заголовков в ответе:

  • Cache-Control: no-cache
  • Pragma: no-cache
  • Content-Length: 3922655
  • Content-Type: video / mp4
  • Content-MD5: f1 + K8OT8TEjvtlPU5iUY8a ==
  • Content-Range: байты 168-3922822 / 3922823
  • Истекает: -1
  • Последнее изменение: вторник, 16 февраля 2016 г., 15:46:46 GMT
  • ETag: "0x8D336E86040C217"
  • Сервер: Microsoft-IIS / 8.0
  • X-AspNet-Version: 4.0.30319
  • X-Powered-By: ASP.NET

При обращении к серверу через обратный прокси , с таким запросом:

GET proxy.domain.com/api/adFile/fileName С заголовком: Диапазон: байты = 168-3922822

Я неправильно получаю код состояния 200 и полное содержимое файла. вот соответствующие заголовки из этого ответа:

  • Cache-Control: no-cache
  • Pragma: no-cache
  • Content-Length: 3922823
  • Content-Type: video / mp4
  • Content- MD5: f1 + K8OT8TEjvtlPU5iUY8a ==
  • Истекает: -1 Последнее изменение: Вт, 16 февраля 2016 г., 15:46:46 GMT
  • ETag: "0x8D336E86040C217"
  • Сервер: Microsoft-IIS / 8.5
  • X-AspNet-Version: 4.0.30319
  • X-Powered-By: ASP.NET
  • X-Powered-By: ARR / 3.0
  • X-Powered-By: ASP.NET

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

4
задан 17 February 2016 в 21:57
1 ответ

Оказывается, исправление этой проблемы не связано с изменением обратного прокси-сервера. В моей целевой службе отсутствовал заголовок ответа, который необходим, когда конечная точка способна обслуживать частичное содержимое: заголовок Accept-Ranges. Я изменил свою конечную точку, чтобы включить Accept-Ranges: bytes в качестве заголовка ответа, который позволяет клиентам узнать, что конечная точка способна обслуживать частичное содержимое. Этот заголовок ответа включается независимо от того, запрашивается ли частичное содержимое или полное содержимое. Тот факт, что этот заголовок отсутствовал, должен был сбивать прокси-сервер, заставляя его думать, что ему нужно вернуть весь файл. В любом случае исправить это было просто, и теперь мой прокси-сервер успешно обрабатывает запросы на частичное содержимое!

0
ответ дан 3 December 2019 в 04:20

Теги

Похожие вопросы