How best to split modect processes across multiple servers?
Posted: Thu Jan 06, 2011 5:26 am
Hello all, I've searched through the forums and did see several somewhat related queries but no clear answers on how the following might be doable...
Basically what I'd like to do is install a quantity of Zoneminder back-end capture machines which do the "modect" motion detection and capture the video from a large number of IP cameras. I'd then like those capture machines to store the captured video on a central fileserver (most likely a shared NFS filesystem). That central fileserver would then also be accessible by a single "front-end" Zoneminder server such that several users could log in and see all of the cameras listed all in one table such that they can click on any specific camera and view recorded event data associated with that camera. Just to clarify, the users logging into the front-end machine don't need access to any live views, only access to previous motion events associated with that camera.
The question is - how best to split up the processes such that the above can be accomplished? Should there be only one MySQL database shared by the entire cluster or does each capture server need its own database and only share the underlying video data at filesystem level?
I don't mind having to logically add each camera twice (once to the appropriate back-end capture server doing the capturing and again to the front-end server to make the same camera user accessible) but obviously it would be nicer if that could be avoided.
Again, my question is purely software related. I'll deal with the hardware/performance/scaling issues separately, but my focus at the moment is how best to split up the modect software processing across multiple servers while then still being able to make all of the recorded motion event data later accessible in one place.
If anyone has a clear understanding of how all of the daemons fit together and at what point in the event recording chain might be the best spot to split up the processing, your input would be greatly appreciated.
Thanks,
Brian
Basically what I'd like to do is install a quantity of Zoneminder back-end capture machines which do the "modect" motion detection and capture the video from a large number of IP cameras. I'd then like those capture machines to store the captured video on a central fileserver (most likely a shared NFS filesystem). That central fileserver would then also be accessible by a single "front-end" Zoneminder server such that several users could log in and see all of the cameras listed all in one table such that they can click on any specific camera and view recorded event data associated with that camera. Just to clarify, the users logging into the front-end machine don't need access to any live views, only access to previous motion events associated with that camera.
The question is - how best to split up the processes such that the above can be accomplished? Should there be only one MySQL database shared by the entire cluster or does each capture server need its own database and only share the underlying video data at filesystem level?
I don't mind having to logically add each camera twice (once to the appropriate back-end capture server doing the capturing and again to the front-end server to make the same camera user accessible) but obviously it would be nicer if that could be avoided.
Again, my question is purely software related. I'll deal with the hardware/performance/scaling issues separately, but my focus at the moment is how best to split up the modect software processing across multiple servers while then still being able to make all of the recorded motion event data later accessible in one place.
If anyone has a clear understanding of how all of the daemons fit together and at what point in the event recording chain might be the best spot to split up the processing, your input would be greatly appreciated.
Thanks,
Brian