Core

From LinuxMCE
Revision as of 04:56, 17 December 2014 by Mcefan (Talk | contribs) (Core PC hardware selection guide)

Jump to: navigation, search
Version Status Date Updated Updated By
710 Relevant info 2nd June 2011 purps
810 Relevant info 2nd June 2011 purps
1004 Unknown N/A N/A
1204 Unknown N/A N/A
1404 Unknown N/A N/A
Usage Information

The LinuxMCE Core server

A Core is a single dedicated PC acting as a server that interacts with all the components of the system. This is the most important component of a LinuxMCE system since it runs all of the primary applications and services. It is the heart and brain of the LinuxMCE system, the main server in your LinuxMCE home automation/multimedia network.

The core serves as:

Diagram1.jpg
  • a multiprotocol router
- a communications hub for all connected devices: it routes home automation messages and commands.
- the networking router of the home automation/multimedia network
- a PBX for all connected IP telephony devices and media directors
  • a central repository
- the storage location for the configuration of all the devices
- a PXE server distributing boot images to media players
- a storage device for media


The Core is the central point of the LinuxMCE system. It is left on all the time since without it, LinuxMCE functionality everywhere else in the home stops working.



Communications hub

The LinuxMCE Core runs the applications and daemons needed for the other devices to exchange messages within the LinuxMCE system. All system components send home automation messages and commands to the Core which in turn sends them to the target system components. The LinuxMCE Core is the one component in the system that knows about all the components that make up the system. It serves as a communications hub for all other connected devices.

The LinuxMCE Core is also at the center of communications on the network. New users commonly misunderstand this role and attempt to install LinuxMCE as "just another component" of their existing network. However, the LinuxMCE Core does not only route home automation messages and commands between components, but also distributes IP addresses, delivers boot images, and serves as the gateway to the Internet for the system components. The LinuxMCE Core functions as the network's router.
To install LinuxMCE on an existing network, it has to be added as node on the existing network, but the LinuxMCE system components have to be added to the LinuxMCE Core's internal network, essentially creating two distinct networks. It then becomes your responsibility to join the two networks as necessary if you would like to interact with the LinuxMCE system components from the external network. In general, LinuxMCE Core is used as the router and gateway of the network to which the access points are connected, and the pre-existing router/gateway is placed outside the network (essentially used as a bridge to the Internet).
To learn more about LinuxMCE networking role, network cabling and configuration, see Why dual network cards?.



Centralized configuration and administration

Configurations repository

In a LinuxMCE system, all the settings are stored in the Core Server. Each system component's location, functions, and options are stored on the Core. Every device's configuration, and, all network settings are also stored on the Core.

For example, the AV devices are connected to the Media Director(s), nevertheless, AV devices connected anywhere within the system, even those connected to another (such as a Media Director PC) in another part of the house are all managed by the Core. In the LinuxMCE Admin panel, A/V devices settings are specified separately from the settings of the Media Directors to which they are connected. This is done because the Core individually keeps track of the controls and settings of every device on the system.


This centralization of settings enables plug-and-play operation throughout the LinuxMCE system. All devices connected anywhere within the system are automatically configurable once discovered by the LinuxMCE Core.



Centralized administration

All the devices part of the LinuxMCE network are listed and configured on the Core. The Core Server provides a standardized administration website accessible via web browser from any Media Director or other device connected to the LinuxMCE network. The LinuxMCE Admin Website is the interface used to configure the LinuxMCE system.

Since the entire system can be administered from any Media Director, and you can run the Core Server without a monitor, keyboard, mouse or any other input or output device if you choose to do so. It is a true server. In this configuration, the server is said to be running "headless".



Plug 'n' Play Capabilities

Once LinuxMCE is installed, you can treat it like an appliance -- plug it in, turn it on, and leave it alone. You don't even need to install any software on the media PCs that will be used as Media Directors. If these PCs are connected to the Core by wired Ethernet, they can usually be set to boot LinuxMCE from the Core server over the network whenever you want to use them as a Media Directors. The rest of the time they can be used as a regular PCs, using whatever operating system is already on their hard drives.

For this to work, it is recommended to have two Network Interface Cards in the Core -- one to connect to the "external" network (which can be your home LAN or simply your Internet connection), and one for the "internal" LinuxMCE network (to which all your LinuxMCE devices are connected). All devices on the LinuxMCE LAN are considered "internal", and any device on your home LAN is considered "external". The Core serves as a bridge between the LinuxMCE LAN and the internet when internet access is requested by LinuxMCE (internal) devices. The LinuxMCE Core server effectively acts as both the DHCP server and the firewall for the "internal" LinuxMCE network.

To recognize each device and send it the necessary software, it is necessary that the LinuxMCE Core read and answer DHCP requests. It needs to be the only DHCP server within your LinuxMCE internal network, in order to offer both plug-and-play and network boot services. You can keep a DHCP server on your home (external) LAN as long as its relationship with the Core is the Core's "external" Network Interface Card, but the Core should be the only device to serve DHCP within the internal network.

Note that you can easily have PCs outside of the LinuxMCE internal network, if you choose. Simply connect them to the external network, rather than the internal LinuxMCE network.
Alternatively, you can choose to have all PCs in your house be part of the LinuxMCE network. In this case the Core server provides DHCP and firewall services for your entire home LAN, and all you computers can be used as remote controls.



Netboot services

With all the settings for Media Directors and all other devices centrally stored, it is possible to netboot devices from the Core. The Core PC provides standardized netboot services on the network. It listens for and auto configures all sorts of devices, including network audio players (e.g. Squeeze Box), IP phones and cameras, and Media Director PCs.
The Core server detects each device and makes it accessible to all the other components. With this plug-and-play back-end, the Core can automatically provide a network boot to thin-client PCs, and issue them the OS necessary to turn them into Media Directors.
System administration and updates are easy since only the software stored on the Core needs to be upgraded.



Core PC hardware selection guide

To learn about the PC components necessary in a Core, read the Core - Hardware selection primer



Links