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

[feature] Save Xenon's metadata to persistent storage. #406

Closed
runkecheng opened this issue Mar 10, 2022 · 1 comment · Fixed by #413 or #447
Closed

[feature] Save Xenon's metadata to persistent storage. #406

runkecheng opened this issue Mar 10, 2022 · 1 comment · Fixed by #413 or #447
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@runkecheng
Copy link
Collaborator

runkecheng commented Mar 10, 2022

Is your feature request related to a problem? Please describe.

The physical machine restart will need to re-load Xenon metadata by Operator, because Xenon's metadata directory(/var/lib/xenon/) is not persistent storage.

cat /var/lib/xenon/peers.json
{"idlepeers":null,"peers":["sample-mysql-1.sample-mysql.default:8801","sample-mysql-0.sample-mysql.default:8801","sample-mysql-2.sample-mysql.default:8801"]}

Describe the solution you'd like

We can directly store Xenon's metadata persistence in disk or configmap.

Describe alternatives you've considered

Additional context

@runkecheng runkecheng added the enhancement New feature or request label Mar 10, 2022
@runkecheng runkecheng added this to the v2.1.3 milestone Mar 10, 2022
@runkecheng runkecheng self-assigned this Mar 10, 2022
@runkecheng
Copy link
Collaborator Author

Use subpath can implement different directories of different containers to mount the same volume, and isolate each other.

runkecheng added a commit to runkecheng/radondb-mysql-kubernetes that referenced this issue Mar 15, 2022
runkecheng added a commit to runkecheng/radondb-mysql-kubernetes that referenced this issue Mar 15, 2022
runkecheng added a commit to runkecheng/radondb-mysql-kubernetes that referenced this issue Mar 15, 2022
runkecheng added a commit to runkecheng/radondb-mysql-kubernetes that referenced this issue Mar 15, 2022
runkecheng added a commit to runkecheng/radondb-mysql-kubernetes that referenced this issue Mar 15, 2022
runkecheng added a commit to runkecheng/radondb-mysql-kubernetes that referenced this issue Mar 15, 2022
runkecheng added a commit to runkecheng/radondb-mysql-kubernetes that referenced this issue Mar 15, 2022
@andyli029 andyli029 modified the milestones: v2.1.3, Next, v2.1.4 Mar 17, 2022
andyli029 added a commit that referenced this issue Mar 29, 2022
*: Save Xenon's metadata to persistent storage. #406
runkecheng added a commit to runkecheng/radondb-mysql-kubernetes that referenced this issue Apr 11, 2022
Revert "Merge pull request radondb#413 from runkecheng/save_xenon_metadata"

This reverts commit a6386c7, reversing
changes made to f6932c6.

Subpath does not work in some environments, so we decided to share DATA storage volumes directly.
runkecheng added a commit to runkecheng/radondb-mysql-kubernetes that referenced this issue Apr 11, 2022
Revert "Merge pull request radondb#413 from runkecheng/save_xenon_metadata"

This reverts commit a6386c7, reversing
changes made to f6932c6.

Subpath does not work in some environments, so we decided to share DATA storage volumes directly.
runkecheng added a commit to runkecheng/radondb-mysql-kubernetes that referenced this issue Apr 12, 2022
subpath -> configmap
subpath may not work in some conditions.
runkecheng added a commit to runkecheng/radondb-mysql-kubernetes that referenced this issue Apr 12, 2022
subpath -> configmap
subpath may not work in some conditions.

1. Rename configMapSyncer to mysqlCMSyncer.
2. Add a Xenon Configmap which used to save xenon data.
3. Build peers.json according to the replicas.
4. Make peers.json in init-sidecar.
5. Xenon start using existing metadata.
runkecheng added a commit to runkecheng/radondb-mysql-kubernetes that referenced this issue Apr 12, 2022
subpath -> configmap
subpath may not work in some conditions.

1. Rename configMapSyncer to mysqlCMSyncer.
2. Add a Xenon Configmap which used to save xenon data.
3. Build peers.json according to the replicas.
4. Make peers.json in init-sidecar.
5. Xenon start using existing metadata.
runkecheng added a commit to runkecheng/radondb-mysql-kubernetes that referenced this issue Apr 12, 2022
subpath -> configmap
subpath may not work in some conditions.

1. Rename configMapSyncer to mysqlCMSyncer.
2. Add a Xenon Configmap which used to save xenon data.
3. Build peers.json according to the replicas.
4. Make peers.json in init-sidecar.
5. Xenon start using existing metadata.
runkecheng added a commit to runkecheng/radondb-mysql-kubernetes that referenced this issue Apr 13, 2022
subpath -> configmap
subpath may not work in some conditions.

1. Rename configMapSyncer to mysqlCMSyncer.
2. Add a Xenon Configmap which used to save xenon data.
3. Build peers.json according to the replicas.
4. Make peers.json in init-sidecar.
5. Xenon start using existing metadata.
runkecheng added a commit to runkecheng/radondb-mysql-kubernetes that referenced this issue Apr 13, 2022
subpath -> configmap
subpath may not work in some conditions.

1. Rename configMapSyncer to mysqlCMSyncer.
2. Add a Xenon Configmap which used to save xenon data.
3. Build peers.json according to the replicas.
4. Make peers.json in init-sidecar.
5. Xenon start using existing metadata.
runkecheng added a commit to runkecheng/radondb-mysql-kubernetes that referenced this issue Apr 13, 2022
subpath -> configmap
subpath may not work in some conditions.

1. Rename configMapSyncer to mysqlCMSyncer.
2. Add a Xenon Configmap which is used to save xenon data.
3. Build peers.json according to the replicas.
4. Make peers.json in init-sidecar.
5. xenon boot using existing peers.json.
@andyli029 andyli029 reopened this Apr 13, 2022
runkecheng added a commit to runkecheng/radondb-mysql-kubernetes that referenced this issue Apr 13, 2022
subpath -> configmap
subpath may not work in some conditions.

1. Rename configMapSyncer to mysqlCMSyncer.
2. Add a Xenon Configmap which is used to save xenon data.
3. Build peers.json according to the replicas.
4. Make peers.json in init-sidecar.
5. Xenon boot using existing peers.json.
zhl003 pushed a commit to zhl003/radondb-mysql-kubernetes that referenced this issue Aug 17, 2022
zhl003 pushed a commit to zhl003/radondb-mysql-kubernetes that referenced this issue Aug 17, 2022
*: Save Xenon's metadata to persistent storage. radondb#406
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
2 participants