Diskless Backend

From MythTV Official Wiki
Jump to: navigation, search

Setup of a backend is like that of a diskless frontend installation, aside from the remote booting client will also hold at least one capture source and run mythbackend.

Why would you?

Some reasons one might like to build a diskless backend:

  • You already have a machine capable of serving remote boot clients, but this is unable to run mythbackend or accept capture cards.
  • You already have a backend machine, but you want to add more capture cards than it can hold so need another, minimalist machine for this purpose.
  • You have a location for your boot server, but there's no cabling for capture cards there. However, there is cabling for capture cards some place else on the LAN (most likely by your TV where you'll want to run a combined diskless front/backend).

Test Configuration

Attempts to build a combined diskless front/backend (by raintonr) were not particularly successful. The following are pertinent details of the setup built:

Server

  • Hardware: AMD Athlon 64 3500+, 1GB RAM, SATA RAID(5) array, 100Mbps NIC.
  • OS: Fedora Core 4

Used for remote boot server, also MySQL database server runs here.

Client

  • Hardware: AMD Athlon XP 2000+, 512MB RAM, AVerMedia_DVB-T_777 capture card, 100Mbps NIC, Nvidia 6600
  • OS: Fedora Core 6
  • MythTV: mythtv-suite installed as per Installing_MythTV_on_Fedora_Core (including official Nvidia driver).

Remote boots using PXE protocol and mounts NFS root from server. Runs both mythbackend and mythfrontend but uses MySQL database on server.

Performance

This setup functioned just fine on standard tasks. There seemed to be pretty much zero latency on the network drives when rebuilding a kernel on the client for example.

Using Xine to watch TV on the capture card was fine on the client. However, using MythTV to watch resulted in a picture that just wasn't as smooth. There was no interruption in sound, and the picture seemed to keep in sync just fine, but at what appeared to be a reduced frame rate. Watching pre-recorded shows also seemed to have this low frame rate problem.

The 'top' utility on the client showed small amounts of I/O Wait (1-2%) and plenty of idle time.

Network analysis showed:

(Sorry, these are very rough figures)

  • Recording a HD DVB signal: client sends about 16Mbps to the server.
  • Recording a SD DVB signal: client sends about 4.5Mbps to the server.
  • Watching at the same time: client reads less data back from the server, but the amount appears to vary (most likely due to caching).
  • Watching pre-recorded SD DVB signal: client reads 6.5Mbps from the server.

Fix slow frame rate

Clearly the 'low frame rate' problem is annoying and needed to be fixed. Sadly in the attempted configuration it seemed this just wasn't going to work.

To correct this the diskless machine was changed to more standard frontend only configuration. The capture card was moved to server machine and mythbackend run there. This has the effect of:

  • Reducing data from client to server to virtually nothing (few hundred Kbps peak).
  • Watching live or pre-recorded SD DVB signal now sees around 5-6Mbps read by the client.

Which in turn means:

  • Playback on the client is now very smooth, so much so even a lowly GeForce2 card can be used.

Conclusion

Although usable, we have to conclude that a combined diskless front/backend of this type is not a good idea (or at least with this hardware and network configuration).

It may well be possible to run a diskless backend alone, with no frontend in the same machine but this has yet to be proven.