Proxmox

Mastering Ceph Storage Configuration in Proxmox 8 Cluster

Dive into the power of Ceph storage configurations in a Proxmox cluster, the benefits, redundancy, and versatility of Ceph shared storage.

Ceph Storage is an excellent storage platform because it’s designed to run on commodity hardware, providing an enterprise-level deployment experience that’s both cost-effective and highly reliable. Let’s look at mastering Ceph Storage configuration in Proxmox 8 Cluster.

What is Ceph Storage?

Ceph Storage is an open-source solution designed to provide object storage devices, block devices, and file storage within the same cluster. A key characteristic of Ceph storage is its intelligent data placement method. An algorithm called CRUSH (Controlled Replication Under Scalable Hashing) decides where to store and how to retrieve data, avoiding any single point of failure and effectively providing fault-tolerant storage

Ceph Storage is an open source and robust storage solution
Ceph Storage is an open source and robust storage solution

.

Install and configure Ceph in Proxmox

Start by installing the Ceph packages in your Proxmox environment. These packages include essential Ceph components like Ceph OSD daemons, Ceph Monitors (Ceph Mon), and Ceph Managers (Ceph Mgr).

Click on one of your Proxmox nodes, and navigate to Ceph. When you click Ceph, it will prompt you to install Ceph.

Install Ceph on each Proxmox 8 cluster node
Install Ceph on each Proxmox 8 cluster node

This begins the setup wizard. First, you will want to choose your Repository. This is especially important if you don’t have a subscription. You will want to choose the No Subscription option. For production environments, you will want to use the Enterprise repository.

Choosing the Ceph repository and beginning the installation
Choosing the Ceph repository and beginning the installation

You will be asked if you want to continue the installation of Ceph. Type Y to continue.

Verify the installation of Ceph storage modules
Verify the installation of Ceph storage modules
Ceph installed successfully
Ceph installed successfully

Next, you will need to choose the Public Network and the Cluster Network. Here, I don’t have dedicated networks configured since this is a nested installation. So I am just choose the same subnet for each.

Configuring the public and cluster networks
Configuring the public and cluster networks

If you click the Advanced checkbox, you will be able to setup the Number of replicas and Minimum replicas.

Advanced configuration including the number of replicas
Advanced configuration including the number of replicas

At this point, Ceph has been successfully installed on the Proxmox node.

Ceph configured successfully and additional setup steps needed
Ceph configured successfully and additional setup steps needed

Repeat these steps on the remaining cluster nodes in your Proxmox cluster configuration.

Setting up Ceph OSD Daemons and Ceph Monitors

Ceph OSD Daemons and Ceph Monitors are crucial to the operation of your Ceph storage cluster. The OSD daemons handle data storage, retrieval, and replication on the storage devices, while Ceph Monitors maintain the cluster map, tracking active and failed cluster nodes.

You’ll need to assign several Ceph OSDs to handle data storage and maintain the redundancy of your data.

Adding an OSD in Proxmox Ceph storage
Adding an OSD in Proxmox Ceph storage
The OSD begins configuring and adding
The OSD begins configuring and adding
The OSD is successfully added to the Proxmox host
The OSD is successfully added to the Proxmox host

Also, set up more than one Ceph Monitor to ensure high availability and fault tolerance.

OSDs added to all three Proxmox nodes
OSDs added to all three Proxmox nodes

At this point, if we visit the Ceph storage dashboard , we will see the status of the Ceph storage cluster.

Healthy Ceph storage status for the cluster
Healthy Ceph storage status for the cluster

Creating Ceph Monitors

Let’s add additional Ceph Monitors, as we have only configured the first node as a Ceph monitor. Whatis a Ceph Monitor?

A Ceph Monitor, often abbreviated as Ceph Mon, is the part that maintains and manages the cluster map, a crucial data structure that keeps track of the entire cluster’s state, including the location of data, the cluster topology, and the status of other daemons in the system.

Here we are adding the 2nd Proxmox node as a monitor. I added the 3rd one as well.

Adding Ceph Monitors to additional Proxmox hosts
Adding Ceph Monitors to additional Proxmox hosts

Now, each node is a monitor.

All three Proxmox hosts are running the Ceph Monitor
All three Proxmox hosts are running the Ceph Monitor

Creating a Ceph Pool for VM and Container storage

Now that we have the OSDs and Monitors configured, we can create our Ceph Pool. Below we can see the replicas and minimum replicas.

Creating a Ceph Pool
Creating a Ceph Pool

Now, the Ceph Pool is automatically added to the Prommox cluster nodes.

Pool added to all three Proxmox nodes
Pool added to all three Proxmox nodes

Utilizing Ceph storage for Virtual Machines and Containers

Now that we have the Ceph Pool configured, we can use it for backing storage for Proxmox Virtual Machines and Containers. Below, I am creating a new LXC container. Note how we can choose the new Ceph Pool as the container storage.

Choosing the new pool for Proxmox LXC container storage
Choosing the new pool for Proxmox LXC container storage

The LXC container creates successfully with no storage issues which is good.

The new LXC container is created successfully on Ceph storage
The new LXC container is created successfully on Ceph storage

We can see we have the container up and running without issue. Also, I was able to migrate the LXC container to another node without issue.

The LXC container operating on the Ceph Pool
The LXC container operating on the Ceph Pool
Ceph performance dashboard in Proxmox
Ceph performance dashboard in Proxmox

Video covering Proxmox and Ceph configuration

Proxmox 8 Cluster with Ceph storage

Wrapping up

Ceph is totally free HCI storage that you can install and configure in Proxmox. It provides a way for you to have HCI storage totally free and have resilient software-defined storage for your virtualization environment to make sure your VMs are resilient without having to have a storage shelf and making use of local storage on each Proxmox server host.

Subscribe to VirtualizationHowto via Email ๐Ÿ””

Enter your email address to subscribe to this blog and receive notifications of new posts by email.



Brandon Lee

Brandon Lee is the Senior Writer, Engineer and owner at Virtualizationhowto.com, and a 7-time VMware vExpert, with over two decades of experience in Information Technology. Having worked for numerous Fortune 500 companies as well as in various industries, He has extensive experience in various IT segments and is a strong advocate for open source technologies. Brandon holds many industry certifications, loves the outdoors and spending time with family. Also, he goes through the effort of testing and troubleshooting issues, so you don't have to.

Related Articles

3 Comments

  1. Very Interesting.
    I’m planning to create a Proxmox cluster with 3 node with mini PC with 2×2,5 Gbps NIC and I want to implement Ceph as shared storage. But I have red about probably issue with non 10 Gbps NIC. For a small environment, do you think that 10 Gbps inteface is mandatory? I plan to execute VM for local DNS, 2x Windows 11 VM, a Nextcloud instance, a VM dedicated for MariaDB, a torrent server, 2x VM HAproxy, Graylog VM. Additional some other linux VM for test purpose (testing kubernetes, docker swarm, ecc.)…

    Thanks in advice.

    1. Alessandro,

      Thank you for the comment! I don’t think there would be any issues with 10 Gbps connections as this would be the preferred. However, I will say there shouldn’t be any issues with 2.5 Gbps connections with a small Ceph environment. What type of mini PC are you using?

      Thanks Alessandro,
      Brandon

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.