-
Notifications
You must be signed in to change notification settings - Fork 2k
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
ZFS support in Nomad #2355
Comments
Talked to Diptanu on Gitter but for posterities sake: Nomad Job File
Nomad Client@diptanu We actually need the fingerprinter I realize for determining the size of the pool! |
@dadgar The need for ZFS can be a constraint, however desired ZFS attributes should be specified in the job file and not by the operator. A generic |
@dadgar Sounds good, hoping to get this out soon. |
@diptanu Now with volume drivers being released, would this task be easier to accomplish? |
Nomad's support for Container Storage Interface (CSI) plugins is the way we've tackled this problem. We still have some internal discussions going about dynamic host volumes, but for the sort of "file system driver" discussed here, CSI is the way to go. |
I'm going to lock this issue because it has been closed for 120 days ⏳. This helps our maintainers find and focus on the active issues. |
This is my current thought for supporting the ZFS file system in Nomad. This feature is going to introduce file system drivers in Nomad, and in the future we could decide to make the file system drivers pluggable.
ZFS support in Nomad is going to enable the following -
a. Impose the allocation directory size restriction.
b. Faster creation of allocation directories by creating new allocation dirs from snapshots and COW mechanisms.
c. Transferring ZFS snapshots between hosts when we are migrating allocation directories.
Each of these features will land in different phases. The first phase is simply going to be allowing the creation of allocation drivers in a ZFS pool.
We will add the following configuration blocks
Nomad client.
We are not going to change anything about the
reserved
configuration option of the client. Operators will still use thereserved
configuration block to reserve disk space on the nomad client agents for usage with services not managed by Nomad.Nomad Job File
We will modify the
ephemeral_disk
block to allow users certain ZFS(or other file system attributes) and also mention the file system driver.The reason we may want to allow end users to specify certain attributes related to the file system is that certain class of applications, such as the I/O intensive ones, might need to tune things like record size, or atime, etc.
Fingerprinting
The client is going to fingerprint the filesystems available and send the information to server which will be used to constrain jobs which wants to use ZFS based file systems.
The text was updated successfully, but these errors were encountered: