Before connecting Ceph storage to the VMmanager cluster, you should pre-configure the Ceph cluster nodes. This article provides general information about the installation. We recommend that you create a Ceph cluster according to the official documentation.
Before creating a cluster, make sure that the equipment used matches the system requirements.
Ceph storage nodes and clusters are not the nodes and clusters of VMmanager.
We recommend using Ceph software version no older than 13.2.0.
Requirements for cluster nodes
The following physical or virtual servers should be part of the cluster:
- data server (OSD);
- at least three monitor servers (MON);
- administrative server (ADM);
- monitoring service (MGR);
- metadata server (MDS). It is necessary if you use the CephFS file system.
Servers must meet the following requirements:
- A server with VMmanager platform cannot be used as a cluster node.
- It is not recommended to use nodes of VMmanager cluster. This places high load on the server and complicates the recovery process in the event of a failure.
- We recommend using servers that are in the same rack and the same network segment.
- We recommend using a high-speed network connection between cluster nodes.
- One operating system must be installed on all servers.
- Port 6789/TCP should be available on the monitor servers; and ports 6800 to 7300/TCP should be available on the data servers.
- All nodes in the cluster must have an unmounted partition or disk to install the Ceph software.
Example of cluster node preparation
Let us consider an example of creating a cluster using servers:
- ceph-cluster-1 with IP address 172.31.245.51. Designation — MON, OSD, ADM, MGR.
- ceph-cluster-2 with IP address 172.31.246.77. Designation — MON, OSD.
- ceph-cluster-3 with IP address 172.31.246.82. Designation — MON, OSD.
If the error "RuntimeError: NoSectionError: No section: 'ceph'" occurs while executing the ceph-deploy command, rerun the command.
- Install Ceph software:
Execute the command:
Create the file /etc/yum.repos.d/ceph.repo and add the following lines to it:
Execute the command:
Install software to run NTP. This will prevent problems arising from the system time shift.
Create a ceph user and set the necessary permissions:
Create aliases for cluster nodes in /etc/hosts:
Add Ceph services to firewalld settings:
Install the ceph-deploy and python-setuptools packages:
Create ssh keys and copy them to all nodes of the cluster:
Add lines to the file ~/.ssh/config:
Create my-cluster directory for configuration and ceph-deploy files and enter to that directory:
Create the cluster configuration file:Where
ceph1 ceph2 ceph3 — cluster nodes that are monitor servers
When using Ceph Storage with one cluster node replace the value of "osd_crush_chooseleaf_type" in configuration ceph.conf with 0.
Add information about the cluster node network to the ceph.conf configuration file:
Install ceph-deploy on cluster codes:
Deploy a monitoring service:
Create and initialize the monitor servers:
Copy the configuration files to the cluster nodes:
Add data servers to the cluster:Where
/dev/sdb — storage device on the cluster node
Erase /dev/sdb drives on data servers: