- 说明
第一台主机ip是
192.168.122.19
,作为管理节点
第二台主机ip是192.168.122.191
,作为存储节点,第二台主机需要2块硬盘,操作系统装到第一块硬盘,第二块用于ceph
- 配置本地源(所有主机)
把
ceph-pkg.tar.gz
放到每个主机/opt
目录下
cd /opt
tar xzvf ceph-pkg.tar.gz
mv ceph-pkg.repo /etc/yum.repos.d
cd /etc/yum.repos.d
mkdir bak
mv C* bak/
yum makecache
yum install -y epel-release
mv epel.repo epel-testing.repo bak
- 修改配置
sudo vi /etc/centos-release
CentOS Linux release 7.5.1804 (Core)
注:原来是
DeltaOS8Server release 8.0.2 (Core)
- 关防火墙(所有主机)
- 停止
firewall
:
systemctl stop firewalld.service
systemctl disable firewalld.service
- 停止
NetworkManager
:
systemctl stop NetworkManager
systemctl disable NetworkManager
- 关闭
selinux
vi /etc/selinux/config
#SELINUX=enforcing SELINUX=disabled
- 重启
reboot
- 修改hostname(所有主机)
vi /etc/hostname
node1
reboot
注:第二台主机是node2
- 配置hosts(所有主机)
vi /etc/hosts
192.168.122.19 node1 admin-node 192.168.122.191 node2
- 配置chrony(所有主机)
- 下载:
yum install chrony
- 配置:
vi /etc/chrony.conf
image.png#server 0.centos.pool.ntp.org iburst #server 1.centos.pool.ntp.org iburst #server 2.centos.pool.ntp.org iburst #server 3.centos.pool.ntp.org iburst server ntp1.aliyun.com iburst
- 启动
systemctl enable chronyd
systemctl start chronyd
- 创建用户(所有主机)
- 账号
adduser cephuser
passwd cephuser
- 添加sudoers文件的写权限
chmod u+w /etc/sudoers
- 配置sudo无需密码
vi /etc/sudoers
root ALL=(ALL) ALL
下添加cephuser ALL=(ALL) NOPASSWD: ALL
- 删除写权限
chmod u-w /etc/sudoers
- (管理节点)
- 在管理节点使用cephuser用户执行创建ssh秘钥,并拷贝到各个节点(注意,这里面的命令要一行一行执行,没法连续)
su cephuser
ssh-keygen
ssh-copy-id cephuser@node1
ssh-copy-id cephuser@node2
exit
注:正因为 ceph-deploy 不支持输入密码,你必须在管理节点上生成 SSH 密钥并把其公钥分发到各 Ceph 节点。- 配置ceph-deploy自动登录(管理节点)
su cephuser
vi ~/.ssh/config
Host node1 Hostname node1 User cephuser Host node2 Hostname node2 User cephuser
exit
- 下载 ceph-deploy (管理节点)
yum install ceph-deploy python-pip -y
- 开始
- 创建目录(管理节点,使用cephuser)
su cephuser
cd ~
mkdir my-cluster
cd my-cluster
注:这个目录用于保存 ceph-deploy 生成的配置文件和密钥对。- 创建集群(管理节点,在my-cluster目录下)
sudo chmod 600 /home/cephuser/.ssh/config
ceph-deploy new node1
image.png
注:如果出现ImportError: No module named pkg_resources
,那么安装pip:yum -y install python-pip
,再执行本指令- 修改默认的3个OSD节点为1个
vi ceph.conf
[global] ... osd pool default size = 1
- 安装ceph
ceph-deploy install node1 node2 --local-mirror=/opt/ceph-pkg/ --no-adjust-repos --release=kraken
注:第一个node即node1就是管理节点(admin-node)
注意:如果出现[ceph_deploy][ERROR ] RuntimeError: NoSectionError: No section: 'ceph'
,那么是超时造成的,再执行一遍命令就行。- 配置初始 monitor(s)
ceph-deploy mon create-initial
image.png- 把keyring文件分发到各个节点
ceph-deploy admin admin-node node1 node2
- 部署 manager
ceph-deploy mgr create node1
- 创建osd目录
ssh node2
sudo mkdir /data/osd2 -p
exit
- 准备osd
ceph-deploy osd create node2 --data /dev/vdb
注:这里node2
需要额外挂载一块磁盘,名字不一定是vdb
,可以在node2
中通过sudo fdisk -l
查看- 查看健康
sudo chmod 755 /etc/ceph/ceph.client.admin.keyring
ceph health
image.png- 查看集群状态及存储(node1 node2都可以)
ceph -s
image.png- 动态查看集群状态(相当于 tail)
ceph -w
引用:使用ceph-deploy安装Ceph 12.x
官网:存储集群快速入门
- 用法
- 创建2个存储池
ceph osd pool create pool1 64
ceph osd pool create pool2 64
- 查看存储池
ceph osd lspools
image.png
引用:存储池- 创建文件系统
ceph fs new cephfs pool1 pool2
image.png
根据上图可以看出 pool1作为元数据存储,pool2作为数据存储- 查看文件系统
ceph fs ls
image.png- 查看mds状态
ceph mds stat
image.png- 创建元数据服务器(非常重要,涉及到cephfs能否挂载)
ceph-deploy mds create node1
- 再次查看
ceph mds stat
image.png- 查询密码
cat /etc/ceph/ceph.client.admin.keyring
key = AQAqhz1cnZIOExAAwU9l6vfCx8lBt1sfp8HFXQ==
- 挂载
mount -t ceph 192.168.122.19:/ /home/mnt/ -o name=admin,secret=AQAqhz1cnZIOExAAwU9l6vfCx8lBt1sfp8HFXQ==
网友评论