CEPH 分布式存储部署手册 (Ubuntu 14.04)

这篇博客详细介绍了在Ubuntu 14.04上部署CEPH分布式存储集群的步骤,包括环境准备、安装ceph-deploy、创建集群、配置网络和OSD节点等。主要涉及免密码登录设置、主机文件修改、SSH信任建立、源的更新以及监控、存储和管理节点的配置。
摘要由CSDN通过智能技术生成

CEPH 分布式存储部署手册 (Ubuntu 14.04)

Skyrim
Date:2016/12/16

1. 环境准备

1.1 环境架构图

Alt text

  • CEPH架构包含如下几个节点角色
    • ADMIN Node:管理节点
    • MON Node:监控节点/元数据MDS节点
    • OSD Node:存储节点

OS:Ubuntu 14.04.04

OSD节点磁盘结构

root@C01:~# lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                 8:0    0    16G  0 disk 
├─sda1                      8:1    0   243M  0 part /boot
├─sda2                      8:2    0     1K  0 part 
└─sda5                      8:5    0  15.8G  0 part 
  ├─C01--vg-root (dm-0)   252:0    0  13.8G  0 lvm  /
  └─C01--vg-swap_1 (dm-1) 252:1    0     2G  0 lvm  [SWAP]
sdb                            8:16   0    20G  0 disk                                          #OSD Disk
sr0                             11:0    1   579M  0 rom  

OSD节点网络结构

  • Eth0:Public Network
  • Eth1:Cluster Network
1.2 环境准备
1.2.1所有节点操作设置root免密码登录
       sudo visudo -f /etc/sudoers  

增加如下行,skyrim为用户名
skyrim ALL=(ALL) NOPASSWD:ALL

1.2.2 所有节点操作修改host文件

所有节点增加如下内容

192.168.1.40    ADM
192.168.1.41    MON
192.168.1.60    N01
192.168.1.61    N02
192.168.1.62    N03
1.2.3 ADMIN节点操作安装pssh工具
  apt-get install -y pssh
  • 设置以下别名:
   alias pssh='parallel-ssh'
    alias pscp='parallel-scp'
  • 创建host文件列表hosts.txt:

    MON
    N01
    N02
    N03
    N04

1.2.4 所有节点操作创建ssh信任
  • 所有节点运行如下命令
   ssh-keygen
  • ADMIN节点复制public key到其它节点需在普通用户权限下执行,在对话窗口输入yes,然后输入对端用户密码。

    ssh-copy-id mon
    ssh-copy-id n01
    ssh-copy-id n02
    ssh-copy-id n03
    
  • 测试方式通过普通用户执行
pssh -h hosts uptime

如果全部结果都为SUCCESS,则说明正常工作。

1.2.5 ADMIN操作修改ububtu apt源
root@C01:~#nano /etc/apt/sources.list
  • 增加网易APT源
deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse

复制sources.list到其它节点

pscp -h hosts.txt /etc/apt/sources.list /etc/apt/
  • 刷新源
pssh -h hosts `sudo apt-get update`

如果全部结果都为SUCCESS,则说明正常工作。

1.3 安装ceph-deploy
  • 以下操作只需要在Admin节点执行,首先需要增加ceph源:
#安装ceph apt key
wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -


echo deb http://download.ceph.com/debian-{ceph-stable-release}/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
# 注意: ceph-stable-release是选择安装的版本,我部署时选择的是jewel!最新版本为infernalis!同时由于CFW的问题,因此我选择的是网易的国内镜像
echo deb http://mirrors.163.com/ceph/debian-jewel/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
  • 安装ceph-deploy:
sudo apt-get update && sudo apt-get install -y ceph-deploy

生产环境还需要安装ntp服务,保证集群的时钟一致,这次只是为了测试,故省略这一步。另外由于ubuntu默认防火墙是关的,SELinux也没有安装,故不需要任何操作。使用centos安装时需要打开必要端口。

2.开始安装ceph集群

我们使用ceph-deploy部署,后续操作均在admin节点操作。 首先需要创建工作环境,该环境会保存所有的配置文件:

mkdir my-cluster
cd my-cluster
2.1 创建集群
ceph-deploy new mon

其中mon是monitor节点,执行该命令会生成ceph配置文件、monitor密钥文件以及日志文件。

2.2 修改默认冗余份数(此步骤只有在小于3个OSD节点时需要修改)

默认的冗余份数是3,如果是2节点需要设置为2,如果osd节点大于2,则此步骤省略。

修改ceph.conf文件,在[global]下增加以下内容:

osd pool default size = 2
2.3 配置网卡和网络(OSD节点单网卡请忽略

OSD节点是双网卡,因此需要设置使用的网卡和网络地址
修改ceph.conf文件,在[global]下增加以下内容:

Public Network = 192.168.1.0/24
Cluster Network = 10.10.100.0/24
2.4 开始安装ceph

注:因为CFW的问题,管理节点ceph-Deploy前Ceph镜像源修改非常重要,这里采用了网易镜像

    export CEPH_DEPLOY_REPO_URL=http://mirrors.163.com/ceph/debian-jewel/
    export CEPH_DEPLOY_GPG_URL=http://mirrors.163.com/ceph/keys/release.asc

在所有节点开始安装ceph

ceph-deploy install adm mon n01 n02 n03
2.5初始化mon节点和收集密钥信息
ceph-deploy mon create-initial

执行完毕,目录应该有以下文件:

{cluster-name}.client.admin.keyring
{cluster-name}.bootstrap-osd.keyring
{cluster-name}.bootstrap-mds.keyring
{cluster-name}.bootstrap-rgw.keyring

完成以上步骤,安装完成,但还没有配置osd节点。

2.6 配置osd节点

首先再次确认磁盘结构

OSD节点磁盘结构

root@C01:~# lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                 8:0    0    16G  0 disk 
├─sda1                      8:1    0   243M  0 part /boot
├─sda2                      8:2    0     1K  0 part 
└─sda5                      8:5    0  15.8G  0 part 
  ├─C01--vg-root (dm-0)   252:0    0  13.8G  0 lvm  /
  └─C01--vg-swap_1 (dm-1) 252:1    0     2G  0 lvm  [SWAP]
sdb                            8:16   0    20G  0 disk                                          #OSD Disk
sr0                             11:0    1   579M  0 rom  

格式化磁盘,注意我们使用的是/dev/sdb

ceph-deploy disk zap n01:sdb
ceph-deploy disk zap n02:sdb
ceph-deploy disk zap n03:sdb

以上步骤会清空磁盘的所有数据。 接下来创建osd,注意由于我们只是测试,故没有使用单独的磁盘作为journal,实际在生产环境下,需要配备SSD分区作为journal,能够最大化IO吞吐量

ceph-deploy osd create n01:sdb
ceph-deploy osd create n02:sdb
ceph-deploy osd create n03:sdb
2.7 配置admin节点

admin节点同时也作为我们的client节点,需要拷贝其他节点的配置文件以及密钥,使得不需要指定mon地址以及用户信息就可以直接管理我们的ceph集群,执行以下命令即可:

ceph-deploy admin adm mon n01 n02 n03
sudo chmod +r /etc/ceph/ceph.client.admin.keyring # 保证具有读取的密钥的权限
2.8 测试结果

运行以下命令:

ceph health

确认返回HEALTH_OK状态

ceph status

结果返回如下:

    cluster 2a5b2748-6b23-4609-9614-1e838e11597c
     health HEALTH_OK
     monmap e1: 1 mons at {mon=192.168.1.41:6789/0}
            election epoch 3, quorum 0 mon
     osdmap e16: 3 osds: 3 up, 3 in
            flags sortbitwise,require_jewel_osds
      pgmap v52: 64 pgs, 1 pools, 57 bytes data, 4 objects
            101 MB used, 45945 MB / 46046 MB avail
                  64 active+clean

确认返回active+clean状态

ceph osd tree

确认所有osd节点up状态

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值