Ceph块存储的安装部署和使用

在Ubuntu18.04上安装部署使用Ceph块存储。

环境准备

配置节点名称

配置集群各节点的hostname,互相可以通过hostname来解析节点ip,不需要通过dns

配置免密登录

配置节点ssh免密登录

添加安装源

添加安装源。如果使用系统默认的安装源ceph-deploy版本太低,后续操作会有问题。

$ wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -
$ echo deb https://download.ceph.com/debian-luminous/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list  # 选择安装的Ceph版本是 luminous

创建集群

安装ceph-deploy

$ sudo apt update
$ sudo apt -y install ceph-deploy

创建配置文件和key文件

$ mkdir myceph
$ cd myceph
$ ceph-deploy new ubuntu1804-1  # 指定节点名称

修改ceph.conf

先配置单节点ceph集群,因此将集群的副本数量设置为1

[global]
osd pool default size = 1
osd pool default min size = 1

安装ceph软件

$ ceph-deploy install --release luminous ubuntu1804-1

初始化mon

初始化mon,生成相关文件。

$ ceph-deploy mon create-initial # 可以指定多个host。

推送keyring

将当前目录下的ceph.client.admin.keyring推送到各个远程主机的/etc/ceph目录下。

$ ceph-deploy admin ubuntu1804-1  # 可以指定多个host。 

至此,可以 ceph -s 查看集群

部署mgr

$ ceph-deploy  mgr create  ubuntu1804-1 // 可以指定多个host。

部署osd

最简单的情况就是一块硬盘全部给一个osd管理,例如sdb是一块空闲硬盘

$ ceph-deploy osd create  ubuntu1804-1:/dev/sdb  # 将硬盘sdb创建为osd

$ sudo ceph osd tree  # 查看osd
ID CLASS WEIGHT  TYPE NAME             STATUS REWEIGHT PRI-AFF
-1       0.00479 root default
-3       0.00479 host ubuntu1804-1
 0   hdd 0.00479        osd.0             up  1.00000 1.00000

$ lsblk
sda                         8:0    0    50G  0 disk
├─sda1                      8:1    0     1M  0 part
├─sda2                      8:2    0     1G  0 part /boot
└─sda3                      8:3    0    49G  0 part
  └─ubuntu--vg-ubuntu--lv 253:0    0  24.5G  0 lvm  /
sdb                         8:16   0     5G  0 disk
├─sdb1                      8:17   0   100M  0 part /var/lib/ceph/osd/ceph-0  # 数据data分区
└─sdb2                      8:18   0   4.9G  0 part  # 日志journal分区。 create osd 时不指定分区,则默认将data和journal放在同一个盘上。


查看集群

一个单节点的Ceph集群已经OK

$ sudo ceph -s
  cluster:
    id:     1c4f5996-dee5-4b25-8dd1-05a3dd1cdbb7
    health: HEALTH_OK


  services:
    mon: 1 daemons, quorum ubuntu1804-1
    mgr: ubuntu1804-1(active)
    osd: 1 osds: 1 up, 1 in

  data:
    pools:   0 pools, 0 pgs
    objects: 0 objects, 0B
    usage:   1.00GiB used, 3.90GiB / 4.90GiB avail
    pgs:

新增mon节点

修改配置

配置文件的global字段,增加扩容信息

  • mon_initial_members 和 mon_host 补充新mon节点
  • public network 补充描述public network的网段
$ vi /etc/ceph/ceph.conf
[global]
fsid = 1c4f5996-dee5-4b25-8dd1-05a3dd1cdbb7
mon_initial_members = ubuntu1804-1, ubuntu1804-2
mon_host = 192.168.195.128, 192.168.195.129
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx

osd pool default size = 1
osd pool default min size = 1

public network = 192.168.195.0/24

推送配置

把配置文件推送到集群的所有节点

$ ceph-deploy --overwrite-conf config push ubuntu1804-1  ubuntu1804-2

执行新增操作

$ ceph-deploy mon add node2

查询结果

$ ceph -s
  cluster:
    id:     1c4f5996-dee5-4b25-8dd1-05a3dd1cdbb7
    health: HEALTH_OK

  services:
    mon: 2 daemons, quorum ubuntu1804-1,ubuntu1804-2  # mon扩容到2节点
    mgr: ubuntu1804-1(active)
    osd: 2 osds: 1 up, 1 in

  data:
    pools:   0 pools, 0 pgs
    objects: 0 objects, 0B
    usage:   1.01GiB used, 3.90GiB / 4.90GiB avail
    pgs:

新增osd

新创建osd

$ ceph-deploy --overwrite-conf  osd create  ubuntu1804-2:/dev/sdb

[ubuntu1804-2][INFO  ] checking OSD status...
[ubuntu1804-2][DEBUG ] find the location of an executable
[ubuntu1804-2][INFO  ] Running command: /usr/bin/ceph --cluster=ceph osd stat --format=json
[ceph_deploy.osd][DEBUG ] Host ubuntu1804-2 is now ready for osd use.

查询节点disk状态

$ ceph-deploy disk list ubuntu1804-2

[ubuntu1804-2][DEBUG ] /dev/sda :
[ubuntu1804-2][DEBUG ]  /dev/sda1 other, 21686148-6449-6e6f-744e-656564454649
[ubuntu1804-2][DEBUG ]  /dev/sda2 other, ext4, mounted on /boot
[ubuntu1804-2][DEBUG ]  /dev/sda3 other, LVM2_member
[ubuntu1804-2][DEBUG ] /dev/sdb :
[ubuntu1804-2][DEBUG ]  /dev/sdb1 ceph data, prepared, cluster ceph, block /dev/sdb2
[ubuntu1804-2][DEBUG ]  /dev/sdb2 ceph block, for /dev/sdb1

激活data分区

$ ceph-deploy osd activate ubuntu1804-2:/dev/sdb1  # 激活

$ ceph osd tree  # 新增id=1的osd.1

ID CLASS WEIGHT  TYPE NAME             STATUS REWEIGHT PRI-AFF
-1       0.00958 root default
-3       0.00479     host ubuntu1804-1
 0   hdd 0.00479         osd.0             up  1.00000 1.00000
-5       0.00479     host ubuntu1804-2
 1   hdd 0.00479         osd.1             up  1.00000 1.00000

$ ceph osd status  # 新增id=1的osd

+----+--------------+-------+-------+--------+---------+--------+---------+-----------+
| id |     host     |  used | avail | wr ops | wr data | rd ops | rd data |   state   |
+----+--------------+-------+-------+--------+---------+--------+---------+-----------+
| 0  | ubuntu1804-1 | 1030M | 3988M |    0   |     0   |    0   |     0   | exists,up |
| 1  | ubuntu1804-2 | 1030M | 3988M |    0   |     0   |    0   |     0   | exists,up |
+----+--------------+-------+-------+--------+---------+--------+---------+-----------+

activate曾出现报错,可能是以前有osd.1相关信息:

[ubuntu1804-2][WARNIN] command_with_stdin: Running command with stdin: ceph --cluster ceph --name client.bootstrap-osd --keyring /var/lib/ceph/bootstrap-osd/ceph.keyring -i - osd new 2cb6d197-1e2b-4731-939a-7bae1bab1d49
[ubuntu1804-2][WARNIN] command_with_stdin:
[ubuntu1804-2][WARNIN] command_with_stdin: Error EEXIST: entity osd.1 exists but key does not match
[ubuntu1804-2][WARNIN]
[ubuntu1804-2][WARNIN] mount_activate: Failed to activate

解决方法是删除以前的osd.1相关信息:

$ ceph auth del osd.1
$ ceph osd rm 1

参考资料

https://zhuanlan.zhihu.com/p/67832892 单机版Ceph环境部署,Linux平台

http://t.zoukankan.com/chris-cp-p-4822655.html ceph基本操作整理

https://www.cnblogs.com/sisimi/p/7693130.html mon节点扩容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值