第二篇:Ceph集群环境准备

Catalogue
  1. 1. 软件准备
    1. 1.1. 安装VirtualBox
      1. 1.1.1. 添加网络
    2. 1.2. 下载CentOS镜像
  2. 2. 安装CentOS虚拟机
    1. 2.1. 创建虚拟机
    2. 2.2. 配置虚拟机
      1. 2.2.1. 添加CentOS镜像
      2. 2.2.2. 添加3个2T磁盘
      3. 2.2.3. 配置网络
      4. 2.2.4. 安装CentOS
      5. 2.2.5. 配置网卡
        1. 2.2.5.1. 修改ifcfg-enp0s3
        2. 2.2.5.2. 修改ifcfg-enp0s8
      6. 2.2.6. 修改yum源
    3. 2.3. 虚拟机ceph软件安装
      1. 2.3.1. 配置ceph源
      2. 2.3.2. 安装ceph
  3. 3. 克隆虚拟机
    1. 3.1. 克隆机器
    2. 3.2. 修改机器配置

第一篇简单介绍了Ceph的架构,让我们对Ceph有了一个初步的印象。

接下来,我将在MAC上介绍如何基于本机搭建ceph集群及cephfs、cephrgw、cephrbd服务。

集群规划:

  • 生产环境
    • 至少3台物理机组成Ceph集群
    • 双网卡
  • 测试环境
    • 1台主机也可以
    • 单网卡也可以

本文使用虚拟机搭建集群,集群设置如下:

  • mon集群:
    • 3台虚拟机组成mon集群
  • osd集群:
    • 3台虚拟机组成osd集群
    • 每台虚拟机上3个osd进程
  • mgr集群:
    • 3个mgr进程

在部署之前,首先需要介绍前期环境的准备工作:

  • 软件准备:VirtualBox,CentOS
  • 安装虚拟机
  • 克隆虚拟机

软件准备

安装VirtualBox

点击 VirtualBox Mac版本,下载VirtualBox,然后双击下载好的软件,按照提示一直安装即可。

添加网络

安装好之后,需要添加一个网络,这样可以保证在虚拟机里也能正常上网。具体操作如下:

点击左上角的VirtualBox->偏好设置->网络->仅主机(Host-Only)网络->点击右边的绿色➕,一般会默认添加了vboxnet0,双击vboxnet0,可以看到网络的IP信息,默认为192.168.56.1,如下图:

下载CentOS镜像

点击CentOS 7.5 镜像Minimal ,这里我们下载Minimal版本,后面操作的时候,我们直接通过配置虚拟机IP,使得本机可以直接ssh访问虚拟机进行操作。

安装CentOS虚拟机

创建虚拟机

  • 打开VirtualBox,点击新建,这时会新建一个虚拟机,命名为ceph-1,类型选择Linux,版本选择Linux 2.6/3.x/4.x 64bit,具体见下图:

  • 内存设置:默认值为1G,直接下一步即可,如下图:

  • 创建虚拟硬盘:选择创建VDI,然后下一步,如下图:

  • 存储在物理盘:这里有两个选项-动态分配固定大小,这里选择动态分配,见下图:

    • 动态分配,这种方式下,创建一个2T的磁盘,实际只会占用计算机几十MB的空间,实际使用多少空间,才会占用多少空间,相当于用时分配。
    • 固定大小,这种方式下,创建多大的盘就会占用多大的空间。
  • 文件位置与大小:将空间大小设置为100G,这是用于系统盘。然后点击创建即可:

至此,虚拟机创建完成。

配置虚拟机

添加CentOS镜像

选择刚刚创建好的虚拟机,点击设置->存储->控制器:IDE->没有盘片,点击右侧的光盘按钮,将刚刚下载的CentOS的镜像添加进来,如下图所示:

添加3个2T磁盘

点击控制器:SATA旁边的方形加号,添加SATA盘,创建新的虚拟盘-> VHD-> 动态分配 -> 2TB.

步骤如下图:

配置网络

点击设置-> 网络-> 网卡 1-> 连接方式 -> 网络地址转换(NAT),用于给VM上网,如下图所示:

点击网卡2 -> 勾选启用网络连接 -> 连接方式 -> 仅主机(Host-only)网络 -> 界面名称 -> vboxnet0这里的vboxnet0是在上一步中添加的,如下图所示:

虚拟机配置完成,接下来进行安装CentOS。

安装CentOS

启动刚刚创建的虚拟机,Install CentOS 7,一直往下点,然后出现下面的页面:

点击红框中的选项,然后Begin Install:

之后再设置root密码:

之后一直等就可以了,最后重启机器,安装完成。

配置网卡

修改ifcfg-enp0s3

1
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

将最后一行的ONBOOT=no改为ONBOOT=yes,添加IPADDR,NETMASK,这个是网卡1,用于给虚拟机上网。

修改ifcfg-enp0s8

1
2
3
4
5
6
vi /etc/sysconfig/network-scripts/ifcfg-enp0s8
#修改以下几个配置项
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.56.101 #因为vboxnet0的IP为192.168.56.1
NETMASK=255.255.255.0

重启网卡并检查联网状态:

1
2
3
4
5
6
7
8
9
systemctl restart network
ping www.baidu.com
PING www.a.shifen.com (115.239.211.112) 56(84) bytes of data.
64 bytes from 115.239.211.112 (115.239.211.112): icmp_seq=1 ttl=63 time=2.79 ms
64 bytes from 115.239.211.112 (115.239.211.112): icmp_seq=2 ttl=63 time=25.7 ms
64 bytes from 115.239.211.112 (115.239.211.112): icmp_seq=3 ttl=63 time=3.58 ms
64 bytes from 115.239.211.112 (115.239.211.112): icmp_seq=5 ttl=63 time=3.62 ms
64 bytes from 115.239.211.112 (115.239.211.112): icmp_seq=6 ttl=63 time=2.97 ms
64 bytes from 115.239.211.112 (115.239.211.112): icmp_seq=7 ttl=63 time=2.99 ms

修改主机名hostname:

1
echo ceph-1 > /etc/hostname

然后重启机器,这样配置的hostname跟IP就会生效

然后就可以通过本机终端直接ssh到虚拟机进行操作,可以方便的进行复制黏贴。

登录到虚拟机:

1
2
3
4
5
6
7
8
ssh root@192.168.56.101
The authenticity of host '192.168.56.101 (192.168.56.101)' can't be established.
ECDSA key fingerprint is SHA256:uuwVZ9O8+0KypxxJUgZLANVYMOFKY2QAd1Jv7Fa2fQE.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.56.101' (ECDSA) to the list of known hosts.
root@192.168.56.101's password:
Last login: Wed Nov 21 01:08:21 2018
[root@ceph-1 ~]#

登录成功之后开始进行下面的操作。

修改yum源

这里将yum源修改成aliyun的源,指令如下:

1
2
3
4
5
6
yum clean all
curl http://mirrors.aliyun.com/repo/Centos-7.repo >/etc/yum.repos.d/CentOS-Base.repo
curl http://mirrors.aliyun.com/repo/epel-7.repo >/etc/yum.repos.d/epel.repo
sed -i '/aliyuncs/d' /etc/yum.repos.d/CentOS-Base.repo
sed -i '/aliyuncs/d' /etc/yum.repos.d/epel.repo
yum makecache

安装软件:

1
yum -y install wget ntp vim

虚拟机ceph软件安装

配置ceph源

/etc/yum.repos.d/目录下新增一个ceph源文件ceph.repo,并写入下面内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
vim /etc/yum.repos.d/ceph.repo
#写入以下内容
[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/x86_64/
gpgcheck=0
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch/
gpgcheck=0
[ceph-source]
name=ceph-source
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS/
gpgcheck=0

安装ceph

执行以下命令安装ceph:

1
2
3
4
yum clean all && yum makecache
yum -y install yum-plugin-priorities
yum -y install openssh-server
yum -y install ceph ceph-radosgw

验证ceph是否安装完成:

1
2
[root@ceph-1 ~]# ceph -v
ceph version 12.2.9 (9e300932ef8a8916fb3fda78c58691a6ab0f4217) luminous (stable)

说明ceph安装成功。

至此,第一台虚拟机创建完成,然后关机。

克隆虚拟机

克隆机器

点击刚刚创建好的虚拟机,然后右键点击复制,

重命名虚拟机为ceph-2,并勾选重新初始化MAC和网卡选项。

点击继续,然后勾选完全复制

修改机器配置

在VM上登陆ceph-2,修改enp0s8的IP。

1
2
vim /etc/sysconfig/network-scripts/ifcfg-enp0s8
IPADDR=192.168.56.102

修改hostname

1
echo ceph-2 > /etc/hostname

修改好之后重启,就可以通过本机终端ssh访问了

1
2
3
4
5
6
7
8
ssh root@192.168.56.102
The authenticity of host '192.168.56.102 (192.168.56.102)' can't be established.
ECDSA key fingerprint is SHA256:uuwVZ9O8+0KypxxJUgZLANVYMOFKY2QAd1Jv7Fa2fQE.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.56.102' (ECDSA) to the list of known hosts.
root@192.168.56.102's password:
Last login: Wed Nov 21 02:14:58 2018
[root@ceph-2 ~]#

说明克隆成功。

同样的方法克隆ceph-3,将修改IP为192.168.56.103

最后,将各个主机的IP加入各自的/etc/hosts中:

1
2
3
4
5
6
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.56.101 ceph-1
192.168.56.102 ceph-2
192.168.56.103 ceph-3

最后重启所有主机。

本篇结束,下一篇将重点介绍ceph集群的手工搭建。