CentOS7下部署ceph-12 (luminous)--单机集群

CentOS7下部署ceph-12 (luminous)--多机集群 手动部署ceph12集群,多机环境 阅读详情

1. 安装ceph

1.1 下载

ceph官方为一些常用平台编译了rpm包,对于Centos7,可到此下载:http://download.ceph.com/rpm-luminous/el7/x86_64/

根据你需要的功能而定,一般不需要全部下载,我下载了下列rpm:

ceph-12.1.3-0.el7.x86_64.rpm
ceph-base-12.1.3-0.el7.x86_64.rpm
ceph-common-12.1.3-0.el7.x86_64.rpm
ceph-mds-12.1.3-0.el7.x86_64.rpm
ceph-mgr-12.1.3-0.el7.x86_64.rpm
ceph-mon-12.1.3-0.el7.x86_64.rpm
ceph-osd-12.1.3-0.el7.x86_64.rpm
ceph-radosgw-12.1.3-0.el7.x86_64.rpm
ceph-selinux-12.1.3-0.el7.x86_64.rpm
libcephfs2-12.1.3-0.el7.x86_64.rpm
librados2-12.1.3-0.el7.x86_64.rpm
librados-devel-12.1.3-0.el7.x86_64.rpm
libradosstriper1-12.1.3-0.el7.x86_64.rpm
libradosstriper-devel-12.1.3-0.el7.x86_64.rpm
librbd1-12.1.3-0.el7.x86_64.rpm
librgw2-12.1.3-0.el7.x86_64.rpm
python-cephfs-12.1.3-0.el7.x86_64.rpm
python-rados-12.1.3-0.el7.x86_64.rpm
python-rbd-12.1.3-0.el7.x86_64.rpm
python-rgw-12.1.3-0.el7.x86_64.rpm

1.2 安装

rpm -hiv librados2-12.1.3-0.el7.x86_64.rpm
rpm -hiv python-rados-12.1.3-0.el7.x86_64.rpm
rpm -hiv librbd1-12.1.3-0.el7.x86_64.rpm
rpm -hiv python-rbd-12.1.3-0.el7.x86_64.rpm
rpm -hiv libcephfs2-12.1.3-0.el7.x86_64.rpm
rpm -hiv python-cephfs-12.1.3-0.el7.x86_64.rpm
rpm -hiv librgw2-12.1.3-0.el7.x86_64.rpm
rpm -hiv librados-devel-12.1.3-0.el7.x86_64.rpm
rpm -hiv libradosstriper1-12.1.3-0.el7.x86_64.rpm
rpm -hiv libradosstriper-devel-12.1.3-0.el7.x86_64.rpm
rpm -hiv python-rgw-12.1.3-0.el7.x86_64.rpm
rpm -hiv ceph-common-12.1.3-0.el7.x86_64.rpm
rpm -hiv ceph-selinux-12.1.3-0.el7.x86_64.rpm  ceph-base-12.1.3-0.el7.x86_64.rpm
rpm -hiv ceph-osd-12.1.3-0.el7.x86_64.rpm
rpm -hiv ceph-mon-12.1.3-0.el7.x86_64.rpm
rpm -hiv ceph-mds-12.1.3-0.el7.x86_64.rpm
rpm -hiv ceph-mgr-12.1.3-0.el7.x86_64.rpm
rpm -hiv ceph-12.1.3-0.el7.x86_64.rpm
rpm -hiv ceph-radosgw-12.1.3-0.el7.x86_64.rpm

2. 单机部署

本例子在node2上手动部署一个单机ceph集群:testcluster。本机器有两个网卡:192.168.100.132和192.168.73.132,分别做集群的public network和cluster network。另外,本机器有三块磁盘,用做OSD。

为了看清楚集群名的作用,我没有使用默认的集群名ceph,而是使用testcluster作为集群名。很多命令都有一个--cluster {cluster-name}选项,并根据此全选项来找到配置文件{cluster-name}.conf。不指定时,命令就使用默认集群名ceph,因此,多数情况下,我们的配置文件为ceph.conf,命令中也不用特意加上 --cluster ceph选项。

另外,为了方便,我使用root用户。

基于上面两个原因,我需要修改一下这些systemctl配置文件:

/usr/lib/systemd/system/ceph-mon@.service
/usr/lib/systemd/system/ceph-osd@.service
/usr/lib/systemd/system/ceph-mds@.service
/usr/lib/systemd/system/ceph-mgr@.service
/usr/lib/systemd/system/ceph-radosgw@.service

修改:

Environment=CLUSTER=ceph                                                  <---  改成CLUSTER=testcluster

ExecStart=/usr/bin/... --id %i --setuser ceph --setgroup ceph    <--- 删掉--setuser ceph --setgroup ceph


2.1 创建配置文件testcluster.conf

[global]
    cluster = testcluster
    fsid = a7f64266-0894-4f1e-a635-d0aeaca0e993

    mon initial members = node2
    mon host = 192.168.100.132

    public network = 192.168.100.0/24
    cluster network = 192.168.73.0/24

    auth cluster required = cephx
    auth service required = cephx
    auth client required = cephx

    osd journal size = 1024
    osd pool default size = 1
    osd pool default min size = 1
    osd pool default pg num = 33
    osd pool default pgp num = 33
    osd crush chooseleaf type = 1

2.2 创建keyring

ceph中的osd,mon,mds,client等被抽象成user。这里的user可以是一个人,也可以是程序模块。每个user由type和id定位。例如:client.admin的type是client,id是admin;再如,osd.3的type是osd,id是3。每个user有key和权限。其权限由CAP (Capabilities)描述。

ceph中对权限的操作分两种:

  • 第一种:使用ceph-authtool,来操作一个keyring文件,增删user,为每个user生成key并为其设置权限……然后,使这个keyring文件生效。若集群还未创建,可以在创建集群时带入keyring使之生效(ceph-mon --cluster {cluster-name} --mkfs -i {monitor-id} --monmap /tmp/monmap --keyring {keyring-file});若集群已经创建,可以使用ceph auth import -i {keyring-file}导入使之生效;
  • 第二种:使用ceph auth命令,来直接在集群中增删user,为每个user生成key并为其设置权限……需要时,也可以使用ceph auth get-or-create及类似命令把集群中的user及其权限导出来,保存成keyring文件;
可见,这两种方式是等价的。

我们是用ceph命令时,虽然我们没有指定user,但其实我们在使用默认的client.admin:
ceph health
其实在内部被解析成:
ceph --cluster {cluster-name} -n client.admin --keyring=/etc/ceph/${cluster-name}.client.admin.keyring health

这里,通过第一种方式,先生成keyring文件,后面创建集群时将其带入。

   ceph-authtool --create-keyring /tmp/testcluster.mon.keyring --gen-key -n mon. --cap mon 'allow *'

   ceph-authtool --create-keyring /etc/ceph/testcluster.client.admin.keyring --gen-key -n client.admin --set-uid=0 --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'
   ceph-authtool /tmp/testcluster.mon.keyring --import-keyring /etc/ceph/testcluster.client.admin.keyring
   
   ceph-authtool --create-keyring /etc/ceph/testcluster.client.bootstrap-osd.keyring --gen-key -n client.bootstrap-osd --cap mon 'allow profile bootstrap-osd'
   ceph-authtool /tmp/testcluster.mon.keyring --import-keyring /etc/ceph/testcluster.client.bootstrap-osd.keyring

这里的/tmp/testcluster.mon.keyring名字并不恰当,按 http://docs.ceph.com/docs/master/rados/operations/user-management/里讲的习惯,应该叫testcluster.keyring。然而名字并不重要,重要的是,目前它存储了三个user以及它们的key和权限:

			# cat testcluster.client.admin.keyring
			[client.admin]
					key = AQBhVpFZr7x8MBAAMaLBiv5Zvkcg+S9oD+pEBA==
					auid = 0
					caps mds = "allow *"
					caps mgr = "allow *"
					caps mon = "allow *"
					caps osd = "allow *"


			# cat testcluster.client.bootstrap-osd.keyring
			[client.bootstrap-osd]
					key = AQDaVpFZ2z7vKhAARWoHu4u75lrE1gfDFoLjCg==
					caps mon = "allow profile bootstrap-osd"


			# cat /tmp/testcluster.mon.keyring
			[mon.]
					key = AQATVpFZ4/XdNBAACvFjCBjGz1G4m1WIum8+Jw==
					caps mon = "allow *"
			[client.admin]
					key = AQBhVpFZr7x8MBAAMaLBiv5Zvkcg+S9oD+pEBA==
					auid = 0
					caps mds = "allow *"
					caps mgr = "allow *"
					caps mon = "allow *"
					caps osd = "allow *"
			[client.bootstrap-osd]
					key = AQDaVpFZ2z7vKhAARWoHu4u75lrE1gfDFoLjCg==
					caps mon = "allow profile bootstrap-osd"

2.3 创建monitor map

monmaptool --create --add node2 192.168.100.132 --fsid a7f64266-0894-4f1e-a635-d0aeaca0e993 /tmp/monmap

单机环境下,只有一个monitor。和keyring类似,monmap只是一个本地文件,后面创建集群时将其带入。它的内容可以通过monmaptool --print查看:

			# monmaptool --print /tmp/monmap
			monmaptool: monmap file /tmp/monmap
			epoch 0
			fsid a7f64266-0894-4f1e-a635-d0aeaca0e993
			last_changed 2017-08-14 07:55:57.114621
			created 2017-08-14 07:55:57.114621
			0: 192.168.100.132:6789/0 mon.node2

2.4 创建集群

2.4.1 创建目录{mon data}

配置项{mon data}的默认值是“/var/lib/ceph/mon/$cluster-$id” (当然,我们可以在testcluster.conf中把它改成别的目录),我们的cluster名叫testcluster,monitor id是node2,故创建如下目录:

mkdir /var/lib/ceph/mon/testcluster-node2

2.4.2 初始化monitor

即在{mon data}中生成monitor的初始文件。它需要{mon data}目录存在,所以前面我们创建了此目录。注意,这里我们带入了前面生成的keyring和monmap。

ceph-mon --cluster testcluster --mkfs -i node2 --monmap /tmp/monmap --keyring /tmp/testcluster.mon.keyring
成功之后,我们可以看见{mon data}目录下生成了一些初始文件

			# ls  /var/lib/ceph/mon/testcluster-node2
			keyring  kv_backend  store.db

2.4.3 创建done文件

touch /var/lib/ceph/mon/testcluster-node2/done

2.4.4 启动集群

systemctl start ceph-mon@node2
这时可以看集群的状态:

			# ps -ef |grep ceph
			root      67290      1  2 08:10 ?        00:00:00 /usr/bin/ceph-mon -f --cluster testcluster --id node2

			
			# ceph --cluster testcluster -s
			  cluster:
				id:     a7f64266-0894-4f1e-a635-d0aeaca0e993
				health: HEALTH_OK

			  services:
				mon: 1 daemons, quorum node2
				mgr: no daemons active
				osd: 0 osds: 0 up, 0 in

			  data:
				pools:   0 pools, 0 pgs
				objects: 0 objects, 0 bytes
				usage:   0 kB used, 0 kB / 0 kB avail
				pgs:

2.5 添加osd

这里,我们使用不同的方式添加三个osd。这只是为了测试,不同添加方式的区别。现实中不必如此。

2.5.1 手动添加osd /dev/sdb

2.5.1.1 删除/dev/sdb的所有分区

2.5.1.2 为osd生成uuid

# uuidgen
a270cc4b-54e4-4d5f-ab6c-d31b3037b6c7
2.5.1.3 为osd生成cephx key

# ceph-authtool --gen-print-key
AQA/XJFZmeaDFRAAKpJ1o6XXnrC6cTMLws5GrA==

2.5.1.4 生成osd号  (如下,生成的osd号为0)

# echo "{\"cephx_secret\": \"AQA/XJFZmeaDFRAAKpJ1o6XXnrC6cTMLws5GrA==\"}"  | ceph --cluster testcluster osd new a270cc4b-54e4-4d5f-ab6c-d31b3037b6c7 -i - -n client.bootstrap-osd -k /tmp/testcluster.mon.keyring
0

2.5.1.5 格式化并mount磁盘

和前面{mon data}类似,这里的文件夹是{osd data};默认值是:/var/lib/ceph/osd/$cluster-$id。我们也可以在testcluster.conf中修改它。

mkdir /var/lib/ceph/osd/testcluster-0    
mkfs.xfs -f -i size=1024 /dev/sdb
mount -o rw,noatime,nobarrier,inode64,logbsize=256k,delaylog /dev/sdb /var/lib/ceph/osd/testcluster-0

2.5.1.6 为osd创建keyring

ceph-authtool --create-keyring /var/lib/ceph/osd/testcluster-0/keyring --name osd.0 --add-key AQA/XJFZmeaDFRAAKpJ1o6XXnrC6cTMLws5GrA==
# cat /var/lib/ceph/osd/testcluster-0/keyring
[osd.0]
        key = AQA/XJFZmeaDFRAAKpJ1o6XXnrC6cTMLws5GrA==

2.5.1.7 初始化osd

和初始化monitor类似,在{osd data}目录中生成osd所需的一些文件或文件夹:

ceph-osd --cluster testcluster -i 0 --mkfs --osd-uuid a270cc4b-54e4-4d5f-ab6c-d31b3037b6c7
# ls /var/lib/ceph/osd/testcluster-0
ceph_fsid  current  fsid  journal  keyring  magic  ready  store_version  superblock  type  whoami

2.5.1.8 启动osd

systemctl start ceph-osd@0
	
# ceph --cluster testcluster -s
cluster:
	id:     a7f64266-0894-4f1e-a635-d0aeaca0e993
	health: HEALTH_WARN
		no active mgr

  	services:
		mon: 1 daemons, quorum node2
		mgr: no daemons active
		osd: 1 osds: 1 up, 1 in

	data:
		pools:   0 pools, 0 pgs
		objects: 0 objects, 0 bytes
		usage:   0 kB used, 0 kB / 0 kB avail
		pgs:

# ceph --cluster testcluster daemon osd.0 config show  | grep objectstore
	"objectstore_blackhole": "false",
	"osd_objectstore": "filestore",    <-------- 手动方式,osd使用的filestore
	"osd_objectstore_fuse": "false",
	"osd_objectstore_tracing": "false",

2.5.2 使用ceph-disk添加osd /dev/sdc

2.5.2.1 删除/dev/sdc的所有分区

2.5.2.2 prepare 

ceph-disk prepare --cluster testcluster --cluster-uuid a7f64266-0894-4f1e-a635-d0aeaca0e993 /dev/sdc 

这一步会把/dev/sdc分为/dev/sdc1和/dev/sdc2两个分区,并把/dev/sdc1格式化为文件系统(默认xfs, 可以通过"--fs-type"指定别的文件系统)。

2.5.2.3 activate

ceph-disk activate /dev/sdc1 --activate-key /etc/ceph/testcluster.client.bootstrap-osd.keyring
这样,osd就直接被添加并启动了:

# mount | grep sdc
/dev/sdc1 on /var/lib/ceph/osd/testcluster-1 type xfs (rw,noatime,seclabel,attr2,inode64,noquota)     <-------- sdc被分区、格式化并挂载
			
# ls /var/lib/ceph/osd/testcluster-1
activate.monmap  active  block  block_uuid  bluefs  ceph_fsid  fsid  keyring  kv_backend  magic  mkfs_done  ready  systemd  type  whoami
			
# ll /var/lib/ceph/osd/testcluster-1/block
lrwxrwxrwx. 1 ceph ceph 58 Aug 14 09:04 /var/lib/ceph/osd/testcluster-1/block -> /dev/disk/by-partuuid/1f29c7dc-7b4a-4644-9283-95bd265a77ed
			
# ll /dev/disk/by-partuuid/1f29c7dc-7b4a-4644-9283-95bd265a77ed
lrwxrwxrwx. 1 root root 10 Aug 14 09:06 /dev/disk/by-partuuid/1f29c7dc-7b4a-4644-9283-95bd265a77ed -> ../../sdc2    <----------- block是sdc2的软链接
			
# ceph --cluster testcluster daemon osd.1 config show  | grep objectstore
	"objectstore_blackhole": "false",
	"osd_objectstore": "bluestore",      <-------------bluestore !!!  bluestore建在osd/testcluster-1/block之上,它是sdc2的软链接
	"osd_objectstore_fuse": "false",
	"osd_objectstore_tracing": "false",

2.5.3 使用ceph-disk添加osd /dev/sdd2

2.5.3.1 将/dev/sdd分区,我们只使用/dev/sdd2

2.5.3.2 prepare

ceph-disk prepare --cluster testcluster --cluster-uuid a7f64266-0894-4f1e-a635-d0aeaca0e993 /dev/sdd2

2.5.3.3 activate

ceph-disk activate /dev/sdd2 --activate-key /etc/ceph/testcluster.client.bootstrap-osd.keyring

观察:

# mount | grep sdd
/dev/sdd2 on /var/lib/ceph/osd/testcluster-2 type xfs (rw,noatime,seclabel,attr2,inode64,noquota)    <---- sdd2 被格式化并挂载

# ll /var/lib/ceph/osd/testcluster-2/block
-rw-r--r--. 1 ceph ceph 10737418240 Aug 14 09:11 /var/lib/ceph/osd/testcluster-2/block               <----- block是一个常规文件

# ceph --cluster testcluster daemon osd.2 config show  | grep objectstore
	"objectstore_blackhole": "false",
	"osd_objectstore": "bluestore",     <------------------  bluestore. !!! bluestore建在osd/testcluster-1/block之上,它是一个常规文件
	"osd_objectstore_fuse": "false",
	"osd_objectstore_tracing": "false",

2.6 添加mgr

自从ceph 12开始,manager是必须的。应该为每个运行monitor的机器添加一个mgr,否则集群处于WARN状态。

2.6.1 添加一个user,type为mgr,id为node2

ceph --cluster testcluster auth get-or-create mgr.node2 mon 'allow profile mgr' osd 'allow *' mds 'allow *'
[mgr.node2]
		key = AQCTa5FZ5z2SBxAAmcNNPFCi40jI+qi+Kyk2Pw==

2.6.2 把这个user的key及权限导出

mkdir /var/lib/ceph/mgr/testcluster-node2/
ceph --cluster testcluster auth get-or-create mgr.node2 -o /var/lib/ceph/mgr/testcluster-node2/keyring

2.6.3 启动mgr

systemctl start ceph-mgr@node2
	
# ceph --cluster testcluster -s
	  cluster:
		id:     a7f64266-0894-4f1e-a635-d0aeaca0e993
		health: HEALTH_OK			   <------ cluster is healthy

	  services:
		mon: 1 daemons, quorum node2
		mgr: node2(active)                         <------   mgr with id node2 is active
		osd: 3 osds: 3 up, 3 in

	  data:
		pools:   0 pools, 0 pgs
		objects: 0 objects, 0 bytes
		usage:   3240 MB used, 88798 MB / 92038 MB avail
		pgs:

Ceph分布式存储部署实战:从零搭建三节点生产级集群 分布式存储是现代云原生架构的数据底座,其核心在于数据可靠性、多副本容错与自动化故障恢复。Ceph作为开源分布式存储代表,依托CRUSH算法实现无中心化数据分布,通过RADOS层提供对象、块、文件统一存储能力。其技术价值体现在自主可控的数据主权、跨机架故障域隔离及Bluestore裸设备直管带来的高性能与强一致性。典型应用场景包括私有云底座构建、科研数据长期归档、边缘计算本地存储,以及Kubernetes持久化存储(PV)供给。本文聚焦Ceph Luminous版本在CentOS 7.9上的三节点最小可行集群 阅读详情

相关推荐

OpenStack私有云部署实战:从架构选型到Ceph高可用落地

企业数字化转型中,传统数据中心的资源孤岛与低利用率问题日益突出,私有云以资源池化、按需分配的IaaS模式成为主流选择。虚拟化技术仅解决单机资源隔离,而OpenStack作为开源IaaS管理平台,通过Keystone、Nova、Neutron等组件协同,对计算、网络、存储进行统一调度。选择OpenStack与Ceph分布式存储的结合,既能降低商业授权门槛,又能借助共享存储支撑虚拟机热迁移,构建真正的高可用云平台。对于运维工程师和计划低成本验证私有云方案的中小团队,一套完整的七节点高可用架构部署路径极具参考价值

weixin_33885676的博客 555

Ceph对象存储单机部署

Ceph对象存储单机部署 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 一、单节点部署规划 主机名 IP地址 操作系统 磁盘空间 角色 services-ceph 192.168.11.21 CentOS Linux release 7.6.1810 (Core) 系统盘:50G + 数据盘:200G ceph-deploy、monitor、mgr、rgw、mds、osd 二、角色说明 组件名称 组件功能 Monitors Ceph Monitor

Database operation and maintenance 5132

避坑指南:OpenWRT改AP模式必做的5个关键设置(DHCP/防火墙/WAN口处理)

本文详细解析了将OpenWRT设备从路由模式切换为AP模式时,必须完成的五个关键设置步骤。核心在于理解AP模式本质是带无线的智能交换机,需彻底关闭DHCP服务、调整防火墙策略、正确桥接所有物理接口(包括WAN口处理),并集成无线网络,以确保设备能透明接入主路由网络,避免出现设备隔离或无法互访等常见问题。

t1u2v的博客 732

Ceph 17.2.9:如何使用Ceph原生命令部署单节点集群

本文将介绍如何在 ubuntu 20.04 中使用 ceph 原生命令部署一个完整的 ceph 集群,ceph 版本为 17.2.9。

分布式存储随笔 1826

什么是Merkle树?用“文件柜”类比理解区块链的核心技术

Merkle树是一种用于区块链的数据结构,像一个高效的“文件柜”,用于存储和验证大量交易数据。比特币通过Merkle树将交易哈希组织成树状结构,层层汇总,最终生成一个唯一的根哈希,存储在区块头中。这种设计大幅减少数据存储和验证成本,支持快速校验交易的完整性和存在性。Merkle树通过密码学保证数据不可篡改,广泛应用于比特币、区块链及其他分布式系统。它的优势在于高效、轻量和安全,尤其适合轻节点验证和数据同步。理解Merkle树就像掌握区块链的“索引秘籍”,是Web3世界的关键技术。

在路上的专栏 1192

YOLOv8实战:如何用Focaler-IoU提升小目标检测精度(附代码)

本文详细介绍了如何通过Focaler-IoU提升YOLOv8在小目标检测中的精度,包括核心机制解析、代码实现及调优策略。Focaler-IoU通过动态聚焦机制有效解决传统IoU对小目标检测的不足,显著提升模型性能。附有完整的代码示例和实战指南,适合计算机视觉开发者参考。

weixin_29044157的博客 362

Ceph部署

【代码】Ceph部署。

一个闲人 666

康耐视CogPMAlignTool模板匹配详解

康耐视CogPMAlignTool是一款基于边缘特征的模板匹配工具,适用于工业视觉检测。该工具提供PatMax、PatQuick、PatFlex等不同算法,分别对应高精度、快速匹配和柔性表面等应用场景。关键参数包括特征粒度(粗糙/精细)、边缘阈值、弹性范围等,支持旋转缩放匹配和极性忽略功能。工具操作流程包括图像采集、参数设置、模板训练和运行检测,通过调整查找概数、接收阈值等参数可优化识别效果。配套的卡尺工具(CogCaliperTool)通过一维投影和边缘筛选实现精准定位,适用于高精度尺寸测量场景。

2502_92473474的博客 1318

CentOS7 安装 Ceph12

注意: 本教程测试环境过于理想化,实际搭建过程中可能会缺失各种各样的依赖包! 第1、2、3、4、5、6、7、8、9、10步,在所有节点上操作 第11,12,13,14,15,16,17,18步,仅在第一个节点(CEPH MON节点)上操作 第19步,在所有需要挂载的服务器上操作 1、编辑hosts文件 cat >> /etc/hosts << EOF 10.4.1.120 ...

jiakun5257的博客 591

TensorFlow_PyTorch实战:构建AI人工智能回归模型

回归分析是机器学习的核心任务之一,用于预测连续型目标变量(如房价、股票价格、用户留存时间等)。基础线性回归模型的数学原理与代码实现多项式回归模型的过拟合处理与正则化技巧自定义数据集加载与数据预处理流程动态图(PyTorch)与静态图(TensorFlow)的编程范式对比模型评估指标与可视化分析方法核心概念:对比两大框架的架构设计,解析回归模型核心组件数学原理:推导线性回归的假设函数、损失函数及优化算法算法实现:提供TensorFlow和PyTorch的完整代码示例项目实战。

AI天才研究院 1429

lammps案例:堆垛层错能的计算

大家好,我是小马老师。 本文介绍如何使用lammps计算晶体的堆垛层错能。 正常晶体中的原子按照一定的规律排列,原子面按ABCABC……的顺序排列,如下图所示: 当某个原子面被抽出后会形成堆垛层错,如图中的蓝色原子层被抽出,原子面排列变为ABCBCA……: 可通过计算堆垛层错能形成前后的能量差计算堆垛层错能,计算公式为: E0为初始能量 Ef为删除一个原子面后的能量 A为界面面积 下面分享一个lammps计算堆垛层错能的in代码,本代码由Richard Glaze完成,本文稍作修改并进行了注释,以供初

lammps_jiayou的博客 5435

centos7 安装ceph12.2.5

1.环境及设置: ceph-node1 192.168.0.232 这个节点同时用作ceph-deployceph-node2 192.168.0.250ceph-node3 192.168.0.220操作系统: centos7.4内核:3.10.0-693.21.1.el7.x86_64关闭防火墙,selinux 安装ceph-deploy: cat >/etc/yum.repos.d/...

weixin_34187822的博客 322

36、转子 - 主动磁轴承系统建模及密封性能研究

本文研究了转子-主动磁轴承(AMBs)系统的动力学建模、稳定性分析及密封性能。通过建立包含转子、电子控制系统和接口接触的机电模型,结合Bernoulli-Euler梁理论与弹簧单元等效法,构建了考虑接口接触的闭环系统模型,并在磁悬浮鼓风机和电机上进行数值模拟与实验验证,结果表明接口接触刚度显著影响系统稳定性,尤其在高预紧扭矩下易激发弯曲模态失稳。同时,对非接触式低温密封进行了CFD仿真与实验测试,发现浮动环密封(FRS)具有最优的泄漏控制和抗磨损性能。研究成果为提升高速旋转机械的稳定性和密封可靠性提供了理论

vim8coder的博客 134

ceph 代码分析 读_单机版Ceph环境部署,Linux平台

Ceph已经如火如荼,很多公司都在使用Ceph作为自己的存储系统。日常学习不太可能安装一个Ceph集群,因此本文介绍如何部署一个单节点的Ceph系统。另外,本文安装的后端存储引擎是BlueStore,这个引擎是目前性能比较好,且成熟的引擎。环境说明单节点:可以是VMWare或者VirtualBox虚拟机操作系统: CentOS 7.4 或者 Ubuntu 18.04部署工具:使用 ceph-dep...

weixin_34893555的博客 174

CosyVoice语音合成使用教程

CosyVoice是一款开源的语音合成工具,它基于深度学习模型,能够生成高度逼真的语音内容。该工具支持多种语言的语音生成,包括中文、英文、日文、粤语和韩语。CosyVoice的亮点在于它对生成语音情感和韵律的精细控制,通过富文本或自然语言输入,可以显著提升合成语音的情感表达能力。CosyVoice提供了多种预训练模型,用户可以根据需求选择合适的模型。:基底模型,适用于一般语音合成任务。:经过SFT微调的模型,适用于特定音色和情感的语音合成。:支持Instruct微调的模型,适用于自然语言控制的语音合成。

笔者从事电信媒体开发多年,愿意将多年的开发经验分享给同行 4442

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Ceph集群配置实战:架构设计、部署与排障避坑指南

分布式存储通过将数据分散到多台服务器,利用副本或纠删码机制保障数据可靠性与高可用性,其核心在于数据分布算法与故障域设计。在云计算与大数据场景中,对象存储、块存储和文件存储是三大主流接口,分别支撑S3兼容的数据湖、虚拟机磁盘以及共享文件系统等应用。Ceph作为业界广泛使用的开源分布式存储系统,凭借统一的RGW、RBD、CephFS接口,成为OpenStack、Hadoop生态等基础设施的常见底座。然而,生产环境的Ceph集群配置远比启动服务复杂,涉及版本选型、网络规划、OSD管理、PG数量计算、CRUSH故障

weixin_34337381的博客 216

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

ceph部署和使用详细教程

ceph部署和使用详细教程

大虾别跑 1万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

一键下载Ceph官方repo源的所有rpm包

一、一键下载ceph的x86_64的rpm包。二、一键下载ceph的noarch的rpm包。

崔炳华 1848

Ceph的安装部署

存储机制会把数据分散存储到多个节点上,具有高扩展性、高性能、高可用性等优点。#分布式存储的类型●块存储(例如硬盘,一般是一个存储被一个服务器挂载使用,适用于容器或虚拟机存储卷分配、日志存储、文件存储)就是一个裸设备,用于提供没有被组织过的存储空间,底层以分块的方式来存储数据●文件存储(例如NFS,解决块存储无法共享问题,可以一个存储被多个服务器同时挂载,适用于目录结构的存储、日志存储)

我的博客 2368

十四、单机单盘场景部署ceph环境

单机单盘部署rbd

段帅星的博客 865

ceph 部署单机&&集群

文章目录ceph-deploy部署集群ceph-deploy 部署单机ceph-deploy 创建osdceph osd创建资源池ceph创建rbd块设备ceph创建fs文件系统 本文档主要参考ceph官方命令进行部署,使用的时侯ceph-deploy原生命令方式进行集群各个组件的创建,删除,后续会增加扩容相关的命令。 ceph-deploy部署集群 修改hosts文件,增加想要创建的集群...

天行健,地势坤 2402

ceph分布式存储-常见MON故障处理

1. 常见 MON 故障处理 Monitor 维护着 Ceph 集群的信息,如果 Monitor 无法正常提供服务,那整个 Ceph 集群就不可访问。一般来说,在实际运行中,Ceph Monitor的个数是 2n + 1 ( n >= 0) 个,在线上至少3个,只要正常的节点数 >= n+1,Ceph 的 Paxos 算法就能保证系统的正常运行。所以,当 Monitor 出现故障的时候,不要惊慌,冷静下来,一步一步地处理。 1.1 开始排障 在遭遇 Monitor 故障时,首先回答下列几个问题

jj1130050965的博客 5404

Ceph-mon无法启动问题

删除mon,创建mon后出现下列错误,原因mon的keying不对,从其它服务器拷贝keying即可,重启mon 2021-09-15 01:09:39.309882 7fc8169ca700 0 – 192.168.0.11:6789/0 >> 192.168.0.13:6789/0 pipe(0x498d800 sd=23 :36942 s=1 pgs=0 cs=0 l=0 c=0x45d11e0).failed verifying authorize reply 2021-09-15

yysalad的专栏 2413

分布式存储ceph(Luminous/Nautilus版)安装教程

一、节点规划 | 节点 | IP地址 | 主机名 | 挂载磁盘设备 | | – | – | – | |deploy/mon/mgr/mds | 172.17.207.244 | node1 | /dev/sdb | |osd | 172.17.207.246 | node2 | /dev/sdb | |osd | 172.17.207.247 | node3 | /dev/sdb | |osd | 172.17.207.248 | node4 | /dev/sdb | 二、每台机器通用配置 1

IT- 研究者 2868

ceph部署

存储设备DAS(直接附加存储,是直接接到计算机的主板总线上去的存储)IDE、SATA、SCSI、SAS、USB 接口的磁盘所谓接口就是一种存储设备驱动下的磁盘设备,提供块级别的存储NAS(网络附加存储,是通过网络附加到当前主机文件系统之上的存储)文件系统级别的存储,本身就是一个做好的文件系统,通过nfs接口在用户空间输出后,客户端基于内核模块与远程主机进行网络通信,把它转为好像本地文件系统一样来使用,这种存储服务是没办法对它再一次格式化创建文件系统块的SAN(存储区域网络)

weixin_40343238的博客 783
上一篇: nginx 变量的保存结构和优化
下一篇: CentOS7下部署ceph-12 (luminous)--多机集群
for_tech
博客等级 码龄11年 50粉丝 37原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值