18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Ceph集群部署與運(yùn)維完全指南

馬哥Linux運(yùn)維 ? 來(lái)源:馬哥Linux運(yùn)維 ? 2025-08-29 17:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Linux下的分布式存儲(chǔ)方案:Ceph集群部署與運(yùn)維完全指南

前言:為什么選擇Ceph?

作為一名資深運(yùn)維工程師,我見(jiàn)證了太多企業(yè)在存儲(chǔ)架構(gòu)選型上的糾結(jié)。傳統(tǒng)的NAS/SAN方案成本高昂,擴(kuò)展性差;而云存儲(chǔ)又面臨廠商鎖定的風(fēng)險(xiǎn)。直到我深入研究Ceph后,才真正理解什么叫"軟件定義存儲(chǔ)的未來(lái)"。

今天,我將毫無(wú)保留地分享在生產(chǎn)環(huán)境中部署和運(yùn)維Ceph集群的完整經(jīng)驗(yàn),包括那些文檔里不會(huì)告訴你的"坑"和優(yōu)化技巧。

什么是Ceph?不只是分布式存儲(chǔ)那么簡(jiǎn)單

Ceph不僅僅是一個(gè)分布式存儲(chǔ)系統(tǒng),它是一個(gè)統(tǒng)一的存儲(chǔ)平臺(tái),能夠同時(shí)提供:

?對(duì)象存儲(chǔ)(RADOS Gateway):兼容S3/Swift API

?塊存儲(chǔ)(RBD):為虛擬機(jī)提供高性能磁盤(pán)

?文件系統(tǒng)(CephFS):POSIX兼容的分布式文件系統(tǒng)

這種"三合一"的架構(gòu)讓Ceph成為企業(yè)存儲(chǔ)整合的完美選擇。

Ceph的核心優(yōu)勢(shì)

1.無(wú)單點(diǎn)故障:真正的去中心化架構(gòu)

2.動(dòng)態(tài)擴(kuò)展:PB級(jí)擴(kuò)展能力,在線(xiàn)擴(kuò)容

3.自我修復(fù):數(shù)據(jù)自動(dòng)平衡和恢復(fù)

4.開(kāi)源生態(tài):避免廠商鎖定,社區(qū)支持強(qiáng)大

生產(chǎn)環(huán)境Ceph集群架構(gòu)設(shè)計(jì)

硬件配置推薦

基于我在多個(gè)生產(chǎn)環(huán)境的部署經(jīng)驗(yàn),推薦以下配置:

Monitor節(jié)點(diǎn)(至少3個(gè),奇數(shù)個(gè))

CPU: 4核心以上
內(nèi)存: 8GB以上
磁盤(pán): SSD 100GB(系統(tǒng)盤(pán))
網(wǎng)絡(luò): 雙萬(wàn)兆網(wǎng)卡(冗余)

OSD節(jié)點(diǎn)(建議6個(gè)起步)

CPU: 每個(gè)OSD分配1個(gè)核心
內(nèi)存: 每個(gè)OSD分配4GB(BlueStore)
磁盤(pán): 企業(yè)級(jí)SSD或高轉(zhuǎn)速機(jī)械盤(pán)
網(wǎng)絡(luò): 雙萬(wàn)兆網(wǎng)卡(公網(wǎng)+集群網(wǎng)絡(luò))

MGR節(jié)點(diǎn)(至少2個(gè))

CPU: 2核心
內(nèi)存: 4GB
磁盤(pán): 系統(tǒng)盤(pán)即可

網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)

這是很多工程師容易忽略的關(guān)鍵點(diǎn):

# 公網(wǎng)(客戶(hù)端訪(fǎng)問(wèn))
10.0.1.0/24

# 集群網(wǎng)絡(luò)(數(shù)據(jù)復(fù)制和心跳)
10.0.2.0/24

核心原則:將客戶(hù)端流量和集群內(nèi)部流量分離,避免網(wǎng)絡(luò)擁塞影響集群穩(wěn)定性。

手把手部署Ceph集群

環(huán)境準(zhǔn)備

# 1. 系統(tǒng)要求(以CentOS 8為例)
cat/etc/os-release

# 2. 時(shí)間同步(關(guān)鍵?。?systemctlenable--now chronyd
chrony sources -v

# 3. 防火墻配置
firewall-cmd --zone=public --add-port=6789/tcp --permanent
firewall-cmd --zone=public --add-port=6800-7300/tcp --permanent
firewall-cmd --reload

# 4. SELinux設(shè)置
setenforce 0
sed -i's/SELINUX=enforcing/SELINUX=disabled/'/etc/selinux/config

安裝cephadm工具

# 安裝官方包管理器
curl --silent --remote-name --location https://github.com/ceph/ceph/raw/octopus/src/cephadm/cephadm
chmod+x cephadm
./cephadm add-repo --release octopus
./cephadm install

初始化集群

# 1. 初始化第一個(gè)Monitor節(jié)點(diǎn)
cephadm bootstrap --mon-ip 10.0.1.10 --cluster-network 10.0.2.0/24

# 2. 安裝Ceph CLI工具
cephadm install ceph-common

# 3. 檢查集群狀態(tài)
ceph status

成功后你會(huì)看到類(lèi)似輸出:

cluster:
 id:   a7f64266-0894-4f1e-a635-d0aeaca0e993
  health: HEALTH_OK

添加OSD節(jié)點(diǎn)

# 1. 復(fù)制SSH密鑰到所有節(jié)點(diǎn)
ssh-copy-id root@node2
ssh-copy-id root@node3

# 2. 添加主機(jī)到集群
ceph orch host add node2 10.0.1.11
ceph orch host add node3 10.0.1.12

# 3. 列出可用磁盤(pán)
ceph orch devicels

# 4. 添加OSD
ceph orch daemon add osd node2:/dev/sdb
ceph orch daemon add osd node2:/dev/sdc
ceph orch daemon add osd node3:/dev/sdb
ceph orch daemon add osd node3:/dev/sdc

配置存儲(chǔ)池

# 1. 創(chuàng)建復(fù)制池(3副本)
ceph osd pool create mypool 128 128 replicated

# 2. 設(shè)置應(yīng)用類(lèi)型
ceph osd pool applicationenablemypool rbd

# 3. 設(shè)置CRUSH規(guī)則(機(jī)架級(jí)容錯(cuò))
ceph osd crush rule create-replicated rack_rule default rack
ceph osd poolsetmypool crush_rule rack_rule

生產(chǎn)環(huán)境運(yùn)維實(shí)戰(zhàn)

性能監(jiān)控與調(diào)優(yōu)

核心監(jiān)控指標(biāo)

# 1. 集群整體健康狀態(tài)
ceph health detail

# 2. 存儲(chǔ)使用情況
cephdf

# 3. OSD性能統(tǒng)計(jì)
ceph osd perf

# 4. 慢查詢(xún)監(jiān)控
ceph osd slow-requests

# 5. PG狀態(tài)分布
ceph pgstat

性能調(diào)優(yōu)參數(shù)

創(chuàng)建優(yōu)化配置文件/etc/ceph/ceph.conf:

[global]
# 網(wǎng)絡(luò)優(yōu)化
ms_bind_port_max=7300
ms_bind_port_min=6800

# OSD優(yōu)化
osd_max_write_size=512
osd_client_message_size_cap=2147483648
osd_deep_scrub_interval=2419200
osd_scrub_max_interval=604800

# BlueStore優(yōu)化
bluestore_cache_size_hdd=4294967296
bluestore_cache_size_ssd=8589934592

# 恢復(fù)控制
osd_recovery_max_active=5
osd_max_backfills=2
osd_recovery_op_priority=2

故障排查實(shí)戰(zhàn)案例

案例一:OSD Down故障

現(xiàn)象:某個(gè)OSD突然down掉,集群顯示HEALTH_WARN

# 1. 查看具體錯(cuò)誤
ceph health detail
# HEALTH_WARN: 1 osds down

# 2. 定位問(wèn)題OSD
ceph osd tree | grep down
# osd.3  down

# 3. 檢查OSD日志
journalctl -u ceph-osd@3 -f

# 4. 嘗試重啟OSD
systemctl restart ceph-osd@3

# 5. 如果硬件故障,標(biāo)記為out并替換
ceph osd out 3

案例二:PG不一致修復(fù)

# 1. 發(fā)現(xiàn)不一致PG
ceph pg dump | grep inconsistent

# 2. 修復(fù)不一致數(shù)據(jù)
ceph pg repair 2.3f

# 3. 深度清理
ceph pg deep-scrub 2.3f

案例三:磁盤(pán)空間不足

# 1. 檢查使用率
cephdfdetail

# 2. 找出占用最多的池
ceph osd poollsdetail

# 3. 臨時(shí)提高告警閾值(緊急情況)
ceph configsetglobal mon_osd_full_ratio 0.95
ceph configsetglobal mon_osd_backfillfull_ratio 0.90
ceph configsetglobal mon_osd_nearfull_ratio 0.85

# 4. 長(zhǎng)期解決:添加OSD或刪除數(shù)據(jù)
ceph orch daemon add osd node4:/dev/sdb

容量規(guī)劃與擴(kuò)容策略

容量計(jì)算公式

可用容量 = 原始容量 × (1 - 副本數(shù)/副本數(shù)) × (1 - 預(yù)留空間比例)

# 例如:100TB原始容量,3副本,10%預(yù)留
# 可用容量 = 100TB × (1 - 3/3) × (1 - 0.1) = 30TB

平滑擴(kuò)容流程

# 1. 添加新OSD前設(shè)置
ceph configsetglobal osd_max_backfills 1
ceph configsetglobal osd_recovery_max_active 1

# 2. 逐個(gè)添加OSD
ceph orch daemon add osd node5:/dev/sdb
# 等待數(shù)據(jù)平衡完成
ceph -w

# 3. 恢復(fù)默認(rèn)配置
ceph configrmglobal osd_max_backfills
ceph configrmglobal osd_recovery_max_active

備份與災(zāi)難恢復(fù)

RBD快照備份

# 1. 創(chuàng)建快照
rbd snap create mypool/myimage@snapshot1

# 2. 導(dǎo)出快照
rbdexportmypool/myimage@snapshot1 /backup/myimage.snapshot1

# 3. 跨集群復(fù)制
rbd mirror poolenablemypool image
rbd mirror imageenablemypool/myimage

集群級(jí)備份策略

# 1. 配置導(dǎo)出
ceph config dump > /backup/ceph-config.dump

# 2. CRUSH Map備份
ceph osd getcrushmap -o /backup/crushmap.bin

# 3. Monitor數(shù)據(jù)備份
ceph-mon --extract-monmap /backup/monmap

高級(jí)運(yùn)維技巧

自動(dòng)化運(yùn)維腳本

創(chuàng)建集群健康檢查腳本:

#!/bin/bash
# ceph-health-check.sh

LOG_FILE="/var/log/ceph-health.log"
ALERT_EMAIL="admin@company.com"

check_health() {
  HEALTH=$(ceph health --format json | jq -r'.status')
 
 if["$HEALTH"!="HEALTH_OK"];then
   echo"$(date): Cluster health is$HEALTH">>$LOG_FILE
    ceph health detail >>$LOG_FILE
   
   # 發(fā)送告警郵件
   echo"Ceph cluster health issue detected"| mail -s"Ceph Alert"$ALERT_EMAIL
 fi
}

check_capacity() {
  USAGE=$(cephdf--format json | jq -r'.stats.total_used_ratio')
  THRESHOLD=0.80
 
 if(( $(echo "$USAGE>$THRESHOLD" | bc -l) ));then
   echo"$(date): Storage usage is${USAGE}">>$LOG_FILE
   echo"Storage capacity warning"| mail -s"Ceph Capacity Alert"$ALERT_EMAIL
 fi
}

main() {
  check_health
  check_capacity
}

main

性能基準(zhǔn)測(cè)試

# 1. RADOS性能測(cè)試
rados bench -p mypool 60 write --no-cleanup
rados bench -p mypool 60seq
rados bench -p mypool 60 rand

# 2. RBD性能測(cè)試
rbd create --size 10G mypool/test-image
rbd map mypool/test-image
fio --name=rbd-test --rw=randwrite --bs=4k --size=1G --filename=/dev/rbd0

# 3. CephFS性能測(cè)試
mkdir/mnt/cephfs/test
fio --name=cephfs-test --rw=write --bs=1M --size=1G --directory=/mnt/cephfs/test

生產(chǎn)環(huán)境最佳實(shí)踐

安全配置

# 1. 啟用認(rèn)證
ceph configsetmon auth_cluster_required cephx
ceph configsetmon auth_service_required cephx
ceph configsetmon auth_client_required cephx

# 2. 創(chuàng)建專(zhuān)用用戶(hù)
ceph auth get-or-create client.backup mon'allow r'osd'allow rwx pool=mypool'

# 3. 網(wǎng)絡(luò)加密
ceph configsetglobal ms_cluster_mode secure
ceph configsetglobal ms_service_mode secure

日志管理

# 1. 配置日志輪轉(zhuǎn)
cat> /etc/logrotate.d/ceph <

升級(jí)策略

# 1. 滾動(dòng)升級(jí)前檢查
ceph status
ceph versions

# 2. 升級(jí)OSD節(jié)點(diǎn)
ceph orch upgrade start --ceph-version 15.2.14

# 3. 監(jiān)控升級(jí)進(jìn)度
ceph orch upgrade status

常見(jiàn)問(wèn)題與解決方案

Q1: 新添加的OSD不平衡數(shù)據(jù)怎么辦?

# 手動(dòng)觸發(fā)數(shù)據(jù)平衡
ceph osd reweight-by-utilization 105

# 調(diào)整特定OSD權(quán)重
ceph osd crush reweight osd.6 2.0

Q2: 集群時(shí)鐘偏差導(dǎo)致的問(wèn)題

# 檢查時(shí)鐘偏差
ceph time-sync-status

# 修復(fù)方案
systemctl restart chronyd
ceph configsetglobal mon_clock_drift_allowed 0.5

Q3: 大量慢查詢(xún)?nèi)绾蝺?yōu)化?

# 分析慢查詢(xún)
ceph daemon osd.0 dump_historic_ops

# 臨時(shí)緩解
ceph tell'osd.*'injectargs'--osd-op-complaint-time 30'

# 永久優(yōu)化
ceph configsetosd osd_op_complaint_time 30

總結(jié)與展望

通過(guò)本文的深入講解,相信你已經(jīng)掌握了Ceph集群在生產(chǎn)環(huán)境中的部署和運(yùn)維精髓。從我的實(shí)踐經(jīng)驗(yàn)來(lái)看,Ceph不僅僅是一個(gè)存儲(chǔ)解決方案,更是企業(yè)數(shù)字化轉(zhuǎn)型的基石。

關(guān)鍵要點(diǎn)回顧

1.架構(gòu)設(shè)計(jì):合理的硬件選型和網(wǎng)絡(luò)規(guī)劃是成功的前提

2.監(jiān)控運(yùn)維:建立完善的監(jiān)控體系,防患于未然

3.性能調(diào)優(yōu):根據(jù)業(yè)務(wù)特點(diǎn)調(diào)整參數(shù),發(fā)揮最佳性能

4.故障處理:快速定位和解決問(wèn)題的能力是核心競(jìng)爭(zhēng)力

隨著云原生技術(shù)的發(fā)展,Ceph在容器化、微服務(wù)架構(gòu)中的應(yīng)用會(huì)越來(lái)越廣泛。掌握Ceph運(yùn)維技能,將讓你在分布式存儲(chǔ)領(lǐng)域占據(jù)技術(shù)制高點(diǎn)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲(chǔ)
    +關(guān)注

    關(guān)注

    13

    文章

    4633

    瀏覽量

    89114
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11579

    瀏覽量

    217016
  • 集群
    +關(guān)注

    關(guān)注

    0

    文章

    129

    瀏覽量

    17565

原文標(biāo)題:Linux下的分布式存儲(chǔ)方案:Ceph集群部署與運(yùn)維完全指南

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Hadoop的集群環(huán)境部署說(shuō)明

    或者是相同,指令多、步驟繁瑣。有的時(shí)候覺(jué)得不免覺(jué)得很奇怪,這些發(fā)行商為什么不對(duì)hadoop的集群環(huán)境部署做一下優(yōu)化呢?幸運(yùn)的是總算是讓我找到了一個(gè)hadoop發(fā)行版集群環(huán)境搭建簡(jiǎn)單易用。這里使用的是一款
    發(fā)表于 10-12 15:51

    Flink集群部署方法

    Flink集群部署詳細(xì)步驟
    發(fā)表于 04-23 11:45

    kubernetes運(yùn)學(xué)習(xí)指南

    k8s學(xué)習(xí)4 - 運(yùn)指南
    發(fā)表于 09-04 10:46

    redis集群的如何部署

    redis集群部署(偽分布式)
    發(fā)表于 05-29 17:13

    基于全HDD aarch64服務(wù)器的Ceph性能調(diào)優(yōu)實(shí)踐總結(jié)

    和成本之間實(shí)現(xiàn)了最佳平衡,可以作為基于arm服務(wù)器來(lái)部署存儲(chǔ)的參考設(shè)計(jì)。2 Ceph架構(gòu)3 測(cè)試集群硬件配置:3臺(tái)arm服務(wù)器每臺(tái)arm服務(wù)器:軟件配置性能測(cè)試工具4 調(diào)優(yōu)方式4.1 硬件調(diào)優(yōu)近些年
    發(fā)表于 07-05 14:26

    Ceph是什么?Ceph的統(tǒng)一存儲(chǔ)方案簡(jiǎn)析

    ,一般來(lái)說(shuō),用于部署Ceph集群物理機(jī)器(或虛擬機(jī))的磁盤(pán)數(shù)量與OSD守護(hù)進(jìn)程數(shù)量是一樣的。MDS,元數(shù)據(jù)服務(wù)器,只有Ceph FS才需要,對(duì)象存儲(chǔ)場(chǎng)景不需要使用到MDS。小結(jié)本篇簡(jiǎn)單
    發(fā)表于 10-08 15:40

    如何部署基于Mesos的Kubernetes集群

    的內(nèi)核。把Kubernetes運(yùn)行在Mesos集群之上,可以和其他的框架共享集群資源,提高集群資源的利用率。 本文是Kubernetes和Mesos集成指南系列文章第一篇:實(shí)戰(zhàn)
    發(fā)表于 10-09 18:04 ?0次下載
    如何<b class='flag-5'>部署</b>基于Mesos的Kubernetes<b class='flag-5'>集群</b>

    Ceph分布式存儲(chǔ)中遇到的問(wèn)題和解決辦法

    首先,原作者分析Ceph運(yùn)中遇到的問(wèn)題是真實(shí)存在的,甚至在實(shí)際的運(yùn)過(guò)程中還出現(xiàn)過(guò)其他更復(fù)雜的問(wèn)題。因?yàn)樽畛醯?/div>
    發(fā)表于 10-20 10:17 ?4636次閱讀

    ceph-zabbix監(jiān)控Ceph集群文件系統(tǒng)

    ceph-zabbix.zip
    發(fā)表于 04-26 09:48 ?2次下載
    <b class='flag-5'>ceph</b>-zabbix監(jiān)控<b class='flag-5'>Ceph</b><b class='flag-5'>集群</b>文件系統(tǒng)

    autobuild-ceph遠(yuǎn)程部署Ceph及自動(dòng)構(gòu)建Ceph

    autobuild-ceph.zip
    發(fā)表于 05-05 11:09 ?2次下載
    autobuild-<b class='flag-5'>ceph</b>遠(yuǎn)程<b class='flag-5'>部署</b><b class='flag-5'>Ceph</b>及自動(dòng)構(gòu)建<b class='flag-5'>Ceph</b>

    NKD:容器云集群與OS一體化運(yùn)利器

    NKD 是 NestOS-kubernetes-Deployer 的縮寫(xiě),是為了基于 NestOS 部署的 Kubernetes 集群運(yùn)工作準(zhǔn)備的解決方案。其目標(biāo)是在
    的頭像 發(fā)表于 08-15 14:52 ?2293次閱讀
    NKD:容器云<b class='flag-5'>集群</b>與OS一體化<b class='flag-5'>運(yùn)</b><b class='flag-5'>維</b>利器

    請(qǐng)問(wèn)怎樣使用cephadm部署ceph集群呢?

    從紅帽ceph5開(kāi)始使用cephadm代替之前的ceph-ansible作為管理整個(gè)集群生命周期的工具,包括部署,管理,監(jiān)控。
    的頭像 發(fā)表于 01-16 09:32 ?2672次閱讀
    請(qǐng)問(wèn)怎樣使用cephadm<b class='flag-5'>部署</b><b class='flag-5'>ceph</b><b class='flag-5'>集群</b>呢?

    分布式運(yùn)管理平臺(tái)在跨地域企業(yè)中的部署運(yùn)案例

    問(wèn)題,某跨地域企業(yè)決定引入分布式運(yùn)管理平臺(tái),以提升其運(yùn)效率和管理水平。 二、平臺(tái)部署與優(yōu)勢(shì) 統(tǒng)一化管理與監(jiān)控 分布式
    的頭像 發(fā)表于 03-26 16:11 ?915次閱讀

    Redis集群部署與性能優(yōu)化實(shí)戰(zhàn)

    Redis作為高性能的內(nèi)存數(shù)據(jù)庫(kù),在現(xiàn)代互聯(lián)網(wǎng)架構(gòu)中扮演著關(guān)鍵角色。作為運(yùn)工程師,掌握Redis的部署、配置和優(yōu)化技能至關(guān)重要。本文將從實(shí)戰(zhàn)角度出發(fā),詳細(xì)介紹Redis集群的搭建、性
    的頭像 發(fā)表于 07-08 17:56 ?484次閱讀

    使用Ansible實(shí)現(xiàn)大規(guī)模集群自動(dòng)化部署

    當(dāng)你面對(duì)1000+服務(wù)器需要部署時(shí),你還在一臺(tái)臺(tái)手工操作嗎?本文將揭秘如何用Ansible實(shí)現(xiàn)大規(guī)模集群的自動(dòng)化部署,讓運(yùn)效率提升10倍!
    的頭像 發(fā)表于 08-27 14:41 ?418次閱讀