Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Executing more than one OSD in the same host. #720

Open
msolefonte opened this issue Nov 8, 2018 · 2 comments
Open

Executing more than one OSD in the same host. #720

msolefonte opened this issue Nov 8, 2018 · 2 comments

Comments

@msolefonte
Copy link

Is this a BUG REPORT or FEATURE REQUEST?:
Just a QUESTION, but could be both a BUG REPORT or a FEATURE REQUEST depending on the developers being conscientious or not of this comportment.

What happens:
As I reported in #719, you can not use more than one driver in OSD because you get a collision in the SDK ports. However, a way (o a poor patch, actually) to solve the problem would be the option to execute more than one Open Storage Daemon in the same host.

The problem is that we have port collisions again. We can prevent the gRPC Server and the gRPC REST Gateway from that by using the arguments --sdkport and --sdkrestport but the problem is in the Flexvolume API (port 2345). As long as I know Flexvolume use is deprecated, so this should be removed because a port is being used without justification as established at #165 (Closed) and #210 (No update).

My question is not that one, because it's well documented (not solved, though). My question is that, there would be more problems executing two or more Open Storage Daemons in the same device? If the Flexvolume collision was not seen as a problem in the design, I think it is because this multiple execution was rejected at the beginning. But why? Concurrency problems? Just design?

What you expected to happen:
As explained at #719, I would like OpenStorage to be able to use two or more drivers together. Why? Because it would be interesting to have the opportunity to manage some storage in one server and some storage in another one. For example, using NFS to share files and AWS EBS to share blocks, with the benefits of the best one for each one of the requirements.

This was referenced Nov 15, 2018
@lpabon
Copy link
Member

lpabon commented Nov 16, 2018

I think you can run multiple OSDs on the same device without any issues as long as there are no conflicts with names in the unix domain sockets or in the ports. But if there are any, we should fix that and make it use the driver name for unix domain sockets.

@msolefonte
Copy link
Author

@lpabon
There are two conflicts right now. The first one is that Flexvolume ports collide (which I solved removing the deprecated Flexvolume API at #734 (However, without guaranties, there are a lot of changes. Someone of the team should take a look to it) ). The second one (if you solve that) is that Gossip ports collide too. I also solved that at #733 (In an easier way).

The question, however, is theoretical and related to the design. If multiple OSDs are running on the same device, is logical and safe assume that they are working correctly together?

Thank you Luis.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants