Reseller Interface / sites

Hi Guys,

Trying to make up my mind about Interworx. I’ve been in contact with Paul, about how Interworx functions.

However, there’s 2 things I’m unsure of :

  1. How does the clustering work exactly (I know about how H-Sphere does clustering, but the way Paul describes it, all nodes act like 1?) I read a small thread about the work nodes do vs. CM + hard drives. The reply from Iworx was that the node hard drives only need to be big enough for the OS + rrd and logs. The website files are stored on the CM (which also has the MySQL server… which brings up other points). So, my CM server needs to be in a huge Raid 5 array with 50 disks? Or what exactly? Also, what happens when the MySQL performance for the entire cluster is degraded to the point I need to start up a second MySQL server for new domains added to the cluster?

I’m just trying to wrap my head around this one, since most of my servers are 4x250gb Sata2 in Raid10 and quad cores/ram… typical servers basically. So if the CM (1 of those typical servers) becomes full… I need to create a second/third/4th cluster? That seems… rough, if that’s the case. Basically, I’d need to manage multiple CM’s? If this is the case, I would actually need a SAN switch and multiple SAN’s to ensure I actually have enough storage? Isn’t this dangerous if the CM actually goes down? Raid can only go so far…

If the system does NOT work this way, if httpd is down for the count on one node, does it move onto the next node?

  1. Reseller-owned websites. Are they all added onto the same server? Or are they randomly added onto different servers (thus making sure that if there is downtime, not all reseller sites are affected)

Other questions :

Is it okay to assume that this solution is like cPanel, but adds on a “virtual” layer, which places sites on single-servers (that do everything : http, dns, email), and have one main node act as the MySQL server?

Will the API be fully developed shortly? Can it list accounts (and reseller-owned accounts)?

Are there limits in place for reseller backups/restores, to avoid disk i/o problems?

Is there some way to prevent resellers from placing sites on some servers (for example, different continents), or to have them manually choose which server?

Also, can you move 1 account from one node, to another, with no downtime? Usually, this would be for manual load balancing and such. Is this process automated? Can it be done with reseller-owned accounts as well?

And for the API… does it create the account with the CM, which then decides which server it goes on? Or does it need to communicate with each node?

Also, I plan to use a semi-custom backup solution. If I can handle the SSH/login parts, how hard would it be for me to add a page or section into Interworx, that allows the user to browse & restore their own backups (their home directory, emails, mysql) ?

I briefly emailed with Paul… but, Windows 2008 support? :smiley: It’s not mission critical or anything, but if Interworx works like how I think it works, Windows 2008 support would be really nice to have so us providers can offer a full solution, rather than just half.

And this one goes back to #1… if the system really needs a sort of SAN/San Switch… could Interworx also put in OpenVZ support? I’ve seen OpenVZ management scripts built in days, and there’s multiple open sourced ones out there that in theory, should be easy to integrate. The only problem is getting it to use iSCSI (easy, but this part I’m not familiar with)

I apologize for the many questions, but I’m trying to wrap my head around Interworx, since there’s no working clustered demo to play with.

Also, can you move 1 account from one node, to another, with no downtime? Usually, this would be for manual load balancing and such. Is this process automated? Can it be done with reseller-owned accounts as well?

And for the API… does it create the account with the CM, which then decides which server it goes on? Or does it need to communicate with each node?

Also, I plan to use a semi-custom backup solution. If I can handle the SSH/login parts, how hard would it be for me to add a page or section into Interworx, that allows the user to browse & restore their own backups (their home directory, emails, mysql) ?

[quote=dbmv;15629]Hi Guys,

Trying to make up my mind about Interworx. I’ve been in contact with Paul, about how Interworx functions.

However, there’s 2 things I’m unsure of :

  1. How does the clustering work exactly (I know about how H-Sphere does clustering, but the way Paul describes it, all nodes act like 1?) I read a small thread about the work nodes do vs. CM + hard drives. The reply from Iworx was that the node hard drives only need to be big enough for the OS + rrd and logs. The website files are stored on the CM (which also has the MySQL server… which brings up other points). So, my CM server needs to be in a huge Raid 5 array with 50 disks? Or what exactly? Also, what happens when the MySQL performance for the entire cluster is degraded to the point I need to start up a second MySQL server for new domains added to the cluster?

I’m just trying to wrap my head around this one, since most of my servers are 4x250gb Sata2 in Raid10 and quad cores/ram… typical servers basically. So if the CM (1 of those typical servers) becomes full… I need to create a second/third/4th cluster? That seems… rough, if that’s the case. Basically, I’d need to manage multiple CM’s? If this is the case, I would actually need a SAN switch and multiple SAN’s to ensure I actually have enough storage? Isn’t this dangerous if the CM actually goes down? Raid can only go so far…

If the system does NOT work this way, if httpd is down for the count on one node, does it move onto the next node?

[/quote]

The clustering functions of InterWorx are geared toward higher bandwidth and/or resource-laden sites. It is not meant as a cloud or other mass computing architecture. To answer some specific questions:

  1. Yes, what Paul relayed was correct.

  2. No, the CM doesn’t need to be a huge server. Again, the system is just meant to act on higher resource and/or bandwidth sites. Redundancy is not the main focus of the system at this point.

  1. Reseller-owned websites. Are they all added onto the same server? Or are they randomly added onto different servers (thus making sure that if there is downtime, not all reseller sites are affected)

Again, this is a load balanced cluster. The cluster acts as a unit so reseller owned sites are just added to the cluster as a whole.

Is it okay to assume that this solution is like cPanel, but adds on a “virtual” layer, which places sites on single-servers (that do everything : http, dns, email), and have one main node act as the MySQL server?

Is there some way to prevent resellers from placing sites on some servers (for example, different continents), or to have them manually choose which server?

Also, can you move 1 account from one node, to another, with no downtime? Usually, this would be for manual load balancing and such. Is this process automated? Can it be done with reseller-owned accounts as well?

No, sites are not placed on single servers. They are placed on the cluster itself and are served via the various nodes in the cluster.

Chris

Chris, what I meant by single-server :

Everything is placed on the CM, which is then fed into the nodes to process. In this scenario, if there’s a hard drive problem, or something goes wrong with the CM, the whole thing goes down, no?

I really like how processes and such are laid out, as it helps with cpu/ram and can be added on the go(by adding additional servers), but I’m not too keen on having all data on a SAN, and having only 1 MySQL server.

How are most people handling Interowrx? In 3-4 server setups (1 CM to 3 nodes) and then redeploying the same setup as needed? Or are most people using SAN/NAS and using iSCSI to mount them onto the CM?

Also, back to the load balancing aspect. If one of the nodes go down, or if httpd/mail/dns/whichever go down on that one node. Will sites STILL be tried to be served from it? Or will they automatically go over to the other nodes (thus increasing load temporarily, while the other node is fixed)

Something else came to mind… if you’re doing shared/reseller, and you’re on the same cluster, how are people doing their hostname conventions, since resellers want anonymity, and not your brand to show up anywhere? Do you need to have separate clusters for shared and reseller clients?

When reseller accounts are created, does the zone file already include the ns1/2/3 (4?) A records for their nameservers, along with A record for the sql server (for example, mysql1.resellerdomain.com), or does all that need to be setup manually?

If all connections come into the CM, how beefy and scalable does it need to be? What happens when we need to upgrade the hardware for that CM?

What about for the nodes? Do they follow the Google model where, the main servers are beefy, and the nodes can be cheap p4’s, running single disks, and when one-two-three go down, it doesn’t matter (as long as at least 1 node stays up)?

24 hour bump for attention?

Chris, what I meant by single-server :

Everything is placed on the CM, which is then fed into the nodes to process. In this scenario, if there’s a hard drive problem, or something goes wrong with the CM, the whole thing goes down, no?

That’s correct. The setup is not a “high availablity” cluster.

I really like how processes and such are laid out, as it helps with cpu/ram and can be added on the go(by adding additional servers), but I’m not too keen on having all data on a SAN, and having only 1 MySQL server.

Understood, this is an issue we will be addressing in the future.

How are most people handling Interowrx? In 3-4 server setups (1 CM to 3 nodes) and then redeploying the same setup as needed? Or are most people using SAN/NAS and using iSCSI to mount them onto the CM?

I’d estimate the average cluster is 3 servers (1 CM, 2 nodes), and the largest I’ve seen so far is around 12-14 servers total I believe.

Also, back to the load balancing aspect. If one of the nodes go down, or if httpd/mail/dns/whichever go down on that one node. Will sites STILL be tried to be served from it? Or will they automatically go over to the other nodes (thus increasing load temporarily, while the other node is fixed)

In the current default form, sites will still be tried to be served from it, until that downed node is removed from the load balancing policy. Doing so is as easy as a command at the command line on the CM, so this is generally manageable, and will be manged by the software automatically in an upcoming release.

Something else came to mind… if you’re doing shared/reseller, and you’re on the same cluster, how are people doing their hostname conventions, since resellers want anonymity, and not your brand to show up anywhere? Do you need to have separate clusters for shared and reseller clients?

If this was a major concern, and using genericy hostnames was not a valid option, then yes, there would have to be separate clusters for shared and reseller clients to more completely obfuscate the hostname situation.

When reseller accounts are created, does the zone file already include the ns1/2/3 (4?) A records for their nameservers, along with A record for the sql server (for example, mysql1.resellerdomain.com), or does all that need to be setup manually?

When a reseller is created and they login for the first time they must enter two ns names for use with the domains created under their account. They also have access to a “dns template” that applies to all the accounts created under their reseller account.

If all connections come into the CM, how beefy and scalable does it need to be? What happens when we need to upgrade the hardware for that CM?

There would be downtime while you upgraded the hardware, just like a single server. The incoming connections do not account for much resource usage on the CM, since it just passes the incoming request on to one of the nodes, which then serves it back to the client. We find the MySQL and NFS responsiblities of the CM are more significant than the load balancing duty.

What about for the nodes? Do they follow the Google model where, the main servers are beefy, and the nodes can be cheap p4’s, running single disks, and when one-two-three go down, it doesn’t matter (as long as at least 1 node stays up)?

It depends on the application and usage needs of the cluster. If the nodes are processing very resource intensive CGI scripts for example, then you would want to plan the hardware accordingly.

Hope that’s some help,

Paul

Paul,

Thank you for the info. I think I only have a few more questions :

1 - Does adding/deleting nodes (apart from processing) cause any software damage, if the deleted nodes are put back in (after maintenance)?

2 - What about migrating? For example, to start off, I’d like to start off with between 4 and 6 VPS’. When I put in my colo’ed servers, I’d want to migrate all the data from those VPS’. Is the migration an automated process (mysql, dns, email, users, websites) to move everything?

3 - Will Interworx be developer friendly? I’m going the custom route for billing system, and would like to at least get started on a sitebuilder (most of us don’t need one, but certain client segments do). So I’d like to know if Interworx would allow/open itself up a little for such things. My experience with the Parallels H-Sphere takeover is that Parallels has literally blocked all 3rd party devs out (to the point you need to decompile the java classes to add any feature)

4 - Is it possible to get a working demo of the reseller interface, and of SiteWorx (currently not allowing logins on the demo page). I’m curious to see if the spam settings can be enabled/disabled PER USER, and modified per user, rather than per domain.

5 - Can roundcube be installed and well-integrated?

6 - What’s the absolute path format? For example : /home/domain.tld/public_html )for example? Or are we restricted with the 8 letter usernames?

7 - How do addon/secondary domains work? Are they piled on into the user’s public directory, or are they seperate domains, all taking from one quota?

8 - Last one! Does the CM forward the info to a random node each time a request comes in, or is there a cache? Would it be fair to say that if a node is down (http or mail, or dns… whichever), if the person refreshes the page, it might be served by another random (and UP) node?

Bonus question : If and when there’s a HA solution available for the CM/MySQL… will we be able to expand current clusters, or will they need to be migrated?

sigh … attention bump - again. According to reviews, at least the software is solid :wink:

So is the support via the Helpdesk :wink:

First class in fact - I’ve never had any cause to have concerns in the three years we’ve been using InterWorx :smiley:

Yup, heard that too, but before I get to experience that, I need to get all the sales and technical questions out of the way first :wink:

I’m leaning between Interworx and H-sphere, but H-Sphere is a weird system (it’s traditional clustering, but built in Java, and you pay 75$ per support incident to an unresponsive company).

I really do hope that Interworx will function properly, and be expanded accordingly to grow like its competitors have (the only real linux0based limitation I see is the 1 sql/1CM, but from what Paul said, they’re aware of it, and are looking at ways to fix that. I’d just like to know how they will be doing it :slight_smile: )

1 - Does adding/deleting nodes (apart from processing) cause any software damage, if the deleted nodes are put back in (after maintenance)?

No, this doesn’t cause any software damage.

2 - What about migrating? For example, to start off, I’d like to start off with between 4 and 6 VPS’. When I put in my colo’ed servers, I’d want to migrate all the data from those VPS’. Is the migration an automated process (mysql, dns, email, users, websites) to move everything?

There is a “mass transfer” functionality built into NodeWorx, that allows you to pull accounts from one interworx server to another, this is the closest option to what you’re describing.

3 - Will Interworx be developer friendly? I’m going the custom route for billing system, and would like to at least get started on a sitebuilder (most of us don’t need one, but certain client segments do). So I’d like to know if Interworx would allow/open itself up a little for such things. My experience with the Parallels H-Sphere takeover is that Parallels has literally blocked all 3rd party devs out (to the point you need to decompile the java classes to add any feature)

This is a fuzzy answer - there really isn’t a simple integration method for 3rd party scripts at point. We’re not opposed to the idea however, and this is one of the things we’re focusing in more as we go forward.

4 - Is it possible to get a working demo of the reseller interface, and of SiteWorx (currently not allowing logins on the demo page). I’m curious to see if the spam settings can be enabled/disabled PER USER, and modified per user, rather than per domain.

You should be able to login to the demo, go to the SiteWorx -> Accounts page, and click the “SiteWorx” button next to one of the accounts, and that will log you into the SiteWorx portion. Spam settings are configurable at a per-domain basis in SiteWorx, but the webmail options (currently horde/imp and squirrelmail) allow a limited set of SpamAssassin settings that can be set per-user as well.

5 - Can roundcube be installed and well-integrated?

It’s not available out of the box, but yes, it can be installed, and we’ll probably be adding it as an option by default in the future.

6 - What’s the absolute path format? For example : /home/domain.tld/public_html )for example? Or are we restricted with the 8 letter usernames?

The absolute path format for example.com would be

/home/examplec/example.com/html

The user name is auto-generated from the domain name.

7 - How do addon/secondary domains work? Are they piled on into the user’s public directory, or are they seperate domains, all taking from one quota?

They are seperate domains, all taking from one quota. For example a secondary domain called secondary.com under the example.com account above would have a docroot of

/home/examplec/secondary.com/html

8 - Last one! Does the CM forward the info to a random node each time a request comes in, or is there a cache? Would it be fair to say that if a node is down (http or mail, or dns… whichever), if the person refreshes the page, it might be served by another random (and UP) node?

It depends on the load balancing policy and options selected in the NodeWorx load balancing interface. It would work basically the way you describe if the policy was set up as round robin with 0 persistance.

Bonus question : If and when there’s a HA solution available for the CM/MySQL… will we be able to expand current clusters, or will they need to be migrated?

The answer to that isn’t completely clear yet. We’ll make every attempt to make expandablity an option, but can’t guarantee that at this point.

Paul

Thanks for the info Paul. I just got one other question that came to mind. For resellers, can they have their own shared IP (so each reseller-owned website uses that IP address, rather than the main CM one?)

Another technical question. The majority of I/O operations are done on the CM, or distributed across the nodes? I ask this, because while I can just setup raid 1 on the nodes, I’m trying to figure out if Raid 5 (storage) or Raid 10(performance) are what the CM requires (with MySQL and load balancing). Basically, I/O is still the main bottleneck for the CM, due to the files and DB being on it, correct?

Also, what type of power does the CM need (in terms of processing/ram) in comparison to the nodes? I was thinking maybe getting a low-end storage server, and running the CM on that. Can you tell me how the distribution works exactly? If someone accesses the index.php of a forum, does the node display it, while all calculations run on the CM? Or do the nodes mount the /home directory of the CM and run everything on the nodes? Essentially, all operations (when someone visits a forum), … the cpu/ram is done on the node, the I/O (i.e logs and sql writing) are done on the CM. So this basically leaves the CPU on CM to worry about I/O, and that’s it?

Is there a way to remove “version # VPS” on Interworx, if running on a VPS?

Can you move from a single-server install, to a cluster, with zero downtime? I.E : enable clustering, add a node… and it’s good to go?

One last attention bump :wink:

Thanks for the info Paul. I just got one other question that came to mind. For resellers, can they have their own shared IP (so each reseller-owned website uses that IP address, rather than the main CM one?)

Yes, in as far as you can assign whichever IPs you want to a particular reseller.

Another technical question. The majority of I/O operations are done on the CM, or distributed across the nodes? I ask this, because while I can just setup raid 1 on the nodes, I’m trying to figure out if Raid 5 (storage) or Raid 10(performance) are what the CM requires (with MySQL and load balancing). Basically, I/O is still the main bottleneck for the CM, due to the files and DB being on it, correct?

I’d say that would be accurate, yes.

Also, what type of power does the CM need (in terms of processing/ram) in comparison to the nodes? I was thinking maybe getting a low-end storage server, and running the CM on that. Can you tell me how the distribution works exactly? If someone accesses the index.php of a forum, does the node display it, while all calculations run on the CM? Or do the nodes mount the /home directory of the CM and run everything on the nodes? Essentially, all operations (when someone visits a forum), … the cpu/ram is done on the node, the I/O (i.e logs and sql writing) are done on the CM. So this basically leaves the CPU on CM to worry about I/O, and that’s it?

Yes, that’s correct. The nodes mount the /home directory of the CM and run everything on the nodes.

Is there a way to remove “version # VPS” on Interworx, if running on a VPS?

it could be done by editing the footer template file.

[quote[Can you move from a single-server install, to a cluster, with zero downtime? I.E : enable clustering, add a node… and it’s good to go? [/quote]

Yes, this is possible.

Thanks for the answers Paul, it about covers it. How much pushing would it take to allow users to modify their own DNS files and get the API further developed :wink:

This is just a general question for anyone out there :

How do you deal with I/O issues on the CM, or add storage? I have a lot of older servers I don’t use anymore in colo, so for CPU/RAM processing, I have no issue. I was just wondering if the I/O on the CM is much of an issue.

Will it be the same I/O as a normal single server, or will I/O be reduced because the processing is distributed to various nodes? If so, by how much on average? Myideal setup would be a really beefy CM, capable of a few thousand sites, with a good number of back-end nodes. However, to get the storage needed, it would need to be 1TB Sata2 drives in Raid 5 (4 total). So… if anyone has experience, or if the Iworx guys would like to chip in… :wink:

Also, I had asked around, and is it true that you cannot run a full Interworx cluster using VPS’? I was going that route, so that as needs grew, I could move the VPS’ around onto SAN’s if required, with very little downtime or effort.

Hi

We had 1 Cm and few nodes.

Cm in raid5, but I’d recommand raid10 with VERY FAST hard disks. Indeed our pbms was on the cm hard disks. I/O HDD operation was a bottleneck. So take fast HDD if you have heavy mysql web sites

What you have to understant is that with Interworx you don’t have a hacked linux. So you can do what you want :slight_smile:

For example we did some tests to have the mysql server on an other server than the cm and have a clustered mysql. It is fine but some panel operations are no more availables.

Our first ideas was to have a cluster solutions, for all our clients and grow the nodes when need. But I think now it isn’t a good way of doing thinks. The advabtages is that you can easily manage all your boxes but there is a lot of disadvantages.

  • First, if you have to much clients you’ll reach descriptors limit and you en up with pbms
  • secondly, as I said, the hdd I/O might become a pbm too
  • thirdly, as you noticed “as it” the CM is one point of failure (you can create failover solution, remenber you can do what you want with interworx)

Well, now we prefer offer cluster solution to our clients whom have heavy websites or needs one, but we now have few not clustered (independants) server for our others services (share webhosting, dedicated, vps, etc)

Interworx is great and works just fine.

I just notice that since 2 years the updates take much more time than before :
There is still a lot to do to have a very great panel, and we wait for some updates since a long time now.

But be assured that interworx team is great, will help you a lot if need, and evrything is working fine