「Install Ceph 15.2.8 on Debian 10.7」修訂間的差異
跳至導覽
跳至搜尋
(未顯示同一使用者於中間所作的 31 次修訂) | |||
行 1: | 行 1: | ||
+ | * 時間: 2020-12-31 |
||
− | [[Category:Ceph]] |
||
+ | * 安裝 Ceph 15.2.8 在 Debian 10.7 |
||
− | [[Category:Debian]] |
||
− | + | ** Debian 10.7 |
|
+ | ** Podman 2.2.1 |
||
− | |||
+ | ** Ceph 15.2.8 |
||
− | 安裝時間: 2020-12-31 |
||
+ | ** 部署套件 Cephadm |
||
− | |||
− | == 安裝說明 == |
||
− | |||
− | * Debian 10.7 |
||
− | * Podman 2.2.1 |
||
− | * Ceph 15.2.8 |
||
− | * 部署套件 Cephadm |
||
− | |||
== 叢集規劃 == |
== 叢集規劃 == |
||
+ | 編輯 <code>/etc/hosts</code> |
||
− | |||
192.168.31.71 mon1 |
192.168.31.71 mon1 |
||
192.168.31.72 mon2 |
192.168.31.72 mon2 |
||
行 43: | 行 36: | ||
192.168.31.98 rbd2 |
192.168.31.98 rbd2 |
||
192.168.31.99 rbd3 |
192.168.31.99 rbd3 |
||
+ | == 安裝先決條件 == |
||
− | |||
− | 編輯 <code>/etc/hosts</code> 加入上面所列 |
||
− | |||
− | == 先決條件 == |
||
− | |||
已完成 [[Debian Post Install Steps|Debian 安裝後步驟]] |
已完成 [[Debian Post Install Steps|Debian 安裝後步驟]] |
||
+ | * Systemd |
||
− | |||
− | * |
+ | * 時間同步 [[Chrony|安裝 Chrony]] |
+ | * 運行容器 [[#安裝 Podman|安裝 Podman]] |
||
− | |||
+ | * 存儲設備 |
||
− | * 部署套件會使用 SSH 所以安裝 sshd |
||
− | |||
− | * 部署時SSH |
||
− | |||
== 安裝 Podman == |
== 安裝 Podman == |
||
− | |||
用 cephadm 部署會在容器運行 我們選擇 Podman |
用 cephadm 部署會在容器運行 我們選擇 Podman |
||
− | |||
echo 'deb http://deb.debian.org/debian buster-backports main' >> /etc/apt/sources.list |
echo 'deb http://deb.debian.org/debian buster-backports main' >> /etc/apt/sources.list |
||
echo 'deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_10/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list |
echo 'deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_10/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list |
||
行 66: | 行 50: | ||
apt-get -y -t buster-backports install libseccomp2 |
apt-get -y -t buster-backports install libseccomp2 |
||
apt-get -y install podman |
apt-get -y install podman |
||
+ | == 安裝 cephadm 部署套件 == |
||
− | |||
− | == 安裝套件 == |
||
− | |||
curl --silent --remote-name --location https://github.com/ceph/ceph/raw/octopus/src/cephadm/cephadm |
curl --silent --remote-name --location https://github.com/ceph/ceph/raw/octopus/src/cephadm/cephadm |
||
chmod +x cephadm |
chmod +x cephadm |
||
行 76: | 行 58: | ||
./cephadm install cephadm ceph-common |
./cephadm install cephadm ceph-common |
||
mkdir -p /etc/ceph |
mkdir -p /etc/ceph |
||
+ | == Bootstrap 建立叢集 == |
||
− | |||
+ | 編輯 <code>/etc/ceph/cephx.conf</code> |
||
− | == Bootstrap == |
||
− | |||
− | <code>/etc/ceph/cephx.conf</code> |
||
− | |||
[global] |
[global] |
||
public network = 192.168.31.0/24 |
public network = 192.168.31.0/24 |
||
行 86: | 行 65: | ||
osd pool default size = 2 |
osd pool default size = 2 |
||
osd pool default pg autoscale mode = on |
osd pool default pg autoscale mode = on |
||
+ | |||
[mon] |
[mon] |
||
+ | |||
[mgr] |
[mgr] |
||
+ | |||
[osd] |
[osd] |
||
osd client watch timeout = 15 |
osd client watch timeout = 15 |
||
osd heartbeat grace = 20 |
osd heartbeat grace = 20 |
||
osd heartbeat interval = 5 |
osd heartbeat interval = 5 |
||
+ | |||
[mds] |
[mds] |
||
+ | |||
[client] |
[client] |
||
+ | 建立新的叢集 |
||
− | |||
cephadm bootstrap --config /etc/ceph/cephx.conf --mon-ip 192.168.31.71 --allow-fqdn-hostname |
cephadm bootstrap --config /etc/ceph/cephx.conf --mon-ip 192.168.31.71 --allow-fqdn-hostname |
||
+ | 該命令將: |
||
− | |||
+ | * 在本地主機上為新叢集創建 mon 和 mgr |
||
+ | * 為叢集生成一個新的 SSH 密鑰,並添加到 root 的 <code>/root/.ssh/authorized_keys</code> |
||
+ | * 與新集群進行通信所需的最小配置檔 <code>/etc/ceph/ceph.conf</code> |
||
+ | * 將 client.admin 管理特權密鑰的副本寫入 <code>/etc/ceph/ceph.client.admin.keyring</code> |
||
+ | * 將公用密鑰的副本寫入 <code>/etc/ceph/ceph.pub</code> |
||
+ | == 使用 Ceph cli == |
||
+ | 直接執行 ceph 命令 |
||
+ | cephadm shell -- ceph -s |
||
+ | 在容器中啟動 bash shell 進入命令列模式 |
||
+ | cephadm shell |
||
+ | 進入指定容器的命令列模式 |
||
+ | cephadm enter --name iscsi.iscsi.mon3.duhasf |
||
+ | == 啟用 Telemetry 模組 == |
||
+ | : Telemetry 模組可傳送有關執行其的叢集的 Ceph 專案匿名資料。 |
||
+ | : 此 (選擇加入) 元件包含有關叢集部署方式、Ceph 版本、主機分佈,以及其他有助於專案更好地瞭解 Ceph 使用方式的參數的計數器和統計資料。它不包含任何諸如池名稱、物件名稱、物件內容或主機名稱等敏感性資料。 |
||
+ | : 用於為開發人員提供自動化回饋迴路,以協助其量化採用率、追蹤情況,或指出為避免出現不良後果而需在組態期間以更佳方式進行解釋或驗證的內容。 |
||
ceph telemetry on --license sharing-1-0 |
ceph telemetry on --license sharing-1-0 |
||
+ | : 若要停用,請執行以下指令 |
||
+ | ceph telemetry off |
||
+ | == 將主機加入叢集 == |
||
+ | 在新主機 root 的 authorized_keys 中安裝叢集的SSH公鑰 |
||
+ | ssh-copy-id -f -i /etc/ceph/ceph.pub root@192.168.31.72 |
||
+ | 告訴 Ceph,新節點是集群的一部分 |
||
+ | ceph orch host add mon2 |
||
+ | 要查看所有的主機 |
||
+ | ceph orch host ls |
||
+ | * 在叢集中加入所有主機 |
||
+ | == 部署其他 MON == |
||
+ | 一個 Ceph 叢集建議要有 3 ~ 5 個 mon |
||
+ | ceph orch apply mon mon1 |
||
+ | |||
+ | ceph orch apply mon --placement="5 mon1 mon2 mon3 mon4 mon5" |
||
+ | |||
+ | ceph orch apply mon --unmanaged |
||
+ | |||
+ | ceph orch daemon add mon mon1 |
||
+ | == 部署的 OSD == |
||
+ | 要查看所有主機的存儲設備 |
||
+ | ceph orch device ls |
||
+ | Ceph OSD 可以使用的存儲設備,容量需大於'''5G''',且不可有使用或狀態(分割, LVM, 掛載, FS, OSD等) |
||
+ | ceph orch daemon add osd host1:/dev/sdb |
||
+ | |||
+ | ceph orch apply osd --all-available-devices |
||
+ | == Ceph Dashboard == |
||
+ | Ceph 叢集建立後,mgr 中的橂組 dashboard 預設是啟動,可以透過網頁看叢集的狀態及部份功能的操作 |
||
+ | https://192.168.231.71:8443 |
||
+ | [[Image:Ceph_Dashboard.png|384px]] |
||
+ | [[Category:Ceph]] |
||
+ | [[Category:Debian]] |
於 2021年1月27日 (三) 01:19 的最新修訂
- 時間: 2020-12-31
- 安裝 Ceph 15.2.8 在 Debian 10.7
- Debian 10.7
- Podman 2.2.1
- Ceph 15.2.8
- 部署套件 Cephadm
叢集規劃
編輯 /etc/hosts
192.168.31.71 mon1 192.168.31.72 mon2 192.168.31.73 mon3 192.168.31.74 mon4 192.168.31.75 mon5 192.168.31.76 mds1 192.168.31.77 mds2 192.168.31.78 mds3 192.168.31.79 mds4 192.168.31.80 mds5 192.168.31.81 osd11 192.168.31.82 osd12 192.168.31.83 osd13 192.168.31.84 osd14 192.168.31.85 osd21 192.168.31.86 osd22 192.168.31.87 osd23 192.168.31.88 osd24 192.168.31.89 osd25 192.168.31.90 osd26 192.168.31.91 rgw1 192.168.31.92 rgw2 192.168.31.93 rgw3 192.168.31.94 cephfs1 192.168.31.95 cephfs2 192.168.31.96 cephfs3 192.168.31.97 rbd1 192.168.31.98 rbd2 192.168.31.99 rbd3
安裝先決條件
已完成 Debian 安裝後步驟
安裝 Podman
用 cephadm 部署會在容器運行 我們選擇 Podman
echo 'deb http://deb.debian.org/debian buster-backports main' >> /etc/apt/sources.list echo 'deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_10/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_10/Release.key | apt-key add - apt-get update apt-get -y -t buster-backports install libseccomp2 apt-get -y install podman
安裝 cephadm 部署套件
curl --silent --remote-name --location https://github.com/ceph/ceph/raw/octopus/src/cephadm/cephadm chmod +x cephadm wget -q -O- 'https://download.ceph.com/keys/release.asc' | apt-key add - echo deb https://download.ceph.com/debian-octopus/ $(lsb_release -sc) main | tee /etc/apt/sources.list.d/ceph.list apt-get update ./cephadm install cephadm ceph-common mkdir -p /etc/ceph
Bootstrap 建立叢集
編輯 /etc/ceph/cephx.conf
[global] public network = 192.168.31.0/24 cluster network = 192.168.31.0/24 osd pool default size = 2 osd pool default pg autoscale mode = on [mon] [mgr] [osd] osd client watch timeout = 15 osd heartbeat grace = 20 osd heartbeat interval = 5 [mds] [client]
建立新的叢集
cephadm bootstrap --config /etc/ceph/cephx.conf --mon-ip 192.168.31.71 --allow-fqdn-hostname
該命令將:
- 在本地主機上為新叢集創建 mon 和 mgr
- 為叢集生成一個新的 SSH 密鑰,並添加到 root 的
/root/.ssh/authorized_keys
- 與新集群進行通信所需的最小配置檔
/etc/ceph/ceph.conf
- 將 client.admin 管理特權密鑰的副本寫入
/etc/ceph/ceph.client.admin.keyring
- 將公用密鑰的副本寫入
/etc/ceph/ceph.pub
使用 Ceph cli
直接執行 ceph 命令
cephadm shell -- ceph -s
在容器中啟動 bash shell 進入命令列模式
cephadm shell
進入指定容器的命令列模式
cephadm enter --name iscsi.iscsi.mon3.duhasf
啟用 Telemetry 模組
- Telemetry 模組可傳送有關執行其的叢集的 Ceph 專案匿名資料。
- 此 (選擇加入) 元件包含有關叢集部署方式、Ceph 版本、主機分佈,以及其他有助於專案更好地瞭解 Ceph 使用方式的參數的計數器和統計資料。它不包含任何諸如池名稱、物件名稱、物件內容或主機名稱等敏感性資料。
- 用於為開發人員提供自動化回饋迴路,以協助其量化採用率、追蹤情況,或指出為避免出現不良後果而需在組態期間以更佳方式進行解釋或驗證的內容。
ceph telemetry on --license sharing-1-0
- 若要停用,請執行以下指令
ceph telemetry off
將主機加入叢集
在新主機 root 的 authorized_keys 中安裝叢集的SSH公鑰
ssh-copy-id -f -i /etc/ceph/ceph.pub root@192.168.31.72
告訴 Ceph,新節點是集群的一部分
ceph orch host add mon2
要查看所有的主機
ceph orch host ls
- 在叢集中加入所有主機
部署其他 MON
一個 Ceph 叢集建議要有 3 ~ 5 個 mon
ceph orch apply mon mon1
ceph orch apply mon --placement="5 mon1 mon2 mon3 mon4 mon5"
ceph orch apply mon --unmanaged
ceph orch daemon add mon mon1
部署的 OSD
要查看所有主機的存儲設備
ceph orch device ls
Ceph OSD 可以使用的存儲設備,容量需大於5G,且不可有使用或狀態(分割, LVM, 掛載, FS, OSD等)
ceph orch daemon add osd host1:/dev/sdb
ceph orch apply osd --all-available-devices
Ceph Dashboard
Ceph 叢集建立後,mgr 中的橂組 dashboard 預設是啟動,可以透過網頁看叢集的狀態及部份功能的操作
https://192.168.231.71:8443