Hi Deepak,
Sorta. I think it depends on what we mean by I/O path and performance.
If we are referring to disk I/O for gluster servers, then no. If we are referring to the network I/O between a gluster client and server, than yes there will by definition be some additional overhead. That however is true of any security layer one chooses
to pick for any application, especially a distributed system. In practice, security of any kind, whether its encryption, ACLs, or even iptables, will degrade the performance of an application. And since distributed systems by definition handle their state
through network I/O, that means security + distributed system = network latency. There's a reason people say security is where performance goes to die. :)
Now that all said, frequently the issue is not whether there will be network latency, but how much and does it matter? Moreover, what are the specific performance requirements for your gluster pool and have they been weighed against the costs of meeting
those requirements? Additionally, how does meeting those performance requirements weigh against all your other requirements like for example having basic network security around a distributed system?
I would be quite surprised if openssl MTLS would be any slower compared to some other key-based authentication scheme. Most of the cost of TLS is around the TLS handshake, which is a one-time hit when the gluster client mounts the volume. Since the client
is maintaining a persistent TLS connection, most of the overhead is openssl code performing symmetric encryption, which openssl, despite all its warts, is really really good at doing really really fast (understand this all relative to an arbitrary baseline
:). Bottom line: with modern hardware, the performance impact of MTLS should be negligible. IMHO, if the performance requirement can't tolerate MTLS, then its in practice preventing you from implementing any reasonable security scheme at all. In that case,
you'd be better off just setting up an isolated network and skipping any type of authentication.
I'd recommend setting up MTLS with gluster and run your performance tests against it. That will definitively answer your question of whether the performance is acceptable. The MTLS setup is not that hard and the gluster documentation is reasonable though
could be improved (I need to submit some PRs against it). if you have any questions about setup and configuration, I am sure I can help.
Joe