Comments (10)
Added a tool, "change_replication", in the "unmaintained" section. It can be used to view or change a volume's replication setting.
from seaweedfs.
- The volumes are replicated.
- Could be a feature later. Now this is not possible. Theoretically you just need to write some code to change the replication type in the volume's super block, and make a copy of the volume. But there are no tools/interface/api to do this yet.
- Shutdown servers. Move volume 1 from B to C. Restart the servers.
from seaweedfs.
Theoretically you just need to write some code to change the replication type in the volume's super block
Can you provide sample? I think adding one more replica is pretty common task
from seaweedfs.
The file go/storage/volume_super_block.go has related code.
The superblock is a 8 bytes block just for meta data about the volume. The second byte is the replica placement byte. If you need to add one more replica, basically you can change this specific byte.
/*
- Super block currently has 8 bytes allocated for each volume.
- Byte 0: version, 1 or 2
- Byte 1: Replica Placement strategy, 000, 001, 002, 010, etc
- Byte 2 and byte 3: Time to live. See TTL for definition
- Rest bytes: Reserved
*/
type SuperBlock struct {
version Version
ReplicaPlacement *ReplicaPlacement
Ttl *TTL
}
from seaweedfs.
Need to add a tool to change a volume's replication setting.
from seaweedfs.
2. Could be a feature later. Now this is not possible. Theoretically you just need to write some code to change the replication type in the volume's super block, and make a copy of the volume.
This feature is strong demand. I am waiting for it too.
from seaweedfs.
+1
from seaweedfs.
Is there any way to do this manually for now ? I need to do this for a migration of some production servers to a new cluster.
from seaweedfs.
+1
from seaweedfs.
@chrislusf Can you give an update on this feature, is it on the roadmap?
If I understood it correctly, the way it is now I would need to know in advance what kind of replication I want to use, and if I wanted to change it later (e.g. from 100 to 200) I'm out of luck. Is that right?
from seaweedfs.
Related Issues (20)
- Helm Chart release glitched to 4.0.0 HOT 3
- EC Encode spread phase fails with "no space left" HOT 2
- Not fetching files from S3 if not present in Volume HOT 2
- S3 API not delete objects containing space in the objects name HOT 5
- 可以使用多台代理机器并行同步吗? HOT 3
- A lot of logs like this have been generated in the tmp directory , have filled up the disk space.
- Helm: restart filer when configuration changes
- mmap write failed HOT 1
- remote sync unexpected behavior
- Incorrect calculation for maxVolumes when preAllocate is used HOT 1
- 同步结束后有好多文件并没有完成同步 HOT 4
- seaweedfs 3.69 heml chart version mismatching app version
- Purge of volume data due to Postgres Filer Store connection loss HOT 4
- Failed to download file from s3. Volume Server giving 0 bytes for chunks but filer is showing proper size of the file. HOT 1
- Unable to delete some files from s3 API HOT 1
- Setting up volume HOT 5
- Test case "TestCreateNeedleFromRequest " is failing HOT 2
- Wrong expire time of file when uploading with ttl=100y
- Not able to access file in weed mount/fuse due to deadlock HOT 1
- bug: filer distributed lock brain split?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from seaweedfs.