Главная » freebsd, Открытое ПО

FreeBSD + Samba 3.5 + 1C 7.7

9 декабря 2010 Нет комментариев

Намедни встала задача перенести «расшаренные» базы 1С-а, с офисной машины с Вынь XP на серверную,  ставить на сервер какой нибудь 2003 огород — не хотелось жутко, поэтому решено было залить туда freebsd, тем более, что машинка по задумке должна была выполнять ещё несколько функций.




Имеем:

#uname -a
FreeBSD 8.1-RELEASE-p2

Базы будем хранить в /var/1c_bases/

#mkdir /var/1c_bases

Описывать установку самбы не стану, всё довольно тривиально, опции по вкусу:

#portsnap fetch update
#cd /usr/ports/net/samba35 && make install clean
#echo samba_enable='"YES"' >> /etc/rc.conf

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

В итоге получился вот такой конфиг:

#cat /usr/local/etc/smb.conf
[global]
 dos charset =CP 866
 unix charset = koi8-r
 workgroup = BUH
 security = share
 socket options = SO_BROADCAST TCP_NODELAY SO_KEEPALIVE SO_SNDBUF=131072 SO_RCVBUF=174769 IPTOS_LOWDELAY
 wide links = yes
 getwd cache = yes
 csc policy = programs
 os level = 255
 wins support = No
 strict locking = Auto
 share modes = yes
# Прибьём самбу к интерфейсам, в моём случае - это важно
 bind interfaces only = yes
 interfaces = msk0  lo0
 encrypt passwords = No
 log file = /var/log/samba/smb.log
 log level = 1
 max log size = 50
 load printers = No
 printcap name = /dev/null
 show add printer wizard = No
# ip адреса с которых можно зайти в шару
 hosts allow = 192.168.1.1 192.168.1.2 127.0.0.1
# Блокировки
 blocking locks = Yes
 kernel oplocks = Yes
 level2 oplocks = Yes
 locking = Yes
 oplocks = Yes
 posix locking = Yes
 max xmit = 65535
 lock spin time = 10000
 oplock break wait time = 0
 fake oplocks = No
 oplock  contention limit = 2

 [base_1c]
 comment = files
 path = /var/1c_base
 read only = No
 writable = Yes
 browseable = Yes
 create mask = 0660
 directory mask = 0770
 veto oplock files = /*.LCK/*.lck/*.MD/*.md/*.cdx/*.CDX/*.dbf/*.DBF/*.tmp/*.TMP 
 map acl inherit = yes
 locking = Yes
 guest ok = Yes

Внесём в систему некоторые твики, что бы всё «летало» 🙂

#cat /etc/sysctl.conf
 net.inet.tcp.blackhole=2
 net.inet.udp.blackhole=1
 kern.ipc.somaxconn=4096
 kern.ipc.maxsockbuf=8388608
 net.inet.ip.intr_queue_maxlen=5000
 net.inet.tcp.sendspace=65535
 net.inet.tcp.recvspace=65535
 net.inet.tcp.delayed_ack=0

Собственно всё, машину в ребут или на живую добавляем опции sysctl и поднимаем самбу.