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.Remember that host’s own addresses also have to be listed if HLS to MPEG-TS gateway is in use.
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"