Сквид перестает обрабатывать http трафик

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
Trojan
Сообщения: 359
Статус: Системный ламер
ОС: CentOS 7

Сквид перестает обрабатывать http трафик

Сообщение Trojan »

На FreeBSD 6.3 AMD сервере работает сквид 2.6.16_1. Проблема со сквидом следующая: каждый день, приблизительно в середине рабочего дня, отрубается http трафик, т.е. такие вещи как Skype, qip или AOL продолжают работать, а вэб запросы не обрабатываются. Проблема решается только полной перегрузкой сервера, но это сейчас приходится делать ежедневно.

Думаю, что проблема не из-за нехватки дискового пространства для кэширования трафика потому, что трафик стопорится даже в таком случае:

Код: Выделить всё

[root@SUN /home/trojan]# df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/da0s1a    4.7G     76M    4.3G     2%    /
devfs          1.0K    1.0K      0B   100%    /dev
/dev/da0s1f    821M     26K    755M     0%    /home
/dev/da0s1d    9.5G    4.0G    4.7G    46%    /usr
/dev/da0s1e     16G     53M     15G     0%    /var

В чем может быть проблема?

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

Спасибо сказали:
Abigor
Сообщения: 100

Re: Сквид перестает обрабатывать http трафик

Сообщение Abigor »

логи надо смотреть. Если squid не робит, вот логи сквида и надо "пасти". Кстати, а что такое старье ?
Спасибо сказали:
Аватара пользователя
Trojan
Сообщения: 359
Статус: Системный ламер
ОС: CentOS 7

Re: Сквид перестает обрабатывать http трафик

Сообщение Trojan »

Если не трудно подскажите инфу с каких логов нужно показать.
Всегда думай то, что говоришь и никогда не говори то, что думаешь.

Спасибо сказали:
Аватара пользователя
butch
Сообщения: 331
ОС: :OC

Re: Сквид перестает обрабатывать http трафик

Сообщение butch »

хвост читай у /var/log/squid/cache.log
Спасибо сказали:
Аватара пользователя
Trojan
Сообщения: 359
Статус: Системный ламер
ОС: CentOS 7

Re: Сквид перестает обрабатывать http трафик

Сообщение Trojan »

Есть еще вот такая деталь, у тех кто попадает под правило ниже http трафик не отрубается:

Код: Выделить всё

nat on $ext_if from 192.168.1.246 to any -> ($ext_if)
nat on $ext_if from 192.168.1.247 to any -> ($ext_if)
nat on $ext_if from 192.168.1.248 to any -> ($ext_if)
nat on $ext_if from 192.168.1.249 to any -> ($ext_if)
nat on $ext_if from 192.168.1.250 to any -> ($ext_if)
nat on $ext_if from 192.168.1.251 to any -> ($ext_if)
nat on $ext_if from 192.168.1.252 to any -> ($ext_if)
Всегда думай то, что говоришь и никогда не говори то, что думаешь.

Спасибо сказали:
Abigor
Сообщения: 100

Re: Сквид перестает обрабатывать http трафик

Сообщение Abigor »

ну правильно, пакеты с эти ИП натятся, т.е. попадают под правила фаервола (pf в данном случае), а прокси это совсем другая история.
Спасибо сказали:
Аватара пользователя
Trojan
Сообщения: 359
Статус: Системный ламер
ОС: CentOS 7

Re: Сквид перестает обрабатывать http трафик

Сообщение Trojan »

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

Спасибо сказали:
Abigor
Сообщения: 100

Re: Сквид перестает обрабатывать http трафик

Сообщение Abigor »

по-моему Вы начинаете фантазировать.
Спасибо сказали:
Аватара пользователя
arkhnchul
Сообщения: 2284
Статус: Толчковый инженер
ОС: Debian, Fedora

Re: Сквид перестает обрабатывать http трафик

Сообщение arkhnchul »

логи посмотрите наконец. все.
Losing is fun!
Спасибо сказали:
Аватара пользователя
Trojan
Сообщения: 359
Статус: Системный ламер
ОС: CentOS 7

Re: Сквид перестает обрабатывать http трафик

Сообщение Trojan »

После долгой паузы хочу продолжить тему. Значит так: имеется FreeBSD server, на котором крутится pf и squid. Проблема со сквидом такая, что сквид кэш быстро заполняется, после чего у пользователей перестает работать приложение получающее графики с биржи, а также отваливается весь http трафик. Эту проблему (раз в два дня) приходилось решать так:

Код: Выделить всё

[root@SUN /home/trojan]# rm -rf /usr/local/squid/cache/*
[root@SUN /home/trojan]# shutdown -r now
[root@SUN /home/trojan]# squid -z
[root@SUN /home/trojan]# shutdown -r now

На все это уходило минуты 3-4, т.е. весь офис на это время был оторван от мира. Причем для этого вовсе не обязательно чтобы на точке монтирования (в данном случае /usr), оставалось 0 свободного места.

С логами было попроще, но все равно приходилось вручную делать:

Код: Выделить всё

[root@SUN /home/trojan]# echo > access.log
[root@SUN /home/trojan]# echo > store.log

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

Пока проблему с переполнением логов access.log и store.log решил, вернее пробую решить таким образом:

Код: Выделить всё

cache_access_log /dev/null
cache_store_log none
cache_log /dev/null

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

Теперь пара вопросов:

1. Есть ли другие способы решения такой проблемы?
2. Объясните пожалуйста что делает команда squid -k rotate. Я так понял она переименовывает тот же access.log, store.log, cache.log и создает те же логи только чистые. Тогда возникает вопрос куда команда девает старые логи? Если оставляет в той же директории, то смысл в этой команде?
Всегда думай то, что говоришь и никогда не говори то, что думаешь.

Спасибо сказали:
Аватара пользователя
arkhnchul
Сообщения: 2284
Статус: Толчковый инженер
ОС: Debian, Fedora

Re: Сквид перестает обрабатывать http трафик

Сообщение arkhnchul »

По существу:
0) все это можно (в данном случае - нужно было сразу) делать по крону, а не руками. man crontab, гугль crontab.
1) настроить дисковый кэш не пробовали?
из конфига:

Код: Выделить всё

cache_dir /var/squid/cache 100 16 256
#    Add here (first number, here 100) the amount of hard disk space
#   (in megabytes) to devote to caching

Код: Выделить всё

#  TAG: cache_swap_low    (percent, 0-100)
#  TAG: cache_swap_high    (percent, 0-100)
#
#    The low- and high-water marks for cache object replacement.
#    Replacement begins when the swap (disk) usage is above the
#    low-water mark and attempts to maintain utilization near the
#    low-water mark.  As swap utilization gets close to high-water
#    mark object eviction becomes more aggressive.  If utilization is
#    close to the low-water mark less replacement is done each time.
#
#    Defaults are 90% and 95%. If you have a large cache, 5% could be
#    hundreds of MB. If this is the case you may wish to set these
#    numbers closer together.

2) настройте logrotate не сквидовский.

и да! выбросьте кэш из /usr, суньте его в /var - там ему место.

ЗЫ а нафига кэшировать четырехметровые объекты?) все равно их по нескольку раз не думаю, что будут грузить...
Losing is fun!
Спасибо сказали:
Аватара пользователя
Trojan
Сообщения: 359
Статус: Системный ламер
ОС: CentOS 7

Re: Сквид перестает обрабатывать http трафик

Сообщение Trojan »

arkhnchul писал(а):
16.10.2009 12:13
и да! выбросьте кэш из /usr, суньте его в /var - там ему место.

Подскажите как перемещать кэш и логи сквида из /usr в /var?

Просто создать каталоги типа /var/squid/cache и /var/squid/log и в конфиге сквида переписать расположение директорий?
Всегда думай то, что говоришь и никогда не говори то, что думаешь.

Спасибо сказали:
Аватара пользователя
arkhnchul
Сообщения: 2284
Статус: Толчковый инженер
ОС: Debian, Fedora

Re: Сквид перестает обрабатывать http трафик

Сообщение arkhnchul »

ну да.
Losing is fun!
Спасибо сказали: