Forums

Home / Forums

You need to log in to create posts and topics. Login · Register

Network vlans

Pages: 1 2

Hi folks,

 

I'm trying to get started with petasan (having already a ceph in prod, we wanted something for the iscsi part). We have 4 vlans in total for this storage part: one per iscsi path (iscsi A/B), one for ceph frontend, one for ceph replication.

I haven't found how to configure that in the wizard and I don't think adding it in the .json file will work as expected

 

is there a way to configure network vlan?

Currently we do not support vlan tagging, of course it is the recommended to use separate physical networks (nics/switches) for your subnets.  There will advantages to add vlan tags when sharing networks to segregate broadcast traffic but i my not sure in our case it will be adding significant value. I am not sure if many people use tagging in Ceph and/or iSCSI multipath deployments...but we are open to support it if people need it.

The thing is that we are a large datacenter and we sell IaaS, so we do lots of vlan isolation, depending on clients and hypervisors.

 

Supporting vlans shouldn't be much difficult, since it's supported by th os trivially. I did tried adding ":VLANID" in the node_config.js, which didn't worked. I don't mind touching python scripts, but I haven't found which script parses the node_config.js to make interfaces conf

Ok, I've found the function set_ips which does the trick. I'm gonna code the changes I need for vlan in the python scripts (and I will remove so many nested ifs that are hurting my eyes. Guys, pls, stahp) and, if possible, patch the web ui as well (I'm won't make any promisses for the ui).

 

Do you accept patches?

yes by all means send us any patches 🙂

just to understand you will add vlan tagging to each subnet to support different customers + hypervisors...so will you have different PetaSAN clusters each with different vlan values for the subnets ?

My first idea is to have backend_1_ip and backend_2_ip with a vlan.id.

 

In our environment, there's only one vlan for ceph frontend, one for ceph replication, and 2 vlans for iscsi (2 different fabrics/paths).

In the same physical network, we have the hypervisors' pool connected with all our customers data networks. Our network layer already is trunked, for multitenancy network support.

 

So, my plan is quite simple. Just add 2 more values backend_1/2_vlan and, if present, create a new device link with that vlan id and setup the network parameters to that device

if you have done this, can you please post the patch here or send it via email admin @ petasan.org

I just finished getting the first part done. I've been able to successfully add a key "backend_1/2_vlan" in the node_info.json, that key will be parsed by "node_start_ips.py" and will set up the corresponding bonding, using the rest of the keys. Of course, if that key is not present it won't use that- Now that I'm thinking, I haven't considered the case where the key is present but there's no value. I'm guessing it will try to make it a device named 'eth0.' (that's a dot) and will be a mess.

 

I still have to test what happens with iscsi devices, i haven't reach that point. I'm sending the patch to that mail account

Thank you so much for this. We will definitely try to integrate it..

 

The script work as intended, but the consul cluster still fails to deploy (not sure if has something to do with vlans or not). And it still missing the iscsi part, which I'll try to get working one the cluster starts. Glad to help the project

Pages: 1 2