溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在Ubuntu 16.04中安裝Ceph存儲集群

發(fā)布時間:2021-10-22 17:01:28 來源:億速云 閱讀:319 作者:小新 欄目:系統(tǒng)運維

這篇文章給大家分享的是有關(guān)怎么在Ubuntu 16.04中安裝Ceph存儲集群的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

Ceph  是一個高性能、可靠、可擴展的開源存儲平臺。它是一個自由的分布式存儲系統(tǒng),提供了對象、塊和文件級存儲的接口,并可以不受單點故障的影響而運行。

在這個教程中,我將指導(dǎo)你在 Ubuntu 16.04 服務(wù)器上安裝建立一個 Ceph 集群。Ceph 集群包括這些組件:

  • Ceph OSD (ceph-osd) - 控制數(shù)據(jù)存儲,數(shù)據(jù)復(fù)制和恢復(fù)。Ceph 集群需要至少兩個 Ceph OSD 服務(wù)器。這次安裝中我們將使用三個  Ubuntu 16.04 服務(wù)器。

  • Ceph Monitor (ceph-mon) - 監(jiān)控集群狀態(tài)并運行 OSD 映射 和 CRUSH 映射。這里我們使用一個服務(wù)器。

  • Ceph Meta Data Server (ceph-mds) - 如果你想把 Ceph 作為文件系統(tǒng)使用,就需要這個。

前提條件

  • 6 個安裝了 Ubuntu 16.04 的服務(wù)器節(jié)點

  • 所有節(jié)點上的 root 權(quán)限

我將使用下面這些 hostname /IP 安裝:

主機名              IP 地址 ceph-admin        10.0.15.10 mon1                 10.0.15.11 osd1                  10.0.15.21 osd2                  10.0.15.22 osd3                  10.0.15.23 client                 10.0.15.15

第 1 步 - 配置所有節(jié)點

這次安裝,我將配置所有的 6 個節(jié)點來準備安裝 Ceph 集群軟件。所以你必須在所有節(jié)點運行下面的命令。然后確保所有節(jié)點都安裝了  ssh-server。

創(chuàng)建 Ceph 用戶

在所有節(jié)點創(chuàng)建一個名為 cephuser 的新用戶

useradd -m -s /bin/bash cephuser passwd cephuser

創(chuàng)建完新用戶后,我們需要給 cephuser 配置無密碼的 sudo 權(quán)限。這意味著 cephuser 可以不先輸入密碼而獲取到 sudo  權(quán)限運行。

運行下面的命令來完成配置。

echo "cephuser ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephuser chmod 0440 /etc/sudoers.d/cephuser sed -i s'/Defaults requiretty/#Defaults requiretty'/g /etc/sudoers

安裝和配置 NTP

安裝 NTP 來同步所有節(jié)點的日期和時間。先運行 ntpdate 命令通過 NTP 設(shè)置日期。我們將使用 US 池的 NTP 服務(wù)器。然后開啟并使 NTP  服務(wù)在開機時啟動。

sudo apt-get install -y ntp ntpdate ntp-doc ntpdate 0.us.pool.ntp.org hwclock --systohc systemctl enable ntp systemctl start ntp

安裝 Open-vm-tools

如果你正在 VMware 里運行所有節(jié)點,你需要安裝這個虛擬化工具。

sudo apt-get install -y open-vm-tools

安裝 Python 和 parted

在這個教程,我們需要 python 包來建立 ceph 集群。安裝 python 和 python-pip。

sudo apt-get install -y python python-pip parted

配置 Hosts 文件

用 vim 編輯器編輯所有節(jié)點的 hosts 文件。

vim /etc/hosts

粘帖如下配置:

10.0.15.10        ceph-admin 10.0.15.11        mon1 10.0.15.21        ceph-osd1 10.0.15.22        ceph-osd2 10.0.15.23        ceph-osd3 10.0.15.15        ceph-client

保存 hosts 文件,然后退出 vim 編輯器。

現(xiàn)在你可以試著在兩個服務(wù)器間 ping 主機名來測試網(wǎng)絡(luò)連通性。

ping -c 5 mon1

怎么在Ubuntu 16.04中安裝Ceph存儲集群

Ceph cluster Installation on Ubuntu 16.04

第 2 步 - 配置 SSH 服務(wù)器

這一步,我們將配置 ceph-admin 節(jié)點。管理節(jié)點是用來配置監(jiān)控節(jié)點和 osd 節(jié)點的。登錄到 ceph-admin 節(jié)點然后使用 cephuser  用戶。

ssh root@ceph-admin su - cephuser

管理節(jié)點用來安裝配置所有集群節(jié)點,所以 ceph-admin 上的用戶必須有不使用密碼連接到所有節(jié)點的權(quán)限。我們需要為 'ceph-admin' 節(jié)點的  cephuser 用戶配置無密碼 SSH 登錄權(quán)限。

生成 cephuser 的 ssh 密鑰。

ssh-keygen

讓密碼為空。

下面,為 ssh 創(chuàng)建一個配置文件

vim ~/.ssh/config

粘帖如下配置:

Host ceph-admin         Hostname ceph-admin         User cephuser Host mon1         Hostname mon1         User cephuser Host ceph-osd1         Hostname ceph-osd1         User cephuser Host ceph-osd2         Hostname ceph-osd2         User cephuser Host ceph-osd3         Hostname ceph-osd3         User cephuser Host ceph-client         Hostname ceph-client         User cephuser

保存文件并退出 vim。

怎么在Ubuntu 16.04中安裝Ceph存儲集群

Ceph-admin configuration

改變配置文件權(quán)限為 644。

chmod 644 ~/.ssh/config

現(xiàn)在使用 ssh-copy-id 命令增加密鑰到所有節(jié)點。

ssh-keyscan ceph-osd1 ceph-osd2 ceph-osd3 ceph-client mon1 >> ~/.ssh/known_hosts ssh-copy-id ceph-osd1 ssh-copy-id ceph-osd2 ssh-copy-id ceph-osd3 ssh-copy-id mon1

當請求輸入密碼時輸入你的 cephuser 密碼。

怎么在Ubuntu 16.04中安裝Ceph存儲集群

Ceph-admin deploy ssh key to all cluster nodes

現(xiàn)在嘗試從 ceph-admin 節(jié)點登錄 osd1  服務(wù)器,測試無密登錄是否正常。

ssh ceph-osd1

怎么在Ubuntu 16.04中安裝Ceph存儲集群

SSH Less password from ceph-admin to all nodes cluster

第 3 步 - 配置 Ubuntu  防火墻

出于安全原因,我們需要在服務(wù)器打開防火墻。我們更愿使用 Ufw(不復(fù)雜防火墻)來保護系統(tǒng),這是 Ubuntu 默認的防火墻。在這一步,我們在所有節(jié)點開啟  ufw,然后打開 ceph-admin、ceph-mon 和 ceph-osd 需要使用的端口。

登錄到 ceph-admin 節(jié)點,然后安裝 ufw 包。

ssh root@ceph-admin sudo apt-get install -y ufw

打開 80,2003 和 4505-4506 端口,然后重啟防火墻。

sudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw allow 2003/tcp sudo ufw allow 4505:4506/tcp

開啟 ufw 并設(shè)置開機啟動。

sudo ufw enable

怎么在Ubuntu 16.04中安裝Ceph存儲集群

UFW Firewall with Ceph service

從 ceph-admin 節(jié)點,登錄到監(jiān)控節(jié)點 mon1 然后安裝 ufw。

ssh mon1 sudo apt-get install -y ufw

打開 ceph 監(jiān)控節(jié)點的端口然后開啟 ufw。

sudo ufw allow 22/tcp sudo ufw allow 6789/tcp sudo ufw enable

***,在每個 osd 節(jié)點 ceph-osd1、ceph-osd2 和 ceph-osd3 上打開這些端口 6800-7300。

從 ceph-admin 登錄到每個 ceph-osd 節(jié)點安裝 ufw。

ssh ceph-osd1 sudo apt-get install -y ufw

在 osd 節(jié)點打開端口并重啟防火墻。

sudo ufw allow 22/tcp sudo ufw allow 6800:7300/tcp sudo ufw enable

ufw 防火墻配置完成。

第 4 步 - 配置 Ceph OSD 節(jié)點

這個教程里,我們有 3 個 OSD 節(jié)點,每個節(jié)點有兩塊硬盤分區(qū)。

  1. /dev/sda 用于根分區(qū)

  2. /dev/sdb 空閑分區(qū) - 20GB

我們要使用 /dev/sdb 作為 ceph 磁盤。從 ceph-admin 節(jié)點,登錄到所有 OSD 節(jié)點,然后格式化 /dev/sdb 分區(qū)為 XFS  文件系統(tǒng)。

ssh ceph-osd1 ssh ceph-osd2 ssh ceph-osd3

使用 fdisk 命令檢查分區(qū)表。

sudo fdisk -l /dev/sdb

格式化 /dev/sdb 分區(qū)為 XFS 文件系統(tǒng),使用 parted 命令創(chuàng)建一個 GPT 分區(qū)表。

sudo parted -s /dev/sdb mklabel gpt mkpart primary xfs 0% 100%

下面,使用 mkfs 命令格式化分區(qū)為 XFS 格式。

sudo mkfs.xfs -f /dev/sdb

現(xiàn)在檢查分區(qū),然后你會看見一個 XFS 文件系統(tǒng)的 /dev/sdb 分區(qū)。

sudo fdisk -s /dev/sdb sudo blkid -o value -s TYPE /dev/sdb

怎么在Ubuntu 16.04中安裝Ceph存儲集群

Format partition ceph OSD nodes

第 5 步 - 創(chuàng)建 Ceph 集群

在這步,我們將從 ceph-admin 安裝 Ceph 到所有節(jié)點。馬上開始,先登錄到 ceph-admin 節(jié)點。

ssh root@ceph-admin su - cephuser

在 ceph-admin 節(jié)點上安裝 ceph-deploy

首先我們已經(jīng)在系統(tǒng)上安裝了 python 和 python-pip?,F(xiàn)在我們需要從 pypi python 倉庫安裝 Ceph 部署工具  'ceph-deploy'。

用 pip 命令在 ceph-admin 節(jié)點安裝 ceph-deploy 。

sudo pip install ceph-deploy

注意: 確保所有節(jié)點都已經(jīng)更新。

ceph-deploy 工具已經(jīng)安裝完畢后,為 Ceph 集群配置創(chuàng)建一個新目錄。

創(chuàng)建一個新集群

創(chuàng)建一個新集群目錄。

mkdir cluster cd cluster/

下一步,用 ceph-deploy 命令通過定義監(jiān)控節(jié)點 mon1 創(chuàng)建一個新集群。

ceph-deploy new mon1

命令將在集群目錄生成 Ceph 集群配置文件 ceph.conf。

怎么在Ubuntu 16.04中安裝Ceph存儲集群

Generate new ceph cluster configuration

用 vim 編輯 ceph.conf。

vim ceph.conf

在 [global] 塊下,粘貼下面的配置。

# Your network address public network = 10.0.15.0/24 osd pool default size = 2

保存文件并退出編輯器。

安裝 Ceph 到所有節(jié)點

現(xiàn)在用一個命令從 ceph-admin 節(jié)點安裝 Ceph 到所有節(jié)點。

ceph-deploy install ceph-admin ceph-osd1 ceph-osd2 ceph-osd3 mon1

命令將自動安裝 Ceph 到所有節(jié)點:mon1、osd1-3 和 ceph-admin - 安裝將花一些時間。

現(xiàn)在到 mon1 節(jié)點部署監(jiān)控節(jié)點。

ceph-deploy mon create-initial

命令將創(chuàng)建一個監(jiān)控密鑰,用 ceph 命令檢查密鑰。

ceph-deploy gatherkeys mon1

怎么在Ubuntu 16.04中安裝Ceph存儲集群

Deploy key ceph

增加 OSD 到集群

在所有節(jié)點上安裝了 Ceph 之后,現(xiàn)在我們可以增加 OSD 守護進程到該集群。OSD 守護進程將在磁盤 /dev/sdb 分區(qū)上創(chuàng)建數(shù)據(jù)和日志  。

檢查所有 osd 節(jié)點的 /dev/sdb 磁盤可用性。

ceph-deploy disk list ceph-osd1 ceph-osd2 ceph-osd3

怎么在Ubuntu 16.04中安裝Ceph存儲集群

disk list of osd nodes

你將看見我們之前創(chuàng)建 XFS 格式的 /dev/sdb。

下面,在所有 OSD 節(jié)點上用 zap 選項刪除該分區(qū)表。

ceph-deploy disk zap ceph-osd1:/dev/sdb ceph-osd2:/dev/sdb ceph-osd3:/dev/sdb

這個命令將刪除所有 Ceph OSD 節(jié)點的 /dev/sdb 上的數(shù)據(jù)。

現(xiàn)在準備所有 OSD 節(jié)點,請確保結(jié)果沒有報錯。

ceph-deploy osd prepare ceph-osd1:/dev/sdb ceph-osd2:/dev/sdb ceph-osd3:/dev/sdb

當你看到 ceph-osd1-3 結(jié)果已經(jīng)準備好供 OSD 使用,就表明命令已經(jīng)成功。

怎么在Ubuntu 16.04中安裝Ceph存儲集群

Prepare the ceph-osd nodes

用下面的命令激活 OSD:

ceph-deploy osd activate ceph-osd1:/dev/sdb ceph-osd2:/dev/sdb ceph-osd3:/dev/sdb

現(xiàn)在你可以再一次檢查 OSDS 節(jié)點的 sdb 磁盤。

ceph-deploy disk list ceph-osd1 ceph-osd2 ceph-osd3

怎么在Ubuntu 16.04中安裝Ceph存儲集群

Ceph osds activated

結(jié)果是 /dev/sdb 現(xiàn)在已經(jīng)分為兩個區(qū):

  1. /dev/sdb1 - Ceph Data

  2. /dev/sdb2 - Ceph Journal

或者你直接在 OSD 節(jié)點山檢查。

ssh ceph-osd1 sudo fdisk -l /dev/sdb

怎么在Ubuntu 16.04中安裝Ceph存儲集群

Ceph OSD nodes were created

接下來,部署管理密鑰到所有關(guān)聯(lián)節(jié)點。

ceph-deploy admin ceph-admin mon1 ceph-osd1 ceph-osd2 ceph-osd3

在所有節(jié)點運行下面的命令,改變密鑰文件權(quán)限。

sudo chmod 644 /etc/ceph/ceph.client.admin.keyring

Ceph 集群在 Ubuntu 16.04 已經(jīng)創(chuàng)建完成。

第 6 步 - 測試 Ceph

在第 4 步,我們已經(jīng)安裝并創(chuàng)建了一個新 Ceph 集群,然后添加了 OSD 節(jié)點到集群?,F(xiàn)在我們應(yīng)該測試集群確保它如期工作。

從 ceph-admin 節(jié)點,登錄到 Ceph 監(jiān)控服務(wù)器 mon1。

ssh mon1

運行下面命令來檢查集群是否健康。

sudo ceph health

現(xiàn)在檢查集群狀態(tài)。

sudo ceph -s

你可以看到下面返回結(jié)果:

怎么在Ubuntu 16.04中安裝Ceph存儲集群

Ceph Cluster Status

確保 Ceph 健康狀態(tài)是 OK 的,有一個監(jiān)控節(jié)點 mon1 IP 地址為 '10.0.15.11'。有 3 個  OSD 服務(wù)器都是 up狀態(tài)并且正在運行,可用磁盤空間為 45GB - 3x15GB 的 Ceph 數(shù)據(jù) OSD 分區(qū)。

我們在 Ubuntu 16.04 建立一個新 Ceph 集群成功。

感謝各位的閱讀!關(guān)于“怎么在Ubuntu 16.04中安裝Ceph存儲集群”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI