ceph集群维护常用操作

2023-05-16

文章目录

        • 通过套接字进行单机管理
        • 集群启停
        • 移除节点
        • ceph配置文件
        • 存储池分类
          • 副本池IO
          • 纠删码池IO
        • PG与PGP
        • PG数量计算
        • PG常见状态
        • 存储池管理
          • 创建存储池
          • 查看存储池
          • 删除存储池
          • 存储池配额
        • 存储池可用参数
        • 存储池快照

通过套接字进行单机管理

可以在mon或者osd节点通过ceph命令进行单机管理本机的mon或osd服务

节点上需要存在keyring认证文件

#通过socket文件连接osd服务,执行操作
ceph --admin-socket /var/run/ceph/ceph-osd.11.asok help	#帮查看助

在这里插入图片描述

--admin-daemon	#在mon节点通过socket文件获取daemon服务帮助
ceph --admin-daemon /var/run/ceph/ceph-mon.ceph-mon-01.asok help	#查看帮助
ceph --admin-daemon /var/run/ceph/ceph-mon.ceph-mon-01.asok config show	#查看配置信息

在这里插入图片描述

集群启停

关闭集群之前,要提前设置ceph集群不要将osd标记为out,避免节点关闭之后osd状态转变为out产生数据迁移

ceph osd set noout	#关闭集群前设置noout
ceph osd unset noout	#集群启动后取消noout

集群关闭顺序:

  1. 关闭集群前设置noout标记
  2. 关闭存储客户端,停止读写数据
  3. 如果使用了RGW,关闭RGW
  4. 关闭cephfs元数据服务
  5. 关闭osd
  6. 关闭mgr
  7. 关闭mon

集群启动顺序:

  1. 启动mon
  2. 启动mgr
  3. 启动osd
  4. 启动mds
  5. 启动rgw服务
  6. 启动存储客户端
  7. 取消noout标记

移除节点

移除节点之前,要逐个把节点上的osd停止并从ceph集群删除。具体步骤可以参考如下:

  1. 设置osd为out,然后等待数据迁移完成
  2. 节点上停止osd进程
  3. 从集群中删除所有待移除节点上的osd,ceph osd purge
  4. 待移除主机上的其它osd重复以上操作
  5. 全部操作完成后下线主机
  6. 从集群中删除该节点,ceph osd crush remove <node-name>

ceph配置文件

ceph的主要配置文件是/etc/ceph/ceph.conf,ceph服务在启动时会检查ceph.conf,分号;和#在配置文件中都表示注释。ceph.conf主要由以下配置段组成:

[global]	#全局配置
[osd]	#osd专用配置,可以使用osd.N来表示某一个osd专用配置,N为osd编号,如0、1、2等
[mon]	#mon专用配置,可以使用mon.A来为某一个monitor节点做专用配置,其中A表示节点名称,例如ceph-mon-01,可以使用ceph mon dump获取到节点名称
[client]	#客户端专用配置

ceph配置文件加载顺序:

  • $CEPH_CONF环境变量指定的文件
  • -c选项指定的文件
  • /etc/ceph/ceph.conf
  • ~/.ceph/ceph.conf 当前用户家目录下.ceph目录下的ceph.conf
  • ./ceph.conf 当前目录下的ceph.conf

存储池分类

在ceph中,存储池有两种类型:副本池和纠删码池

  • 副本池:replicated,定义每个对象在集群中保存为多个副本,默认为3个副本,副本池是默认的存储池类型
  • 纠删码池:erasure code,把各对象分为N=K+M个块(chunk),其中K为数据块数量,M为编码块数量,因此存储池的总大小N=K+M。简单来说就是数据保存在K个数据块上,并提供M个冗余块提供数据高可用,那么最多能故障的块就是M个,实际的磁盘占用就是K+M块,因此相比副本池比较节省存储资源。一般采用8+4机制(默认2+2),即8个数据块+4个编码块,那么就是1/3的存储空间用于数据冗余,比副本池默认的3副本节省空间,但不能出现大于一定数据块的故障。需要注意,不是所有的应用都支持纠删码池,例如rbd只支持副本池,而rgw可以支持纠删码池
副本池IO

副本池将一个数据对象存储为多个副本

在客户端写入数据时,ceph使用CRUSH算法计算出对象所属的PG ID和PG对应的osd,然后向主osd写入数据,再由主osd将数据同步给辅助osd。

读取数据:

  1. 客户端向主osd发起读请求
  2. 主osd从本地磁盘读取数据并返回,最终完成读请求

写入数据:

  1. 客户端向主osd请求写入数据
  2. 主osd写入后,将数据发送至各辅助osd
  3. 辅助osd写入数据完成后,发送完成信号给主osd
  4. 主osd返回确认信息给客户端,完成写请求

在这里插入图片描述

纠删码池IO

ceph从F版本起开始支持纠删码,但不推荐在生产环境使用纠删码池。

纠删码池虽然降低了数据保存所需要占用的存储空间,但是读写数据占用的计算资源要比副本池高。

纠删码池写入数据:数据在主osd进行编码然后分发到相应的osd上

  1. 计算合适的数据块并进行编码
  2. 对每个数据块进行编码并写入osd

https://img2.baidu.com/it/u=440909992,325936838&fm=253&fmt=auto&app=138&f=JPEG?w=761&h=500

纠删码池读取数据:

1.从相应的osd中获取数据后进行解码

在这里插入图片描述

创建纠删码池

ceph osd pool create erasure-test-pool 32 32 erasure

在这里插入图片描述

查看默认的纠删码保存策略

ceph osd erasure-code-profile get default

在这里插入图片描述
如上图,其中:

  • k=2表示数据块的数量
  • m=2表示编码块的数量
  • plugin=jerasure 默认的纠删码池插件

验证数据的存储方式

rados put testfile /var/log/syslog -p erasure-test-pool	#上传测试对象
ceph osd map erasure-test-pool test-file	#查看测试对象保存位置
rados get test-file ./a.log -p erasure-test-pool	#下载测试对象

在这里插入图片描述
如上图所示,可以看到每个object所属的pg对应4个osd,其中两个保存数据块,另外两个保存编码块,正好是K+M

PG与PGP

PG表示归置组,PGP表示归置组的组合,pgp相当于pg对应osd的逻辑排列组合关系(不同的pg使用不同组合关系的osd)

例如创建存储池时设置PG=32 PGP=32,那么:存储池中有32个pg,pg会写入到有32中组合关系(pgp)的osd上。如下图:
在这里插入图片描述

PG是用于跨osd将数据存储在每个存储池中的内部数据结构。它在osd和客户端之前生成了一个逻辑中间层,CRUSH算法负责将每个对象动态映射至一个PG,然后再将每个PG映射至一组osd,从而能够支持在新的osd设备上线时进行数据重新均衡。

可以自定义存储池中PG的数量。

ceph处于规模性伸缩及性能方面的考虑,将存储池分为多个PG,把对象映射到PG上,并为PG分配一个主osd。

存储池由一系列PG组成,而CRUSH算法则根据集群运行图和集群状态,将PG均匀的、伪随机(基于hash映射,每次的计算结果都一样)的分布到集群的osd之上。

如果单个OSD失败或需要对集群进行重新平衡,ceph只需要移动或复制PG即可,而不需要单独对每个对象进行操作。

为什么不直接将对象映射到osd,而是添加一个中间层PG?假设将object直接映射到osd,那么在osd出现故障后,需要对osd上的每个对象都重新计算存储位置,这会大量占用计算资源

PG数量计算

PG的数量是由管理员在创建存储池时指定的,然后由CRUSH负责创建和使用,PGd的梳理为2的N次方,每个osd上的PG不要超过250个,官方建议是每个osd上50-100个PG左右:https://docs.ceph.com/en/quincy/rados/operations/placement-groups/#choosing-the-number-of-placement-groups

通常,PG的数量应该是数据的合理粒度的子集。例如一个包含256个PG的存储池,每个PG包含大约1/256的存储池数据

当需要将PG从一个OSD移动到另一个OSD的时候,PG的数量会对性能产生影响。如果PG过少,每个PG承载的数据就会变多,那么ceph同步数据的时候产生的网络负载就会对集群性能输出产生一定影响。如果PG过多,ceph将会占用较多的计算资源来记录PG的状态信息。

在所有OSD之间进行数据持久存储以及完成数据分布会需要较多的归置组,但是它们的数量应该减少到实现ceph最大性能所需的最小PG数量值,以节省cpu和内存资源。

一般来说,对于有着超过50个OSD的集群,建议每个osd大约有50-100个PG以平衡资源使用及取得更好的数据持久性和数据分布,而在更大的集群上,每个OSD可以有100-200个PG。

集群中总的PG数量可以通过下面的公式进行计算,将得到的值四舍五入取最近的2的N次幂。

osd总数 ✖ 每个osd的PG数 ➗ 副本数量 => PG总数
例如:
集群有100个osd,每个osd计划承载100个PG,使用3副本,那么总的PG数量就等于
100 * 100 / 3 = 3333 ->向上取2的整次幂 = 4096

至于每个pool应该使用多少PG,应该根据pool所存储的数据占集群存储空间的比例来设置。

另外目前ceph支持根据存储池数据量自动调整存储池PG数量,可以参考官方文档进行设置:https://docs.ceph.com/en/quincy/rados/operations/placement-groups/#pg-autoscaler

PG常见状态

PG的常见状态如下:

  • Peering

    正在同步状态,同一个PG中的osd需要将数据同步一致,而Peering就是osd同步过程中的状态

  • Activating

    Peering已经完成,PG正在等待所有PG实例Peering的结果

  • Clean

    干净态,PG当前不存在修复的对象,并且大小等于存储池的副本数,即PG的活动集(Acting Set)和上行集(Up Set)为同一组OSD且内容一致

    什么是上行集和活动集?在某一个osd故障后,需要将故障的osd更换为可用的osd,并将PG所对应的主osd上的数据同步到新的osd上,例如刚开始pg对应osd1、osd2和osd3,当osd3故障后需要用osd4替换osd3,那么osd1、osd2、osd3就是上行集,替换后osd1、osd2、osd4就是活动集,osd替换完成后活动集最终要替换上行集,即活动集和上行集要保持一致

  • Active

    就绪状态,Active表示主osd和备osd均处于正常状态,此时PG可以处理来自客户端的读写请求,正常的PG默认就是Active+Clean状态

  • Degraded

    降级状态,一般出现于osd被标记为down之后,映射到此osd的PG都会转到降级状态。

    如果此osd还能重新启动完成并完成Peering操作后,那么此osd上的PG会恢复为clean状态。

    如果此osd被标记为down的时间超过5分钟还没恢复,那么此osd会被ceph标记为out,然后ceph会对被降级的PG启动恢复操作,直到因此osd故障而被降级的PG重新恢复为clean状态。

    恢复数据会从PG所属的主osd恢复,如果是主osd故障,那么会在备用的osd中选择一个作为主osd。

  • Stable

    过期状态,正常情况下每个主osd都要周期性的向mon报告其所持有PG的最新统计数据,因任何原因导致某个OSD无法正常向mon发送汇报信息的、或者由其它osd报告某个osd已经down的时候,则所有以此osd为主osd的PG会被标记为stable状态,即它们的主osd持有的已经不是最新数据了

  • undersized

    PG当前副本数小于其存储池定义的值时,PG会转换为undersized状态

  • Scrubing

    scrub是ceph对数据的清洗状态,用来保证数据完整性的机制,ceph的osd定期启动scrub线程来扫描部分PG,通过与其它副本比对来发现是否一致,如果存在不一致,抛出异常提示用户手动解决,scrub以PG为单位,对于每一个PG,ceph分析该PG中的所有object,产生一个类似于元数据信息摘要的数据结构,如对象大小、属性等,叫scrubmap,通过比较不同副本的scrubmap,来保证是不是有object丢失或不匹配,扫描分为轻量级扫描(light scrubs)和深度扫描(deep scrubs)。

    轻量级扫描比较object-size和属性,深度扫描读取数据部分,并通过checksum算法对比数据的一致性,深度扫描过程中的PG会处于scrubing+deep状态

  • Recovering

    正在恢复状态,集群正在执行迁移或同步PG它们的副本,这可能是由于添加了一个新的OSD到集群中或者某个osd故障后,PG可能被CRUSH算法重新分配到不同的osd上,而由于osd更换导致PG发生内部数据同步的过程中的PG会标记为Recovering

  • Backfilling

    正在后台填充态,backfill是recovery的一种特殊场景,指peering完成后,如果基于当前权威日志无法对Up Set当中的某些PG实施增量同步(例如承载这些PG实例的osd离线太久,或者是新的osd加入集群导致的PG实例整体迁移)则通过完全拷贝当前主osd上PG对象的方式进行全量同步,此过程中的PG会处于backfilling

  • Backfill-toofull

    某个需要被Backfill的PG实例,其所在的OSD可用空间不足,Backfill流程被挂起时的PG状态

存储池管理

创建存储池
ceph osd pool create <pool-name> pg-num pgp-num {replicated|erasure}
例如:
ceph osd pool create test-pool2 16 16 	#默认是副本池

在这里插入图片描述

查看存储池
ceph osd pool ls	#列出所有pool
ceph osd lspools	#列出所有pool,返回信息带pool ID
ceph osd pool stats <pool-name>	#查看指定pool的信息

在这里插入图片描述

删除存储池

删除存储池会把存储池内的数据全部删除,为了防止误删除操作,ceph设置了两个机制来防止误删除:

  • 第一个是存储池的NODELETE标志
  • 第二个是集群范围配置参数mon allow pool delete,即mon不允许删除存储池

首先设置pool的nodelete标志为false,false表示可以删除,true表示不能删除,不过默认就是false

ceph osd pool set test-pool2 nodelete false
ceph osd pool get test-pool2 nodelete

在这里插入图片描述

然后,通过ceph tell命令临时设置mon allow pool delete的参数为true,在删除指定的pool后再改为false

ceph tell mon.* injectargs --mon-allow-pool-delete=true

在这里插入图片描述
删除存储池

ceph osd pool rm <pool-name> <pool-name> --yes-i-really-really-mean-it	#pool名字要重复两次
例如:
ceph osd pool rm test-pool2 test-pool2 --yes-i-really-really-mean-it

在这里插入图片描述

最后将mon allow pool delete重置为false

ceph tell mon.* injectargs --mon-allow-pool-delete=false
存储池配额

存储池可以从两个方面设置配额,一个是配置最大可用空间(max_bytes),另一个是配置最大可写入对象数量(max_objects)

ceph osd pool get-quota mypool	#查看mypool的配额
ceph osd pool set-quota mypool max_bytes 53529804800	#设置mypool最多可用50G空间
ceph osd pool set-quota mypool max_objects 1000	#设置mypool最多可以存储1000个object

在这里插入图片描述
在这里插入图片描述

存储池可用参数

一般都是通过ceph osd pool get <pool-name> <key-name>获取存储池某个参数的值,通过ceph osd pool set <pool-name> <key> <new-value>修改参数的值

常用的存储池参数如下:

size,存储池中pg的副本数量,默认是3

min_size,最小可用副本数,例如size为3,min_size为2,表示最少要有两个副本存在,PG才能对外提供读写

pg_num/pgp_num,pg数量和pgp数量

crush_rule,设置crush算法规则,默认为副本池

nodelete,控制是否可以删除,默认fasle,表示可以删除

nopgchange,控制是否可以更改存储池的pg_num和pgp_num

nosizechange,控制是否可以修改存储池的副本数,默认允许修改

noscrube,控制是否开启轻量级扫描,默认开启轻量级扫描

nodeep-scrub,控制是否开启深度扫描,默认开启深度扫描

scrub_min_interval,设置执行轻度扫描的最小时间间隔,默认未设置,可以通过配置文件中osd_min_scrub_interval参数指定

scrub_max_interval,设置执行轻度扫描的最大时间间隔,默认未设置,可以通过配置文件中osd_max_scrub_interval参数指定

dee_scrub_interval,设置执行深度扫描的时间间隔,默认未设置,可以通过配置文件中osd_deep_scrub_interval参数指定

其它参数可以通过help信息获取:
在这里插入图片描述

存储池快照

快照用于对存储池中的数据进行备份和还原,创建快照需要的时间和占用的存储空间取决于存储池中数据的大小。

创建快照

ceph osd pool mksnap  mypool mypool-snap1
或者
rados -p mypool mksnap mypool-snap2

在这里插入图片描述

查看快照

rados lssnap -p mypool

在这里插入图片描述

恢复快照

#先上传一个测试对象到mypool
rados put testfile /var/log/syslog -p mypool
#创建快照
rados mksnap mypool-snap3 -p mypool
#删除上传的测试对象,然后get测试对象验证是否已被删除
rados rm testfile -p mypool
rados get testfile ./a.log -p mypool
#通过快照恢复测试对象
rados rollback -p mypool testfile mypool-snap3
#再次get测试对象验证是否恢复
rados get testfile ./a.log -p mypool

在这里插入图片描述

删除快照

ceph osd pool rmsnap mypool mypool-snap3
或者
rados rmsnap mypool-snap2 -p mypool

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ceph集群维护常用操作 的相关文章

  • Ceph 源码编译

    BUILD THE SOURCE FIRST TIME Ceph uses Python Sphinx which is generally distribution agnostic The first time you build Ce
  • 应用ceph文件系统存储(ceph-13.2.10)

    记录 xff1a 333 场景 xff1a 在CentOS 7 9操作系统上 xff0c 部署ceph 13 2 10集群 应用ceph文件系统 ceph file system xff1b 主要是创建ceph文件系统 客户端挂载ceph文
  • 6. Proxmox VE安装Ceph Dashboard

    6 Proxmox VE安装Ceph Dashboard span class token function apt get span span class token function install span ceph mgr dash
  • Ceph OSD为DOWN时修复

    本文所使用Ceph版本为luminous 不同版本删除OSD基本操作相同 xff09 xff0c 当出现Ceph OSD为down的情况时 xff0c 可以通过以下方法解决 xff08 假设ceph admin节点OSD 1 Down xf
  • Ceph 配置URL访问s3 Bucket

    一 创建json文件 xff0c 用于编辑policy xff0c 文件内容如下 xff08 Version并不重要 xff09 xff0c Action存在多种选择 如步骤三所示 xff0c 并且允许同时选择多个 xff0c 本文只是通过
  • ceph (cephadm)集群部署

    ceph 集群部署 cephadm 方法1 xff1a ansible ceph ansible使用Ansible部署和管理Ceph集群 xff08 1 xff09 ceph ansible被广泛部署 xff08 2 xff09 ceph
  • 【测试】 FIO:ceph/磁盘IO测试工具 fio(iodepth深度)

    目录 随看随用 NAS文件系统测试 块系统测试 FIO用法 FIO介绍 FIO 工具常用参数 xff1a FIO结果说明 I O 的重放 xff08 39 录 39 下实际工况的IO xff0c 用fio 39 重放 39 xff09 fi
  • Ceph运维操作

    1 操控集群 1 1 UPSTART Ubuntu系统下 xff0c 基于ceph deploy部署集群后 xff0c 可以用这种方法来操控集群 列出节点上所有Ceph进程 xff1a start ceph all 启动节点上特定类型的Ce
  • k8s部署Ceph

    1 Helm部署 1 1 简介 为了将Ceph部署到K8S集群中 xff0c 可以利用ceph helm项目 目前此项目存在一些限制 xff1a public和cluster网络必须一样如果Storage的用户不是admin xff0c 你
  • Ceph OSD扩容与缩容

    在企业生产环境中 xff0c 随着时间的迁移数据会存在磁盘空间不足 xff0c 或者机器节点故障等情况 OSD又是实际存储数据 xff0c 所以扩容和缩容OSD就很有必要性 随着我们数据量的增长 xff0c 后期可能我们需要对osd进行扩容
  • ceph学习(3)——rbd-mirror双机热备

    一 概述 本文主要关注于rbd mirror的使用以及使用过程中的遇到的问题 二 环境准备 ceph版本 14 2 16 服务器 3台centos7服务器 ceph1 ceph2 ceph3 硬盘 每台服务器1块10GB以上硬盘做osd 分
  • ceph学习(故障恢复)——mon全部故障,从osd中恢复集群

    在生产环境中 ceph集群要求最少配置3个MON 一般情况下很少出现3个MON同时挂掉的情况 但是也不排除出现这种情况的可能 如果集群中的所有MON都损坏了 是不是集群数据就丢失了呢 能不能恢复集群 当然是可以的 ceph中国的一位开发者写
  • k8s使用ceph rbd

    环境 节点 k8s角色 ceph 安装组件 192 168 122 120 k8s master ceph admin mon1 osd0 osd1 osd2 osd9 192 168 122 121 k8s slave1 ceph mon
  • Ceph17 安装部署

    一 系统资源初始化 ceph可以实现的存储方式 块存储 提供像普通硬盘一样的存储 为使用者提供 硬盘 文件系统存储 类似于 NFS 的共享方式 为使用者提供共享文件夹 对象存储 像百度云盘一样 需要使用单独的客户端 ceph 还是一个分布式
  • BlueStore 架构及原理分析

    BlueStore 架构及原理分析 Ceph 底层存储引擎经过了数次变迁 目前最常用的是 BlueStore 在 Jewel 版本中引入 用来取代 FileStore 与 FileStore 相比 Bluesore 越过本地文件系统 直接操
  • Ceph概述、准备ceph部署环境、cephadm概述、安装Ceph集群、ceph块存储、存储池、rbd镜像管理、ceph客户端配置

    day03 day03ceph概述部署Ceph节点准备cephadm准备基础环境安装ceph实现块存储块存储基础存储池镜像ceph客户端 ceph概述 ceph可以实现的存储方式 块存储 提供像普通硬盘一样的存储 为使用者提供 硬盘 文件系
  • ceph分布式存储集群部署及应用

    分布式文件系统 Distributed File System 分布式文件系统是指文件系统管理的物理存储资源不一定直接连接在本地节点上 而是通过计算机网络与节点相连 分布式文件系统的设计基于C S模式 常用分布式文件系统 Lustre Ha
  • Ceph 4 slow ops, oldest one blocked for 638 sec, mon.cephnode01 has slow ops

    因为实验用的是虚拟机的关系 晚上一般会挂起 第二天早上都能看到 4 slow ops oldest one blocked for 638 sec mon cephnode01 has slow ops的报错 虽然不影响使用 但看着有点难受
  • 单节点集群(minikube)上的 rook ceph 中的 1 pg 规模过小运行状况警告

    我正在将 rook ceph 部署到 minikube 集群中 一切似乎都正常 我向虚拟机添加了 3 个未格式化的磁盘并已连接 我遇到的问题是 当我运行 ceph status 时 我收到一条健康温暖消息 告诉我 1 pg 尺寸不足 我到底
  • Flink 使用 Ceph 作为持久存储

    Flink 文档建议 Ceph 可以用作状态的持久存储 https ci apache org projects flink flink docs release 1 3 dev stream checkpointing html http

随机推荐

  • 移动端产品比较分析:APP、小程序、H5

    原文 移动端产品比较分析 xff1a APP 小程序 H5 01 运行环境 xff08 1 xff09 APP xff1a Android 和 iOS 手机操作系统 xff08 2 xff09 小程序 xff1a 微信 APP 内 xff0
  • 产品工作基本流程

    我的博客即将同步至腾讯云 43 社区 xff0c 邀请大家一同入驻 xff1a https cloud tencent com developer support plan invite code 61 2p5qjwxvujms4 产品工作
  • ODBC(Open Database Connectivity,开放数据库互连)

    ODBC Open Database Connectivity 开放数据库互连 是微软公司开放服务结构 WOSA Windows Open Services Architecture 中有关数据库的一个组成部分 它建立了一组规范 并提供了一
  • 数据结构考研408复习必看

    原创不易 麻烦点个关注 点个赞 谢谢各位 数据结构要点 第一章 概 论 数据就是指能够被计算机识别 存储和加工处理的信息的载体 数据元素是数据的基本单位 可以由若干个数据项组成 数据项是具有独立含义的最小标识单位 数据结构的定义 逻辑结构
  • 思科网络工程师必学

    网络工程师学习笔记 第一章 计算机基础知识 一 硬件知识 1 计算机系统的组成包括硬件系统和软件系统 硬件系统分为三种典型结构 1 单总线结构 2 双总线结构 3 采用通道的大型系统结构 中央处理器 CPU 包含运算器和控制器 2 指令系统
  • 什么是数字技术?

    数字技术 xff08 Digital Technology xff09 xff0c 是一项与电子计算机相伴相生的科学技术 xff0c 它是指借助一定的设备将各种信息 xff0c 包括 xff1a 图 文 声 像等 xff0c 转化为电子计算
  • 启示录:新加坡纬壹科技城成功建设经验

    数字TOD xff1a 在各省市新一年的重点工作中 xff0c 产业园区都被放在非常显赫的位置加以强调 xff0c 有的被冠以 高质量发展主战场 的地位 xff0c 有的则异常鲜明地提出 园区兴则产业兴 xff0c 园区强则经济强 的口号
  • 区块链技术赋能数字经济建设

    区块链技术是一项利用密码学算法 以去中心化方式集体维护一个可靠分布式数据库的新兴技术 它具有分布式 不可篡改 可追溯等特征 xff0c 能够弥补传统信用体系不足 防止信息篡改和伪造 节省全社会信用成本 xff0c 对金融 电子商务 智慧医疗
  • 启示录:日本涉谷未来之光TOD成功建设经验

    启示录 xff1a 日本涉谷未来之光TOD成功建设经验 数字TOD 在城市土地供应日益紧张 城市人口膨胀 公共交通快速发展的今天 xff0c 涩谷之光以复合业态功能叠加和选择重点业态精心打造 xff0c 并最大限度对接公共交通资源的开发策略
  • 夜间经济:激发新⼀轮消费潜力升级的新引擎

    数字TOD 夜间经济是现代城市业态之一 xff0c 指从当日下午6点到次日早上6点所包含的经济文化活动 xff0c 其业态囊括晚间购物 餐饮 旅游 娱乐 学习 影视 休闲等 夜间经济是现代城市经济的重要组成部分 xff0c 是促消费 稳就业
  • os模块和序列化

    os模块 和操作系统交互的模块 import os os makedirs dir1 dir2 创建多个文件夹 os mkdir dir3 创建一个文件夹 os removedirs 39 dir3 dir4 删除多个空文件夹 os rmd
  • 启示录:日本东京都二子玉川站TOD成功建设经验

    数字TOD 在成都两会期间印发的 关于实施幸福美好生活十大工程的报告 指出 xff0c 实施幸福美好生活十大工程 xff0c 将以满足人民群众日益增长的美好生活需要为根本目的 xff0c 从市民和企业反映最强烈 最迫切的领域着手 特别提出
  • 启示录:TOD分类及用地功能结构组成

    数字TOD 彼得 卡尔索普在 The Next American Metropolis 一书中描述了两类TOD 一类是城市TOD xff08 Urban TODs xff09 xff0c 位于区域性的干道的轻轨 重轨或快速的公交汽车的站点
  • 启示录:了解TOD模式的正确打开方式(一)

    数字TOD 提起TOD xff0c 到目前很多人可能还很懵懂 科普TOD xff0c 是笔者不可推卸的责任 所以一起回忆下电影 lt 流浪地球 gt 电影魔性台词先上 xff1a 34 北京第三区交通委提醒您 xff1a 道路千万条 xff
  • 启示录:了解TOD模式的正确打开方式(二)

    数字TOD 在中国的城市化进程中 xff0c 城市病 也在加速蔓延 xff0c 交通问题的加重以及土地资源的日益紧缺 xff0c 让生活在其中的人们饱受困扰 xff0c 这同时也引发了人们对城市发展模式的反思 为了实现城市的可持续化发展 x
  • 问题解决方案1-------------catkin_make编译时候的各种问题汇总

    文件移植和编译出现的问题汇总 我真实服了 xff0c 我几乎每一步都能遇到问题 xff0c 这是我catkin make时候遇到的新问题 xff1a 百度总结了一下 xff0c 文末附上链接 xff1a 1 Could not find a
  • CoreDNS介绍与使用

    介绍 在Kubernetes中DNS组件为整个集群提供DNS服务 xff0c 从而实现服务之间的访问 Kubernetes的DNS服务在Kubernetes中经历了3个阶段 xff1a 1 3版本之前skydns1 3 1 10版本kube
  • k8s日志收集

    日志收集介绍 日志收集的目的 xff1a 分布式日志数据统一收集 xff0c 实现集中式查询和管理故障排查安全信息和事件管理报表统计及展示功能 日志收集的价值 xff1a 日志查询 问题排查 故障恢复和故障自愈应用日志分析 xff0c 错误
  • k8s网络插件之Calico

    Calico简介 Calico官方文档 xff1a https projectcalico docs tigera io getting started kubernetes quickstart Calico是一套开源的网络和网络安全解决
  • ceph集群维护常用操作

    文章目录 通过套接字进行单机管理集群启停移除节点ceph配置文件存储池分类副本池IO纠删码池IO PG与PGPPG数量计算PG常见状态存储池管理创建存储池查看存储池删除存储池存储池配额 存储池可用参数存储池快照 通过套接字进行单机管理 可以