LibreTexts / metalc

LibreTexts/UCDavis bare-metal Kubernetes cluster running JupyterHub and Binder
http://jupyter.libretexts.org
MIT License
14 stars 2 forks source link

Switch to a seperate NFS file server for user data #10

Closed moorepants closed 5 years ago

moorepants commented 5 years ago

From Richard:

First steps here are to install CentOS on a virtual machine and set up and learn about ZFS, here: https://zfsonlinux.org

Miniland1333 commented 5 years ago

Would a standard NFS or a more distributed version like Gluster or Ceph be more suitable for production? Is the projected user load going to exceed the capabilities of single-node NFS?

moorepants commented 5 years ago

I think we are just going to use what Richard has and what he's familiar with. You are welcome to suggest and explain other options.

moorepants commented 5 years ago

@lux12337 Richard has asked Dean Lavelle to give you a hand setting this up. Get in contact with him. See the zulip convo.

lux12337 commented 5 years ago

I met with with Dean and Mike, and we discussed the current setup of the cluster and what it needs in terms of NFS storage. The main variables that affect the decision of how to setup an optimal NFS server are:

Some options that Dean thought could work for us are:

More discussion is needed to finalize the design decision, Dean will probably need to touch base with Richard again.

lux12337 commented 5 years ago

@moorepants do we have an idea of how many users to expect after we launch?

moorepants commented 5 years ago

Probably not a lot :). But we should offer similar space specs as other Jupytehub installs. We also have to accommodate binder caching (however that works). There could be a binder cache per page on LibreTexts if users have custom environments. Maybe there will be 10 professors with an average class size of 50 this coming year as a basic number. I have no idea how things will grow or what people will do. We need to be able to accommodate that if it grows. Your numbers of 32TB and 24TB sounds like plenty to start.

lux12337 commented 5 years ago

There is a lot of work to be done before the ZFS server can go live:

lux12337 commented 5 years ago

Important Notes

lux12337 commented 5 years ago

The ZFS server has been racked and fully setup, Kubernetes has been switched over to ZFS. JupyterHub is working with ZFS now.

moorepants commented 5 years ago

Really! Was there any data transfer required?

lux12337 commented 5 years ago

Any user that had logged in previously will still have a persistent volume claim on rooster, but any new users that login from now on, kubernetes will use the ZFS for storage. So we should get those old users on the ZFS too, the easiest solution would be to reach out to those users and just let them know that they need to download any data that they want to keep, and then we can delete their old persistent volume claim on rooster so that the next time they login Kubernetes will use the ZFS.

moorepants commented 5 years ago

Is it possible for you to look at their claims and if there is nothing there, then we can just move them?

lux12337 commented 5 years ago

Yes, I will do that now

lux12337 commented 5 years ago

I have moved all the users that had nothing in their accounts to ZFS. These accounts still have something in them though:

moorepants commented 5 years ago

Can you email them and ask if they will download their files so you can switch them over?

lux12337 commented 5 years ago

I have sent them an email.

lux12337 commented 5 years ago

Migration status:

lux12337 commented 5 years ago

All users have been moved over to the ZFS server.