kylinV10使用cephadm部署ceph15_octopus

使用cephadm部署ceph octopus

参考本文档前使用 cat /etc/os-release查看系统版本。

本文使用的版本如下
OS版本:

NAME=“Kylin Linux Advanced Server”
VERSION=“V10 (Sun)”
ID=“centos”
ID_LIKE=“kylin”
VERSION_ID=“8”
PLATFORM_ID=“platform:el8”
PRETTY_NAME=“Kylin Linux Advanced Server V10 (Sun)”
ANSI_COLOR=“0;31”
CPE_NAME=“cpe:/o:kylin:enterprise_linux:V10:GA”
HOME_URL=“http://www.kylinos.cn/”
BUG_REPORT_URL=“https://bugzilla.kylinos.cn/”

NEOKYLIN_BUGZILLA_PRODUCT=“Kylin Linux Advanced Server 10”
NEOKYLIN_BUGZILLA_PRODUCT_VERSION=V10
NEOKYLIN_SUPPORT_PRODUCT=“Kylin Linux Advanced Server”
NEOKYLIN_SUPPORT_PRODUCT_VERSION=“V10”

主机数量:3台

主机名:node1 node2 node3

Step 1

安装docker

执行以下命令安装依赖包:

yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2

鉴于国内网络问题,强烈建议使用国内源,官方源请在注释中查看。

执行下面的命令添加 yum 软件源:使用清华大学源

#用清华大学源
yum-config-manager \
    --add-repo \
    https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo

更换地址

sed -i 's+https://download.docker.com+https://mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo

安装 Docker CE

更新 yum 软件源缓存,并安装 docker-ce

yum makecache
yum install docker-ce

启动Docker CE

systemctl enable docker
systemctl start docker

安装epel-release源

 wget https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
 rpm -ivh epel-release-latest-8.noarch.rpm 

修改/etc/os-release

vim /etc/os-release 
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Sun)"
ID="centos"   ###修改此行为centos
ID_LIKE="kylin"
VERSION_ID="8"   ###修改此行为8
PLATFORM_ID="platform:el8"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Sun)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:kylin:enterprise_linux:V10:GA"
HOME_URL="http://www.kylinos.cn/"
BUG_REPORT_URL="https://bugzilla.kylinos.cn/"

NEOKYLIN_BUGZILLA_PRODUCT="Kylin Linux Advanced Server 10"
NEOKYLIN_BUGZILLA_PRODUCT_VERSION=V10
NEOKYLIN_SUPPORT_PRODUCT="Kylin Linux Advanced Server"
NEOKYLIN_SUPPORT_PRODUCT_VERSION="V10"

修改 2个地方如下:
ID=centos
VERSION_ID=8

如果不修改,执行cephadm命令会报错 ERROR: Distro kylin version v10 not supported

设置主机名

hostnamectl set-hostname node1  # 主机名称自定义

由于kylinV10 无法使用ceph-deploy部署且ceph-deploy只支持nautilus及之前的版本。而且该工具开发者已经不进行维护了。

从octopus及以后的版本都使用cephadm进行安装部署

ceph版本号

版本主版本号初始发行时间停止维护时间
Quincy172022-04-192024-06-01
Pacific162021-03-312023-06-01
Octopus152020-03-232022-06-01
Nautilus142019-03-192021-06-30
Mimic132018-06-012020-07-22
Luminous122017-08-012020-03-01

Step2

部署步骤
1、获取cephadm(node1操作)
# curl --silent --remote-name --location https://github.com/ceph/ceph/raw/octopus/src/cephadm/cephadm
 或者
# wget https://gitee.com/wsl12105/ceph/releases/download/cephadm_octpus/cephadm
 
 chmod +x cephadm
 mv cephadm /usr/bin/
2、添加repo安装Octopus所需的软件包(node1操作)
cephadm add-repo --release octopus
cephadm install
3、引导集群(node1操作)
mkdir -p /etc/ceph
cephadm --docker bootstrap --mon-ip 192.168.1.1  #ip根据实际情况修改

该命令将:

  • 在本地主机上为新集群创建一个监视器和管理器守护程序。
  • 为 Ceph 集群生成一个新的 SSH 密钥并将其添加到 root 用户的/root/.ssh/authorized_keys文件中。
  • 将与新集群通信所需的最小配置文件写入/etc/ceph/ceph.conf.
  • client.admin将管理(特权!)密钥的副本写入/etc/ceph/ceph.client.admin.keyring.
  • 将公钥的副本写入 /etc/ceph/ceph.pub.

3.1如果ssh默认端口不是22请使用下面方式引导集群

创建ssh_config文件

cat > /root/.ssh/config << EOF
Host *
  User root
  Port 6022   #改成ssh端口
  StrictHostKeyChecking no
  UserKnownHostsFile /dev/null
  ConnectTimeout=30
EOF

## 给/root/.ssh/config 600权限
chmod 600 /root/.ssh/config

引导命令如下

cephadm  bootstrap --mon-ip 192.168.233.201 --ssh-config ssh_config

3.2引导完成后下面的内容务必记录下来

Ceph Dashboard is now available at:

	     URL: https://node1:8443/
	    User: admin
	Password: 1rxguvc8h5

You can access the Ceph CLI with:

	sudo /usr/bin/cephadm shell --fsid 7e1e6a1c-4b37-11ef-9eeb-000c29b16ad3 -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring

Please consider enabling telemetry to help improve Ceph:

	ceph telemetry on

For more information see:

	https://docs.ceph.com/docs/master/mgr/telemetry/
4、安装ceph-common(node1操作)
cephadm install ceph-common

确认ceph命令可以正常使用

ceph -v
ceph status
5、将authorized_keys文件拷贝到node2和node3(node1操作)
ssh-copy-id -f -i /etc/ceph/ceph.pub root@node2
ssh-copy-id -f -i /etc/ceph/ceph.pub root@node3
6、在node2和node3上添加monitor
ceph orch host add node2
ceph orch host add node3
ceph orch apply mon node1,node2,node3

或者可以通过标签添加monitor

  • 先给主机添加标签(lable)

    ceph orch host label add node1 mon
    ceph orch host label add node2 mon
    ceph orch host label add node3 mon
    
  • 查看主机标签

    # ceph orch host ls
    HOST   ADDR   LABELS   STATUS  
    node1  node1  mon          
    node2  node2  mon         
    node3  node3  mon         
    
  • cephadm根据标签添加monitor

    ceph orch apply mon label:mon
    

也可以通过yaml文件来部署

创建file.yaml内容如下

service_type: mon
placement:
  hosts:
   - host1 
   - host2
   - host3

然后执行下面命令:

# ceph orch apply -i file.yaml
7、部署OSD

所有集群主机上的存储设备清单可以通过以下方式显示

如果只列出一个或2个清等待1min再次查看

# ceph orch  device ls 
Hostname  Path      Type  Serial  Size   Health   Ident  Fault  Available  
node1     /dev/sdb  hdd           53.6G  Unknown  N/A    N/A    No         
node2     /dev/sdb  hdd           53.6G  Unknown  N/A    N/A    No         
node3     /dev/sdb  hdd           53.6G  Unknown  N/A    N/A    No    

如果满足以下所有条件,则认为存储设备可用:

  • 设备不能有分区。
  • 设备不得具有任何 LVM 状态。
  • 不得安装该设备。
  • 设备不得包含文件系统。
  • 设备不得包含 Ceph BlueStore OSD。
  • 设备必须大于 5 GB。
  • 注意Available是Yes的,表示这个设备满足条件,可以安装成为OSD,如果是No表示设备已经是OSD了,或者设备无法安装OSD
  • 如果有node上硬盘无法列出来,请等待一会,如果还不行请使用磁盘工具转换磁盘type 为dos

分别从node1 node2 node3上部署OSD。

# ceph orch daemon add osd node1:/dev/sdb
#  ceph orch daemon add osd node2:/dev/sdb
#  ceph orch daemon add osd node3:/dev/sdb

查看osd状态

ceph osd tree
8、部署MDS

使用 CephFS 文件系统需要一个或多个 MDS 守护进程

# ceph orch apply mds cephfs --placement="node1:mds-daemon-1"
# ceph orch apply mds cephfs --placement="node2:mds-daemon-2"
# ceph orch apply mds cephfs --placement="node3:mds-daemon-3"
9、创建pool

一个 Ceph 文件系统至少需要两个 RADOS 池,一个用于数据,一个用于元数据

# ceph osd pool create cephfs_data  32
# ceph osd pool create cephfs_metadata  32
10、创建文件系统
# ceph fs new cephfs cephfs_metadata cephfs_data
11、node2 和node3 安装ceph-common
 yum install ceph-common
12、拷贝配置文件到node2 node3
scp -r /etc/ceph/ root@node2:/etc/
scp -r /etc/ceph/* root@node3:/etc/

node2 和node3上也可以使用ceph -s等命令查看ceph集群状态了

在这里插入图片描述
关注我成为更好的Linuxer

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维0到1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值