Author
Topic: Is LinuxMCE for me? (Read 8442 times)

....Surely, it can't be that hard to put LinuxMCE on the same subnet? In my experience, if you don't have any compelling reason to split into subnets, don't.

You have a compelling reason to split it into subnets (if you don't want LinuxMCE to act as your DCHP server on your "work" network). I promised myself I wouldn't say anything more, because it's really difficult to avoid saying the same things again.

You clearly have some ideas about networking, but they are not what I would describe as modern thinking or good practice.

Strip it down. Look at what you want to do on your network. Look at how LinuxMCE works and what it requires. Find the easiest way to accomodate the two. (Hint: you'll probably need VLANS, and given your network cabling layout you may need to trunk up various runs, this probably means managed switches.)

There really is nothing wrong with managed switches - the whole world uses them. They are the backbone of most professional level networks. If cost is an issue look at comapnies like Tenda - We have a number of their switches in non-critical branches of our network, and haven't had a days problem. Not one single failure (running continuously for over a year without re-boot).

Circa £100 (UKPounds ex. VAT) for a gigabit 16 port managed switch seems very reasonable to me. I'm sure they used to do an 8 port managed even cheaper, someone else might.

Given the skill level you alude to, and the huge investment in your existing network, this is so clearly the way to go that I'm staggered that you can't see it.

Am I misunderstanding what you say? I interpreted it as splitting the network in two subnets, putting the LinuxMCE server between the "server network" and the "client network". That would be a spof.

Back to the need for a diagram that I could modify and show you visually what I'm thinking. However, my suggestion is to put the core in parallel between the internal and external LANs. Assuming you have 1 or more switches with direct Internet access and another set of switches for internal, the core would be dual homed with one connection to each. The existing physical layout would not change, external server setup would not change, and you can use IP and gateway settings to control the flow of traffic from the internal network.

Quote

Quote

You can have a nice integrated media solution without rebuilding/rethinking your network. The only big changes would be static IPs for your servers (if you haven't done that already), and changing to 192.168.80.x IPs for those devices you want on the LinuxMCE network (same physical network I realize, but also same subnet to avoid traffic going through a router and hitting the physical network twice).

The servers are mostly on fixed IP's today, as is some development machines (easier to debug network code with fixed IP). Some servers are not (mostly the download slaves), but could be. It would be good if these can remain on the same IP's and on the same network, as there are lots of "hidden" references in configuration files for various programs.

For practical reasons, I also want my desktops and laptops to be on that subnet.

What would the gain be in having the LinuxMCE machines on a different network, especially as the big file servers will remain on the network with servers and desktops/laptops?

Surely, it can't be that hard to put LinuxMCE on the same subnet? In my experience, if you don't have any compelling reason to split into subnets, don't.

The internal side may need work, depending on how you want to do it. Three options I can think of off the top of my head:

Change the internal subnet to 192.168.80.x: Change all servers to thiis subnet, change the internal side of your router to this range, set the default gateway for any devices you don't want going through lmce to the IP you set for your router. This method seems cleanest and best for long term LMCE use, but I don't know how much hassle it will be to update all the "hidden" references in config files. It would also be a good time to change these configs from hard coded IPs to dns names if you have or can setup a dns server.

Leave everything as is and change LMCE to use a different IP range, the one you have already. This means nothing changes for your existing stuff, your LMCE devices will be on the same subnet as your other devices so no going through routers to get to another device on the same physical network. However, much like your existing config files, LMCE has some of this stuff hard coded, and it's not as straightforward as it may seem. I actually did this my first time with LMCE for similar reasons and got it working, but due to hardcoded IP ranges it broke a couple times. In the end I switched everything over to the LMCE desired range and it's been smooth sailing.

Leave everything as is and add LMCE with it's default setup. This will create two logical subnets on one physical LAN. Give static IPs for everything you don't want/need to be used by LMCE and let LMCE DHCP the new LMCE only stuff. Your old stuff basically stays exactly how it is, and new stuff is all LMCE (media directors, squeezeboxes, NAS devices for media, etc.). There is obviously a logical separation with this method, and existing media will not be picked up and used by LMCE unless you change it to the LMCE subnet (existing NAS boxes or whatever). It will let you do things like have a box that boots from HD as a workstation on one logical subnet separate from LMCE, or PXE boot as a media director.

In any event, you do not need to add a spof to add lmce to your network, but you do need to have LMCE as the only DHCP server on that LAN. I strongly recommend taking an approach that lets LMCE work as it wants, 2 nics, default IP subnet, etc.

Given the skill level you alude to, and the huge investment in your existing network, this is so clearly the way to go that I'm staggered that you can't see it.

I can see it, but I don't like it. Frankly, I don't like having my network architecture dictated by a single program. What happens when the next program that demands to control it comes along? There can only be one king, and up til now, that king has been me. If I let LinuxMCE be that king, what happens when, say, a virtual CD server comes along and wants to be king? That's why I like to remain king, and have software as my obedient servant.

What I have works. It works really good. That means that I want a minimum of changes.

Quote

There really is nothing wrong with managed switches - the whole world uses them.

I don't, and one of the largest government agencies in Sweden don't, as they found them too problematic. I've tried them, and it wasn't worth the problems. For example, when they go down, I can't just take another from the shelf and plug it in, I must configure it identically as the broken one. That means downtime, it means work and it means a possible mistake can be made.

Quote

Back to the need for a diagram that I could modify and show you visually what I'm thinking.

I don't have a diagram, but basically, this is how it works:

* Two incoming internet lines. These go to two switches, which are two separate networks.* On these switches, SmoothWall machines are the gateways to the rest of the network.* The main network. Here is a bunch of desktops, laptops, servers (web, mail, file, DB, download slaves, DNS, DHCP and some other stuff), game consoles and other stuff.* Some servers have dual NICs (actually, all have, but not all use them), and stand with one leg on each side of the Smoothwalls. I know this is not optimal from a security perspective, but the servers are hardened and so far, they have not been breached. This arrangement is there for two reasons: ease of administration and because some servers used to have several purposes. It also allows me to load balance simply by moving a cable from one switch to another, or to move all traffic to the other connection if one should fail.

Now, as I don't really want to change things unnecessarily, what I need to do it to use LinuxMCE as DHCP server. This means reconfiguring it a lot, as it will still need to work with the settings I use now, but that can probably be done. I still need to keep my Smoothwalls as gateways.

I would very much prefer to keep my IP range, as things are bound to break unexpectedly otherwise. I might expand it to 192.168.*.*, that might allow the larger range I need anyway, while still allowing LinuxMCE to have it the way it likes it. That would probably solve a lot of problems.

Quote

I don't know how much hassle it will be to update all the "hidden" references in config files.

That's the problem, I don't know either. I know I have settings all over the place, for databases, my own server software and other services, but I don't know where. In other words, it will be a very annoying period of fixing unexpected errors, a period that may last for years, as some programs are not run very often.

Quote

Give static IPs for everything you don't want/need to be used by LinuxMCE and let LinuxMCE DHCP the new LinuxMCE only stuff.

Nope, not happy with that. Some machines need to be on the main network and have a DHCP address, as they are also used on other networks and I don't want to go into the network settings every time I move a laptop. I also have guests connecting to the network, and they should also get on the correct network through DHCP.

Quote

NAS devices for media

Will not happen. I use file servers, mainly because I trust a disk which is under the control of an OS I can actually manipulate more than a disk in a black box. Also, as a side project, I'm sketching on a file system, which will eventually be used on my file servers and which will be extremely cool (http://rpglab.net/troberg/pmwiki.php/Tech/FreeSBI). Doing that with a NAS is awkward.

Quote

There is obviously a logical separation with this method, and existing media will not be picked up and used by LinuxMCE unless you change it to the LinuxMCE subnet

This is also not acceptable. I have some 20-25 TB data on my file servers, and will probably have more than doubled it in a year. That data needs to be accessible from both media players and from the rest of the machines.

Quote

It will let you do things like have a box that boots from HD as a workstation on one logical subnet separate from LinuxMCE, or PXE boot as a media director.

As I've said, I'm not a fan of dual purpose hardware. It's either a media player or a workstation, not both. Besides, I usually only reboot my machines when there has been a power-out.

----

You have given me a lot to think about, and I will make some tests, probably during the weekend. I have 5 or 6 machines just standing around from an earlier shopping spree, so I can set up a small test network will little work (except for the part of going out to the shed to get the spare monitors, in -25 degrees C...).

Spontaneously, though, my gut feeling tells me that it's better to go with some simple solution (XBMC is probably the logical choice) for now, as it feels like LinuxMCE is not designed for medium/large networks. I still have great hopes for LinuxMCE, don't get me wrong, but I think that it must probably first fully explore the small network territory and then expand into a form more flexible and more suitable for the more complex environments. I suspect that will take a few years, but I'm also confident that it will eventually happen.

So, depending on how the tests go, it may be now or later, with something else for now.

You seem quite stubborn and, dare I say it, a bit old fashioned in your thinking. If you really want to use LMCE for your full home automation and media solution you would look at the suggestions I made above and think in terms of how you could make it work, not what you don't like about various approaches.

As for LinuxMCE not being designed for medium/large networks and it becoming more flexible in the future, that's really not true. I will say if it were better able to be configured for any IP range, not just 192.168.80.X it would be nice. Then again, I may be misleading you. There IS a place to configure the IP address and DHCP range to anything you want, but in my experience it's not 100% reliable. However, I don't remember if I tried it with version 710 or 704, and with 810 coming out at some point the DHCP IP range problems I ran into may not exist any longer. Beyond the flexibility of choosing whatever IP range and the requirement of LMCE being your DHCP server, there really isn't anything else that makes LMCE better for one size network or another. Ok, the fact that there are no provisions for multiple core servers splitting workload, but that's getting way outside the scope of this topic.

At this point I am going to bow out of this conversation. If you have specific questions I'll try to answer, but I'm not one of the devs, just a regular old user.

Yep, I know I'm stubborn, but I've invested quite a lot of time into my network, and I really don't want to take unnecessary risks with it. I don't want to change too much, and especially not at the same time. Don't mess with something that works and all that.

I also do have a certain aversion to software which doesn't respect my way of doing things. Assuming a certain network architecture is one such things, but I've also thrown out programs for such things as not respecting my user interface settings (colors, look and so on). Well behaved software does not work like that. I've actually started a sketch on a manifesto for how software should behave, which, among other things, adresses this: http://rpglab.net/troberg/pmwiki.php/ESDM/EthicalSoftwareManifesto

I can see it, but I don't like it. Frankly, I don't like having my network architecture dictated by a single program. What happens when the next program that demands to control it comes along? There can only be one king, and up til now, that king has been me. If I let LinuxMCE be that king, what happens when, say, a virtual CD server comes along and wants to be king? That's why I like to remain king, and have software as my obedient servant.

What I have works. It works really good. That means that I want a minimum of changes.

This is one of the ways, in my view, in which you are going wrong.

I don't think you should think of LinuxMCE as a program. Rather you should think of it as a unifying bridge architecture that draws together multiple and diverse applications and integrates them with a range of hardware, in order to present a plug and play experience to the user from the networked infrastructure upwards through individual items of functionality.

If you don't want it to be that (and the LinuxMCE network {or subnet} is a fundamental component of the system), then you may be better looking elsewhere. Don't kid yourself, though. You'll have to put in an awful lot of work on individual applications to get anything approaching the functionality of LinuxMCE. This thing here is a breathtaking achievement, almost without peer. It's flawed, and in early development stages, but don't let that blind you to what a stunning achievement it is.

Yep, I know I'm stubborn, but I've invested quite a lot of time into my network, and I really don't want to take unnecessary risks with it. I don't want to change too much, and especially not at the same time. Don't mess with something that works and all that.

I also do have a certain aversion to software which doesn't respect my way of doing things. Assuming a certain network architecture is one such things, but I've also thrown out programs for such things as not respecting my user interface settings (colors, look and so on). Well behaved software does not work like that. I've actually started a sketch on a manifesto for how software should behave, which, among other things, adresses this: http://rpglab.net/troberg/pmwiki.php/ESDM/EthicalSoftwareManifesto

That's fine, we all have our views on things. It perhaps should occur to you that as the world becomes more and more integrated, and expects certain standards methods of connectivity, your system will run into increasing problems. It may be that you are correct and everyone else is wrong, but given that they will be able to do things, and you wont, it will be little comfort to you.

I'm going to bow out here as well. I was trying to help. I think you're profoundly mistaken in some of your beliefs (and yes, I am a professional working in the field). You have your view, and I wish you good luck.

I must confess that I'm not sure MCE is for you. You have a lot of contraints which, it seems to me, you are not willing to flex on and which, as I see it, will result in you having a lot of trouble.

MCE is intended as a solution for the home, to provide a one-stop shop setting up a home network with media and automation. It is intended to eventually be an appliance that can be used by non-technical people. In the light of that, some of its constraints that you are fighting become not only logical, but quite neccessary.

Going through these...

MCE uses PXE booting. This is to ensure the software is distributed / mantained easily. You don't need to install stuff all over the place (core, MDs etc etc) You also don't require a local HDD in every MD, which reduces power consumption and cost.

MCE needs to be your DHCP server. This is partly due to the PXE and partly due to the whole PnP concept. How else would the core "know" that there is a new device on the network? When a new device requests it's address, the core can use the MAC to determine if it's a fileserver / NAS thus needing scanning or a mobile device that needs the Orbiter image.

MCE needs to be your router. This is because your ISP's router is probably set up as a DHCP server. Rather than having to go in and re-configure it (which isn't a very "non-tech" friendly requirement!), it's easier to make MCE dual-homed. The "public" NIC can play nicely with the ISP's router etc whilst the "private" NIC can do what it needs to do, including DHCP.

Now, looking at your setup, we have a completely different scenario. You are putting a lot of constraints on MCE which means that, IMHO, it won't actually do anything for you. You say yopu want 1 machine per function. Well, there's nothing to stop you installing MythTV on a box, Asterix on a box and so on. With all due respect, I think you are missing the point of MCE, which is why you are fighting it! I also think you are somewhat overly-inflexible about your current setup. On the one hand you don't want to run any more cables, yet you want to use a system which needs another network to work properly. The industry standard method of doing this is vLANs, which you don't want to use due to a personal distrust of managed switches. I hear what you say about 1 public organisation, but there are millions of commercial networks out there that need and use managed switches very successfully.

You talk about "who is king". This is perhaps the most telling statement about your misunderstanding of MCE. MCE is a distributed, integrated system, it ISN'T a set of descrete computers on a network. It needs to work the way it does for reasons mentioned above. Stop thinking of it as taking over your network and think of it as a system on your network. If you go down the route of another network, you will have the MCE "system" existing on your current network with a single connection. The second network, whether provided with vLANs on your current structure, or with parallel cables, is part of your MCE system. Think of it like you are routing analog phone signals, or a video feed. You are trying to do a task that requires structured cabling without having that cabling - either physically or virtually!

Sorry to sound off, but I honestly think that you are missing the point here!

Finally, you have already said you don't have the time to devote to helping develop MCE (although you seem happy to make use of other's work free of charge) yet you are prepared to put time and effort into re-engineering the system to fit your environment. This will be a huge task which will, I think, ultimately be doomed to failure.

Good luck, but I seriously doubt you will experience the success or have the pleasure of a system like the one seen in videos by people such as Thom....

I don't think you should think of LinuxMCE as a program. Rather you should think of it as a unifying bridge architecture that draws together multiple and diverse applications and integrates them with a range of hardware, in order to present a plug and play experience to the user from the networked infrastructure upwards through individual items of functionality.

If you don't want it to be that (and the LinuxMCE network {or subnet} is a fundamental component of the system), then you may be better looking elsewhere.

That's more or less the conclusion I've come to. I already have a network. It feels wrong to duplicate functionality I already have, just to have to find hackish ways to avoid problems due to that duplication of functionality.

Quote

Don't kid yourself, though. You'll have to put in an awful lot of work on individual applications to get anything approaching the functionality of LinuxMCE.

Yes and no. At the moment, all I want is a good media center. In the future,say a year or two, I might to integrate some sensors from my alarm system. Home automation may arrive, but that's maybe fice years away. In other words, I don't need to duplicate all of it, just a few limited bits.

Quote

This thing here is a breathtaking achievement, almost without peer. It's flawed, and in early development stages, but don't let that blind you to what a stunning achievement it is.

Oh, I agree, and I think I've stated that several times. It was very impressive when it arrived, more or less out of the blue, and it's even more impressive now, and I certainly will keep a close eye on the project and forks of it. At the moment, though, it looks like my needs are a bit outside the scope of the project.

Quote

That's fine, we all have our views on things. It perhaps should occur to you that as the world becomes more and more integrated, and expects certain standards methods of connectivity, your system will run into increasing problems. It may be that you are correct and everyone else is wrong, but given that they will be able to do things, and you wont, it will be little comfort to you.

There will always be a possibility to have dedicated servers for each function, if nothing else because large networks demand it.

Quote

I was trying to help. I think you're profoundly mistaken in some of your beliefs (and yes, I am a professional working in the field). You have your view, and I wish you good luck.

Well, I appreciate the help a lot, you've given it a lot of time and effort. I don't share your views on some things, but, that's what comes with different experiences (and I'm also a professional). If one gets burned, one stays away from the thing that burned.

Quote

I must confess that I'm not sure MCE is for you. You have a lot of contraints which, it seems to me, you are not willing to flex on and which, as I see it, will result in you having a lot of trouble.

Agreed. I need something more flexible, and I'm prepared to give up some functionality for that.

Quote

MCE uses PXE booting. This is to ensure the software is distributed / mantained easily. You don't need to install stuff all over the place (core, MDs etc etc) You also don't require a local HDD in every MD, which reduces power consumption and cost.

Actually, I like that. Also, without a HD, you could put a huge passive cooler on the CPU and remove the fan from the PSU, making the device completely silent.

Quote

MCE needs to be your DHCP server. This is partly due to the PXE and partly due to the whole PnP concept. How else would the core "know" that there is a new device on the network? When a new device requests it's address, the core can use the MAC to determine if it's a fileserver / NAS thus needing scanning or a mobile device that needs the Orbiter image.

I see what you mean, but there are other solutions. PXE could definitely be set up on another DHCP server. As for differentiating machines, it could be done through a PXE boot which in an early step asks the core what it should be (although, I do realize that this would be a major rethink).

As for scanning servers, that's something I really, really do not want done automatically. As I've said, I have plenty of data. Even a simple ls of them takes 4-5 hours, so currently, I do it during the night, once a week, and then use that cached list. Faster, and easier on the disks.

Quote

MCE needs to be your router. This is because your ISP's router is probably set up as a DHCP server. Rather than having to go in and re-configure it (which isn't a very "non-tech" friendly requirement!), it's easier to make MCE dual-homed. The "public" NIC can play nicely with the ISP's router etc whilst the "private" NIC can do what it needs to do, including DHCP.

Makes sense for an ordinary user, but not for a technician like me. I don't even use any router from the ISP, just my own Smoothwalls. Hardware routers is something I have really bad experiences with, for instance, maxing out at 512 concurrent connections, which more or less makes P2P impossible.

Also, I see a distinct possibility that LinuxMCE might interfere with such things as VLANs and TOR. The thing that scares me is that once you leave a program to handle too much, you both become dependant on it and you lose control over it. It becomes a package deal, you get some good stuff, but some stuff does not work, and since it's a package deal, there's not much to do about it.

Quote

Now, looking at your setup, we have a completely different scenario. You are putting a lot of constraints on MCE which means that, IMHO, it won't actually do anything for you. You say yopu want 1 machine per function. Well, there's nothing to stop you installing MythTV on a box, Asterix on a box and so on. With all due respect, I think you are missing the point of MCE, which is why you are fighting it!

No, I'm not missing it, but I only need a subset of what it does. The rest just duplicates what I already have, and in a way that is somewhat awkward for me, or are things I don't even need. If I can get that subset (at the moment, a decent media center) without hassle, that's what I prefer.

Quote

I also think you are somewhat overly-inflexible about your current setup.

Well, I can't really afford much downtime, and I don't really have much time to spend on it. That means that I avoid tinkering.

Quote

I hear what you say about 1 public organisation, but there are millions of commercial networks out there that need and use managed switches very successfully.

In my opinion, that need is a need that can be avoided through proper planning and through placing the intelligence in computers instead of network devices.

Quote

MCE is a distributed, integrated system, it ISN'T a set of descrete computers on a network. It needs to work the way it does for reasons mentioned above. Stop thinking of it as taking over your network and think of it as a system on your network. If you go down the route of another network, you will have the MCE "system" existing on your current network with a single connection. The second network, whether provided with vLANs on your current structure, or with parallel cables, is part of your MCE system.

Sorry, but I can't decide to have my servers available on only one of two networks, physical or logical. They need to be accessible from both worlds. Forcing them to be on one and letting the communication to them go through the LinuxMCE core would provide a very nasty spof. The logical solution would be to just add another NIC to the servers allowing them to be on both networks, but there's no slots left in them, they are full of disk controllers.

Quote

Finally, you have already said you don't have the time to devote to helping develop MCE (although you seem happy to make use of other's work free of charge) yet you are prepared to put time and effort into re-engineering the system to fit your environment. This will be a huge task which will, I think, ultimately be doomed to failure.

Yep, I'm happy to use it free of charge, the same way I participate in other projects which are free of charge, as well as release some of my own stuff free of charge. I have every respect for the FOSS movement, but I have to pace myself and select some projects to support. I can't be everywhere.

Perhaps it will be futile. My plan is to make a quick test shot in a limited copy of my environment. Set up a separate network, modelled after the one I have, just with less machines. I can borrow one Smoothwall and internet connection for it, and use some spare desktops and laptops to simulate servers and desktops, as well as the core and the media players. Setting up that network can be done in a few hours, and then I can test it safely. If it works, good, if not, I'll check back later after a few versions.

Quote

Good luck, but I seriously doubt you will experience the success or have the pleasure of a system like the one seen in videos by people such as Thom....

Perhaps, but it's worth a try.

As I said, I really like LinuxMCE, otherwise, I would not go through this much trouble to make it work in my non-trivial network. Had it been lesser software, just suggesting that it must be run on 192.168.80.* would be enough for me to throw it out and not look back (by the way, with that limitation, how do you intend to handle networks with a need for more than 255 IP's, that's getting common in home networks now (or, possibly, me and my friends are not typical home networkers)).