Configuration de base
Les trois environnements sont centos7.9, et la configuration suivante doit être exécutée sur chaque machine
Configurer la résolution des hôtes
cat >> /etc/hosts <<EOF
192.168.2.23 node1
192.168.2.24 node2
192.168.2.25 node3
EOF
Éteignez le pare-feu et selinux
systemctl stop firewalld && systemctl disable firewalld
setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
Définissez le nom d'hôte sur les trois nœuds respectivement
hostnamectl set-hostname node1
hostnamectl set-hostname node2
hostnamectl set-hostname node3
Configurer la synchronisation de l'heure de l'hôte
systemctl restart chronyd.service && systemctl enable chronyd.service
Configurer la connexion sans mot de passe
ssh-keygen
ssh-copy-id -i .ssh/id_rsa.pub node1
ssh-copy-id -i .ssh/id_rsa.pub node2
ssh-copy-id -i .ssh/id_rsa.pub node3
Installez pip et ansible, git
yum install python-pip ansible git -y
Déployer le cluster ceph
Cloner le référentiel
Ici, je choisis d'installer la version ceph nautilus
git clone https://github.com/ceph/ceph-ansible.git
cd ceph-ansible
git checkout stable-4.0
Installer le package de dépendances ansible
pip install --upgrade pip
pip install -r requirements.txt
Modifier le fichier d'hôtes, ajouter des nœuds installés
cat >> /etc/ansible/hosts <<EOF
[mons]
node1
node2
node3
[osds]
node1
node2
node3
[mgrs]
node1
[mdss]
node1
node2
node3
[clients]
node1
node2
node3
[rgws]
node1
node2
node3
[grafana-server]
node1
EOF
Sauvegardez le fichier yml sous group_vars
cd ceph-ansible/group_vars
for file in *;do cp $file ${file%.*};done
Modifier la configuration group_vars / all.yml
---
dummy:
mon_group_name: mons
osd_group_name: osds
rgw_group_name: rgws
mds_group_name: mdss
client_group_name: clients
mgr_group_name: mgrs
grafana_server_group_name: grafana-server
configure_firewall: False
ceph_origin: repository
ceph_origin: repository
ceph_repository: community
ceph_mirror: http://mirrors.aliyun.com/ceph
ceph_stable_key: http://mirrors.aliyun.com/ceph/keys/release.asc
ceph_stable_release: nautilus
ceph_stable_repo: "{{ ceph_mirror }}/rpm-{{ ceph_stable_release }}"
public_network: "192.168.2.0/24"
cluster_network: "192.168.2.0/24"
monitor_interface: ens33
osd_auto_discovery: true
osd_objectstore: filestore
radosgw_interface: ens33
dashboard_admin_password: asd123456
grafana_admin_password: admin
pg_autoscale_mode: True
Modifier la configuration group_vars / osds.yml
devices:
- /dev/sdb
Modifier la configuration site.yml
Lancez l'installation
Laissez le reste à l'heure, il sera installé dans une dizaine de minutes
ansible-playbook -i /etc/ansible/hosts site.yml
Vérifiez l'état de l'installation et vous avez trouvé un avertissement. En effet, la configuration all.yml précédente n'est pas activée pour permettre l'ajustement automatique du nombre de pgs dans le pool. Vous pg_autoscale_mode: False
pouvez la définir manuellement
ceph osd pool set <pool-name> pg_autoscale_mode on
Bienvenue pour suivre le compte public personnel "Histoire de développement d'exploitation et de maintenance"