Is the limit to the gluster volume size I can create the node's available storage? - glusterfs

I have 3 nodes in a gluster cluster each with 300G of storage. If I have created only one volume on that cluster, can I write data worth 900G to the volume? The volume is in replica mode on 2 nodes, is is possible for me to write to the volume data that is more than each node's available storage?

You can use:
gluster volume quota name-volum enable
gluster volume quota name-volume limit-usage /mnt 10GB
Source Setting Limits and More Problems

Related

kafka + how to spread topics from one disk to all other new disks

We have Kafka cluster version 2.7
And each machine was with one disk as the following
/dev/sdb 82% /var/kafka/data1
And all topics are under /var/kafka/data1
We decided to add 7 disks new disks to each kafka as the following
And we created XFS file-system on each new disk include mount ( and fstab configuration )
as the following :
/dev/sdb 82% /var/kafka/data1
/dev/sdc 1% /var/kafka/data2
/dev/sdd 1% /var/kafka/data3
/dev/sde 1% /var/kafka/data4
/dev/sdf 1% /var/kafka/data5
/dev/sdg 1% /var/kafka/data6
/dev/sdh 1% /var/kafka/data7
/dev/sdi 1% /var/kafka/data8
We configured the server.properies on each kafka
And then we restart kafka service on all machines
So we are now after Kafka restart ,
Since we have additional 7 disks , we want topics that located /var/kafka/data1 , will separated to all other new disks
But this isn't the situation after Kafka brokers restart and all mount point folder except - /var/kafka/data1 , are without topics
So the Question is – what is the procedure or process to fill the new disks with the topics , ?
To my knowledge, Kafka doesn't have an intra node rebalance like Hadoop has.
In theory, you could try shutting down the broker, mounting the new partitions to a directory, adding those to log.dirs, then moving the topic partitions over to those directories, and restarting the broker. However, I'm not sure how you'd handle files like meta.properties
Another alternative, after updating the broker config, would be to use the reassign partition tool to completely move partitions or topics off that larger broker, then move it back. Or just completely start deleting directories from the large usage disk, and let replication move it back across all disks, hopefully

Glusterfs how to balance bricks in single server?

My env: CentOS 7, GlusterFS 8
At first, I add 2 bricks to created a distribute volume.Later, I add a brcik to extended this volume.All operations were in single server.
At now, the usage of 3 bricks are 81% 83% 55%, I have tried gluster volume rebalance test-volume start,it was worked,but the bricks still not balance. How to solve it?
You should do type this command:
gluster volume rebalance test-volume fix-layout start
this will work now

Too many connected disks to AKS node

I read that there is a limitation to the amount of data disks that can bound to a node in a cluster. Right now im using a small node which can only hold up to 4 data disks. If i exceed this amount i will get this error: 0/1 nodes are available: 1 node(s) exceed max volume count.
The question that i mainly have is how to handle this. I have some apps that just need a small amount of persistant storage in my cluster however i can only attach a few data disks. If i bind 4 data disks of 100m i already reached the max limit.
Could someone advice me on how to handle these scenarios? I can easily scale up the machines and i will have more power in my machine and more disks however the ratio disks vs server power is completely offset at that point.
Best
Pim
You should look at using Azure File instead of Azure Disk. With Azure File, you can do ReadWriteMany hence having a single mount on the VM(node) to allow multiple POD to access the mounted volume.
https://github.com/kubernetes/examples/blob/master/staging/volumes/azure_file/README.md
https://kubernetes.io/docs/concepts/storage/storage-classes/#azure-file
https://learn.microsoft.com/en-us/azure/aks/azure-files-dynamic-pv
4 PV per node
30 pods per node
Thoses are the limits on AKS nodes right now.
You can handle it by add more nodes, and more money, or find a provider with different limits.
On one of those, as an example, the limits are 127 volumes and 110 pods, for the same node size.

can we add a Geo replicated brick to the existing glusterfs volume which already has a normal replicated brick

I have a gluster volume in which presently I have one replicated brick already running.
Now I want to set up a geo-replicated brick, so for this do I need to create a new glusterfs volume and then adding a new brick which will be geo-replicated or I can use the existing glusterfs volume that and add a new brick to it with geo-replication to it??
geo-replication works between gluster volumes.
means:
source(master) -> gluster volume
destination(slave) -> gluster volume
volumes contains bricks- but as such you cannot say I want data from only one brick - everything you do is at volume level only.
When you say volume, it means volume already have bricks. (you cannot have volume with zero bricks).
Now, to answer your question:
- you can create and use a new volume as destination for geo-replication.
Usually, you use clean(empty) volume as your destination(slave) volume.
It is good idea to try out few things locally before actual setup.

GlusterFS - Why is it not recommended to use the root partition?

I am planning to set up a number of nodes to create a distributed-replicated volume using glusterfs
I created a gluster replicated volume on two nodes using a directory on the primary (and only) partition.
gluster volume create vol_dist-replica replica 2 transport tcp 10.99.0.3:/glusterfs/dist-replica 10.99.0.4:/glusterfs/dist-replica
This returned the following warning
volume create: vol_dist-replica: failed: The brick 10.99.0.3:/glusterfs/dist-replica is being created in the root partition. It is recommended that you don't use the system's root partition for storage backend. Or use 'force' at the end of the command if you want to override this behavior.
So I used force on the end and the volume was created. I was then able to mount the gluster volume to a local directory.
My question is, why is it not recommended to use the root partition?
I can only think of the obvious reason that the system may never boot for xyz reason and therefore you'd lose the brick contents of one node.. But surely if you have enough nodes you should be able to recover from that?
here is an example of why not to do it:
volume remove-brick commit force: failed: Volume X does not exist
No volumes present in cluster
volume create: X: failed: /export/gv01/brick or a prefix of it is
already part of a volume
perfect loop I cannot escape.

Resources