Этот небольшой пост-предостережение я хочу посвятить админам, обслуживающим линуксовые samba-серверы.
На просторах сети в статьях и обсуждениях samba можно встретить рекомендацию включить вот эти опции в smb.conf:
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=8192 SO_SNDBUF=8192
(могут быть и другие значения SO_RCVBUF и SO_SNDBUF, например, 32768 или 16384)
Как правило, их советуют добавить для увеличения скорости чтения/запись на самба-шару. Действительно, в некоторых ситуациях можно увидеть некоторый прирост скорости, в пределах 10-20%.
Но по личному опыта не советую этого делать, потому что их включение вызывает крайне неприятный баг, который в логе будет выглядеть как непрерывный поток вот таких ошибок:
BUG: soft lockup - CPU#1 stuck for 14s! [smbd:1044]
BUG: soft lockup - CPU#1 stuck for 12s! [smbd:1044]
BUG: soft lockup - CPU#1 stuck for 19s! [smbd:1044]
После появления первой записи «BUG: soft lockup» до момента, когда сервер начнёт убивать процессы из-за нехватки ресурсов CPU, пройдёт 2-3 часа, после чего будет убита не только samba, но и, например, ssh. Ситуация будет повторяться раз 3-7 дней и легко сможет добавить вам несколько новых седых волос.
Баг воспроизводится в следующем окружении:
Ubuntu 14.04.4
samba 2:4.3.9+dfsg-0ubuntu0.14.04.3
linux 3.16.0-71.91~14.04.1
filesystem xfs
Тоже столкнулись с таким? Зайдите на
https://bugs.launchpad.net/samba/+bug/1572608 и кликните на «This bug affects 7 people. Does this bug affect you?».