ceph部署步驟


 

環境說明:

ip 服務 主機名 備注
172.20.101.5 ceph、ceph-deploy\mon admin-node mon節點 集群節點
172.20.101.13 ceph ceph1 osd
172.20.101.15 ceph ceph2 osd

 

 

 

 

環境准備:

1關閉selinuxiptables

 

 systemctl stop firewalld

 systemctl disable firewalld

 setenforce 0

 sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config

 setenforce 0

 

 

 

2設置時間同步

yum -y install ntp

systemctl enable ntpd

systemctl start ntpd

ntpdate -u cn.pool.ntp.org

hwclock --systohc

timedatectl set-timezone Asia/Shanghai

 

3修改主機名和host

hostnamectl set-hostname  admin-node

hostnamectl set-hostname  ceph1

hostnamectl set-hostname  ceph2
vim /etc/hosts

172.20.101.5    admin-node

172.20.101.13   ceph1

172.20.101.15   ceph2

 

4設置yum源(已安裝可忽略)

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

 

ceph yum

cat > /etc/yum.repos.d/ceph.repo <<EOF

[ceph]

name=ceph

baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/x86_64/

gpgcheck=0

[ceph-noarch]

name=cephnoarch

baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/noarch/

gpgcheck=0

EOF

yum clean all && yum makecache     #緩存yum源

 

5.配置master節點免密鑰登陸節點

yum install openssh-server -y      #安裝ssh服務器

ssh-keygen

ssh-copy-id root@admin-node

ssh-copy-id root@ceph1

ssh-copy-id root@ceph2

 

 

ceph安裝

Ps:如果在某些地方卡住,想從頭再來,可以用命令清楚配置

Ceph-deploy purgedata  [ceph-node]  [ceph-node]

Ceph-deploy forgetkeys

也可以把安裝包去掉

Ceph-deploy purge [ceph-node]  [ceph-node]

用作k8s 需要安裝ceph-common

 

yum -y install ceph-deploy   #集群節點和mon節點安裝

創建集群目錄:

mkdir /etc/ceph && cd /etc/ceph

ceph-deploy new admin-node

 

 #創建mon節點(有多個在后面增加,但需要安裝ceph-deploy包,如:ceph-deploy new admin-node ceph1 ceph2

ceph-deploy install  admin-node  ceph01  ceph02 --repo-url=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/   

 #安裝ceph服務,並指定阿里源,如果yum安裝ceph則不需要操作

 

此時會生成ceph配置文件

 

vim ceph.conf

[global]

fsid = fb58eb0d-ccfe-43ff-a24a-a46b418ebd4c

mon_initial_members = admin-node

mon_host = 172.20.101.5

auth_cluster_required = cephx

auth_service_required = cephx

auth_client_required = cephx

osd pool default size = 2     #設置默認副本數為2  默認為3


rbd_default_features = 1      #永久改變默認值

osd journal size = 2000        #日志大小設置

public network = 10.0.0.0/16  #如果有多個網卡則需進行網絡配置


#如果是ext4的文件格式需要執行下面兩個配置 (df -T -h|grep -v var查看格式)

osd max object name len = 256

osd max object namespace len = 64

 

集群節點初始化mon節點和密鑰信息

ceph-deploy  mon  create-initial

創建osd節點對應用於存儲的磁盤及掛載目錄(osd節點操作)

mkdir -p /ceph && chown -R ceph.ceph /ceph/

fdisk   /dev/sdb            #對新建磁盤進行分區

依次輸入n  ->   p  ->   1  ->  enter  ->  enter  ->  wq

fdisk -l                 #查看分區的磁盤

mkfs.xfs /dev/sdb1       #格式化分區

mkdir /ceph              #創建掛載目錄
vim
/etc/fstab /dev/sdb1 /ceph xfs defaults 0 0

mount -a #掛載 df -h #查看創建情況 chown -R ceph.ceph /ceph/ #設置屬主和屬組

 

 

在集群節點操作:

ceph-deploy osd prepare admin-node:/ceph ceph1:/ceph ceph2:/ceph           #准備創建osd

ceph-deploy osd activate admin-node:/ceph ceph1:/ceph ceph2:/ceph          #激活osd

 

ceph-deploy admin admin-node ceph01 ceph02  #admin密鑰拷貝到管理節點和ceph節點,之后ceph命令就無需指定monitor地址和ceph.client.admin.keyring

chmod +r /etc/ceph/ceph.client.admin.keyring   #設置權限

ceph-deploy mon create admin-node         #創建mon節點,多個需要安裝ceph-deploy

 

ceph health #查看集群健康狀況

ceph -s   #查看集群狀況

Ceph df   #查看集群磁盤

Ceph osd tree  #查看歐舒丹的節點狀態

Ceph-deploy  osd list admin-node  ceph1 ceph2  #查看osd狀態和數據存放位置

Ceph quorum_status --format json-pretty  #查看集群mon選舉狀態

 

添加osd

在新加節點上掛載目錄/ceph,並創建磁盤分區格式化掛載

ceph-deploy osd prepare node3:/ceph   #准備創建新家的osd

ceph-deploy osd activate node3:/ceph  #激活osd

ceph -w    # 一旦你新加了 OSD , Ceph 集群就開始重均衡,把歸置組遷移到新 OSD ,此命令查看遷移過程

 

 

添加元數據服務器

使用cephfs必須要一個元數據服務器

ceph-deploy mds create admin-node   #創建元數據服務器

 

添加rgw

要使用ceph對象網關組件,必須部署rgw

 

 

ceph-deploy rgw create admin-node

RGW 例程默認會監聽 7480 端口,可以更改該節點 ceph.conf 內與 RGW 相關的配置

vim ceph.conf

[client]

rgw frontends = civetweb port=80   #修改端口

 

 

添加monitor

ceph-deploy mon add ceph1 ceph2

ceph quorum_status --format json-pretty  #新增 Monitor 后,Ceph 會自動開始同步並形成法定人數,此命令查看法定人數狀態

 

配置塊設置:

lsb_release -a

uname -r    #使用4.1.4 或者之后的,否則可能有問題,低於則升級內核

升級步驟:

export Kernel_Version=4.18.9-1

wget  http://mirror.rc.usf.edu/compute_lock/elrepo/kernel/el7/x86_64/RPMS/kernel-ml{,-devel}-${Kernel_Version}.el7.elrepo.x86_64.rpm

yum localinstall -y kernel-ml*

grub2-set-default  0 && grub2-mkconfig -o /etc/grub2.cfg  #修改啟動順序,使升級內核為默認啟動內核

grubby --default-kernel     #查看是否升級成功

reboot

 

管理節點通過ceph-deploy安裝ceph-client

ceph-deploy install ceph3  #節點安裝ceph

ceph-deploy admin ceph3    #拷貝ceph配置文件和密鑰信息

chmod +r /etc/ceph/ceph.client.admin.keyring    #設置可操作的權限

 

配置:

rbd create foo --size 4096 [-m {mon-IP}] [-k /path/to/ceph.client.admin.keyring]  #如果沒加入admin配置拷貝步驟需要加入-m 和-k選項 指定monitor ip和密鑰文件
如:rbd create rbd/test1 --size 1G --image-format 2 --image-feature  layering     # 在rbd pool下創建名為test1,大小為1G  鏡像格式為2  feature 為layering 的鏡像

rbd map rbd/test1  #將  images 映射為塊設備 ,或輸出一個/dev/rbd/rbd/test

 

然后格式化 ,操作同上門集群配置

mkfs.ext4 -m0  /dev/rbd/rbd/test1    #此命令耗時較長

然后在節點掛載

mkdir /ceph

mount /dev/rbd/rbd/test1 /ceph

 

配置cephfs文件系統

 

一、啟用cephfs

 

Ceph文件系統至少需要兩個RADOS池,一個用於數據,一個用於元數據

 

啟用mds服務

# ceph-deploy mds create node01

創建數據pool

ceph osd pool create cephfs_data 128

創建Metadata

ceph osd pool create cephfs_metadata 128

啟用pool

ceph fs new cephfs cephfs_metadata cephfs_data

查看cephfs

ceph fs ls

**二、掛載cephfs **

 

掛載cephfs有兩種方式,kernel driverfuse

 

1kernel driver掛載

 

關閉認證情況下

sudo mkdir /mnt/wyl

sudo mount -t ceph 192.168.0.1:6789:/ /mnt/wyl

設置開機自動掛載/etc/fstab

 

172.16.70.77:6789:/     /mnt/ceph    ceph   noatime,_netdev    0       2

 

啟用認證

 

# cat ceph.client.admin.keyring

[client.admin]

key = AQBSdU5bT27AKxAAvKoWQdGpSuNRCHjC4B8DVA==

 

# mount -t ceph 172.16.70.77:6789:/ /wyl  -o name=admin,secret=AQBSdU5bT27AKxAAvKoWQdGpSuNRCHjC4B8DVA==

 

 

設置開機自動掛載/etc/fstab

 

172.16.70.77:6789:/     /mnt/ceph    ceph    name=admin,secretfile=/etc/ceph/secret.key,noatime,_netdev    0       2  

 

注意:檢查是否啟用cephx認證方法,如果值為none為禁用,cephx為啟用

 

[root@node1 ceph]# cat /etc/ceph/ceph.conf   | grep auth | grep required

auth_cluster_required = cephx

auth_service_required = cephx

auth_client_required = cephx

 

2fuse掛載

 

安裝掛載工具

 

# yum -y install ceph-fuse ceph
將存儲節點的admin秘鑰拷貝到本地 #
ssh root@node1 "ceph-authtool -p /etc/ceph/ceph.client.admin.keyring" > admin.key root@node1’s password: 賦予權限 # chmod 600 admin.key

 

執行掛載

參考官網

http://docs.ceph.org.cn/cephfs/fuse/

sudo mkdir /home/usernname/cephfs

sudo ceph-fuse -m 192.168.0.1:6789 /home/username/cephfs

# mount -t ceph node1:6789:/ /mnt -o name=admin,secretfile=admin.key

# df -hT

設置開機自動掛載/etc/fstab

id=admin,conf=/etc/ceph/ceph.conf  /mnt fuse.ceph defaults 0 0

mds可以同時啟用多個節點,不同的client掛載不同mds存儲節點,不同client可以同時寫數據,數據是共享的

 

3windows掛載:

https://github.com/ksingh7/ceph-cookbook/tree/master/ceph-dokan

 

————————————————

文檔:http://docs.ceph.org.cn/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM