multiple instances of NSD

I'm trying to set up a machine which will be running multiple instances
of NSD to serve different sets of zones from different interfaces. What
I'm running into is that I can't specify different PID files to refer to
on the command line.

Are there any shortcuts or do I need to go write a patch?

Any other implications of multiple instances?

Phil Howard wrote:

I'm trying to set up a machine which will be running multiple instances
of NSD to serve different sets of zones from different interfaces. What
I'm running into is that I can't specify different PID files to refer to
on the command line.

Are there any shortcuts or do I need to go write a patch?

The pidfile should be an option, but currently isn't. A patch would be welcome. The nsdc script should also be patched. You can also write a bug report and we'll work on a patch.

Any other implications of multiple instances?

Not that I'm aware of.

Erik

... besides the need to ensure each instance specifies distinct interface
addresses or ports (but this should be obvious).

If I write such a patch, do you have a letter suggestion for it? '-P' ?

I was also thinking of recompiling and using a relative path at configure
time, and put each instance in a separate jail. But I'd prefer to use the
default compilation in the long term. Changing the default to a relative
path would probably cause problems for other deployments, but adding the
option would seem to be fine.

This patch seems to work for me. I'm now running three instances with
the new -P option specifying three different PID files in /var/run and
not using chroot.

begin 600 nsd-2.1.2-pidfile-option.patch.gz
M'XL(`,;Y%T$"`YU4:VO;,!3]G/R*NQ#:I(X=VW'S4%9(V5HH;%U8-RAL8RB6
M'(LZMK&4/@C][[NR':=Y%,)L$'J=HZ-[SQ4300#F;;:$6#+3M1S+[6+/&F[&
M9LR?BKFZ:9J[^VJN;7NF/3#=$=A#TG/)N6?9ZP],^]RVZX9A'.(KL4/3'H$S
M(*Y-[-$>=C(!T_,Z?3"P'<!D4@?K6PK7$5"XS$"D)F4LXU)6\PRJ;J"W,*KH
MC$I>-\K9J9Y-!0M$Q*NM8=43.2_CL1+JI9J-]&R4S'.0%N4X0ZW*<48=Q\UU
MB5@J3ADD`:B0`^,!748*ATARM8`N5[Z^>'YY-@.K#BCI1NU),GY*GC/(E/LB
M$)SAOK?K.P>E$55!DBW6^_WUT1UX"H4?@I"P2*2*7I!'"WFD63=;QKD0)$4E
M!DHLE&`<IIF(%80\2O%*FI@JD<1`8P;\62BMF[WC&_]`GOT#OO$WOAF"W2?G
M+NG91_K&W_&-TT?K'/3-R-49PK;P3:W6@+VOBC$L,&(BC3#T8L%EV_H=-TJ,
MR;8Q5S&=13K!L^4<(\LXM%@"<:(`H_4`5*(W&>4+#%J:)3Z:<XLMJ"R9L]WE
M"EX*SZP75()FHRR'&05LNC8`[,&F-Y\A7T'84R84?WM<N"V^R*X*T12[*5ZC
MVF-L@U1O#%I2,9YEG:(0^P.,I>'UAV5(]5_KGL&49J5G_62QT$Z)1,PMRX*S
M;MVLH0U17*OEPP7,N4I2U:+9W.\`MH\=:'A]2EA`0D$B<DMBDA))ED21>_)X
M3;Z01KL-'RZPY-JPPF@<R38]C@_O*Y^$PC)I^>78UQDX]4Z)'M0P/-`2>)8]
MQK?A(WR]O/][<_OCZOOUY:>KNS$8AM"X/#ZC7OY2C;S.J+1<P1647$7IYZFZ
M`!2.BL?YPBSC]&&L4UT`I@@P2L`Z[1N$L4%41X3E$4M)Y[S5WJ)]IUQ]2X:6
MB/=KK%S8+]QRX4#U.L=5[S9!]?1[I.<=+.&A+EYCZ%9^RR_;:#H--&X=),9#
MM=%AO\!\AN9*SD3,1/:JCX(_<'*R.X?%UUP5&7C%7A#1N7S%>/X7'DNRN2JS
<\X8-:DU;OP98G=@?C[7,)&W7_P&T.JWQ;0<`````
`
end

Phil Howard wrote:

This patch seems to work for me. I'm now running three instances with
the new -P option specifying three different PID files in /var/run and
not using chroot.

Thanks. I've applied the patch to the CVS repository.

Erik