Если по каким-то причинам всё же использовать application-level распределение архива по дискам, в этом кратком руководстве будет показано как это сделать.
Первое что вам нужно, это познакомится с способом дробления AVReg на части в руководстве «Конфигурация AVReg для распределения нагрузки по нескольким процессорам многопроцессорных систем или ядрам многоядерных процессоров (SMP).». Ниже на простом примере будут рассмотрены только изменения, относительно этого руководства.
Предположим, у нас есть два диска /dev/sdb и /dev/sdc.
Устройства должны:
avreg
c правами: 0775
avreg:avreg
(или другие, с учётом значений
параметром user/group в avreg.conf).В каждый из профилей добавляется строка с переменной
storage-dir
и значением, указывающим на точку
монтирования устройства, например («+++
» означает что
строка добавляется, «- - -
» - строку нужно
удалить)
/etc/avreg/profiles/cam1
devlist = 1 +++ storage-dir = /mnt/disk1/avreg
/etc/avreg/profiles/cam2
devlist = 2 +++ storage-dir = /mnt/disk2/avreg
Причём, несколько профилей могут разделять одно и то же значение
storage-dir
:
/etc/avreg/profiles/p1
devlist = 1-10 +++ storage-dir = /mnt/disk1/avreg
/etc/avreg/profiles/p2
devlist = 11-20 +++ storage-dir = /mnt/disk1/avreg
/etc/avreg/profiles/p3
devlist = 21-30 +++ storage-dir = /mnt/disk2/avreg
/etc/avreg/profiles/p4
devlist = 31-40 +++ storage-dir = /mnt/disk2/avreg
/etc/avreg/site-apache2-user.conf
--- Alias '/avreg/media' '/var/spool/avreg' +++ Alias '/avreg/disk1' '/mnt/disk1/avreg' +++ Alias '/avreg/disk2' '/mnt/disk2/avreg' <IfModule mod_xsendfile.c> XSendFilePath /var/spool/avreg +++ XSendFilePath /mnt/disk1/avreg +++ XSendFilePath /mnt/disk2/avreg </IfModule> --- <LocationMatch '/media/'> +++ <LocationMatch '^/avreg/disk(1|2)/'>