CEPH篇 CEPH部署(在線和離線 Centos 7)

引入

  這篇只記錄部署,若是須要概念理解,則前往其餘篇章查看。暫時不包含MDS的部署,由於不許備使用文件系統,因此不須要元數據服務器html

  在線部署和離線部署差異只在包的下載,若是在線部署過了,那麼資源包能夠放入U盤,下次就能夠離線部署。linux

正文

部署準備

關閉防火牆和selinux

systemctl stop firewalld systemctl disable firewalld setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

修改主機名

各個機器下分別執行以下命令vim

hostnamectl set-hostname host145 hostnamectl set-hostname host146 hostnamectl set-hostname  host147

修改後在每臺機器上修改/etc/hosts文件centos

10.1.12.145 host145 10.1.12.146 host146 10.1.12.147  host147

配置SSH互信

選擇一臺部署主機,這邊選擇host146,在root用戶下開啓SSH互信操做api

在部署節點上, 使用這個命令ssh-keygen 一路回車 ,生成公鑰。 而後經過命令ssh-copy-id -i  ~/.ssh/id_rsa.pub {hostname} 把公鑰複製到部署須要設計的主機上。 Ssh hostname測試是否成功。

配置yum(分爲在線和離線)

在線
#連接阿里雲的配置 rm -rf /etc/yum.repo.d/ *.repo #CentOS 7 源設置 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
 #epel 倉庫源 wget -O /etc/yum.repos.d/epel.repo  http://mirrors.aliyun.com/repo/epel-7.repo

編輯 Ceph.repo源:緩存

[ceph-nautilus] name=ceph-nautilus baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64/ enabled=1 gpgcheck=0 [ceph-nautilus-noarch] name=ceph-nautilus-noarch baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/ enabled=1 gpgcheck=0 
#生成緩存 yum  clean all, yum makecache #生成包 yum install ceph-14.2.2-0.el7   ceph-deploy
離線
#安裝 createrepo rpm包 yum install httpd #開啓httpd服務: systemctl start httpd #複製全部的ceph和第三方的rpm包到(包已經提早準備好,若是沒有包則使用在線部署) 10.1.12.146: /var/www/html/ceph/ #執行命令 createrepo /var/www/html/ceph/ #在須要安裝的客戶端配置 repo 文件 /etc/yum.repos.d/ceph.repo [ceph_local] name=ceph baseurl=http://10.1.12.146/ceph/ 
gpgcheck=0 #將此ceph.repo 複製到每一個主機 /etc/yum.repo.d/目錄中。 scp ceph.repo  root@host145:/etc/yum.repos.d/
scp ceph.repo  root@host147:/etc/yum.repos.d/

NTP安裝

#安裝 yum install ntp #執行 最好在局域網內,創建本身的時間同步源。其中ntpdate 是客戶端命令, 鏈接時間同步服務器,修改本身的時間。 必定要同步時間, ntpdate -s time-b.nist.gov

修改配置文件安全

#修改 /etc/ntp.conf文件 #註釋下面4行 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 127.127.1.0 fudge  127.127.1.0 stratum 10

驗證下負載均衡

ntpq –p –-查看ceph-admin的ntp服務器是否爲自身 remote refid st t when poll reach delay offset jitter ==========================================================================
*LOCAL(0)        .LOCL.          10 l  28   64  377   0.000    0.000   0.000 這樣的輸出證實已經配置成功了。

配置其餘節點ssh

#其餘服務器都鏈接admin節點,其中段: server 210.72.145.44 iburst Server 10.1.12.146 -----------–爲ceph-admin的IP fudge  127.127.1.0 stratum 11

重啓後檢查

systemctl restart ntpd systemctl enable ntpd #查看是否爲ceph-admin ntpq –p #結果以下 remote refid st t when poll reach delay offset jitter ===========================================================================
*ceph-admin      LOCAL(0)        11 u  13   64    1   1.236   -0.700   0.000 Remote :*ceph-admin Refid :LOCAL(0) 若是是其餘的,如:refid:init就爲配置不成功,按此步驟在其餘節點進行配置。

部署CEPH

部署ceph和ceph-deploy  

在全部上都安裝ceph,主節點上額外安裝ceph-deploy

#每一個主機安裝 ceph yum install ceph #Admin節點安裝 yum install ceph-deploy

部署監控節點(mon)

添加節點

#在管理節點上 cd /root/ceph ceph-deploy new host146 host145 host147 #修改這個文件,添加: overwrite_conf = true vim / root/.cephdeploy.conf

部署mon

mkdir  -p /etc/ceph/  
mkdir /var/lib/ceph #ceph用戶是ceph的默認用戶,不要去新建哦 chown  ceph:ceph -R /var/lib/ceph #(必須當前目錄有ceph.mon.keyring) ceph-deploy  --overwrite-conf  mon create-initial

重啓命令

#host是主機 systemctl restart/start/stop  ceph-mon@host

部署mgr

ceph-deploy mgr create host146 ps -ef | grep ceph 查找host #重啓 systemctl restart/start/stop  ceph-mgr@host

部署OSD

先要有掛載磁盤,用系統盤也能夠,可是並不安全,這裏有兩個方案

  1.找幾臺新機器,OSD掛載的目錄反正隨便定,新機器上的數據都無所謂

  2.額外掛載磁盤,能夠對掛載磁盤作虛擬化,LVM,能夠部署更多OSD

能夠執行lsblk命令查看,若是磁盤已經被掛載,則會報錯哦

#新版本ceph默認是 bluetore .使用以下命令 ceph-deploy --overwrite-conf   osd create  --data /dev/vdb $HOSTNAME #查看 集羣硬盤樹編號。(部署節點) 須要拷貝配置文件(ceph.conf)到/etc/ceph/!!!不然會鏈接不到集羣 ceph osd tree #重啓 systemctl restart/start/stop  ceph-osd@0, 1, 2,3,

部署RGW

#單機的只須要在一臺服務器上安裝, 若是負載均衡,能夠安裝3臺服務器。S 如今安裝在146 yum  install  ceph-radosgw #或者 ceph-deploy install  --rgw   wn

啓動

ceph-deploy   --overwrite rgw create host173(主機名) #查看啓動端口爲7480 #檢查服務是否啓動 ps aux|grep radosgw #重啓 這個id能夠經過查看rados進程,查看名稱獲得,例如rgw.host146 systemctl restart/start/stop  ceph-radosgw@id

桶分片

# 若是每一個桶中對象數量較少,好比小於10000, 能夠不操做此步驟, 大於10萬對象,必定要設置下面的參數。 #若是設計方案中,一個桶中存儲對象數量大於幾千萬,須要關閉動態分片, 同時設置最大分片數量。 #在 radosgw 進程所在的服務器。 vi  /etc/ceph.conf #桶動態分片默認開啓 rgw_dynamic_resharding = false #桶中最大分片的數量 , rgw_override_bucket_index_max_shards=16 #重啓服務。(rgw)

創建帳號(S3)

# system參數是爲了使用dashboard,該帳號能夠再頁面上看到數據 radosgw-admin user create --uid testid --display-name 'M. Tester'  --system #記住這兩個東西 "access_key": "secret_key":
#部署失敗返回錯誤的處理方法: #只有創建 bucket , 上傳一個對象後, 才能出現 default.rgw.buckets.data池, 而後調整pg num . #這個時候,解決pg/osd 太少的警報。 #部署時候若是遇到 rgw 失敗,現實的日誌爲: # 0 ext_mime_map_init failed to open file=/etc/mime.types : (2) No such file or ##directory #7f709e8c48c0 -1 ERROR: unable to initialize rgw tools #這是由於沒有 /etc/mime.types #須要安裝 yum install mailcap #若是啓動失敗, 有時候須要將 /var/lib/ceph/radosgw 的用於 root 改爲 ceph . chown ceph:ceph –R  *

部署dashboard

yum install ceph-mgr-dashboard ceph dashboard create-self-signed-cert #寫上帳號和密碼 ceph dashboard set-login-credentials  admin admin

打開頁面後長這樣:

這時候你有可能(就是如此)在object gateway裏面看不到bucket內容,須要再添加一個命令:

$ ceph dashboard set-rgw-api-access-key <access_key> $ ceph dashboard set-rgw-api-secret-key <secret_key>

若是你忘記了你的帳戶,或者須要新建一個帳戶:

$ radosgw-admin user create --uid=<user_id> --display-name=<display_name> \ --system

若是是忘了兩個key

$ radosgw-admin user info --uid=<user_id>

這樣就能夠啦,完

相關文章
相關標籤/搜索