1. 程式人生 > >使用ceoh-deploy工具快速部署ceph--先決條件準備

使用ceoh-deploy工具快速部署ceph--先決條件準備

最近按照ceph的官方文件來部署ceph,發現遇到了不少的問題,其中很多問題都是安裝部署的時候遇到的坑,在這裡提出來和大家一起分享探討,如有不足之處歡迎評論。

筆者這裡使用的作業系統:CentOS7.2
記憶體:4G
cpu:2核
硬碟:50G
核心為3.10
虛擬化平臺:vmwareworkstation12
ceph版本:jewel
部署架構則按照官檔上給出的部署架構來實行部署。
這裡寫圖片描述

這裡我準備了四個虛擬節點分別為controllernode,ceph-1,ceph-2,ceph-3。其中controllernode充當部署角色,為下面的三個ceph節點部署配置。下面給出網路拓撲,其中ceph_public用使用的橋接網段,ceph_cluster使用僅主機模式橋接到私網網段:

controllernode
ceph_public:192.168.1.11
ceph_cluster:192.168.59.129

ceph-1
ceph_public:192.168.1.9
ceph_cluster:192.168.59.130

ceph-2
ceph_public:192.168.1.10
ceph_cluster:192.168.59.131

ceph-3
ceph_public:192.168.1.12
ceph_cluster:192.168.59.132

安裝部署前需要解決的先決條件:

1.在安裝系統之前,建議安轉最小化的系統版本,針對有什麼再裝的需求。

2.安裝完作業系統之後將所有的節點IP修改成靜態IP,並且開啟network與NetworkManager服務同時檢查網絡卡出於連結狀態。

注:此操作在四個節點上都需要執行

#/sbin/chkconfig network on
#systemctl enable NetworkManager
#systemctl start network
#systemctl start NetworkManager
#nmcli connect show

這裡寫圖片描述

如果發現網絡卡的連結裝置不是active的狀態請嘗試重啟NetworkManager服務。

#systemctl restart NetworkManager

重啟之後可以看到裝置均處於連結狀態:
這裡寫圖片描述

修改為靜態IP地址,為所有的節點

nmcli connect modify eno16777736 ipv4.addresses "192.168.1.9/24 192.168.1.1" ipv4.method manual
nmcli connection modify eno16777736 connection.autoconnect yes
nmcli connection modify eno16777736 ipv4.dns "114.114.114.114"
nmcli connect modify eno33554960 ipv4.addresses "192.168.59.130/24" ipv4.method manual
nmcli connection modify eno33554960 connection.autoconnect yes
nmcli connection modify eno16777736 ipv4.dns "0.0.0.0"

關閉防火牆(因為是實驗環境所以不考慮防火牆限制)

在CentOS7中系統給了很多防火牆,但是預設開啟的只有firewalld,這裡考慮到可能有和筆者環境不一樣的情況,所以給出了所有防火牆的清理方法。ps:如果是新裝的系統那麼只需要把firewalld防火牆禁用關閉就好。

注:此操作在四個節點上都需要執行

systemctl disable iptables
systemctl disable ip6tables
systemctl disable ebtables
systemctl disable firewalld
systemctl stop iptables
systemctl stop ebtables
systemctl stop ip6tables
systemctl stop firewalld

關閉selinux

注:此操作在四個節點上都要操作

setenforce 0
vim /etc/selinux/config
修改配置項為SELINUX=disabled

構造yum倉庫

按照官方給出的文件,yum倉庫指定的是ceph官網的yum倉庫,但是很多時候在國內的童鞋們可能不一定有那麼好的網路條件來訪問國外網站所以這裡我給出了兩種構造方案。如果你喜歡偷懶並且覺得網路良好可以考慮直連外網。如果覺得網路情況不好的情況下可以ceph-deploy的預設yum源的地址,這裡給出yum源的內容方便大家使用。

ceph官網的yum源

[ceph-noarch]
name=Ceph noarch packages
baseurl=http://download.ceph.com/rpm-jewel/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

阿里雲給出的yum源

[Ceph]
name=Ceph packages for $basearch
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/$basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.aliyun.com/ceph/keys/release.asc
priority=1

[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/$basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.aliyun.com/ceph/keys/release.asc
priority=1

[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/$basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.aliyun.com/ceph/keys/release.asc
priority=1

我們可以通過下面兩種方法來修改下ceph-deploy工具中所預設的yum源。在這裡需要注意請現在ceph-deploy上更新一下yum源,因為你要先安裝ceph-deploy工具在controllernode上。

通過命令來修改

在ceph-deploy工具安裝好之後,可以考慮用命令或者匯入環境變數的方法來修改我們想在ceph叢集上使用什麼yum源了。

 #ceph-deploy repo --repo-url http://mirrors.aliyun.com/ceph/rpm-jewel/el7/x86_64 --gpg-url http://mirrors.aliyun.com/ceph/keys/release.asc ceph ceph-3

通過在ceph-deploy節點上匯入環境變數來配置,這種配置方法可以不需要像上面步驟那樣需要給每個節點來設定一個yum源,操作方便。

export CEPH_DEPLOY_REPO_URL=http://mirrors.aliyun.com/ceph/rpm-jewel/el7
export CEPH_DEPLOY_GPG_URL=http://mirrors.aliyun.com/ceph/keys/release.asc

在四個節點上部署ntp服務,並且做配置

安裝ntp服務在伺服器端執行

yum install -y ntp ntpdate ntp-doc

安裝ntpclient

yum install -y  ntpdate

配置NTP服務,在這裡我們可以把ceph的叢集都指向ceph-deploy的時間伺服器上,而ceph-deploy則作為ceph叢集的時間伺服器server端。

在ceph-deploy端部署ntp服務之後,在/etc/ntp.conf中追加如下:

server 210.72.145.44
server 202.112.10.36
server 59.124.196.83

註釋掉之前的安裝預留的NTP地址

#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
#systemctl restart ntpd

ceph-1,ceph-2,ceph-3的ntp客戶端中寫入時間同步的計劃任務

crontab -e
10 * * * * root /usr/sbin/ntpdate 192.168.1.11; /sbin/hwclock -w
systemctl status crond
crontab -l(檢視計劃任務是否寫入)

在所有節點上安裝SSH伺服器

yum install -y openssh-server

建立部署ceph的使用者。這裡預設我們使用Bob_Hou來作為ceph的普通使用者

ceph-deploy 工具必須以普通使用者登入 Ceph 節點,且此使用者擁有無密碼使用 sudo 的許可權,因為它需要在安裝軟體及配置檔案的過程中,不必輸入密碼。
較新版的 ceph-deploy 支援用 –username 選項提供可無密碼使用 sudo 的使用者名稱(包括 root ,雖然不建議這樣做)。使用 ceph-deploy –username {username} 命令時,指定的使用者必須能夠通過無密碼 SSH 連線到 Ceph 節點,因為 ceph-deploy 中途不會提示輸入密碼。

我們建議在叢集內的所有 Ceph 節點上給 ceph-deploy 建立一個特定的使用者,但不要用 “ceph” 這個名字。全叢集統一的使用者名稱可簡化操作(非必需),然而你應該避免使用知名使用者名稱,因為黑客們會用它做暴力破解(如 root 、 admin、 {productname} )。後續步驟描述瞭如何建立無 sudo 密碼的使用者,你要用自己取的名字替換 {username} 。

新增新使用者:

useradd -d /home/Bob_Hou -m Bob_Hou
passwd Bob_Hou

確保各ceph節點上新建立的使用者都有sudo許可權:

echo "Bob_Hou ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/Bob_Hou
chmod 0440 /etc/sudoers.d/Bob_Hou

使ceph的各個節點之間能夠域名解析,在這裡最簡單的辦法就是使用hosts檔案。檔案內容如下:

修改hostname,在每個節點上都需要修改

hostnamectl set-hostname controllernode
hostnamectl set-hostname ceph-1
hostnamectl set-hostname ceph-2
hostnamectl set-hostname ceph-3

編輯/etc/hosts檔案,在下面追加:

192.168.1.10 ceph-2
192.168.1.9  ceph-1
192.168.1.12 ceph-3
192.168.1.11 controllernode

允許無密碼SSH登入

在ceph-deploy中使用Bob_Hou(你建立的普通賬戶來登入)然後執行ssh-keygen命令,想偷懶點直接敲三下回車就好了。我們製作好公鑰之後將它分發到各個節點上去。

ssh-copy-id [email protected]1
ssh-copy-id [email protected]2
ssh-copy-id [email protected]3

完成以上步驟之後基本上你可以獲得一個比較好的環境來安裝ceph了。

相關推薦

使用ceoh-deploy工具快速部署ceph--先決條件準備

最近按照ceph的官方文件來部署ceph,發現遇到了不少的問題,其中很多問題都是安裝部署的時候遇到的坑,在這裡提出來和大家一起分享探討,如有不足之處歡迎評論。 筆者這裡使用的作業系統:CentOS7.2 記憶體:4G cpu:2核 硬碟:50G 核心為

CEPH的基本概念及通過Ceph-Deploy快速部署CEPH集群

linux內核 health 初始化 nali 部署過程 本地 journal 內核 端到端 基礎概念 **OSD**:Object Storage Device,主要用於存儲數據,處理數據,,恢復,回不,平衡數據,並提供數據給monitor。 **Monitor**:Ce

使用Docker快速部署Ceph集群

docker ceph 一 應用場景描述二 操作步驟三 Ceph常用操作本文出自 “Linux SA John” 博客,請務必保留此出處http://john88wang.blog.51cto.com/2165294/1947672使用Docker快速部署Ceph集群

Docker快速部署Ceph測試叢集

本文記錄了通過docker快速部署小規模Ceph叢集的流程,可用於開發測試環境。 # 1. 建立Ceph專用網路 docker network create --driver bridge ceph-network docker network inspect ceph-networ

1.快速部署ceph叢集(ceph做openstack的後端儲存)

Ceph 簡介(官網 http://docs.ceph.org.cn/start/intro/)不管你是想為雲平臺提供Ceph 物件儲存和/或 Ceph 塊裝置,還是想部署一個 Ceph 檔案系統或者把 Ceph 作為他用,所有 Ceph 儲存叢集的部署都始於部署一個個 Ce

開源釋出:VS程式碼段快捷方式及視覺化除錯快速部署工具

前言: 很久前,我發過兩篇文章,分別介紹自定義程式碼版和視覺化除錯: 具體可以用兩張圖來表示: 1:自定義程式碼片斷: 2:視覺化除錯工具: 問題來源: 某次,我發現自己的視覺化除錯的類庫有點舊,想更新一下,卻發現: 電腦上安裝了VS2005、VS2008、Vs2012幾個版

02-準備實驗環境-008-快速-部署-虛擬機器批量克隆-VMware Workstation 15

《系統工程師實戰培訓》-02-準備實驗環境(批量克隆)-008-快速-部署-虛擬機器批量克隆-VMware Workstation 15 作者:學 無 止 境 QQ交流群:454544014 1. 模板機 2. 指令

ceph-deploy ceph-ansible部署ceph

Ceph當前的自動化部署有兩個,分別是ceph-deploy和ceph-ansible,語言都是python,對應的github庫地址為: ceph-deploy在手動部署中用的比較多,要實現自動化部署,必須再寫指令碼執行; ceph-ansible基於ansib

redhat6 快速部署percona

.rpm 部署 arc eas www nload hat tar percona 1.首先得能訪問外網絡 2.yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona

Ubuntu安裝部署Ceph J版本

ceph sds 安裝Ubuntu系統安裝步驟略過拓撲連接:一、安裝前準備工作 1、修改主機名;將主機名更改為上圖中對應的主機名。[[email protected]/* */ ~]# vim /etc/hostname 2、更新主機上的hosts文件,將主機名與如下IP進

Zabbix快速部署

zabbixzabbix具備常見的商業監控軟件所具備的功能:主機性能監控、網絡設備監控、數據庫監控等支持多種報警機制支持自動發現網絡設備和服務器可以通過配置自動發現服務器規則來實現支持分布式,能集中展示、管理分布式的監控點編寫插件容易,可以自定義監控項具有實時繪圖功能下面是快速搭建的步驟:一、安裝zabbix

webpack構建工具快速上手指南

pre 去掉空格 spa net 例如 模式 面板 hand 根據 最近在研究react項目,接觸到webpack打包工具。剛接觸的時候一臉茫然,經過最近的學習,下面我來帶大家開啟webpack入門之旅。 webpack是什麽 webpack是近期最火的一款模塊加載器兼

快速部署一個LNMP

lnmp1.安裝nginx # wget http://nginx.org/packages/rhel/7/x86_64/RPMS/nginx-1.8.1-1.el7.ngx.x86_64.rpm # rpm -ivh nginx-1.8.1-1.el7.ngx.x86_64.rpm 2.安裝

mysql快速部署主從復制

mysql快速部署主從復制master主庫端:保障server-id不一樣保證開啟binglog此處的192.168.1.8為從庫機器的ip地址reset master;mysql -uroot -p‘sred(5678%$#@!)d70‘ -e "grant replication slave on *.*

Ceph入門----CentOS7部署ceph三節點分布式存儲系統

分布式存儲 ceph 1.Ceph集群環境 使用3臺虛擬機,包括其中1個admin節點,三臺虛擬機同時承擔3個monitor節點和3個osd節點 操作系統采用CentOS Minimal 7 下載地址:http://124.205.69.134/files/4128000005F9FCB3/

Centos7.4部署ceph塊設備

ceph 在部署塊設備前必須保證Ceph存儲集群處於active+clean狀態。一. 環境準備IP主機名角色10.10.10.20admin-nodeceph-deploy10.10.10.24ceph-clientclient二. 安裝CEPH在管理節點上,通過 ceph-deploy 把 Ce

使用國內源部署ceph

font tle 集群 software ase tor align osd 測試 由於網絡方面的原因,Ceph的部署經常受到幹擾,通常為了加速部署,基本上大家都是將Ceph的源同步到本地進行安裝。根據Ceph中國社區的統計,當前已經有國內的網站定期將Ceph安裝源同步,極

Apache 的 ab 壓測工具快速使用

second request cnblogs nis ini mic roc quest connect   ab 是一個 httpd 自帶的很好用的壓力測試工具,它是 apache bench 命令的縮寫。ab 命令會創建多個並發訪問線程,模擬多個訪問者同時對某一 URL

快速部署Tomcat項目的Shell腳本

目的 asp exit home grep 拷貝 tomcat-7 測試 還要 為了做集群測試,在每臺機器上裝了3個tomcat,每次發布項目的時候都要反復敲一些命令,重啟tomcat之前先檢查tomcat進程有沒有停掉,沒有還要手動kill該進程。 發布次數多了,操作就比

db2 v10.5 HADR快速部署手冊

db2 hadr一、目錄準備mkdir -p /home/db2inst1/db2_backupmkdir -p /home/db2inst1/db2_archivemkdir -p /home/db2inst1/db2_logchmod -R 775 /home/db2inst1/db2_backupchm