Skip to content
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

Development quantum storage #588

Draft
wants to merge 27 commits into
base: development
Choose a base branch
from
Draft

Conversation

Mik-TF
Copy link
Contributor

@Mik-TF Mik-TF commented Jul 2, 2024

Related Issue

Work Done

  • added overview, deployment planning, manual deployment and recover steps for qsfs

@Mik-TF Mik-TF mentioned this pull request Jul 2, 2024
@Mik-TF Mik-TF mentioned this pull request Jul 21, 2024
10 tasks
expected_shards = 20
redundant_groups = 0
redundant_nodes = 0
zdbfs_mountpoint = "/mnt/qsfs"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add some explanation to this line, Why did we choose this mount point? Can we choose any mount point as a new one, or should it already be mounted?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added some more info on the mount point and also the zdb data directory.

PASSWORD=$(openssl rand -base64 18)
METADATA_NODES="1 2 3 4"
back end_NODES="1 2 3 4 5 6 7 8"
back end_SIZE=1
Copy link
Contributor

@A-Harby A-Harby Jul 22, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shell variable can't have spaces in its name

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah that's my mistake here. did a faulty search and replace. Will be fixed.


```sh
CONFIG=zstor-default.toml
PASSWORD=$(openssl rand -base64 18)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Password can't be $(openssl rand -base64 18), I tried a few times and it failed, cause the password is too long.

WorkloadDeployError: WorkloadDeployError: Failed to deploy zdb with name zdb5 on node 159 due to: failed to create zdb namespace: failed to set password namespace 162-132876-zdb5 in 0-db: 2461494e-***: Argument too long.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I could not reproduce this problem when deploying with tfcmd. I even increased the password length to 30+ characters without issue.


```sh
# Example: Node 3 wasn't working, replace it with node 5
METADATA_NODES="1 2 4 5"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why 4 nodes? Can't it be less or more?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is covered in the previous section on planning. I'll mention that it's there for reference though.


```sh
# Example: Node 3 wasn't working, replace it with node 9
back end_NODES="1 2 4 5 6 7 8 9"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same, what's the reason for 8 nodes? What if I can't find 8 available nodes?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is also covered in the planning section.


### Deploy Data Zdbs

This process is very similar to the deployment of the metadata back ends, with a few small changes to the scripts.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is the difference between zdb metadata and zdbs?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've explained a bit more about the difference between each, in terms of the options passed to tfcmd.


```
minimal_shards = 16
expected_shards = 20
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this number should be lowered to 8 for this example to work.

Error: ZstorError { kind: Config, internal: Other(ConfigError { msg: "insufficient data backends, require at least 20, only found 8" }) }


```sh
mkdir -p /mnt/qsfs
mkdir -p /data
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the use of this directory?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've explained what each is used for, along with adding a note that they can be changed.

@Mik-TF
Copy link
Contributor Author

Mik-TF commented Aug 5, 2024

Thanks for the review. Will discuss this with @scottyeager and let you know + update the PR.

@A-Harby
Copy link
Contributor

A-Harby commented Aug 6, 2024

Thanks for the review. Will discuss this with @scottyeager and let you know + update the PR.

@Mik-TF any updates ?

@Mik-TF
Copy link
Contributor Author

Mik-TF commented Aug 6, 2024

Fixed some basic typos. Scott is checking on his side too.

@scottyeager
Copy link
Contributor

Hi @A-Harby, thanks for having a go with this and for your comments. I went ahead and resolved anything that was a simple fix. Let me know if any of my responses or changes don't make sense.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants