Helion OpenStack 1.1.1 Installation et configuration de Ceph

2015-10-03

Helion OpenStack 1.1.1 Installation et configuration de Ceph

Machine-translated — the English original is authoritative.

De plus en plus de clients choisissent Ceph comme solution de stockage ouverte et unifiée pour leurs plateformes IaaS basées sur OpenStack. L’un des principaux avantages que Ceph offre est la possibilité de fournir à la fois du stockage d’objets (par exemple Dropbox, Google Drive) et du stockage de blocs (par exemple LUN, disques) à partir d’une seule interface. En théorie, cela réduit le nombre de produits que les clients doivent gérer et sur lesquels ils doivent former leur personnel.

Il convient de noter certaines limitations : il manque actuellement une réplication asynchrone de niveau production si l’on tente d’étendre Ceph sur de grandes distances. Le stockage d’objets manque également de nombreuses fonctionnalités actuellement disponibles avec des produits dédiés tels que Swift, il est donc essentiel que les exigences métier soient clairement identifiées.

Cela étant dit, si la multi-région n’est pas requise et que la sécurité n’est pas une préoccupation majeure, Ceph est une solution de stockage très performante.

ceph
Figure 1 : Communication Ceph HOS

Installation de Ceph

La procédure utilisée pour effectuer l’installation de Ceph avec HOS peut être trouvée ici : http://docs.hpcloud.com/#commercial/GA1/ceph/1.1commercial.ceph-automated-install.html

Les fichiers de configuration suivants ont été utilisés conjointement avec la procédure ci-dessus pour mener à bien l’installation :

Fichier Server.json

Modifiez /server/server.json pour inclure les identifiants OpenStack provenant de l’Undercloud (stackrc), du réseau et de la paire de clés de Helion OpenStack.


{
"authentication": {
   "HOST": "172.16.0.131",
   "PORT": "8085",
   "OS_VERSION": "2",
   "OS_USER": "admin",
   "OS_PASSWORD": "password",
   "OS_TENANT_NAME": "admin",
   "OS_AUTH_URL": "http://172.16.0.135:5000/v2.0",
   "keypair": "cephadmin",
   "netid": "2ff3d218-86a9-4875-9d38-5f7860c581b1"
    }
}

Fichier Orchestration.json
Ce fichier configure les flavors de l’undercloud pour les nœuds physiques Ceph.


{
    "authentication": {
        "ws_url": "http://172.16.0.131:8085/"
    },
 
    "api": {
        "imagepath": "/helion-ceph/images/",
        "deploy-image-prefix": "bm-deploy"
    },
 
    "orchestration": {
        "hypervisorsleepduration": "300",
        "hypervisorsmoniteringfrequency": "10",
        "bootsleepduration": "1200",
        "bootinitialwaitduration": "30",
        "hypervisortype": "baremetal",
        "hypervisordriver": "ironic",
        "bootmoniteringfrequency": "5",
        "destinationpath": "/helion-ceph/"
    },
 
 
    "flavor": {
            "001": {
                "ram": "163840",
                "vcpus": "2",
                "disk": "275",
                "architecture": "x86_64",
                "version" : "001"
            },
    "002": {
                "ram": "65536",
                "vcpus": "12",
                "disk": "900",
                "architecture": "x86_64",
                "version" : "001"
            }
    },
 
 
    "ironic": {
        "batchsize": "1",
        "driver": "pxe_ipmitool",
        "cpu_arch": "x86_64",
        "pxe_root_gb": "4"
    },
 
    "logger": {
        "filename": "orchestration.log",
        "filemode": "w",
        "level": 20,
        "format": "%(levelname)s:%(asctime)s:%(message)s"
    }
}

Fichier Baremetal.csv

Comme pour le fichier bare metal dans la section HOS précédente, ce fichier est utilisé pour définir les caractéristiques des nœuds physiques qui seront intégrés à l’aide de l’installateur.


root@hLinux:/helion-ceph/node-provisioner/client# cat baremetal.csv
55:b9:22:92:c0:23,Administrator,password,10.99.10.12,12,65536,1637
55:b9:22:92:c2:cc,Administrator,password,10.99.10.13,12,65536,1637

Configuration de Ceph

La procédure utilisée pour effectuer la configuration de Ceph avec HOS peut être trouvée ici :
http://docs.hpcloud.com/#commercial/GA1/ceph/1.1commercial.ceph-cluster-client-node-configuration-ansible.html

Les fichiers de configuration suivants ont été utilisés conjointement avec la procédure ci-dessus pour mener à bien la configuration :

Fichier cluster.csv
Il s’agit du fichier de définition du cluster pour les rôles et les disques.


hlinux@c1admin-overcloud-ceph-admin:/helion-ceph/cephconfiguration/ansible-playbooks$ cat cephcluster.csv
172.16.0.165,mon-master-1,mon-master,hlinux
172.16.0.165,admin-1,admin,hlinux
172.16.0.165,ceph-osd-1,osd,hlinux,xfs,/dev/sdb,xfs,/dev/sde5
172.16.0.165,ceph-osd-2,osd,hlinux,xfs,/dev/sdc,xfs,/dev/sde6
172.16.0.165,ceph-osd-3,osd,hlinux,xfs,/dev/sdd,xfs,/dev/sde7
172.16.0.164,ceph-osd-4,osd,hlinux,xfs,/dev/sdb,xfs,/dev/sde5
172.16.0.164,ceph-osd-5,osd,hlinux,xfs,/dev/sdc,xfs,/dev/sde6
172.16.0.164,ceph-osd-6,osd,hlinux,xfs,/dev/sdd,xfs,/dev/sde7
172.16.0.149,compute0,computes
172.16.0.150,compute1,computes
172.16.0.151,compute2,computes
172.16.0.141,controller0,controllers
172.16.0.146,controller1,controllers
172.16.0.145,controller2,controllers
172.16.0.131,seed0,seed

[Veuillez noter : les détails du fichier du périphérique de journalisation incluent le numéro de partition ajouté par le processus d’installation – par exemple, /dev/sdn devient /dev/sdnX après l’installation]

Ansible – fichier /group_vars/all

Définit les variables d’environnement pour l’installation.


hlinux@c1admin-overcloud-ceph-admin:/helion-ceph/cephconfiguration/ansible-playbooks$ cat group_vars/all
---
# Variables here are available to all host groups
cephmon_user:   root                                           #Leave this value as is
cephmon_group:  root                                           #Leave this value as is
runrados:       0                                              # Set this to 0 if you do not have rados nodes, to 1 if you have the rados nodes
radosgwHA:      0                                              # Set this to true if you want to setup rados in HA mode where you need min two rados nodes
secretuuid:     123456789123456789123456789           # This the UUID that will be used to setup the helion nodes. Change this prio to running the ceph-client and ceph-admin roles, if you wish to newly generated UUID. The same UUID will work too.
clienttarname:  ceph_client_setup-0.80.7_h1.1.fix7_newdebs.tar # Set this to the tar ball name that is being used for helion client setup. Make sure the tarball has been copied under roles/ceph-client/files folder
passthrough_path: "/helion-ceph/cephconfiguration/ansible-playbooks/roles/helion-seed/files/hp_ceph_passthrough"

Ansible – /group_vars/ceph-cluster


hlinux@c1admin-overcloud-ceph-admin:/helion-ceph/cephconfiguration/ansible-playbooks$ cat group_vars/ceph-cluster
---
# Variables here are applicable to the ceph-cluster host group
osd_journal_size: 10000
mon_master: 172.16.0.165
fsid: 123456789123456789123456789
fssize: 2048
env: baremetal
journal: 1
dependencies:

Intégration de Ceph

La procédure utilisée pour effectuer l’intégration de Ceph avec HOS peut être trouvée ici :
http://docs.hpcloud.com/#commercial/GA1/ceph/1.1commercial.ceph-cluster-client-node-configuration-ansible.html

Ce processus est automatisé via des scripts Ansible. Les étapes d’intégration manuelles sont également disponibles ici : http://docs.hpcloud.com/#commercial/GA1/ceph/1.1commercial.ceph-manual-install.html

Originally published on allthingscloud.eu (2015-10-03).

← All posts