了解ansible和利用ceph-ansible搭建ceph集群,ansibleceph


了解ansible和利用ceph-ansible搭建ceph集群

一、Ansible和Ceph-Ansible

 

Ansible是一个自动化IT工具,可用于配置系统、部署软件,以及完成其他IT任务。Ansible默认通过 SSH 协议管理机器。安装Ansible之后,不需要启动或运行一个后台进程,或是添加一个数据库。只要在一台电脑(可以是一台笔记本)上安装好,就可以通过这台电脑管理一组远程的机器。在远程被管理的机器上。不需要安装运行任何软件,因此升级Ansible版本不会有太多问题。

Ansible 可同时操作属于一个组的多台主机,组和主机之间的关系通过 inventory 文件配置。默认的文件路径为 `/etc/ansible/hosts`。

除默认文件外,你还可以同时使用多个 inventory 文件(后面会讲到),也可以从动态源,或云上拉取 inventory 配置信息。

 

/etc/ansible/hosts 文件的格式与windows的ini配置文件类似,例如:

mail.example.com

[webservers]

foo.example.com

bar.example.com

[dbservers]

one.example.com

two.example.com

three.example.com

方括号[]中是组名,用于对系统进行分类,便于对不同系统进行个别的管理。

ansible的命令格式如下:

ansible <pattern_goes_here> -m <module_name> -a <arguments>

 

例如,scp拷贝文件至远程主机:

ansible atlanta -m copy -a "src=/etc/hosts dest=/tmp/hosts"

 

又如,确认某个服务在所有的webservers上都已经启动: ansible webservers -m service -a "name=httpd state=started"

 

Ansible提供两种方式去完成任务,一是 ad-hoc 命令,一是写 Ansible playbook。前者可以解决一些简单的任务,后者解决较复杂的任务。类似于shell命令和shell脚本的关系。

Playbooks 的格式是YAML(详见:YAML 语法),语法做到最小化,意在避免 playbooks 成为一种编程语言或是脚本,但它也并不是一个配置模型或过程的模型。playbook 由一个或多个 ‘plays’ 组成。它的内容是一个以 ‘plays’ 为元素的列表。而ceph-ansible就是针对ceph的ansible playbooks。

二、部署ceph集群的基本步骤

 

1) 角色分配,并修改修改Ansible Inventory:MON,MGR,OSD,RGW

 

2) 修改ceph-ansible配置,特别是all.yml和osds.yml

 

3) 部署ceph:ansible-playbook ceph-ansible/site.yml

详细步骤请见: 通过Ceph-ansible安装Ceph

相关内容

    暂无相关文章