Jump to content
Калькуляторы

Оптимизация NAS FreeBSD+mpd

Стандаpтный NAS домовой локалки

FreeBSD 6.2 mpd3.18 ipfw natd dummynet divert em+polling Celeron2.8

Сдох пpи 150 юзеpах.

Выкинул natd, поставил ng_nat+ng_netflow и ng_ipfw - сpазу полегчало.

В дальнейших планах пеpеход на ng_car, но столкнулся c тем, что напpямую к ng

ng_car не подключаеться (

в нетгpафе pазбиpаюсь слабо, пока только нашел инфоpмацию пpо связку

ng_ipfw+ng_car. Хотелось бы конечно как в mpd4,5 вешать ng_car на интеpфейс

напpямую...

Hи у кого пpимеpов не найдеться ?

 

Конфигуpация боевая, устойчивая.

Плюс достаточно много надо сделать с биллингом для того, чтобы отдавать

pадиус-атpибуты для mpd.

Поэтому пеpеход на 6.4 и mpd4.4.2 или mpd5.2 pассматpивается как кpайняя меpа.

 

В пpинципе новый ящик на основе core2duo уже куплен.

В планах установка 7.1amd64 + mpd5.2, но что-то много пишут пpо то, что

пеpиодически зависает все.

У вас какие веpсии стоят ?

 

Share this post


Link to post
Share on other sites

FreeBSD 6.3 amd64, mpd5.1, ng_car в связке с биллингом FreeNibs. Там же на ng_car шейпер. ipfw вообще не юзаю, в pf минимум правил (только фаервол). NAT и роутинг на отдельной Linux машине. Максимально зафиксировано 207 он-лайн pptp сессий, проблем "0", тьфу-тьфу-тьфу! :-))

P.S. Не знаю как поведет себя мпд 5.2 на фри 7.1, но в свое время (июнь 2008г) мне отсоветовали ставить мпд5 на 7.0 фри, какие-то глюки были. Что конкретно не знаю, но что-то вроде того, что Вы сейчас наблюдаете у себя. Поэтому и откатил фри до 6.3 о чем сейчас не жалею.

Share this post


Link to post
Share on other sites

У нас 7.1-STABE, mpd 5.2. по 600 юзеров, прокачка 500 гигов в сутки.

Share this post


Link to post
Share on other sites
FreeBSD 6.3 amd64, mpd5.1, ng_car но в свое время (июнь 2008г) мне отсоветовали ставить мпд5 на 7.0 фри, какие-то глюки были. Что конкретно не знаю, но что-то вроде того, что Вы сейчас наблюдаете у себя. Поэтому и откатил фри до 6.3 о чем сейчас не жалею.
Судя по http://www.freebsd.org/cgi/query-pr.cgi?pr=125314 проблемы были связаны с включением mppc и в 6.4 и 7.1 исправлены.

 

У нас 7.1-STABE, mpd 5.2. по 600 юзеров, прокачка 500 гигов в сутки.
STABLE от какого числа ?

 

Share this post


Link to post
Share on other sites
У нас 7.1-STABE, mpd 5.2. по 600 юзеров, прокачка 500 гигов в сутки.
на машине нат, шейпер есть ?

 

у меня при 600 юзерах тачка начинает умирать :(

Share this post


Link to post
Share on other sites

поставил на новую машинку 7.1 amd64 SMP

При установке на боевое дежурство словили невнятные паники и фатал трап 12 ;(

panic: sbflush_internal гугленье привело к подозрению на падение от большого ARP-broadcast трафика...

 

Видимо я что-то не то наоптимизировал в ядре ;)

kaN5300

Не могли бы вы показать loader.conf, sysctl.conf, dmesg и конфиг ядра ?

Хочеться сравнить со своим и разобраться в чем проблема-то.

Share this post


Link to post
Share on other sites
Стандаpтный NAS домовой локалки

FreeBSD 6.2 mpd3.18 ipfw natd dummynet divert em+polling Celeron2.8

Сдох пpи 150 юзеpах.

Выкинул natd, поставил ng_nat+ng_netflow и ng_ipfw - сpазу полегчало.

В дальнейших планах пеpеход на ng_car, но столкнулся c тем, что напpямую к ng

ng_car не подключаеться (

в нетгpафе pазбиpаюсь слабо, пока только нашел инфоpмацию пpо связку

ng_ipfw+ng_car. Хотелось бы конечно как в mpd4,5 вешать ng_car на интеpфейс

напpямую...

Hи у кого пpимеpов не найдеться ?

 

Конфигуpация боевая, устойчивая.

Плюс достаточно много надо сделать с биллингом для того, чтобы отдавать

pадиус-атpибуты для mpd.

Поэтому пеpеход на 6.4 и mpd4.4.2 или mpd5.2 pассматpивается как кpайняя меpа.

 

В пpинципе новый ящик на основе core2duo уже куплен.

В планах установка 7.1amd64 + mpd5.2, но что-то много пишут пpо то, что

пеpиодически зависает все.

У вас какие веpсии стоят ?

подскажите как перешли на ng_nat ? я в опциях ядра добавил, в мпд в конфиг добавил, работать не хочет.

 

что вы сделали?

 

Share this post


Link to post
Share on other sites

У меня FreeBSD 7.2 amd64,smp, mpd 5.3, pipe для каждого, 250-300 одновремменых подключений, за день пролетает примерно 1000 гигов. Несколько дней все работает ок, потом либо кернел паник, либо просто сеть падает (те садишься локально на машину пишешь команды все отрабатывает но сети нет)

 

Мама Gigabyte

Проц Quad q8200

ОЗУ 2Г

Сетевуха Intel гигабитная двухпортовая.

__________________________________

 

options NETGRAPH #netgraph(4) system..........................................................................

........................

options NETGRAPH_ASYNC..................................................................

.............................................................

options NETGRAPH_BPF....................................................................

.............................................................

options NETGRAPH_CISCO..................................................................

.............................................................

options NETGRAPH_ECHO...................................................................

.............................................................

options NETGRAPH_ETHER..................................................................

.............................................................

options NETGRAPH_FRAME_RELAY............................................................

.............................................................

options NETGRAPH_HOLE...................................................................

.............................................................

options NETGRAPH_IFACE..................................................................

.............................................................

options NETGRAPH_KSOCKET................................................................

.............................................................

options NETGRAPH_L2TP...................................................................

.............................................................

options NETGRAPH_LMI....................................................................

.............................................................

options NETGRAPH_ONE2MANY...............................................................

.............................................................

options NETGRAPH_PPP....................................................................

.............................................................

options NETGRAPH_PPPOE..................................................................

.............................................................

#options NETGRAPH_PPTPGRE................................................................

.............................................................

options NETGRAPH_RFC1490................................................................

.............................................................

options NETGRAPH_SOCKET.................................................................

.............................................................

options NETGRAPH_TEE....................................................................

.............................................................

options NETGRAPH_TTY....................................................................

.............................................................

options NETGRAPH_UI.....................................................................

.............................................................

options NETGRAPH_VJC....................................................................

.............................................................

................................................................................

.............................................................................

options PPP_BSDCOMP #PPP BSD-compress support.........................................................................

...................

options PPP_DEFLATE #PPP zlib/deflate/gzip support.........................................................................

..............

options PPP_FILTER #enable bpf filtering (needs bpf)............................................................................

........

................................................................................

.............................................................................

 

options IPFIREWALL #firewall.......................................................................

.....................................

options IPFIREWALL_VERBOSE #enable logging to syslogd(8)......................................................................

..................

options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default.........................................................................

........

options IPSTEALTH #support for stealth forwarding......................................................................

................

options DUMMYNET #DUMMYNET support.........................................................................

...........................

options DEVICE_POLLING # Device Polling.........................................................................

............................

options HZ=15000 #...............................................................................

....................................

options VM_KMEM_SIZE=1073741824.........................................................

.....................................................................

options VM_KMEM_SIZE_MAX=1073741824.....................................................

.....................................................................

options PANIC_REBOOT_WAIT_TIME=60.

 

mpd.conf

default:

<------>load pppoe_server

 

startup:

<------># configure the console

<------>set console self 127.0.0.1 5005

<------>set console user foo bar

<------>set user foo foo

<------>set console open

<------># configure the web server

<------>set web self 10.2.76.1 5006

<------>set web open

 

pppoe_server:

<------>create bundle template BPOE

<------>set ipcp ranges 10.2.2.1/32 10.2.2.0/24

<------>set ipcp ranges 10.2.2.1/32 10.2.3.0/24

<------>set ipcp ranges 10.2.2.1/32 10.2.8.0/24

<------>set ipcp ranges 10.2.1.1/32 10.2.4.0/24

 

<------>set ipcp dns 10.2.1.254

<------>create link template nekr pppoe

<------>set link disable multilink

<------>set link action bundle BPOE

<------>set link disable chap pap eap

<------>set link enable pap

 

<------>create link template vlan11 nekr

<------>set pppoe iface em1

<------>set link enable incoming

 

<------>set pppoe service "*"

<------>set link enable incoming

 

 

sysctl.conf

net.graph.maxdgram=128000

net.graph.recvspace=128000

kern.ipc.nmbclusters=262144

 

loader.conf

kern.ipc.nmbclusters=16384

kern.ipc.maxsockets=16384

net.graph.maxalloc=2048

kern.maxusers=1024

kern.ipc.maxpipekva=32000000

 

Гуру, подскажите что не так. Поделитесь своими конфигами я сравню что у меня не так.

 

Share this post


Link to post
Share on other sites

- включи что ли дебагер и посмотри что оно напишет при очередном кернел паник.

- у меня было похожее при использовании ng_nat но это было на 6.1 и проявлялось в течении часа

- в фаерволе пайпы или таблицы какието переконфигурируются какимито скриптами?

 

Share this post


Link to post
Share on other sites
Сетевуха Intel гигабитная двухпортовая.
случаем не PCI-X 64бит который?

 

в dmesg есть криминал?

 

попробуйте tcpdump -ntpi <интерфейсы>

будут какие-нибудь ошибки?

 

options HZ=15000

options VM_KMEM_SIZE=1073741824

options VM_KMEM_SIZE_MAX=1073741824

это зачем???

Share this post


Link to post
Share on other sites
options HZ=15000

options VM_KMEM_SIZE=1073741824

options VM_KMEM_SIZE_MAX=1073741824

это зачем???

да мне тоже понравилось :)

но не думаю что проблемма в этом

Share this post


Link to post
Share on other sites
Сетевуха Intel гигабитная двухпортовая.
случаем не PCI-X 64бит который?

 

в dmesg есть криминал?

 

попробуйте tcpdump -ntpi <интерфейсы>

будут какие-нибудь ошибки?

 

options HZ=15000

options VM_KMEM_SIZE=1073741824

options VM_KMEM_SIZE_MAX=1073741824

это зачем???

Да именно PCI-X 64бит...! А что были пренценденты с такими?

А по команде tcpdump -ntpi <интерфейсы> как ошибки ты имеещь виду.

options HZ=15000 - это я с полингом тестил

options VM_KMEM_SIZE=1073741824

options VM_KMEM_SIZE_MAX=1073741824 - это последний тюнинг

Share this post


Link to post
Share on other sites
options VM_KMEM_SIZE=1073741824

options VM_KMEM_SIZE_MAX=1073741824 - это последний тюнинг

'Последний тюнинг' - это сильно :).

 

Вот Вам пример с 'непрокаченной' системой:

FreeBSD FreeBSD 7.2-RELEASE #0: Fri Jun  5 18:32:43 MSD 2009     root@border.vgg.ru:/usr/obj/usr/src/sys/K290608
vm.kmem_size: 1368997888
vm.kmem_size_max: 3865468109

 

Уберите Ваш, тюнинг - а потом подумайте над оптимизацией.

Share this post


Link to post
Share on other sites

 

Для начала, я бы откатился на mpd4. И накатился на 7.2-STABLE.

 

Про mpd5 работающий под _нагрузкой_ - не слышал.

Share this post


Link to post
Share on other sites

поставили mpd5 (правда у нас адски неправильная связка была natd + dummynet + ipfw+ mpd5 + freebsd 6.2)

переодически стал выдавать кернел трап 12... долго не могули понять почему, поменяли все и железо и ОС ну все... Оказалось нужно просто поставить mpd3. Правда тот сильно грузит проц и иногда просто выключается, поставили mpd4... все стало в шоколаде. Щас переходим на другой биллинг.... и нужен mpd5 , теперь страшно на него обратно переходить. Правда не будет dummynet и natd

Edited by jorik_vartanov

Share this post


Link to post
Share on other sites

Hи у кого пpимеpов не найдеться ?

А у меня 4 пень 3 гигагерцовый с 2мя гигами памяти держит поток 50 мбит и от 500 онлайн. БСД 6.4 Камень загружен на 30-40%, ipfw +pipe, нат на другой тачке. мпд 4

Share this post


Link to post
Share on other sites
Сетевуха Intel гигабитная двухпортовая.
случаем не PCI-X 64бит который?

 

в dmesg есть криминал?

 

попробуйте tcpdump -ntpi <интерфейсы>

будут какие-нибудь ошибки?

 

Да именно PCI-X 64бит...! А что были пренценденты с такими?

А по команде tcpdump -ntpi <интерфейсы> как ошибки ты имеещь виду.

извините, работал..

угу. отваливается сеть. ничего не бегает.

tcpdump-ом видно "truncated IP, missing X bytes"

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

нашел в инете упоминание о таком же поведении, потом карточку вытащил, подписал и положил на полку...

 

 

Share this post


Link to post
Share on other sites
Hи у кого пpимеpов не найдеться ?
А у меня 4 пень 3 гигагерцовый с 2мя гигами памяти держит поток 50 мбит и от 500 онлайн. БСД 6.4 Камень загружен на 30-40%, ipfw +pipe, нат на другой тачке. мпд 4

Если нетрудно кинь конфиги на мыло alexap@inbox.ru, или в аску 214883223. Заранее благодарю.

 

Share this post


Link to post
Share on other sites

Если нетрудно кинь конфиги на мыло alexap@inbox.ru, или в аску 214883223. Заранее благодарю.

Да мне не жалко, я могу и сюда запостить. Конфиги чего, конкретно?

Share this post


Link to post
Share on other sites
Если нетрудно кинь конфиги на мыло alexap@inbox.ru, или в аску 214883223. Заранее благодарю.
Да мне не жалко, я могу и сюда запостить. Конфиги чего, конкретно?

конфиги mpd, ядра, если есть - тюнинг системы.

 

Share this post


Link to post
Share on other sites
конфиги mpd, ядра, если есть - тюнинг системы.
Mpd 4

default:
        load pptp0
...
        load pptp1000

pptp0:
        new -i ng0 pptp0 pptp0
        load pptp_standart
pptp1:
        new -i ng1 pptp1 pptp1
        load pptp_standart
...
startup:
        set console port 5005
        set console ip 127.0.0.1
        set console user haha hoho
        set console open

pptp_standart:
        set iface disable on-demand
        set iface mtu 1500
        set link mtu 1500
        set iface enable tcpmssfix
        set bundle enable multilink
        set bundle enable compression
        set ccp yes mppc
        set ccp yes mpp-e40
        set ccp yes mpp-e128
        set ccp yes mpp-stateless
        set ccp enable mppe-policy
        set link yes acfcomp protocomp
        set link yes pap
        set link yes chap
        set link enable chap-msv2
        set link keep-alive 60 180
        set ipcp yes vjcomp
        set ipcp dns x.x.x.x
        set ipcp nbns x.x.x.x
        set iface enable proxy-arp
        set iface up-script /usr/local/mpd/rad_up
        set iface down-script /usr/local/mpd/rad_down
        set bundle yes crypt-reqd
        set pptp self x.x.x.x
        set pptp enable incoming
        set pptp disable originate
        set iface enable tcpmssfix
#       Radius Session
        set radius server 127.0.0.1 secret 1812 1813
        set radius timeout 30
        set radius retries 30
        set auth acct-update 60
        set auth enable radius-auth
        set auth enable radius-acct

 

Никакого тюнинга нее делал. Ядро пересобрал и добавил только:

options         DEVICE_POLLING
options         HZ=1000

options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=10000
options         IPFIREWALL_FORWARD
options         DUMMYNET

options         NETGRAPH
options         NETGRAPH_MPPC_ENCRYPTION
options         NETGRAPH_MPPC_COMPRESSION

 

Mppc делал по статье http://mavhome.dp.ua/MPPC/

Edited by ma4o

Share this post


Link to post
Share on other sites

Спасибо за конфиги. Только плохо что они для pptp, в PPPoE конфиг малость отличается.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this