ceph集群搭建

2023-05-16

ceph集群搭建

文章目录

  • ceph集群搭建
    • ceph
      • ceph的构成
      • 搭建ceph集群
      • 实现块存储
        • 客户端使用块设备

ceph

  • ceph被称作面向未来的存储

  • 中文手册:

    • https://access.redhat.com/documentation/zh-cn/red_hat_ceph_storage/5/html/architecture_guide/index
    • http://docs.ceph.org.cn/
  • ceph可以实现的存储方式:

    • 块存储:提供像普通硬盘一样的存储,为使用者提供“硬盘”
    • 文件系统存储:类似于NFS的共享方式,为使用者提供共享文件夹
    • 对象存储:像百度云盘一样,需要使用单独的客户端
  • ceph还是一个分布式的存储系统,非常灵活。如果需要扩容,只要向ceph集中增加服务器即可。

  • ceph存储数据时采用多副本的方式进存储,生产环境下,一个文件至少要存3份。ceph默认也是三副本存储。

ceph的构成

  • Ceph OSD 守护进程: Ceph OSD 用于存储数据。此外,Ceph OSD 利用 Ceph 节点的 CPU、内存和网络来执行数据复制、纠删代码、重新平衡、恢复、监控和报告功能。存储节点有几块硬盘用于存储,该节点就会有几个osd进程。
  • Ceph Mon监控器: Ceph Mon维护 Ceph 存储集群映射的主副本和 Ceph 存储群集的当前状态。监控器需要高度一致性,确保对Ceph 存储集群状态达成一致。维护着展示集群状态的各种图表,包括监视器图、 OSD 图、归置组( PG )图、和 CRUSH 图。
  • MDSs: Ceph 元数据服务器( MDS )为 Ceph 文件系统存储元数据。
  • RGW:对象存储网关。主要为访问ceph的软件提供API接口。

搭建ceph集群

  • 节点准备
主机名IP地址
node1172.18.10.11/24
node2172.18.10.12/24
node3172.18.10.13/24
client1172.18.10.10/24
  • 关机,为node1-node3各添加2块20GB的硬盘
# 查看添加的硬盘,注意硬盘名字
[root@node1 ~]# lsblk 
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb    253:16   0  20G  0 disk 
sdc    253:32   0  20G  0 disk 
  • node1挂载centos镜像。搭建vsftpd服务
mount /dev/cdrom /media 
cd /media/Packages
rpm -ivh vsftpd*.rpm

# 启动ftp服务
systemctl enable vsftpd --now

umount /media
mkdir /var/ftp/centos
cat >> /etc/fstab<<eof
/dev/cdrom /var/ftp/centos iso9660 loop 0 0
eof
# 上传ceph-iso相关镜像到/var/ftp目录下
cd ~
tar xvf ceph-repo.tar.gz -C /var/ftp/

# 配置yum本地源
cd /etc/yum.repos.d/
rm -rf *
cat >> ftp.repo<<eof
[centos]
name=centos
baseurl=ftp://172.18.10.11/centos
enabled=1
gpgcheck=0
[ceph-repo]
name=ceph-repo
baseurl=ftp://172.18.10.11/ceph-repo
enabled=1
gpgcheck=0
eof
# 检测yum搭建是否成功
yum makecache
  • 在其他节点配置yum本地源
# 在node1节点上操作
# 配置hosts文件
cat >> /etc/hosts<<eof
172.18.10.10 client
172.18.10.11 node1
172.18.10.12 node2
172.18.10.13 node3
eof

# 四个节点做免密登录
# ceph为我们提供了一个ceph-deploy工具,可以在某一节点上统一操作全部节点
# 将Node1作为部署节点,将来的操作都在node1上进行。这样,需要node1能够免密操作其他主机
ssh-keygen
for i in client node{1..3}
do
ssh-copy-id $i
done
# 按yes 和输入密码就行了

# 将node1 的yum本地源 传到其他三个节点
cd /etc/yum.repos.d/
for i in client node{2..3}
do
scp ftp.repo $i:$PWD
done

#如果这里没有输入密码 说明上一步的免密操作成功
 


  • 各节点务必关闭selinux和防火墙

  • 集群安装前的准备工作



- 安装集群

```shell
# 在3个节点上安装软件包
[root@node1 ~]# for i in node{1..3}
> do
> ssh $i yum install -y ceph-mon ceph-osd ceph-mds ceph-radosgw
> done


# 配置client1为ntp服务器
[root@client1 ~]# yum install -y chrony
[root@client1 ~]# vim /etc/chrony.conf 
 29 allow 172.18.10.0/24    # 授权192.168.4.0/24可以时钟同步
 33 local stratum 10   # 即使没有从一个源同步时钟,也为其他主机提供时间
[root@client1 ~]# systemctl restart chronyd

# 配置node1-3成为client1的NTP客户端
[root@node1 ~]# for i in node{1..3}
> do
> ssh $i yum install -y chrony
> done
[root@node1 ~]# vim /etc/chrony.conf  # 只改第7行
  7 server 172.18.10.10 iburst   # 替换gateway
[root@node1 ~]# for i in node{2..3}
> do
> scp /etc/chrony.conf $i:/etc/
> done
[root@node1 ~]# for i in node{1..3}
> do
> ssh $i systemctl restart chronyd
> done

# 验证时间是否同步  client1前面有^*表示同步成功
[root@node1 ~]# chronyc sources -v
... ...
^* client1                      10   6    17    40  -4385ns[-1241us] +/-  162us



# 在node1上安装ceph-deploy部署工具
[root@node1 ~]# yum install -y ceph-deploy
# 查看使用帮助
[root@node1 ~]# ceph-deploy --help
[root@node1 ~]# ceph-deploy mon --help   # 查看mon子命令的帮助

# 创建ceph-deploy工作目录
[root@node1 ~]# mkdir ceph-cluster
[root@node1 ~]# cd ceph-cluster

# 创建一个新的集群。
[root@node1 ceph-cluster]# ceph-deploy new node{1..3}
[root@node1 ceph-cluster]# ls
ceph.conf  ceph-deploy-ceph.log  ceph.mon.keyring
[root@node1 ceph-cluster]# tree .
.
├── ceph.conf               # 集群配置文件
├── ceph-deploy-ceph.log    # 日志文件
└── ceph.mon.keyring        # 共享密钥

# 开启COW分层快照功能。COW:Copy On Write写时复制
[root@node1 ceph-cluster]# vim ceph.conf   # 尾部追加一行如下
rbd_default_features = 1

# 初始化monitor
[root@node1 ceph-cluster]# ceph-deploy mon create-initial
[root@node1 ceph-cluster]# systemctl status ceph-mon*
● ceph-mon@node1.service .. ..
[root@node2 ~]# systemctl status ceph*
● ceph-mon@node2.service ... ...
[root@node3 ~]# systemctl status ceph*
● ceph-mon@node3.service ... ...
# 注意:这些服务在30分钟之内只能启动3次,超过报错。

# 查看集群状态
[root@node1 ceph-cluster]# ceph -s
     health HEALTH_ERR   # 因为还没有硬盘,所以状态是HEALTH_ERR


# 创建OSD
[root@node1 ceph-cluster]# ceph-deploy disk --help
# 初始化各主机的硬盘。vmware应该是sdb和sdc
[root@node1 ceph-cluster]# ceph-deploy disk zap node1:sdb node1:sdc 
[root@node1 ceph-cluster]# ceph-deploy disk zap node2:sdb node2:sdc 
[root@node1 ceph-cluster]# ceph-deploy disk zap node3:sdb node3:sdc 

# 创建存储空间。ceph会硬盘分为两个分区,第一个分区大小为5GB,用于保存ceph的内部资源;另一个分区是剩余全部空间
[root@node1 ceph-cluster]# ceph-deploy osd --help
[root@node1 ceph-cluster]# ceph-deploy osd create node1:sd{b,c}
[root@node1 Packages]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk
├─sdb1            8:17   0   15G  0 part /var/lib/ceph/osd/ceph-0
└─sdb2            8:18   0    5G  0 part
sdc               8:32   0   20G  0 disk
├─sdc1            8:33   0   15G  0 part /var/lib/ceph/osd/ceph-1
└─sdc2            8:34   0    5G  0 part
sr0              11:0    1  8.8G  0 rom  /media
sr1              11:1    1  284M  0 rom  /ceph

# 将会出现2个osd进程,因为有两块硬盘用于ceph
[root@node1 ceph-cluster]# systemctl status ceph-osd*

# 继续初始化其他节点的OSD
[root@node1 ceph-cluster]# ceph-deploy osd create node2:sd{b,c}
[root@node1 ceph-cluster]# ceph-deploy osd create node3:sd{b,c}

# 查看集群状态
[root@node1 ceph-cluster]# ceph -s
     health HEALTH_OK     # 状态是HEALTH_OK表示一切正常

实现块存储

  • 块设备存取数据时,可以一次存取很多。字符设备只能是字符流
[root@node1 ceph-cluster]# ll /dev/sda
brw-rw---- 1 root disk 253, 0 114 10:15 /dev/sda
# b表示block,块设备
[root@node1 ceph-cluster]# ll /dev/tty
crw-rw-rw- 1 root tty 5, 0 114 10:54 /dev/tty
# c表示character,字符设备
  • 块存储,就是可以提供像硬盘一样的设备。使用块存储的节点,第一次连接块设备,需要对块设备进行分区、格式化,然后挂载使用。
  • ceph提供存储时,需要使用存储池。为了给客户端提供存储资源,需要创建名为存储池的容器。存储池类似于逻辑卷管理中的卷组。卷组中包含很多硬盘和分区;存储池中包含各节点上的硬盘。
# ceph默认有一个名为rbd的存储池,其编号为0
[root@node1 ceph-cluster]# ceph osd lspools 
0 rbd,

# 查看存储池大小
[root@node1 ceph-cluster]# ceph df
GLOBAL:
    SIZE       AVAIL      RAW USED     %RAW USED 
    92093M     91889M         203M          0.22 
POOLS:
    NAME     ID     USED     %USED     MAX AVAIL     OBJECTS 
    rbd      0        16         0        30629M           3 

# 查看存储池rbd存储数据时,保存的副本数量
[root@node1 ceph-cluster]# ceph osd pool get rbd size
size: 3

# 在默认存储池中,创建一个名为demo-image大小为10G的镜像,提供给客户端使用
# 镜像相当于逻辑卷管理中的lv
[root@node1 ceph-cluster]# rbd create demo-image --size 10G
# 查看默认存储池中的镜像
[root@node1 ceph-cluster]# rbd list
demo-image
# 查看demo-image的详细信息
[root@node1 ceph-cluster]# rbd info demo-image
rbd image 'demo-image':
	size 10240 MB in 2560 objects
	order 22 (4096 kB objects)
	block_name_prefix: rbd_data.1035238e1f29
	format: 2
	features: layering
	flags: 

# 扩容
[root@node1 ceph-cluster]# rbd resize --size 15G demo-image
Resizing image: 100% complete...done.
[root@node1 ceph-cluster]# rbd info demo-image
rbd image 'demo-image':
	size 15360 MB in 3840 objects

# 缩减
[root@node1 ceph-cluster]# rbd resize --size 7G demo-image --allow-shrink
[root@node1 ceph-cluster]# rbd info demo-image
rbd image 'demo-image':
	size 7168 MB in 1792 objects

客户端使用块设备

  • 怎么用?装软件
  • ceph集群在哪?通过配置文件说明集群地址
  • 权限。keyring文件
# 安装ceph客户端软件
[root@client1 ~]# yum install -y ceph-common

# 将配置文件和密钥keyring文件拷贝给客户端
[root@node1 ceph-cluster]# scp /etc/ceph/ceph.conf 192.168.4.10:/etc/ceph/
[root@node1 ceph-cluster]# scp /etc/ceph/ceph.client.admin.keyring 192.168.4.10:/etc/ceph/

# 客户端查看镜像
[root@client1 ~]# rbd list
demo-image

# 将ceph提供的镜像映射到本地
[root@client1 ~]# rbd map demo-image
/dev/rbd0
[root@client ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
rbd0   252:0    0   7G  0 disk    # 多了一块7GB的硬盘

[root@client1 ~]# ls /dev/rbd0 
/dev/rbd0

# 查看映射
[root@client1 ~]# rbd showmapped
id pool image      snap device    
0  rbd  demo-image -    /dev/rbd0 

# 使用
[root@client1 ~]# mkfs.xfs /dev/rbd0
[root@client1 ~]# mount /dev/rbd0 /mnt/
[root@client1 ~]# df -h /mnt/
文件系统        容量  已用  可用 已用% 挂载点
/dev/rbd0       7.0G   33M  7.0G    1% /mnt
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ceph集群搭建 的相关文章

  • Ceph 配置URL访问s3 Bucket

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

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

    文章目录 1 准备 xff08 集群所有节点 xff09 1 1 安装JDK xff08 集群所有节点 xff09 2 Elasticsearch搭建2 1 ES下载2 2 安装 xff08 集群所有节点 xff09 2 3 修改配置文件
  • CentOS8联网部署Ceph-Quincy集群

    文章目录 1 环境准备1 1 关闭selinux1 2 关闭防火墙1 3 配置免密1 4 设置yum源1 5 安装依赖1 6 设置时间同步1 7 安装docker 2 安装Ceph2 1 安装cephadm2 2 部署ceph集群2 3 集
  • Ceph 存储池命令 以及 数据压缩

    文章目录 一 存储池操作 1 1 常用命令 1 2 删除存储池 1 3 存储池配额 1 4 存储池可用参数 二 存储池快照 2 1 创建快照 2 2 验证快照 2 3 回滚快照 2 4 删除快照 三 数据压缩 3 1 启用压缩并指定压缩算法
  • Linux centos 卸载 ceph

    在CentOS上卸载Ceph的操作步骤 1 停止Ceph集群 首先 你需要停止Ceph集群中的所有服务 在每个节点上运行以下命令来停止所有服务 systemctl stop ceph target 2 卸载Ceph软件包 在每个节点上 使用
  • 【重识云原生】第三章云存储第一节——分布式云存储总述

    重识云原生系列 专题索引 第一章 不谋全局不足以谋一域 第二章计算第1节 计算虚拟化技术总述 第二章计算第2节 主流虚拟化技术之VMare ESXi 第二章计算第3节 主流虚拟化技术之Xen 第二章计算第4节 主流虚拟化技术之KVM 第二章
  • 【分布式】ceph存储

    目录 一 存储基础 单机存储设备 单机存储的问题 商业存储解决方案 二 分布式存储 软件定义的存储 SDS 分布式存储的类型 Ceph 优势 Ceph 架构 Ceph 核心组件 Pool中数据保存方式支持两种类型 Pool PG 和 OSD
  • Ceph17 安装部署

    一 系统资源初始化 ceph可以实现的存储方式 块存储 提供像普通硬盘一样的存储 为使用者提供 硬盘 文件系统存储 类似于 NFS 的共享方式 为使用者提供共享文件夹 对象存储 像百度云盘一样 需要使用单独的客户端 ceph 还是一个分布式
  • 三台机器搭建redis集群过程及问题记录

    文章目录 1 前言 2 搭建集群 3 遇到的问题 4 相关文章 1 前言 Redis版本 5 0 4 服务器版本 Linux CentOS 6 CentOS 7 CentOS 9 redis集群需要至少要三个master节点 我们这里搭建三
  • 利用 RDMA 技术加速 Ceph 存储解决方案

    利用 RDMA 技术加速 Ceph 存储解决方案 晓兵XB 云原生云 2023 04 29 20 37 发表于四川 首发链接 利用 RDMA 技术加速 Ceph 存储解决方案 在本文中 我们首先回顾了 Ceph 4K I O 工作负载中遇到
  • 分布式存储Ceph介绍及搭建

    一 存储的类型 1 单机存储设备 DAS 直接附加存储 是直接接到计算机的主板总线上去的存储 IDE SATA SCSI SAS USB 接口的磁盘 所谓接口就是一种存储设备驱动下的磁盘设备 提供块级别的存储 NAS 网络附加存储 是通过网
  • 学一点Ceph知识:初识Ceph

    Ceph是什么 Ceph是一个开源的分布式存储系统 可大规模扩展 高性能 无单点故障 在普通的服务器上可以支持到PB级容量 商用机器上支持的容量可以达到EB级别 Ceph的竞争力 市面上提供云存储的分布式系统如阿里云的OSS 底层存储框架为
  • 查询统计Ceph上的pg 总数

    本文中的命令的第一版来源于国外的一个博客 后面的版本为我自己修改的版本 查询的命令如下 ceph pg dump awk pg stat col 1 while col up col col 0 9a f 0 9a f match 0 0
  • 基于dmclock分布式限流策略

    结合Cepb自身的特点 较为合理的做法是将QoS机制直接嵌入每个OSD中来实现 dmclock基本原理 mclock算法 mClock基本原理主要包含以下两个方面 1 为客户端设置一套QoS模板 并在每个1 0请求中携带该QoS模板 2 服
  • Ceph入门到精通-存储集群ceph df 用量统计算法说明

    3 2 5 Ceph 如何计算数据使用量 used 值反映了使用的实际原始存储量 xxx GB xxx GB 代表可用的存储 其中较小的数字 和总存储容量 总容量反映了在复制 克隆或快照前存储数据的大小 因此 实际存储的数据量通常会超过名义
  • Loongnix单机部署Ceph(LoongArch架构、Ceph N版、手动部署MON、OSD、MGR、Dashboard服务)

    基础环境信息 CPU 龙芯3C5000L 2 内存 128G 硬盘 系统盘 一块512G的NVME的SSD 数据盘 三块16T的HDD 操作系统版本 Loongnix 8 4 Ceph版本 Ceph 14 2 21 Nautilus Cep
  • CEPH PG incomplete状态修复

    某运营商的Kubernetes项目物理机停机维护 重启后Kubernetes部分pod无法挂载PVC 请求超时 该Kubernetes集群的后端存储使用ceph rbd块存储 检查ceph集群状态异常 root ceph node01 ce
  • Ceph入门到精通- smartctl -l error检查硬盘指标

    smartctl l error 是一个 Linux 命令 用于查看磁盘驱动器的 SMART Self Monitoring Analysis and Reporting Technology 错误日志 SMART 是一种技术 能够监测硬盘
  • Ceph入门到精通-smartctl 查看硬盘参数

    smartctl 参数含义 Model Family Toshiba s Enterprise Capacity HDD Device Model TOSHIBA MG08ACss Serial Number sssssss LU WWN

随机推荐

  • threejs-经纬度转换成xyz坐标的方法

    用threejs做3D应用时 xff0c 很经常会接触到球状物体 xff0c 比如说地球 xff0c 要定义球上的一点 xff0c 用经纬度是常用的办法 现在 xff0c 我们要在北京这个地方标一个点 xff0c 北京的坐标为 北纬39 9
  • HTML5 响应式图片

    现在上网设备越来越多 xff0c 各种设备的屏幕千差万别 xff0c 如果只用一张图片去涵盖所有的设备 xff0c 一是可能会造成某些设备上显示效果不佳 xff0c 比如使用了一张低清晰度的图 xff0c 而网页运行在一个高清大屏里 xff
  • 使用EventBus通讯不成功

    最近在开发一个直播app的项目 xff0c 遇到一个需求是当用户点击 退出登录 这个操作时 xff0c 回到登录界面 xff0c 让用户重新登录 这个需求实现起来一点都不难 xff0c 不就是点击退出登录后 xff0c Intent到Log
  • 怎么使用CTreeListCtrl

    代码路径 xff1a http www codeproject com KB tree ctreelistctrl aspx 1 怎么在CTreeListCtrl中使用edit或者combobox 例如双击修改某个item 重载OnLBut
  • android backtrace实现

    前景 backtrace 文档 说明 通过数组获取调用栈 一般获取的是内存地址 借助dladdr获取地址信息 计算可执行文件中的偏移地址 实现 有的没有实现backtrace但是大多都支持unwind 利用unwind实现类似 backtr
  • 【详细教程】阿里云ECS服务器搭建

    一 服务器搭建的网址入口 xff1a 如果您之前没有用过 xff0c 恭喜您 xff0c 是有试用资格的 有试用资格 xff1a 点击进入阿里云云产品试用中心 xff0c 选择下图产品 xff0c 点击试用30天 如果未注册 xff0c 需
  • Matlab绘图-详细,全面(二维&三维等)

    原文 Matlab绘图 xff08 图像为本人所绘 xff09 强大的绘图功能是Matlab的特点之一 xff0c Matlab提供了一系列的绘图函数 xff0c 用户不需要过多的考虑绘图的细节 xff0c 只需要给出一些基本参数就能得到所
  • SpotBugs-IDE插件扫描

    安装 在 Intellij IDE 的Plugins中搜索 SpotBugs 并 安装 设置 打开IDE Settings xff0c 选择 Tools SpotBugs 根据实际情况进行配置 比如选择分析投入 xff0c 分析等级 xff
  • 【C语言】vsnprintf函数的使用

    标题 C语言 vsnprintf函数的使用 提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 标题 C语言 vsnprintf函数的使用前言一 vsnprintf是什么 xff1
  • [python]编写程序产生 ISBN 号的校验位。

    64 MADE BY YWL XJTU python编写程序产生 ISBN 号的校验位 编写程序产生 ISBN 号的校验位 任何新出版的图书都配有 ISBN 号 xff0c 2007 年以前是由 10 位数字加上3个连字符组成的 ISBN
  • python基于内置模块smtplib、email实现163邮箱发送邮件(附完整代码,可直接使用)

    一 获取发送者163邮箱授权密码 第一步 登录邮箱 https mail 163 com 第二步 点击右上角切换回旧版 新版实在没找到在哪 第三步 打开 POP3 SMTP IMAP 设置 第四步 开启POP3 SMTP 服务 第五步 拿到
  • 极速配置VScode C++运行环境

    VScode 极速配置C 43 43 环境及必备插件 Visual Studio Code 简称 VS Code VSC 是一款免费开源的现代化轻量级代码编辑器 xff0c 支持几乎所有主流的开发语言的语法高亮 智能代码补全 自定义热键 括
  • 题目49:输入两个正整数 m 和 k,其中1 < m < 100000,1 < k < 5 ,判断 m 能否被19整除,且恰好含有k个3,如果满足条件,则输出YES,否则,输出NO。

    题目转载 xff1a http python wzms com s 1 42 题目描述 输入两个正整数 m 和 k xff0c 其中1 lt m lt 100000 xff0c 1 lt k lt 5 xff0c 判断 m 能否被19整除
  • Linux 监控网络流量

    文章目录 bmoniftopnethogs bmon sudo apt get install bmon 通过 选择网卡 xff1b 输入 g 控制流量面板的显示和隐藏 xff1b 输入 d 控制详情信息的显示和隐藏 xff1b 输入 q
  • CentOS7.2 在GUI下关闭X Server

    有时候需要关闭X Server xff0c 例如在安装NVIDIA驱动的时候 xff0c 需要关闭X Server xff0c 我们可以通过服务来关闭 首先看下服务 root span class hljs variable 64 soft
  • 用c语言实现 将src指向的字符串追加到dest指向字符串的后面

    实现char my strcat char dest char src 函数 返回 xff1a dest字符串的地址 功能 xff1a 将src指向的字符串追加到dest指向字符串的后面 例如 xff1a char dest 10 61 3
  • CoreData 实体之间的关系

    1 Cascade 级联关系 2 Deny 禁止 3 Nullify 作废 当实体之间创建了关系的时候 xff0c 我们需要判断是否建立级联关系 例如 人和身份证是一对一的 两者之间关系反转 即 人有身份证 xff0c 身份证包含人 当删除
  • Doris入门篇-分区分桶实验

    简介 测试分区分桶效果 分区的基本操作 添加分区 ALTER TABLE v2x olap database government car ADD PARTITION p20221203 VALUES LESS THAN 34 2022 1
  • PostgreSQL中的json解析

    1 PostgreSQL json 数组解析 span class token comment INSERT INTO 34 dwd 34 34 dwd test 34 id cname is deleted span span class
  • ceph集群搭建

    ceph集群搭建 文章目录 ceph集群搭建cephceph的构成搭建ceph集群实现块存储客户端使用块设备 ceph ceph被称作面向未来的存储 中文手册 xff1a https access redhat com documentat