Apply all necessary steps from R Consulting Appliances Installation, Initial configuration checklist.
Configure media content volumes:
Create data volumes depending on Media Storage’s target use; refer to Brief disks, partitions and filesystems reference section below, if necessary;
Enlist all data volumes in /etc/rc.conf.d/datamount
(or /etc/rc.conf) by adding a sequence of
datamount_volN, subsequently indexed entries, each listing
the respective device/partiton; for example:
datamount_vol1="da0p1",
datamount_vol2="gpt/vol2";
Additional mount options can be provided with
datamount_volN_opts and noatime is default,
unless explicitly set to NO.
Volume concatenations (or spans) are created by setting value to
concat:<glob-pattern>, for example
datamount_vol2="concat:gpt/seg??" will concatenate all
partitions with GPT labels segXY, like
seg01, seg02, seg03,
etc.
Select which service goes to which volume, by adding respective
keys to /etc/rc.conf.d/datamount (or
/etc/rc.conf):
datamount_hls to be set to the name of volume, where
HLS timeshift to be kept; for example:
datamount_hls="vol1"; a magic value, "AUTO"
can also be set and in this case all volumes will be scanned for
respective service directory (in this particular example, diractory
named hls);
datamount_pvr, datamount_timeshift,
datamount_vod, datamount_wwwcache and
datamount_mediastore work the same way;
datamount_hls_live,
datamount_timeshift_index and
datamount_scratch specify the RAM drive size to use for
respective feature; a reasonable value for
datamount_scratch is 1G, unless there are
multitude of HD variants; other values depend on the number of channels
to be provided by the server: 4G for
datamount_timeshift_index, 16G for
datamount_hls_live, are not uncommon;
To apply changes run
service datamount start.
Be sure to list IP addresses of all Transcoder Appliances in
/etc/rcons/hls-sources.list.
(Optionally) enable CORS,
required for HLS playback on some devices; create
/usr/local/etc/nginx/local.conf.cors.conf:
map $http_origin $cors_origin {
default "";
"~^https?://provision.tv.acme.com(:[0-9]+)?$" "$http_origin";
}
and replace provision.tv.acme.com with TV service
address’ domain.
To enable HAC access create
/etc/local/nginx/local.conf.acl.conf:
map $remote_addr $ws_binding {
default $site_dflt_binding;
192.168.100.20 management;
192.168.100.30 interconnect;
192.168.100.40 cache;
}
where
management is for Application servers and allows users
and sessions query and management,interconnect is for HACs,cache is for dumb caches.To list connected disks/volumes run
geom disk list;
To manage volumes on a RAID controller use
mfiutil(8), storcli, MegaCli or
respective utility for the installed controller;
To list partitions run
gpart show [<device>] or
gpart show -l [<device>], to include partition names,
instead of their types;
To initialize a new disk/volume run
gpart create -s gpt <device>;
setup-storage custom utility can create and
initialize partitions ans spans:
setup-storage vol1 <device>
or
setup-storge span <device1> <device2> ...To create a new partition run
gpart add -tfreebsd-ufs -a1M [-s<size>] <device>;
check gpart(8) for advanced use;
To initialize a filesystem run
newfs -L<name> -jU <node> for hard drives or
newfs -L<name> -tU <node> for SSDs; check
newfs(8) for advanced use;
To set-up ZFS on a storage server:
zpool create -m none -o autotrim=on tank raidz /dev/diskid/...
zfs create -o mountpoint=/srv/vol1 -o atime=off -o quota=7.5T tank/vol1
zfs create -o mountpoint=/srv/vol2 -o atime=off -o quota=7.5T tank/vol2
zfs create -o mountpoint=/srv/vol3 -o atime=off -o quota=7.5T tank/vol3
sysrc zfs_enable="YES"