FreeBSD 9.0 + ZFS RaidZ1 (3*2Tb) + samba 3.6 + aio = crash

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
dreamer538
рядовой
Сообщения: 49
Зарегистрирован: 2009-08-25 10:13:25

FreeBSD 9.0 + ZFS RaidZ1 (3*2Tb) + samba 3.6 + aio = crash

Непрочитанное сообщение dreamer538 » 2012-01-19 10:50:53

Здравствуйте, есть конфигурация, как в заголовке.

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

# uname -a
FreeBSD localserver.local 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan  3 07:46:30 UTC 2012     root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64

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

# smbd -V
Version 3.6.1

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

hw.machine: amd64
hw.model: Intel(R) Core(TM)2 Duo CPU     E7300  @ 2.66GHz
hw.ncpu: 2
hw.byteorder: 1234
hw.physmem: 4167118848
/etc/sysctl.conf:

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

kern.ipc.maxsockbuf=16777216
kern.ipc.nmbclusters=32768
kern.ipc.somaxconn=32768
kern.maxfiles=65536
kern.maxfilesperproc=32768
kern.maxvnodes=800000
net.inet.tcp.delayed_ack=0
net.inet.tcp.inflight.enable=0
net.inet.tcp.path_mtu_discovery=0
net.inet.tcp.recvbuf_auto=1
net.inet.tcp.recvbuf_inc=524288
net.inet.tcp.recvbuf_max=16777216
net.inet.tcp.recvspace=65536
net.inet.tcp.rfc1323=1
net.inet.tcp.sendbuf_auto=1
net.inet.tcp.sendbuf_inc=524288
net.inet.tcp.sendspace=65536
net.inet.udp.maxdgram=57344
net.inet.udp.recvspace=65536
net.local.stream.recvspace=65536
net.inet.tcp.sendbuf_max=16777216
net.inet.tcp.mssdflt=1460
smb.conf:

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

[global]
    encrypt passwords = yes
    passdb backend=smbpasswd
    dns proxy = no
    strict locking = no
    read raw = yes
    write raw = yes
    oplocks = yes
    max xmit = 65535
    deadtime = 15
#    display charset = LOCALE
    max log size = 10
#    syslog only = yes
#    syslog = yes
    load printers = no
    printing = bsd
    printcap name = /dev/null
    disable spoolss = yes
#    smb passwd file = /var/etc/private/smbpasswd
#    private dir = /var/etc/private
    getwd cache = yes
#    guest account = nobody
    map to guest = Bad Password
    netbios name = freenas
    workgroup = WORKGROUP
    server string = FreeNAS Server
    use sendfile = yes
    large readwrite = no
    store dos attributes = yes
    local master = yes
    time server = yes
    security = user
    create mask = 0666
    create mask = 0666
    directory mask = 0777
    client ntlmv2 auth = yes
    dos charset = CP866
    unix charset = UTF-8
    log level = 1
#    aio read size = 1
#    aio write size = 1
    max protocol = smb2
Когда я раскоментирую aio строки, smbd периодично падает, пока систематичность не смог выявить. причем если он начал падать - падает на том же файле. Есть какие-то мысли по этому поводу?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Neus
майор
Сообщения: 2012
Зарегистрирован: 2008-09-08 21:59:56

Re: FreeBSD 9.0 + ZFS RaidZ1 (3*2Tb) + samba 3.6 + aio = cra

Непрочитанное сообщение Neus » 2012-01-19 11:10:58

а какой профит от aio ?

dreamer538
рядовой
Сообщения: 49
Зарегистрирован: 2009-08-25 10:13:25

Re: FreeBSD 9.0 + ZFS RaidZ1 (3*2Tb) + samba 3.6 + aio = cra

Непрочитанное сообщение dreamer538 » 2012-01-19 11:21:23

прирост производительности

Аватара пользователя
BirdGovorun
лейтенант
Сообщения: 878
Зарегистрирован: 2009-10-20 20:27:13
Откуда: Харьков.

Re: FreeBSD 9.0 + ZFS RaidZ1 (3*2Tb) + samba 3.6 + aio = cra

Непрочитанное сообщение BirdGovorun » 2012-01-19 14:49:40

dreamer538 писал(а):прирост производительности
Нет никакого прироста, по крайней мере у меня, а гемороя добовляет.

dreamer538
рядовой
Сообщения: 49
Зарегистрирован: 2009-08-25 10:13:25

Re: FreeBSD 9.0 + ZFS RaidZ1 (3*2Tb) + samba 3.6 + aio = cra

Непрочитанное сообщение dreamer538 » 2012-01-19 16:35:05

Проблемы и с отключенным aio присутствуют.

Оказалось, проблема с

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

max protocol = smb2
Когда убрал, проблемы решились. Даже с aio нет.
Вопрос еще в следующем - листинг каталога с ~250 вложенных каталогов секунд 5 открывается в первый раз. Как это можно ускорить?

arkan
ст. прапорщик
Сообщения: 559
Зарегистрирован: 2008-08-03 19:58:13
Откуда: Новосибирск
Контактная информация:

Re: FreeBSD 9.0 + ZFS RaidZ1 (3*2Tb) + samba 3.6 + aio = cra

Непрочитанное сообщение arkan » 2012-01-20 10:55:17

что то вы намудрили не то поэтому и открывается так долго

у меня практически все дефолтно и каталог с более 1000 подкаталогов открывается за менее 1 сек + учитывая то что нету Raid

dreamer538
рядовой
Сообщения: 49
Зарегистрирован: 2009-08-25 10:13:25

Re: FreeBSD 9.0 + ZFS RaidZ1 (3*2Tb) + samba 3.6 + aio = cra

Непрочитанное сообщение dreamer538 » 2012-01-20 11:10:04

можете ли скинуть Ваши конфиги самбы и сисктл?

Аватара пользователя
bagas
лейтенант
Сообщения: 922
Зарегистрирован: 2010-08-18 19:49:01
Откуда: Воронеж
Контактная информация:

Re: FreeBSD 9.0 + ZFS RaidZ1 (3*2Tb) + samba 3.6 + aio = cra

Непрочитанное сообщение bagas » 2012-01-23 10:03:36

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

[global]
        dos charset = cp866
        unix charset = cp1251
        display charset = cp1251
        workgroup = M
        allow trusted domains = no
        encrypt passwords = yes
        realm = V.M.RU
        server string = Samba_backup
        interfaces = alc0
        bind interfaces only = Yes
        security = ads
        password server = 10.7.0.3
        log level = 3
        log file = /var/log/samba/log.%m
        max log size = 5000
        smb ports = 139
        name resolve order = lmhosts host wins bcast
        deadtime = 5
        max xmit = 65435
        socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=65435 SO_RCVBUF=65435
        min receivefile size=16384
        use sendfile=true
        load printers = No
        local master = No
        domain master = No
        dns proxy = No
        wins server = 10.13.0.2, 10.13.0.3
        socket address = 10.13.20.253
        winbind uid = 10000-300000
        winbind gid = 10000-300000
        winbind enum groups = yes
        winbind enum users = yes
        winbind separator = //
        winbind cache time = 604800
        winbind use default domain = Yes
        winbind refresh tickets = yes
        hosts allow = 10.13.20.0/24 10.13.0.0/24 127.0.0.1
        netbios name = pr-125
        template shell=/bin/tcsh
        template homedir = /home/%D/%U
        auth methods = winbind
        nt acl support = yes
/etc/sysctl

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

security.bsd.see_other_uids=0
net.inet.tcp.rfc1323=1
net.inet.udp.recvspace=78840
net.inet.udp.maxdgram=57344
net.inet.tcp.sendspace=65435
net.inet.tcp.recvspace=65435
kern.ipc.maxsockbuf=16777216
kern.ipc.maxsockets=204800
kern.ipc.nmbclusters=32768
kern.ipc.somaxconn=32768
kern.maxfiles=256000
kern.maxfilesperproc=32768
kern.maxvnodes=800000

net.inet.tcp.delayed_ack=1
net.inet.tcp.delacktime=100
net.local.stream.sendspace=82320
net.local.stream.recvspace=82320
net.inet.tcp.local_slowstart_flightsize=10
net.inet.tcp.nolocaltimewait=1
net.inet.tcp.hostcache.expire=3900
kern.polling.burst_max=1000
kern.polling.idle_poll=0
kern.polling.each_burst=50
net.inet.tcp.hostcache.expire=3900
net.inet.tcp.slowstart_flightsize=54
net.inet.tcp.inflight.enable=1
net.inet.tcp.inflight.min=6144
# nmap block
net.inet.ip.sourceroute=0
net.inet.ip.accept_sourceroute=0
net.inet.tcp.syncookies=1
net.inet.ip.ttl=64
net.inet.ip.random_id=1
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.inet.tcp.drop_synfin=1
net.inet.icmp.drop_redirect=1

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

# # find . -type d | wc -l
    2435
2435 подкоталогов
все быстро открывается. ( 1-2сек)
Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.

dreamer538
рядовой
Сообщения: 49
Зарегистрирован: 2009-08-25 10:13:25

Re: FreeBSD 9.0 + ZFS RaidZ1 (3*2Tb) + samba 3.6 + aio = cra

Непрочитанное сообщение dreamer538 » 2012-01-23 20:22:39

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

dreamer538
рядовой
Сообщения: 49
Зарегистрирован: 2009-08-25 10:13:25

Re: FreeBSD 9.0 + ZFS RaidZ1 (3*2Tb) + samba 3.6 + aio = cra

Непрочитанное сообщение dreamer538 » 2012-01-24 10:35:27

так же опытным путем выяснилось, что при

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

dd if=/dev/random of=random.file bs=64k count=1000000
(причем независимо на какой zpool, даже на отдельный системный) - самба тормозит при листинге. долго в статусе zio->i... (не знаю, как в топе увеличить ширину столбца). То же самое через фтп летает мгновенно.

Аватара пользователя
Mox
лейтенант
Сообщения: 757
Зарегистрирован: 2008-12-16 16:04:14
Откуда: питер
Контактная информация:

Re: FreeBSD 9.0 + ZFS RaidZ1 (3*2Tb) + samba 3.6 + aio = cra

Непрочитанное сообщение Mox » 2012-01-27 12:34:01

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

dreamer538
рядовой
Сообщения: 49
Зарегистрирован: 2009-08-25 10:13:25

Re: FreeBSD 9.0 + ZFS RaidZ1 (3*2Tb) + samba 3.6 + aio = cra

Непрочитанное сообщение dreamer538 » 2012-01-30 13:23:23

Уже поставил, проблема не решилась. В довесок ко всему, решил написать на багтрекере. Ответ был:
In the meantime for production use try turning off aio by removing the lines:

aio read size = 16384
aio write size = 16384

from your smb.conf. I bet that fixes the problem. Also remove:

socket options=IPTOS_THROUGHPUT IPTOS_LOWDELAY TCP_NODELAY
max xmit = 65435
large readwrite = no
encrypt passwords = yes

as these are legacy parameter settings that make no sense on modern Samba.
https://bugzilla.samba.org/show_bug.cgi?id=8726
Сейчас отключил, жду бага.