Comments (4)
Re Question 1: I'm not an expert in Proxmox, but essentially, your VMs will only see a generic block device. They don't see anything "outside", so they also cannot interfere with the "outer" LVM (thin) metadata. So there is nothing to "support" from Piraeus/LINSTOR side, it's just as if you attached an actual disk.
Re Question 2: In short: that is not possible. Longer answer: Fundamentally, LINSTOR creates block storage of some kind. For example that can be a LVM Thin Volume, a ZVOL, ... Piraeus can then automatically create a filesystem on that volume so it can be used as a filesystem volume in Kubernetes.
As for the workaround: It could work, but was never tested. It would introduce another layer that may impact performance. Instead of directly reading and writing to the device, you first have to go through loopdev -> filesystem -> disk
. So while it could work (LINSTOR even has a storage driver based on files, which uses loopdev internally), I would no recommend it and there is no documentation for it.
Question 3: The operator will not create any storage classes. You can create the LINSTOR storage pools via the operator, then generate your own storage classes using the storage pools. For example:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: three-replicas
provisioner: linstor.csi.linbit.com
allowVolumeExpansion: true
parameters:
autoPlace: "3"
storagePool: $MYPOOL
resourceGroup: three-replicas
from piraeus-operator.
Thank you for taking the time to answer, very helpful and clear explanation. I'll choose the separate disk (sdb) route then.
If I ever want to increase the available disk size (e.g., starting with 8G then increasing it to 16G, not a bound PV resize but what is available for the StorageClass
to schedule), could I simply do it outside on the host without the knowledge of Linstor (resizing the disk and then extending LVM Thin), or should I do the LVM operation with the Linstor CLI? For example set-size
seems related but I'm not that familiar of the CLI's capabilities (yet):
root@piraeus-op-cs-controller-7fb6c98656-zvx49:/# linstor volume-definition
usage: linstor volume-definition [-h]
{create, delete, drbd-options, list,
list-properties, set-property, set-size} ...
linstor volume-definition: error: too few arguments
from piraeus-operator.
Resize should happen on the host. Basically:
$ pvscan --cache # optional, depending on if the host uses lvmetad
$ pvresize /dev/sdb
Physical volume "/dev/sdb" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
$ lvextend /dev/linstor_pool/pool /dev/sdb
from piraeus-operator.
Superb, thank you! Closing this issue for now as I got all the answers that were not obvious from the existing guides. In the meantime, I managed to create and attach the new disks to the VMs, configured the satellite storagePool, Piraeus deployment works fine, just about to create the storage class and provision some volumes to pods. Exciting times ahead :)
from piraeus-operator.
Related Issues (20)
- Deployment on k8s failed due to drbd-module-loader container HOT 1
- StorageException: Failed to pvcreate on device: /dev/sdb HOT 13
- Clarify the meaning of the CRDs .status.conditions HOT 1
- StorageException: Failed to mkfs /dev/drbd1002 HOT 9
- etcd-operator adoption HOT 1
- Linstor, installed via Piraeus operator in Kubernetes cluster, disables LVM monitoring HOT 5
- ImplementationError: Layer 'DRBD did not delete the volume 0 of resource ... properly HOT 4
- Resizing of LVM after Host-Reboot not working HOT 9
- A potential risk in piraeus-operator that could lead to takeover of the cluster HOT 1
- ZFS: change mounting location (for Talos Linux) HOT 4
- failed to fail-over resource HOT 1
- make master node only for DISKLESS as TieBreaker HOT 3
- [bug] The priorityClass of the pods is not set. Cascade of failure ensues. HOT 3
- `Satellite not online` for only one node. No errors, just hangs. HOT 2
- Importing/Mounting pre-existing volumes in linstor/DRBD HOT 2
- setup fails for minikube HOT 1
- BUG: Unnecessary permissions in charts HOT 1
- Error βcan't read superblock on /dev/drbd1001.β when trying to start a pod HOT 5
- please install `diffutils` from quay.io/piraeusdatastore/drbd9-almalinux9:v9.2.9 HOT 2
- PVC provisioning fails on LVM thinpool on multipath device with: Logical Volume already exists in volume group HOT 3
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 piraeus-operator.