Jump to content

Recommended Posts

Posted
9 часов назад, korsakik сказал:

Первый затуп - заполнение inode таблицы в 100% при 700 Гб на ФС ext4. 

Говоря простым языком, места на диске много, но адресная таблица заполнилась на 100% из-за большого количества маленьких файлов (чанков в данном случае).

Как результат - отказ работы NGINX и сопутствующих модулей.

Перевожу на XFS.

 Фигня какая-то. При создании или пересоздании fs ext4 всегда можно определять ситуацию с inode. Первый раз споткнулся на инодес еще давно, когда сервера типа cnews жрали много инодов для кучи мелких файлов, пересоздал fs - и наступило счастье. Это было так давно, что у меня еще стояли freebsd2.2.8...

  • Replies 82
  • Created
  • Last Reply

Top Posters In This Topic

Posted (edited)
10 часов назад, YuryD сказал:

 Фигня какая-то. При создании или пересоздании fs ext4 всегда можно определять ситуацию с inode. Первый раз споткнулся на инодес еще давно, когда сервера типа cnews жрали много инодов для кучи мелких файлов, пересоздал fs - и наступило счастье. Это было так давно, что у меня еще стояли freebsd2.2.8...

Обычно это фиксится удалением логов и всякого мусора с диска, но в моём случае это не помогало, так как от nginx идут папки вида:

00, 01, 02, aa, ab, a1 и тд и так по иерархии дальше с такими же директориями во вложении корневых папок.

К тому же, найти вариант как увеличить размер таблицы inode без потери данных я не нашёл, а в XFS фс размер таблицы inode динамический и выделяется по необходимости. В интернете много споров по этому поводу, но многие (не все) пишут что XFS идеально подходит для структурированных данных со статическим содержимым.

Кароче спорить не буду, но факт фактом, чтобы я не делал - ext4 мне не подошёл.

Edited by korsakik
Posted (edited)
12 часов назад, YuryD сказал:

Это было так давно, что у меня еще стояли freebsd2.2.8

YuryD, ты походу дункан маклауд!

Тут 80% аудитории в те времена, в памперсах ходило.

 

 

Edited by RN3DCX
Posted
13 часов назад, korsakik сказал:

К тому же, найти вариант как увеличить размер таблицы inode без потери данных я не нашёл,

 Как это ? Создал новый раздел с нужным кол-вом inodes, да и копируй со старого туда. df -i вполне показывает кол-во inodes. Ну и такой шляпой с кучей вложенных директорий и старый squid страдал.

 

11 часов назад, RN3DCX сказал:

Тут 80% аудитории в те времена, в памперсах ходило.

 

 

 В мое время памперсы были только на загнивающем западе :)

Posted

Он говорит про изменение на лету. Без пересоздания раздела и доп хранилища на время манипуляций. Кэш можно и потерять.

 

с xfs надо быть очень осторожным и иметь ибп.

Posted
10 часов назад, YuryD сказал:

 Как это ? Создал новый раздел с нужным кол-вом inodes, да и копируй со старого туда.

Очень много файлов и долго делается, да и потерять кеш за несколько дней на первых парах не самое страшное для решения проблемы. Потом вопрос так же встанет, а хочется "сел и поехал".

Цитата

df -i вполне показывает кол-во inodes.

По нему и смотрю

Цитата

с xfs надо быть очень осторожным и иметь ибп.

стоит добротный

  • 2 weeks later...
Posted

Парни вопрос по DNS. Как заставить моих абонентов качать с кэш сервера, если между абонами и сервером стоит NAT? Нужно ли присвоить в этом случае паблик ip для кэш сервера?

Posted
13 часов назад, zhenya` сказал:

Ну серверу в любом случае нужна связность с оригинальными серверами. Так, что если ната ещё одного нет, то надо белые адреса

сервер на dmz, оригинальные сервера он видет

Posted (edited)
20 часов назад, zhenya` сказал:

Ну серверу в любом случае нужна связность с оригинальными серверами. Так, что если ната ещё одного нет, то надо белые адреса

Белые адреса на самом деле нужны, чтоб абоненты могли обращаться. Теперь вопрос: какие порты еще следует открыть? для стима?

 

Клиент Steam:
от 27000 до 27015 UDP включительно (игровой трафик)
от 27015 до 27030 UDP включительно (чаще всего матчмейкинг и HLTV)
от 27014 до 27050 TCP включительно (загрузки Steam)
27031 и 27036 UDP (входящие, для домашних трансляций)
27036 и 27037 TCP (входящие, для домашних трансляций)
UDP 4380
Выделенные или слушающие сервера:
TCP 27015 (порт RCON для SRCDS)
P2P-сеть Steamworks и голосовой Steam чат:
UDP 3478 (исходящий)
UDP 4379 (исходящий)
UDP 4380 (исходящий)
Дополнительные порты для сетевого режима Call of Duty: Modern Warfare 2:
UDP 1500 (исходящий)
UDP 3005 (исходящий)
UDP 3101 (исходящий)
UDP 28960

эти?

 

или этих достаточно: 

от 27014 до 27050 TCP включительно (загрузки Steam)
Edited by 2fat2fly
Posted (edited)

Да вроде ничего не надо открывать, для клиентов надо отдавать DNS с записями на кеш, а в самом кеш сервере "чистый" днс, и будет обращаться он к публичным серверам. Можно и за натом, и сервер и для клиентов. Самое главное чтобы клиент видел сервер за натом, но это вполне реализуемо. 

 

В такой схеме сервер за натом имеет, к примеру, 172.16.0.2/24 адрес

клиенты 172.16.0.3-254/24

Самое главное чтобы на 172.16.0.2 был доступ в инет.

 

В таком виде в DNS вместо внешнего будет внутренний 172.16.0.2 и всё.

 

 

Когда клиент за натом качает со стима игры, Вы же не открываете ему порты?.. Логично.

Edited by korsakik
Posted
В 12.10.2017 в 21:39, zhenya` сказал:

У тебя там nginx же.. так, что 80. 443 вроде ланкэш не слушает

Где listen 80 (прослушка 80 порта) указать еще  порты 27014 до 27050(порты для загрузок стим) ? Или 80 достаточно

 

resolver 8.8.8.8 - нужно указать dns моего провайдера?

 

server {
        listen 80;
        server_name *.steamcontent.com *.steampipe.steamcontent.com *.cs.steampowered.com content1.steampowered.com content2.steampowered.com content3.steampowered.com content4.steampowered.com content5.steampowered.com content6.steampowered.com content7.steampowered.com content8.steampowered.com;
        access_log /data/Downloads/Cache/logs/access.log;
        error_log /data/Downloads/Cache/logs/error.log;
        root /data/Downloads/Cache/Steam;
        index index.html index.htm;
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
                root /use/share/nginx/html;
        }
        proxy_temp_path /data/Downloads/Cache/tmp/ 1 2;
        resolver 8.8.8.8;
        location /depot/ {
                try_files $uri @mirror;
                access_log /data/Downloads/Cache/logs/access.log;
        }
        location / {
                proxy_next_upstream error timeout http_404;
                proxy_pass http://$host$request_uri;
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                add_header X-Mirror-Upstream-Status $upstream_status;
                add_header X-Mirror-Upstream-Response-Time $upstream_response_time;
                add_header X-Mirror-Status $upstream_cache_status;
                add_header Host $host;
                access_log /data/Downloads/Cache/logs/access.log;
        }
        location @mirror {
                proxy_store on;
                proxy_store_access user:rw group:rw all:r;
                proxy_next_upstream error timeout http_404;
                proxy_pass http://$host$request_uri;
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                add_header X-Mirror-Upstream-Status $upstream_status;
                add_header X-Mirror-Upstream-Response-Time $upstream_response_time;
                add_header X-Mirror-Status $upstream_cache_status;
                access_log /data/Downloads/Cache/logs/access.log;
        }
}

 

Posted (edited)
В 18.10.2017 в 12:26, zhenya` сказал:

не надо ничего дополнительного. 270** это даулоад внутри игры своими механизмами. 

 

резолвер любой днс, который отдаст правильные адреса.

steampowered.com и *.steampowered.com следует добавлять в DNS?

Если я их добавляю в ДНС то при попытке зайти на сайт выводит: 

Цитата

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.

Screenshot_7.png

Если же я убираю steampowered.com и *.steampowered.com из днс, то выдает сообщение: 

Цитата

Не удается получить доступ к сайту :(

Nslookup не может зарезолвить айпишник:

Screenshot_8.png

 

 

 

Edited by 2fat2fly
Posted (edited)
В 13.10.2017 в 13:27, korsakik сказал:

Да вроде ничего не надо открывать, для клиентов надо отдавать DNS с записями на кеш, а в самом кеш сервере "чистый" днс, и будет обращаться он к публичным серверам. Можно и за натом, и сервер и для клиентов. Самое главное чтобы клиент видел сервер за натом, но это вполне реализуемо. 

 

В такой схеме сервер за натом имеет, к примеру, 172.16.0.2/24 адрес

клиенты 172.16.0.3-254/24

Самое главное чтобы на 172.16.0.2 был доступ в инет.

 

В таком виде в DNS вместо внешнего будет внутренний 172.16.0.2 и всё.

 

 

Когда клиент за натом качает со стима игры, Вы же не открываете ему порты?.. Логично.

Все таки получилось сделать кэщ-сервер у себя в интернет-клубе по этому ману https://arstechnica.com/gaming/2017/01/building-a-local-steam-caching-server-to-ease-the-bandwidth-blues/ через готовые имеджи в докер (причем на все ушло не больше 15 минут).

Правда в инет клубе получается что кэш серв и игровые ПК находятся в одной подсети.

 

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

59f02c7cd7ce4_-1.thumb.jpg.e7220a6a2f96fea27b157c0f47400512.jpg

 

Edited by 2fat2fly
Posted

Если сервер кеша в другой сети, за натом, следует открыть ему всего один порт - 80.

 

К примеру если в клубе сеть 192.168.0.0/24

а сервер в сети 172.16.1.2

 

то нужно сделать днс записи на 172.16.1.2

пробросить порт 80 (http) и всё.

 

Для проверки можно просто пропинговаться на 172.16.1.2, самое главное чтобы был маршрут и 80 порт был доступен.

Вообще это очень усложняет схему, можно просто сервер в общую сеть вывести и без дополнительных натов, при такой схеме будет несколько ip на одной сетевой и всё, думаю из локальной /24 можно выделить несколько адресов.

 

Я выделил 13 адресов (реальных) на всё это, 1 для интерфейса на мир, остальные слушают трафик от клиента и кешируют, но и с натом это вполне отлично будет работать, вот пример:

 

 

  • 4 weeks later...
Posted

 

В 25.10.2017 в 11:19, 2fat2fly сказал:

Все таки получилось сделать кэщ-сервер у себя в интернет-клубе по этому ману https://arstechnica.com/gaming/2017/01/building-a-local-steam-caching-server-to-ease-the-bandwidth-blues/ через готовые имеджи в докер (причем на все ушло не больше 15 минут).

Правда в инет клубе получается что кэш серв и игровые ПК находятся в одной подсети.

 

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

 

 

У вас получилось? По вышеуказанному гайду поставил готовые образы steamcache/steamcache-dns.

Запустил скрипт просмотра логов: а там только желтого цвета логи (а нужны зеленые или красные)

Screenshot_25.thumb.png.5b90369760b1db20415c54520dc68862.png

 

если на игровой машине прописываю dns кэш сервера, то интернет пропадает, хотя некоторые приложения работают(telegramm, сам стим(месенджер, не полностью функционирует).

Или лучше просто днс настройки роутера поменять? Чтобы каждому ПК по дефолту стояла ДНС роуетра, в котором изменены записи hosts?

В 25.10.2017 в 19:44, korsakik сказал:

Если сервер кеша в другой сети, за натом, следует открыть ему всего один порт - 80.

 

К примеру если в клубе сеть 192.168.0.0/24

а сервер в сети 172.16.1.2

 

то нужно сделать днс записи на 172.16.1.2

пробросить порт 80 (http) и всё.

 

Для проверки можно просто пропинговаться на 172.16.1.2, самое главное чтобы был маршрут и 80 порт был доступен.

Вообще это очень усложняет схему, можно просто сервер в общую сеть вывести и без дополнительных натов, при такой схеме будет несколько ip на одной сетевой и всё, думаю из локальной /24 можно выделить несколько адресов.

 

Я выделил 13 адресов (реальных) на всё это, 1 для интерфейса на мир, остальные слушают трафик от клиента и кешируют, но и с натом это вполне отлично будет работать, вот пример:

 

вы Lancache ставили https://github.com/bntjah/lancache этот?

 

  • 2 weeks later...
Posted (edited)
В 20.11.2017 в 21:22, Ubop0202 сказал:

 

вы Lancache ставили https://github.com/bntjah/lancache этот?

 

Да.

 

Ну как впечатления, как работает?

Меня смущает что там всё маленькими файлами, кто-нибудь решил эту проблему? Можно как-то паковать в бОльшие файлы?

Edited by korsakik
очепятка
  • 4 weeks later...
Posted

Новый день, новый CDN, новые просадки по скорости скачивания.

 

Вот днс для заворота:

steampowered.cdnvideo.ru
steam.ru.qtlglb.com

 

Так же вчера обнаружил, что лучше убрать

edgecast.steamstatic.com

cs.steampowered.com (возможно нет)

так как стим трансляции кешируются, чего не нужно.

  • 2 months later...
Posted

Коллеги подскажите имеет ли смысл заморачиваться?

Какой процент от суммарной полосы занимают ORIGIN и  STEAM?

 

з.ы. GGC отдает на абонентов в районе 11Гиг.

  • 2 years later...
Posted

Плохие новости. Теперь в РФ valve software не будет ставить ноды.

 

Сегодня получил письмо:

Цитата
Hi Alexey
 
Unfortunately we are not able to send cache nodes to Russia, for tax/legal reasons.
 
Sorry about that,
 
Lindsay

 

Приятно жить в стране, с которой никто не хочет иметь дел.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...