ceph学习(三) 离线安装ceph_10.9

一. 准备工作

1.1 环境:

linux版本:

CentOS Linux release 7.4.1708 (Core)

ceph 版本:10.2.9

ceph version 10.2.9 (2ee413f77150c0f375ff6f10edd6c8f9c7d060d0)

ceph-deploy 版本: 1.5.39
http://download.ceph.com/rpm-jewel/el7/noarch/

# ceph-deploy --version
1.5.39

ceph官网rpm包下载:http://download.ceph.com/rpm-jewel/el7/

rpm包list

-rw-r--r--. 1 root root      23000 4月   4 14:28 argparse-1.4.0-py2.py3-none-any.whl
-rw-r--r--. 1 root root      67624 4月   4 14:26 autogen-libopts-5.18-5.el7.x86_64.rpm
-rw-r--r--. 1 root root       5605 4月   4 14:28 backports.ssl_match_hostname-3.5.0.1.tar.gz
-rw-r--r--. 1 root root      62432 4月   4 14:26 boost-iostreams-1.53.0-27.el7.x86_64.rpm
-rw-r--r--. 1 root root     159424 4月   4 14:26 boost-program-options-1.53.0-27.el7.x86_64.rpm
-rw-r--r--. 1 root root      40044 4月   4 14:26 boost-random-1.53.0-27.el7.x86_64.rpm
-rw-r--r--. 1 root root     307448 4月   4 14:26 boost-regex-1.53.0-27.el7.x86_64.rpm
-rw-r--r--. 1 root root      40532 4月   4 14:26 boost-system-1.53.0-27.el7.x86_64.rpm
-rw-r--r--. 1 root root      58712 4月   4 14:26 boost-thread-1.53.0-27.el7.x86_64.rpm
-rw-r--r--. 1 root root       3032 4月   4 14:26 ceph-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root    4386004 4月   4 14:26 ceph-base-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root   17334804 4月   4 14:26 ceph-common-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root 1317130384 4月   4 14:28 ceph-debuginfo-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root     290292 4月   4 14:28 ceph-deploy-1.5.39-0.noarch.rpm
-rw-r--r--. 1 root root       3252 4月   4 14:28 ceph-devel-compat-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root      23224 4月   4 14:28 cephfs-java-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root    1939560 4月   4 14:28 ceph-fuse-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root       3216 4月   4 14:28 ceph-libs-compat-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root    2926812 4月   4 14:28 ceph-mds-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root    2925320 4月   4 14:28 ceph-mon-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root    9497684 4月   4 14:28 ceph-osd-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root     271680 4月   4 14:28 ceph-radosgw-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root       6600 4月   4 14:28 ceph-resource-agents-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root      20476 4月   4 14:28 ceph-selinux-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root   76266452 4月   4 14:28 ceph-test-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root      95840 4月   4 14:28 createrepo-0.9.9-28.el7.noarch.rpm
-rw-r--r--. 1 root root     131104 4月   4 14:28 cryptsetup-1.7.4-3.el7_4.1.x86_64.rpm
-rw-r--r--. 1 root root     227852 4月   4 14:28 cryptsetup-libs-1.7.4-3.el7_4.1.x86_64.rpm
-rw-r--r--. 1 root root      83984 4月   4 14:28 deltarpm-3.6-3.el7.x86_64.rpm
-rw-r--r--. 1 root root      15080 4月   4 14:28 epel-release-7-11.noarch.rpm
-rw-r--r--. 1 root root      47816 4月   4 14:28 fcgi-2.4.0-25.el7.x86_64.rpm
-rw-r--r--. 1 root root     191380 4月   4 14:28 gdisk-0.8.6-5.el7.x86_64.rpm
-rw-r--r--. 1 root root     278772 4月   4 14:28 gperftools-libs-2.4-8.el7.x86_64.rpm
-rw-r--r--. 1 root root      85348 4月   4 14:28 hdparm-9.43-5.el7.x86_64.rpm
-rw-r--r--. 1 root root     104752 4月   4 14:28 htop-2.1.0-1.el7.x86_64.rpm
-rw-r--r--. 1 root root     165208 4月   4 14:28 leveldb-1.12.0-11.el7.x86_64.rpm
-rw-r--r--. 1 root root     150356 4月   4 14:28 libbabeltrace-1.2.4-3.el7.x86_64.rpm
-rw-r--r--. 1 root root    1945304 4月   4 14:28 libcephfs1-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root      14052 4月   4 14:28 libcephfs1-devel-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root    1644100 4月   4 14:28 libcephfs_jni1-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root       3540 4月   4 14:28 libcephfs_jni1-devel-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root    1990540 4月   4 14:28 librados2-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root     488244 4月   4 14:28 librados2-devel-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root    1910004 4月   4 14:28 libradosstriper1-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root       8968 4月   4 14:28 libradosstriper1-devel-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root    2624416 4月   4 14:28 librbd1-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root      13580 4月   4 14:28 librbd1-devel-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root    3069436 4月   4 14:28 librgw2-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root       6260 4月   4 14:28 librgw2-devel-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root      58180 4月   4 14:28 libunwind-1.2-2.el7.x86_64.rpm
-rw-r--r--. 1 root root     252528 4月   4 14:28 libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm
-rw-r--r--. 1 root root     180520 4月   4 14:28 lttng-ust-2.4.1-4.el7.x86_64.rpm
-rw-r--r--. 1 root root      31264 4月   4 14:28 mailcap-2.1.41-2.el7.noarch.rpm
-rw-r--r--. 1 root root     560368 4月   4 14:28 ntp-4.2.6p5-25.el7.centos.2.x86_64.rpm
-rw-r--r--. 1 root root      87648 4月   4 14:28 ntpdate-4.2.6p5-25.el7.centos.2.x86_64.rpm
-rw-r--r--. 1 root root    1063520 4月   4 14:28 ntp-doc-4.2.6p5-25.el7.centos.2.noarch.rpm
-rw-r--r--. 1 root root    1400985 4月   4 14:28 pip-9.0.3-py2.py3-none-any.whl
-rw-r--r--. 1 root root     144300 4月   4 14:28 psmisc-22.20-15.el7.x86_64.rpm
-rw-r--r--. 1 root root    1749308 4月   4 14:28 python2-pip-8.1.2-5.el7.noarch.rpm
-rw-r--r--. 1 root root    1426348 4月   4 14:28 python-babel-0.9.6-8.el7.noarch.rpm
-rw-r--r--. 1 root root       5932 4月   4 14:28 python-backports-1.0-8.el7.x86_64.rpm
-rw-r--r--. 1 root root      12144 4月   4 14:28 python-backports-ssl_match_hostname-3.4.0.2-4.el7.noarch.rpm
-rw-r--r--. 1 root root       3140 4月   4 14:28 python-ceph-compat-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root      80120 4月   4 14:28 python-cephfs-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root     232224 4月   4 14:28 python-chardet-2.2.1-1.el7_1.noarch.rpm
-rw-r--r--. 1 root root      32084 4月   4 14:28 python-deltarpm-3.6-3.el7.x86_64.rpm
-rw-r--r--. 1 root root     266704 4月   4 14:28 python-execnet-1.2.0-5.el7.noarch.rpm
-rw-r--r--. 1 root root     208808 4月   4 14:28 python-flask-0.10.1-4.el7.noarch.rpm
-rw-r--r--. 1 root root      24104 4月   4 14:28 python-itsdangerous-0.23-2.el7.noarch.rpm
-rw-r--r--. 1 root root     527832 4月   4 14:28 python-jinja2-2.7.2-2.el7.noarch.rpm
-rw-r--r--. 1 root root     273012 4月   4 14:28 python-kitchen-1.1.1-5.el7.noarch.rpm
-rw-r--r--. 1 root root      25792 4月   4 14:28 python-markupsafe-0.11-10.el7.x86_64.rpm
-rw-r--r--. 1 root root     149260 4月   4 14:28 python-rados-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root      80628 4月   4 14:28 python-rbd-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root      22716 4月   4 14:28 python-remoto-0.0.25-1.el7.noarch.rpm
-rw-r--r--. 1 root root      95804 4月   4 14:28 python-requests-2.6.0-1.el7_1.noarch.rpm
-rw-r--r--. 1 root root     406404 4月   4 14:28 python-setuptools-0.9.8-7.el7.noarch.rpm
-rw-r--r--. 1 root root      29404 4月   4 14:28 python-six-1.9.0-2.el7.noarch.rpm
-rw-r--r--. 1 root root     103696 4月   4 14:28 python-urllib3-1.10.2-3.el7.noarch.rpm
-rw-r--r--. 1 root root     575384 4月   4 14:28 python-werkzeug-0.9.1-2.el7.noarch.rpm
-rw-r--r--. 1 root root     443400 4月   4 14:28 rbd-fuse-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root    1655636 4月   4 14:28 rbd-mirror-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root     484532 4月   4 14:28 rbd-nbd-10.2.9-0.el7.x86_64.rpm
-rw-r--r--. 1 root root      25788 4月   4 14:28 redhat-lsb-4.1-27.el7.centos.1.x86_64.rpm
-rw-r--r--. 1 root root      38428 4月   4 14:28 redhat-lsb-core-4.1-27.el7.centos.1.x86_64.rpm
-rw-r--r--. 1 root root      16508 4月   4 14:28 redhat-lsb-cxx-4.1-27.el7.centos.1.x86_64.rpm
-rw-r--r--. 1 root root      20924 4月   4 14:28 redhat-lsb-desktop-4.1-27.el7.centos.1.x86_64.rpm
-rw-r--r--. 1 root root      18352 4月   4 14:28 redhat-lsb-languages-4.1-27.el7.centos.1.x86_64.rpm
-rw-r--r--. 1 root root      16520 4月   4 14:28 redhat-lsb-printing-4.1-27.el7.centos.1.x86_64.rpm
-rw-r--r--. 1 root root      15624 4月   4 14:28 redhat-lsb-submod-multimedia-4.1-27.el7.centos.1.x86_64.rpm
-rw-r--r--. 1 root root      15616 4月   4 14:28 redhat-lsb-submod-security-4.1-27.el7.centos.1.x86_64.rpm
-rw-r--r--. 1 root root      40932 4月   4 14:28 snappy-1.1.0-3.el7.x86_64.rpm
-rw-r--r--. 1 root root      47508 4月   4 14:28 tree-1.6.0-10.el7.x86_64.rpm
-rw-r--r--. 1 root root      74732 4月   4 14:28 userspace-rcu-0.7.16-1.el7.x86_64.rpm
-rw-r--r--. 1 root root      27676 4月   4 14:28 yum-plugin-priorities-1.1.31-42.el7.noarch.rpm
-rw-r--r--. 1 root root     120184 4月   4 14:28 yum-utils-1.1.31-42.el7.noarch.rpm

1.2 做yum源

参考https://www.jianshu.com/p/286fcef565ab

第三条:

《ceph学习(三) 离线安装ceph_10.9》 image.png

二. 安装ceph-deploy

2.1 安装 ntp与依赖


sudo yum install -y ntp ntpdate ntp-doc  libicu  fuse-libs libaio

2.2.3.允许无密码 SSH 登录

正因为 ceph-deploy 不支持输入密码,你必须在管理节点上生成 SSH 密钥并把其公钥分发到各 Ceph 节点。 ceph-deploy 会尝试给初始 monitors 生成 SSH 密钥对。

生成 SSH 密钥对,但不要用。提示 “Enter passphrase” 时,直接回车,口令即为空:


##生成key
ssh-keygen


Generating public/private key pair.
Enter file in which to save the key (/ceph-admin/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /ceph-admin/.ssh/id_rsa.
Your public key has been saved in /ceph-admin/.ssh/id_rsa.pub.

2.2.4设置hosts

sudo vi /etc/hosts
加上

192.168.1.7(用相对应的IP)  node1
192.168.1.19(用相对应的IP)  node2

2.2.5 把公钥拷贝到各 Ceph 节点上并测试

$ ssh-copy-id  root@node1

$ ssh-copy-id  roo@node2

##测试是否成功

ssh node1

ssh node2

2.2.6 关闭selinux 并重启

sudo vi /etc/selinux/config

2.3 安装ceph-deploy1.5.39

# yum install ceph-deploy -y

# ceph-deploy --version
1.5.39

三. 部署monitor , osd , rgw

3.1 部署monitor

首先, 在系统里防火墙启用ceph monitor osd 等服务所需要的端口.
# 添加端口
firewall-cmd  --zone=public --add-port=6789-8000/tcp --permanent


# 使配置生效
firewall-cmd --reload

# 查防火墙规则
firewall-cmd --zone=public --list-all
或者
firewall-cmd --list-all-zones     

3.1.1 在管理节点node上进行安装准备

 

mkdir /home/ceph-cluster

cd /home/ceph-cluster

3.1.2 安装ceph与ceph-radosgw

注意: 下面切换到root操作

sudo yum install ceph ceph-radosgw -y

3.1.3 创建一个群集

cd /home/ceph-cluster

ceph-deploy new node1 

3.1.4 在生成的ceph.conf中加入(写入[global] 段下)

sudo vi ceph.conf

加入下面一行(2个副本)
osd pool default size = 2

或者:

echo "osd pool default size = 2" >> ceph.conf

如果环境中有多种网络,那么需要在Ceph.conf的[global]部分下增加如下配置。

public network = {ip-address}/{netmask}

3.1.5配置初始 monitor(s)、并收集所有密钥

sudo ceph-deploy mon create-initial

3.1.6如果在任何时候遇到问题并想重新开始,请执行以下操作清除Ceph软件包,并清除所有数据和配置:

ceph-deploy purge {ceph-node} [{ceph-node}]
ceph-deploy purgedata {ceph-node} [{ceph-node}]
ceph-deploy forgetkeys
rm ceph.*

3.2 新建osd (文件夹的方式)

3.2.1添加两个 OSD ,登录到 Ceph 节点、并给 OSD 守护进程创建一个目录。

ssh node2

sudo mkdir /var/local/osd0

sudo chown -R ceph:ceph /var/local/osd0

exit
 

ssh node3

sudo mkdir /var/local/osd1

sudo chown -R ceph:ceph /var/local/osd1
exit

3.2.2 然后,从管理节点执行 ceph-deploy 来准备 OSD

ceph-deploy osd prepare node2:/var/local/osd0 node3:/var/local/osd1

3.2.3 最后,激活 OSD

chown -R ceph:ceph /var/local/osd1/
ceph-deploy osd activate node2:/var/local/osd0 node3:/var/local/osd1

3.21 新建osd节点 (硬盘的方式)以node3主机为例

3.21.1查看osd节点的硬盘情况 ,sda是系统盘, 这里要用/dev/sdb创建osd

[root@node3 ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   50G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   49G  0 part 
  ├─centos-root 253:0    0   47G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
sr0              11:0    1 1024M  0 rom 

3.21.2 在mon上添加一个osd

sudo ceph-deploy osd create node3:/dev/sdb

3.21.3查看是否添加成功

ceph osd tree
ID WEIGHT  TYPE NAME      UP/DOWN REWEIGHT PRIMARY-AFFINITY 
-1 0.02917 root default                                     
-2 0.01459     host node2                                   
 0 0.01459         osd.0       up  1.00000          1.00000 
-3 0.01459     host node3                                   
 1 0.01459         osd.1       up  1.00000          1.00000 

使用ceph-disk 创建osd

Ceph 软件包提供了 ceph-disk 工具,用于准备硬盘:可以是分区或用于 Ceph 的目录。 ceph-disk 可通过递增索引来创建 OSD ID ;还能把 OSD 加入 CRUSH 图。 ceph-disk 的详细用法可参考 ceph-disk -h ,此工具把后面将提到的精简型里面的步骤都自动化了。为按照精简型创建前两个 OSD ,在 node2 和 node3 上执行下列命令:

创建osd挂载目录并改权限

mkdir /var/lib/ceph/osd

chown -R ceph:ceph /var/lib/ceph/osd

准备OSD。

ssh {node-name}
sudo ceph-disk prepare --cluster {cluster-name} --cluster-uuid {uuid} --fs-type {ext4|xfs|btrfs} {data-path} [{journal-path}]

例如:

ssh node1
sudo ceph-disk prepare --cluster ceph --cluster-uuid a7f64266-0894-4f1e-a635-d0aeaca0e993 --fs-type ext4 /dev/hdd1

激活 OSD:

sudo ceph-disk activate {data-path} [--activate-key {path}]

例如:

sudo ceph-disk activate /dev/hdd1

注: 如果你的 Ceph 节点上没有 /var/lib/ceph/bootstrap-osd/{cluster}.keyring ,那么应该外加 –activate-key 参数。

删除osd
ceph osd out 1
systemctl stop ceph-osd@1
ceph osd crush remove osd.1
ceph auth del osd.1
ceph osd rm 1



rm -rf /var/lib/ceph/osd/osd-1

fdisk /dev/sdb

3.3 部署RGW

3.3.1 安装RGW实例

yum install ceph-radosgw -y
ceph-deploy admin node1
ceph-deploy rgw create node1

3.3.2 测试

curl http://node1:7480

如果RGW运行正常,它应该返回类似的信息:

<ListAllMyBucketsResult>
  <Owner>
    <ID>anonymous</ID>
    <DisplayName/>
  </Owner>
  <Buckets/>
</ListAllMyBucketsResult>

3.3.3 打开防火墙

添加7480
firewall-cmd --permanent --add-port=7480/tcp

#reload使生效
firewall-cmd --reload

使用浏览器访问:

《ceph学习(三) 离线安装ceph_10.9》 使用浏览器访问

    原文作者:Joncc
    原文地址: https://www.jianshu.com/p/460b4dafd630
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞