====== Installation & Configuration ====== Jun 2017\\ \\ \\ ===== Introduction ===== The version 8 packager is a new concept for packaging, unlike previous versions the v8 packager is a Just in Time (JIT) packager. This means that the packager only starts to provide a packaged output when requested. The packager is recording all of the time, and the recorder process records incoming ABR streams as a dash style TS mezzanine format. \\ \\ ==== Minimum Specification ==== This is the minimum hardware specification for a server (or VM) running the Packaging v8. \\ MFVP application CPU RAM memory Disk MFVP Packaging Two E5-2660 v3 Intel CPUs (2.2GHz) with memory interleaving and CPU Hyper threading options enabled 64GB 80GB HDD \\ ==== Operating System ==== For the Packager v8, CenOS is still in the v6.x thread. If you have anything higher, the application will refuse to install. \\ MFVP application Operating System MFVP Packaging Linux CentOS and RedHat 6.5 and higher releases of 6.x baseline up to 6.7 \\ ==== NTP ==== The Packager must be time synchronised with an NTP source, the same source that is time synchronising the MFEL. More information on NTP configuration is given below in the installation notes. \\ ==== Network Configuration ==== The host network configuration is set-up including: \\ • IP configuration of network adapters • Network Interface bounding when necessary • Specific routes when necessary (example: multicast, ip route add 239.2.3.202 via “ip_address”) This is critical, failure to do this will result in no input multicasts. \\ \\ **NOTE** In case of distributed deployment, all the network interface names must be the same on all the servers for each subnetwork. \\ ==== Overview ==== The MFVP Packaging product provides the capability to produce DVR and VOD assets. \\ \\ Depending on your equipment and needs, MFVP Packaging can be deployed in a standalone mode or in a distributed mode. \\ \\ In a standalone deployment mode, each MFVP Packaging server manages its own DVR and Vod assets and UI. If two MFVP Packaging servers are installed in a standalone mode in your environment, they will be managed separately and won’t be able to share data. \\ \\ The distributed deployment mode allows you to set up a large quantity of MFVP Packaging servers in your environment and to control all of your DVR and Vod assets through any host on MFVP Packaging has been installed. \\ \\ All the MFVP Packaging servers that belong to the distributed environment must have: \\ \\ • time synchronized on the same NTP. • port 27017 opened in each server firewall. \\ \\ ===== Installation ===== ==== Install the OS ==== For this product, we are assuming the standard CentOS minimal installation has been used. Please ensure that automatic updates are not enabled. This is for two reasons: \\ \\ 1. The product won’t randomly reboot due to an update being applied\\ 2. The produce won’t be upgraded past the v6.7 cut off (if you upgrade 6.x, you will end up with v6.9, this won’t work with the packager installer).\\ \\ ==== Configure Network ==== After installing the OS we need to configure the network. I am using a G6, and am using the following interfaces: \\ eth0 – Management eth2 – Ingest eth4 - Output The networking files can be found at /etc/sysconfig/network-scripts/ and are called: \\ Ifcfg-eth0, ifcfg-eth2 and ifcfg-eth4 \\ \\ For eth0 the following settings should be applied: (using your own IP details of course). \\ DEVICE="eth0" BOOTPROTO=none IPV6INIT=no NM_CONTROLLED=no ONBOOT="yes" TYPE="Ethernet" IPADDR=192.168.27.100 NETMASK=255.255.255.0 GATEWAY=192.168.27.254 PERSISTENT_DHCLIENT=yes DNS1=137.58.71.251 DNS2=8.8.8.8 \\ If you are specifying the gateway and DNS here, please check that there is not any conflicting settings in /etc/resolv.conf. \\ \\ For eth2 and eth4 you can use the following example. \\ DEVICE=eth2 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static PERSISTENT_DHCLIENT=yes IPADDR=11.0.100.1 NETMASK=255.0.0.0 \\ ==== Install the MF Packaging software ==== \\ This assumes that you have copied the relevant installation package to the server. \\ \\ To install the MFVP Packaging RPMs on the standalone server; enter the following commands: \\ tar -xvf Eri-mfvp-packaging-v.x.y.z.el6.x86_64.tar.gz cd Eri-mfvp-packaging-v.x.y.z.el6.x86_64 ./install.sh –standalone \\ Once the installation is completed and successfully processed, your MFVP Packaging server is ready for use. \\ \\ To check the installation and access your MFVP Packaging server user interface, open a web browser from a computer that has a network access to your server and enter the following address: [[http:// [LocalIPServer]:8080]] \\ \\ By default, the configuration is automatically done by the install.sh with the following values: \\ • LocalIP: first IP found (excluding 127.0.0.1) • serverID: standalone \\ To change these values, proceed with the following configuration step. \\ \\ ==== Configure MFVP Packaging on the server ==== \\ To configure the standalone server, enter the following commands: \\ # /opt/mfvp/packaging/setup/configure.sh --localIP X.X.X.X --serverID XX • localIP:x.x.x.x corresponds to the management IP address for this server.\\ • serverID=xx: xx corresponds to your Server ID for this server (example: packaging_01). The server ID is used as the server name in the user interface. Default value is standalone. \\ For my server, I would use something like: \\ # /opt/mfvp/packaging/setup/configure.sh --localIP 192.168.27.50 --serverID Pkg01 \\ Once the installation is completed and successfully processed, your MFVP Packaging server is ready for use. \\ \\ Test the server by navigating your browser to http://localserverip:8080 \\ \\ ===== NTP Settings ===== The time source of the Packager, and the Encoder producing the ABR output should be from the same source. Faiure to properly time synchronise can result in the packager discarding data that is 'outside' sync times. \\ \\ ==== Configure TimeZone ==== Remove the local time file, in case it contains incorrect settings: \\ rm /etc/localtime \\ \\ Now re-create the local time file using UTC time. \\ ln -s /usr/share/zoneinfo/UTC /etc/localtime \\ \\ ==== Configure NTP ==== Define the ntp server you wish to use in the ntp.conf file. \\ vi /etc/ntp.conf \\ Add your ntp server to the server list, as below \\ \\ # Use public servers from the pool.ntp.org project.\\ # Please consider joining the pool (http://www.pool.ntp.org/join.html). \\ server 137.58.71.251 iburst\\ # server 0.centos.pool.ntp.org iburst\\ # server 1.centos.pool.ntp.org iburst\\ # server 2.centos.pool.ntp.org iburst\\ # server 3.centos.pool.ntp.org iburst\\ \\ \\ Save the file and exit (:wq) \\ \\ Stop the NTP daemon \\ service ntpd stop \\ Force the synchronisation with the NTP server \\ ntpdate 137.58.71.251 \\ Restart the ntp daemon \\ service ntpd restart \\ Verify the ntp synchronization \\ ntpstat \\ It should return “synchronized, as below: \\ synchronised to NTP server (188.39.213.7) at stratum 2 time correct to within 48 ms polling server every 1024 s \\ \\ ==== Define the Multicast routes for the ingest ==== This is very important. Unlike previous packager products, the ingest interface is not selected from the GUI, so we must define at the OS level where our multicast sources are coming from, and on what interface. \\ \\ In the sample below, we will define that all multicast traffic in the range 239.X.Y.Z will be listened on the eth2 interface. \\ \\ To do this, navigate to the location where all the interface configuration files are held \\ /etc/sysconfig/network-scripts. \\ ==== Create a route file for the interface you want (eth2 in this example) ==== \\ vi /etc/sysconfig/network-scripts/route-eth2 \\ Enter your routing syntax \\ GATEWAY0=11.0.100.1 NETMASK0=255.0.0.0 ADDRESS0=239.0.0.0 \\ This will route all multicast traffic requests on 239.X.Y.Z scope to interface Eth2, which has the IP address 11.0.100.1. The 'Gateway' in this instance is an interface address. \\ \\ Save and close the file. Restart networking: \\ service network restart \\ Verify new routing table: \\ route \\ Destination Gateway Genmask Flags Metric Ref Use Iface \\ \\ 192.168.27.0 * 255.255.255.0 U 0 0 0 eth0\\ link-local * 255.255.0.0 U 1002 0 0 eth2\\ link-local * 255.255.0.0 U 1003 0 0 eth3\\ link-local * 255.255.0.0 U 1004 0 0 eth4\\ link-local * 255.255.0.0 U 1005 0 0 eth5\\ link-local * 255.255.0.0 U 1006 0 0 eth0\\ link-local * 255.255.0.0 U 1007 0 0 eth1\\ link-local * 255.255.0.0 U 1008 0 0 eth7\\ link-local * 255.255.0.0 U 1009 0 0 eth6\\ 239.0.0.0 11.0.100.1 255.0.0.0 UG 0 0 0 eth2 \\ 10.0.0.0 * 255.0.0.0 U 0 0 0 eth4\\ 11.0.0.0 * 255.0.0.0 U 0 0 0 eth2\\ default 192.168.27.254 0.0.0.0 UG 0 0 0 eth0\\ \\ \\ Verify you can see the multicast route \\ \\ ==== Mount a NAS ==== For anyone wanting to store a large amount of data, a NAS will be required as the standard G6/G7 does not have enough storage for hours of date from multiple services. \\ \\ However, for most demonstration applications, the internal storage should be enough to provide an overview of what the product capabilities are, without provision or integration of extra storage. For this reason, we will just use the internal storage of the packager. \\ ==== Define a Publication Folder ==== To create your sharing folder on your server. Navigate to: \\ /opt/mfvp/mnt \\ Even if you are not publishing on a NAS, you will need to create a publication folder in this repository. \\ \\ In the example below, we are creating a nas folder in /opt/mfvp/mnt where we will publish to. \\ cd /opt/mfvp/mnt mkdir nas chown -R envivio:envivio nas \\ You need to change the group and owner of the folder you are publishing to using chown in order to give CentOS the rights to publish in this folder. \\ \\