一、前期准备
1、修改主机名,后面使用到的节点名称就是对应的主机名称
把主机名称修改为admin03
[root@admin03 ~]# hostnamectl set-hostname admin03
2、关闭selinux和firewall
[root@admin03 ~]# setenforce 0
[root@admin03 ~]# sed -i "s/SELINUX=enforcing/SELINUX=permissive/g" /etc/selinux/config
[root@admin03 ~]# systemctl disable firewalld.service
[root@admin03 ~]# systemctl stop firewalld.service
3、修改hosts文件
首先使用$ ip addr查看主机的内网IP地址,结果如下图示,主机内网IP地址为192.168.47.103/24,此IP地址非常重要,之后频繁使用。
然后将IP地址和主机名称写入hosts文件
# 192.168.47.103 为内网IP,admin03为节点名称
echo "192.168.47.103 admin03" >> /etc/hosts
二、安装ceph-deploy
首先配置 ceph 源,可以自己编写,也可使用如下阿里云提供的源:
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
cat <<END >/etc/yum.repos.d/ceph.repo
[norch]
name=norch
baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/
enabled=1
gpgcheck=0
[x86_64]
name=x86_64
baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64/
enabled=1
gpgcheck=0
END
配置源后,开始执行yum安装
yum -y install ceph-deploy && yum -y install ceph ceph-radosgw python-setuptools python2-subprocess32
三、运行Ceph
进入文件目录,后续命令都是在该目录下执行
[root@admin03 ~]# cd /etc/ceph/
初始化ceph集群
[root@admin03 ceph]# ceph-deploy new admin03
[ceph_deploy.conf][DEBUG ] found configuration file at: /root/.cephdeploy.conf
[ceph_deploy.cli][INFO ] Invoked (2.0.1): /usr/bin/ceph-deploy new admin03
[ceph_deploy.cli][INFO ] ceph-deploy options:
[ceph_deploy.cli][INFO ] username : None
[ceph_deploy.cli][INFO ] func : <function new at 0x7fb32b026d70>
[ceph_deploy.cli][INFO ] verbose : False
[ceph_deploy.cli][INFO ] overwrite_conf : False
[ceph_deploy.cli][INFO ] quiet : False
[ceph_deploy.cli][INFO ] cd_conf : <ceph_deploy.conf.cephdeploy.Conf instance at 0x7fb32a7a8170>
[ceph_deploy.cli][INFO ] cluster : ceph
[ceph_deploy.cli][INFO ] ssh_copykey : True
[ceph_deploy.cli][INFO ] mon : ['admin03']
[ceph_deploy.cli][INFO ] public_network : None
[ceph_deploy.cli][INFO ] ceph_conf : None
[ceph_deploy.cli][INFO ] cluster_network : None
[ceph_deploy.cli][INFO ] default_release : False
[ceph_deploy.cli][INFO ] fsid : None
[ceph_deploy.new][DEBUG ] Creating new cluster named ceph
[ceph_deploy.new][INFO ] making sure passwordless SSH succeeds
[admin03][DEBUG ] connected to host: admin03
[admin03][DEBUG ] detect platform information from remote host
[admin03][DEBUG ] detect machine type
[admin03][DEBUG ] find the location of an executable
[admin03][INFO ] Running command: /usr/sbin/ip link show
[admin03][INFO ] Running command: /usr/sbin/ip addr show
[admin03][DEBUG ] IP addresses found: [u'192.168.47.103']
[ceph_deploy.new][DEBUG ] Resolving host admin03
[ceph_deploy.new][DEBUG ] Monitor admin03 at 192.168.47.103
[ceph_deploy.new][DEBUG ] Monitor initial members are ['admin03']
[ceph_deploy.new][DEBUG ] Monitor addrs are ['192.168.47.103']
[ceph_deploy.new][DEBUG ] Creating a random mon key...
[ceph_deploy.new][DEBUG ] Writing monitor keyring to ceph.mon.keyring...
[ceph_deploy.new][DEBUG ] Writing initial config to ceph.conf...
修改ceph.conf配置文件为单节点:
[root@admin03 ceph]# echo "osd pool default min_size = 1" >>ceph.conf
[root@admin03 ceph]# echo "osd pool default size = 1" >>ceph.conf
[root@admin03 ceph]# echo "public_network =192.168.47.103/24" >>ceph.conf
初始化ceph的监控,启动mon 进程。目录下会新生成ceph.client.admin.keyring 等5个配置文件
[root@admin03 ceph]# ceph-deploy mon create-initial
[ceph_deploy.conf][DEBUG ] found configuration file at: /root/.cephdeploy.conf
[ceph_deploy.cli][INFO ] Invoked (2.0.1): /usr/bin/ceph-deploy mon create-initial
[ceph_deploy.cli][INFO ] ceph-deploy options:
[ceph_deploy.cli][INFO ] username : None
[ceph_deploy.cli][INFO ] verbose : False
[ceph_deploy.cli][INFO ] overwrite_conf : False
[ceph_deploy.cli][INFO ] subcommand : create-initial
[ceph_deploy.cli][INFO ] quiet : False
[ceph_deploy.cli][INFO ] cd_conf : <ceph_deploy.conf.cephdeploy.Conf instance at 0x7fe2a7726d88>
[ceph_deploy.cli][INFO ] cluster : ceph
[ceph_deploy.cli][INFO ] func : <function mon at 0x7fe2a777c398>
[ceph_deploy.cli][INFO ] ceph_conf : None
[ceph_deploy.cli][INFO ] default_release : False
[ceph_deploy.cli][INFO ] keyrings : None
[ceph_deploy.mon][DEBUG ] Deploying mon, cluster ceph hosts admin03
[ceph_deploy.mon][DEBUG ] detecting platform for host admin03 ...
[admin03][DEBUG ] connected to host: admin03
[admin03][DEBUG ] detect platform information from remote host
[admin03][DEBUG ] detect machine type
[admin03][DEBUG ] find the location of an executable
[ceph_deploy.mon][INFO ] distro info: CentOS Linux 7.5.1804 Core
[admin03][DEBUG ] determining if provided host has same hostname in remote
[admin03][DEBUG ] get remote short hostname
[admin03][DEBUG ] deploying mon to admin03
[admin03][DEBUG ] get remote short hostname
[admin03][DEBUG ] remote hostname: admin03
[admin03][DEBUG ] write cluster configuration to /etc/ceph/{
cluster}.conf
[admin03][DEBUG ] create the mon path if it does not exist
[admin03][DEBUG ] checking for done path: /var/lib/ceph/mon/ceph-admin03/done
[admin03][DEBUG ] done path does not exist: /var/lib/ceph/mon/ceph-admin03/done
[admin03][INFO ] creating keyring file: /var/lib/ceph/tmp/ceph-admin03.mon.keyring
[admin03][DEBUG ] create the monitor keyring file
[admin03][INFO ] Running command: ceph-mon --cluster ceph --mkfs -i admin03 --keyring /var/lib/ceph/tmp/ceph-admin03.mon.k eyring --setuser 167 --setgroup 167
[admin03][INFO ] unlinking keyring file /var/lib/ceph/tmp/ceph-admin03.mon.keyring
[admin03][DEBUG ] create a done file to avoid re-doing the mon deployment
[admin03][DEBUG ] create the init path if it does not exist
[admin03