0

I'm currently trying to setup a HA infrastructure capable of hosting a Symfony APP. This project is for school purposes.

The requirements are the following :

  • We have to use a SAN based model to persist data
  • We have to use iSCSI protocol to do so
  • This SAN must be scalable
  • The SAN and LAMP stack must also be highly available

For everything about the high available iSCSI SAN stuff, I think I've found enough informations to build a correct architecture.

My main concern is more about the LAMP stack.

I'm working with a team of dev that really enjoy working with Docker. They almost finished developping the APP (which btw is a Dropbox clone) and they expect me to provide to their containers 3 volumes.

The 3 volumes are 3 disks running into my SAN and accessible throught iSCSI.

To achieve HA at the docker level I'm planning to use docker swarm which means that I will have to mount on each worker the 3 disks.

The issue is that I've read on other forums that it wasn't possible to mount same iSCSI disks on different clients. I'm afraid I have no other choice to make it works with docker swarm ...

So my question is the following, is there a plugin or a known method that could make docker swarm and iSCSI work together ?

Thanks in advance and pardon me for my poor english.

Regards,

Flame

  • You cannot Mount normal filesystems on multiple different hosts. You would need to serve them via cluster filesystem (which is not the best fit for containers) or simply serve them as NFS. (Or each of the volumes only to a single container). I think in most cases the host will mount those volumes. – eckes Mar 23 '18 at 2:59
  • Thanks for your answer, the thing is that iSCSI is a requirement in this project. I could pbly go arround that by mounting iSCSI disks on a different server than docker nodes and share it with NFS from this server. But it would not completly respect the requirements. – Flame Mar 23 '18 at 10:41
0

This isn't a Swarm issue if you're mounting the disks at the OS-level. The features of your iSCSI storage would determine if 1. the iSCSI targets can talk to multiple nodes at the same time and 2. Those multiple nodes can write to the same target at the same time. If you're mounting the disks on all Swarm nodes at the OS-level, it just looks like a normal mount to Docker.

  • Check with your SAN vendor to see if they have a Docker-plugin. See volume plugins at store.docker.com – Bret Fisher Mar 23 '18 at 2:52
  • I've got no SAN vendor here. I'm doing all of this from a VMware workstation lab that I built for this project. When you say "The features of your iSCSI storage..." You mean that there is configuration options that could allow me to activate multiple mounting/writing ? – Flame Mar 23 '18 at 10:42
  • You said "The 3 volumes are 3 disks running into my SAN and accessible throught iSCSI." so you must be using a SAN volume service that provides iSCSI endpoints. That product has a name and it's own specific features. techrepublic.com/blog/data-center/… – Bret Fisher Mar 25 '18 at 4:14
  • If your SAN provider had a docker plugin you could use that. For sample, NetApp has one: netapp.io/2016/04/19/announcing-netapp-docker-volume-plugin – Bret Fisher Mar 25 '18 at 4:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.