注意:本文章仅对ceph安装的相关内容着重描述,关于基本配置只会提到不会描述如何修改(例如虚拟机ip修改为静态),请参照本文 二.环境配置说明 完成配置后再进行后续操作
最后修改于 2024年11月21日
目录
(1)网络正常,可以ping通本机,其他虚拟机和www.baidu.com
4.任意选择一台虚拟机作为主节点,除主节点外的剩下3个节点每一个都需要创建两块新的硬盘,每块硬盘大小为5G,并且使用xfs进行格式化
---------安装前言(必看!!!!)----------
1.四台虚拟机将被看作四个节点,其中任意挑选一个作为管理节点(主节点),剩下三台作为存储节点
3.如果中途遇到了无法解决的问题,想重新安装一遍Ceph,按顺序执行如下命令
---------------开始安装---------------
1.进入到/etc/yum.repos.d下新建文件ceph.repo
yum -y install ceph-common python-pkg-resources python-setuptools python2-subprocess32
yum update && sudo yum install ceph-deploy
yum install ntp ntpdate ntp-doc
sudo useradd -d /home/用户名 -m 用户名
echo "用户名 ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/用户名sudo chmod 0440 /etc/sudoers.d/用户名
---------------开始安装---------------
1.创建新文件夹,保存 ceph-deploy 生成的配置文件和密钥对
---------注意:接下来所有操作请全程在创建的目录内执行-------
ceph-deploy install CENTOS1 CENTOS2 CENTOS3 CENTOS4
ceph-deploy mon create-initial
5.用 ceph-deploy 把配置文件和 admin 密钥拷贝到管理节点和 Ceph 节点
ceph-deploy admin CENTOS1 CENTOS2 CENTOS3 CENTOS4
恭喜你!看到这里,基本的ceph部署完成,RBD已经可以使用
---------注意:接下来所有操作请全程在创建的目录内执行-------
一.ceph版本描述
具体的描述可以在ceph官方文档中找到Ceph Releases (index) — Ceph Documentation
找不到网页请访问Welcome to Ceph —Ceph Documentation
上述网页建议魔法访问,不然加载较慢
关于ceph各版本以及维护日期的图片如下
1. Cuttlefish (v0.67)
- 发布日期:2013年10月
- 主要特性:
- 引入了 RADOS Gateway(RGW),提供对象存储接口。
- 改进了监视器和 OSD 的稳定性。
2. Dumpling (v0.72)
- 发布日期:2014年1月
- 主要特性:
- 引入了更好的故障恢复机制。
- 增强了 RADOS 的性能和可扩展性。
- 改进了对不同存储后端的支持。
3. Emperor (v0.80)
- 发布日期:2014年6月
- 主要特性:
- 改进了 Ceph 的管理工具。
- 引入了 CephFS(文件系统)作为一个实验性功能。
- 提高了 OSD 的性能和可靠性。
4. Firefly (v0.87)
- 发布日期:2014年10月
- 主要特性:
- 增强了 CephFS 的功能,提供了更好的文件系统性能。
- 引入了多种监视器的改进。
- 改进了对多租户环境的支持。
5. Giant (v0.94)
- 发布日期:2015年7月
- 主要特性:
- 进一步改进了 CephFS 的稳定性和性能。
- 引入了新的 RADOS Pool 特性。
- 增强了监视器的高可用性。
6. Hammer (v0.94)
- 发布日期:2015年11月
- 主要特性:
- 引入了更好的性能监控工具。
- 改进了 RADOS Gateway 的性能。
- 增强了数据保护和恢复功能。
7. Infernalis (v0.95)
- 发布日期:2016年5月
- 主要特性:
- 引入了更强的安全性和身份验证功能。
- 改进了 OSD 的性能和管理。
8. Jewel (v10.2)
- 发布日期:2016年8月
- 主要特性:
- 引入了更强的 CephFS 功能。
- 改进了 RADOS Gateway 的性能和功能。
- 增强了对多种存储后端的支持。
9. Kralos (v12.0)
- 发布日期:2017年11月
- 主要特性:
- 增强了数据管理和监控工具。
- 改进了 CephFS 的性能和可扩展性。
10. Luminous (v12.2)
- 发布日期:2018年6月
- 主要特性:
- 增强了对 RADOS Gateway 和 CephFS 的支持。
- 引入了新的监控和管理功能。
11. Mimic (v13.2)
- 发布日期:2019年1月
- 主要特性:
- 改进了数据保护和恢复功能。
- 增强了对 Kubernetes 的支持。
12. Nautilus (v14.2)
- 发布日期:2019年8月
- 主要特性:
- 进一步改进了 CephFS 和 RADOS Gateway 的功能。
- 引入了新的监控和管理工具。
13. Octopus (v15)
- 发布日期:2020年6月
- 主要特性:
- 引入了新的命令行工具和 API。
- 改进了性能和可扩展性。
14. Pacific (v16)
- 发布日期:2021年4月
- 主要特性:
- 增强了对 Kubernetes 的支持。
- 引入了新的功能和改进。
15. Quincy (v17)
- 发布日期:2022年5月
- 主要特性:
- 增强了性能和稳定性,尤其是在大规模部署中的表现。
- 引入了新的工具和 API 以改善管理体验。
- 改进了 RADOS Gateway 的多租户支持。
- 增强了对 CephFS 的功能,包括更好的数据保护和恢复选项。
16. Ray (v18)
- 发布日期:2023年4月
- 主要特性:
- 引入了新的性能监控工具和改进的管理界面。
- 增强了对容器化环境的支持,特别是 Kubernetes 集成。
- 改进了数据加密和安全性功能。
- 进一步优化了 RADOS 和 OSD 的性能。
-------------------------------选择 Ceph 稳定版的建议-------------------------------------
1. LTS 版本:
- 如果寻找长期支持的版本,建议选择 Octopus(15.x)或 Pacific(16.x),因为这些版本经过充分的测试,并且在生产环境中广泛使用。
2. 最新版本:
- 如果希望利用最新的功能和性能改进,可以考虑使用 Quincy(17.x)或 Ray(18.x)
各版本没有好坏之说,用2013年发布的也可以,前提是安装的版本满足自己的环境和需求
二.配置环境说明
本次配置的环境如下:
1.使用Centos7.6
2.本次部署的版本为nautilus
3.四台虚拟机,并且已经完成基本设置,例如
(1)网络正常,可以ping通本机,其他虚拟机和www.baidu.com
(2)ip设置为固定ip
四台虚拟机的ip按顺序递增(方便记忆),例如本人四台虚拟机ip:
192.168.36.111
192.168.36.112
192.168.36.113
192.168.36.114
(3)ip映射设置完成
---只建议设置一个映射名
---映射名称不一定要和我的一致,但是自己要能够记住
---严格区分大小写,不然后续安装报错要折磨很久
CENTOS1 - 192.168.36.111
CENTOS2 - 192.168.36.112
CENTOS3 - 192.168.36.113
CENTOS4 - 192.168.36.114
(4)配置好epel源,这个在csdn就有教程
配置epel前要先配置好国内的yum源
4.任意选择一台虚拟机作为主节点,除主节点外的剩下3个节点每一个都需要创建两块新的硬盘,每块硬盘大小为5G,并且使用xfs进行格式化
硬盘最少每个虚拟机要有1块,大小根据自己电脑情况可以任意修改
本次配置每个节点都有2块大小为5G的新硬盘,一共6块,即6个osd节点
5.良好的网络环境
配置ceph过程中会涉及大量的下载,如果下载未成功可能会导致意想不到的问题
三.初始化
---------安装前言(必看!!!!)----------
1.四台虚拟机将被看作四个节点,其中任意挑选一个作为管理节点(主节点),剩下三台作为存储节点
在本文,CENTOS1将被视作主节点
2.各组件部署数量如下
- OSD: 越多越好
- MON: 至少 3 个
- MGR: 至少 1 个,推荐 2 个或更多
- MDS: 至少 1 个,推荐 2 个或更多
- RGW: 至少 1 个,推荐 2 个或更多
3.如果中途遇到了无法解决的问题,想重新安装一遍Ceph,按顺序执行如下命令
centos1执行
ceph-deploy purge CENTOS1 CENTOS2 CENTOS3 CENTOS4
ceph-deploy purgedata CENTOS1 CENTOS2 CENTOS3 CENTOS4
ceph-deploy forgetkeys
如果执行了 purge ,你必须重新安装 Ceph
彻底删除配置和数据
umount /var/lib/ceph/osd/ceph-*
sudo rm -rf /var/lib/ceph/osd/*
sudo rm -rf /var/lib/ceph/mon/*
sudo rm -rf /var/lib/ceph/mds/*
sudo rm -rf /var/lib/ceph/bootstrap-mds/*
sudo rm -rf /var/lib/ceph/bootstrap-osd/*
sudo rm -rf /var/lib/ceph/bootstrap-mon/*
sudo rm -rf /var/lib/ceph/tmp/*
sudo rm -rf /etc/ceph/*
sudo rm -rf /var/run/ceph/*
rm -rf /etc/ceph/*
rm -rf /root/ceph/*
rm -rf /var/lib/ceph/*/*
rm -rf /var/log/ceph/*
rm -rf /var/run/ceph/*
userdel -r ceph
注意:如果已经初始化了osd,想重新开始配置需要把磁盘也一起删除(最简单的方法),然后重新创建
4.完整的部署结束后,各节点安装的组件如下
---------------开始安装---------------
在所有节点操作
1.进入到/etc/yum.repos.d下新建文件ceph.repo
cd /etc/yum.repos.d
touch ceph.repo
2.进入ceph.repo添加如下内容
[Ceph] name=Ceph packages for $basearch baseurl=http://download.ceph.com/rpm-nautilus/el7/$basearch enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://download.ceph.com/keys/release.asc priority=1 [Ceph-noarch] name=Ceph noarch packages baseurl=http://download.ceph.com/rpm-nautilus/el7/noarch enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://download.ceph.com/keys/release.asc priority=1 [ceph-source] name=Ceph source packages baseurl=http://download.ceph.com/rpm-nautilus/el7/SRPMS enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://download.ceph.com/keys/release.asc priority=1
注意:ceph.repo中唯一需要自己更改的是baseurl,如果使用我的配置,则使用的是nautilus版本
baseurl的地址在http://download.ceph.com下寻找,点击进入网址,找到自己需要的版本,不断进入链接,最后的页面类似如下
el7代表CentOS7
el8代表CentOS8
此时的url为https://download.ceph.com/rpm-nautilus/el7/,对比配置自行在该url后方补充
例如[ceph-source]下的baseurl为http://download.ceph.com/rpm-nautilus/el7/SRPMS
3.退出保存文件
4.执行如下代码
在CENTOS1执行
yum -y install ceph-common python-pkg-resources python-setuptools python2-subprocess32
yum update && sudo yum install ceph-deploy
5.安装NTP
所有节点都执行安装
yum install ntp ntpdate ntp-doc
6.安装 SSH 服务器(如果还没有)
所有节点执行安装
yum install openssh-server
7.创建部署 Ceph 的用户
ceph-deploy 工具必须以普通用户登录 Ceph 节点,且此用户拥有无密码使用 sudo 的权限,因为它需要在安装软件及配置文件的过程中,不输入密码
建议在集群内的所有 Ceph 节点上给 ceph-deploy 创建一个特定的用户,但不要用 “ceph” 这个名字,从 Infernalis 版起,用户名 “ceph” 保留给了 Ceph 守护进程。如果 Ceph 节点上已经有了 “ceph” 用户,必须先删掉这个用户
每个节点都执行
sudo useradd -d /home/用户名 -m 用户名
sudo passwd 密码
echo "用户名 ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/用户名
sudo chmod 0440 /etc/sudoers.d/用户名
从此处开始,未特殊说明,所有的用户名都是在此处创建的ceph用户
8.允许无密码 SSH 登录
在CENTOS1上切换到刚刚创建的普通用户,不要使用root和sudo去执行
ssh-keygen
提示 “Enter passphrase” 时,直接回车,口令即为空
把公钥拷贝到各 Ceph 节点(centos1执行)
ssh-copy-id 用户名@CENTOS2
ssh-copy-id 用户名@CENTOS3
ssh-copy-id 用户名@CENTOS4
切换root修改CENTOS1(主节点)下的~/.ssh/config 文件
Host CENTOS2
Hostname CENTOS2
User 用户名
Host CENTOS3
Hostname CENTOS3
User 用户名
Host CENTOS4
Hostname CENTOS4
User 用户名
至此,初始化完成
四.部署
安装前言
第四章执行的顺序一定不能错
顺序一定不能错
顺序一定不能错
---------------开始安装---------------
1.创建新文件夹,保存 ceph-deploy 生成的配置文件和密钥对
在centos1执行
mkdir my-cluster
cd my-cluster
文件名任意,不能有中文
ceph-deploy 会把文件输出到当前目录,所以请确保在此目录下执行 ceph-deploy
---------注意:接下来所有操作请全程在创建的目录内执行-------
2.创建集群
确保已经进入到创建的目录中
centos1执行
ceph-deploy new CENTOS2
执行完成后,当前目录输出如下
修改目录下的ceph.conf
[global]
fsid = 369b44f6-fc92-4671-ab84-f6510694e0c0
mon_initial_members = CENTOS2,CENTOS3,CENTOS4
mon_host = 192.168.36.112,192.168.36.113,192.168.36.114
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx[mon]
public_network = 192.168.36.0/24[mon.CENTOS2]
host = CENTOS2
mon_addr = 192.168.36.112[mon.CENTOS3]
host = CENTOS3
mon_addr = 192.168.36.113[mon.CENTOS4]
host = CENTOS4
mon_addr = 192.168.36.114
一次性把3个mon全部初始化好,这样后续不需要自己添加mon了
3.安装ceph
centos2,3,4执行
yum -y install ceph-mon ceph-common
centos1执行
ceph-deploy install CENTOS1 CENTOS2 CENTOS3 CENTOS4
4.初始化 monitor、收集所有密钥
centos1执行
ceph-deploy mon create-initial
在这里先在CENTOS2上创建一个mon,等基本ceph部署完成后,再在CENTOS3,4上各添加1个mon
5.用 ceph-deploy 把配置文件和 admin 密钥拷贝到管理节点和 Ceph 节点
centos1执行
ceph-deploy admin CENTOS1 CENTOS2 CENTOS3 CENTOS4
执行完成后,可以使用指令查看当前ceph集群状态
[root@CENTOS1 my-cluster]# ceph -s
cluster:
id: 7c9cafaf-8de4-4dda-ab9e-a188f3a5f4c8
health: HEALTH_WARN
mon is allowing insecure global_id reclaim
mon CENTOS2 is low on available space
services:
mon: 1 daemons, quorum CENTOS2 (age 2h)
mgr: no daemons active
osd: 0 osds: 0 up, 0 in
data:
pools: 0 pools, 0 pgs
objects: 0 objects, 0 B
usage: 0 B used, 0 B / 0 B avail
pgs:
如果出现报错,建议全部删除重新安装
6.安装MGR
全部节点都执行
yum -y install ceph-mgr
添加mgr至集群
centos1执行
ceph-deploy mgr create CENTOS3 CENTOS4
7.初始化OSD
安装ceph、ceph-radosgw和一些相关基础组件
centos1执行
ceph-deploy install --no-adjust-repos --nogpgcheck CENTOS2 CENTOS3 CENTOS4
--no-adjust-repos表示不将本机的repo文件传输至目标机器--nogpgcheck不检查yum的key
安装osd服务
在centos2,3,4执行
yum -y install ceph-osd ceph-common
使用lsblk查看当前磁盘
在centos2,3,4查看
[root@CENTOS2 ~]# 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 17G 0 part /
└─sda3 8:3 0 2G 0 part [SWAP]
sdb 8:16 0 5G 0 disk --新磁盘
sdc 8:32 0 5G 0 disk --新磁盘
sdd 8:48 0 100G 0 disk /e
sr0 11:0 1 1024M 0 rom
擦净磁盘,删除其中所有数据
centos1操作
ceph-deploy disk zap CENTOS2 /dev/sdb /dev/sdc
ceph-deploy disk zap CENTOS3 /dev/sdb /dev/sdc
ceph-deploy disk zap CENTOS4 /dev/sdb /dev/sdc
如果出现报错如下
[ceph_deploy.osd][DEBUG ] zapping /dev/sdc on CENTOS4 /dev/sdb
ssh: Could not resolve hostname centos4\302\240/dev/sdb: Name or service not known
[ceph_deploy][ERROR ] RuntimeError: connecting to host: CENTOS4 /dev/sdb resulted in errors: HostNotFound CENTOS4 /dev/sdb
这里的代码建议手敲然后复制自己的,不知道为什么上面写的复制过去提示含有其他字符,但是检查半天也没有
在磁盘上创建osd
centos1操作
ceph-deploy osd create CENTOS2 --data /dev/sdb
ceph-deploy osd create CENTOS2 --data /dev/sdc
ceph-deploy osd create CENTOS3 --data /dev/sdb
ceph-deploy osd create CENTOS3 --data /dev/sdb
...........对所有用作osd的磁盘进行初始化
如果出现如下提示,就自己手敲一遍别复制
[root@CENTOS1 my-cluster]# ceph-deploy osd create CENTOS3 --data /dev/sdb
usage: ceph-deploy [-h] [-v | -q] [--version] [--username USERNAME]
[--overwrite-conf] [--ceph-conf CEPH_CONF]
COMMAND ...
ceph-deploy: error: unrecognized arguments: /dev/sdb
osd会根据创建的顺序来对osd节点进行编号命名,第一个为0,以此类推...
CENTOS2的/dev/sdb就是osd.0,/dev/sdc就是osd.1
本次一共创建了6个osd节点
查看ceph状态
[root@CENTOS1 my-cluster]# ceph -s
cluster:
id: 7c9cafaf-8de4-4dda-ab9e-a188f3a5f4c8
health: HEALTH_WARN
mon is allowing insecure global_id reclaim
mon CENTOS2 is low on available space
services:
mon: 1 daemons, quorum CENTOS2 (age 2h)
mgr: CENTOS3(active, since 12m), standbys: CENTOS4
osd: 6 osds: 6 up (since 5m), 6 in (since 5m)
data:
pools: 0 pools, 0 pgs
objects: 0 objects, 0 B
usage: 6.0 GiB used, 24 GiB / 30 GiB avail
pgs:
恭喜你!看到这里,基本的ceph部署完成,RBD已经可以使用
想使用文件存储还需要继续部署(本文章结束)
五.增加新节点
---------注意:接下来所有操作请全程在创建的目录内执行-------
1.增加MDS和cephfs
centos1执行
ceph-deploy mds create CENTOS3 CENTOS4
执行完成后查看状态
[root@CENTOS1 my-cluster]# ceph -s
cluster:
id: 369b44f6-fc92-4671-ab84-f6510694e0c0
health: HEALTH_WARN
mons are allowing insecure global_id reclaim
mons CENTOS2,CENTOS3,CENTOS4 are low on available space
services:
mon: 3 daemons, quorum CENTOS2,CENTOS3,CENTOS4 (age 9m)
mgr: CENTOS3(active, since 7m), standbys: CENTOS4
mds: 2 up:standby
osd: 6 osds: 6 up (since 2m), 6 in (since 2m)
data:
pools: 0 pools, 0 pgs
objects: 0 objects, 0 B
usage: 6.0 GiB used, 24 GiB / 30 GiB avail
pgs:
看到上述描述即表示安装成功
mds服务为一个单独存储服务,想要正常运行必须要单独指定两个存储池,一个用来存储cephfs的元数据,另一个用来存储data数据
centos1执行
ceph osd pool create cephfs-metedata 32 32
ceph osd pool create cephfs-data 64 64
结果如下
[root@CENTOS1 my-cluster]# ceph osd pool create cephfs-metedata 32 32
pool 'cephfs-metedata' created
[root@CENTOS1 my-cluster]# ceph osd pool create cephfs-data 64 64
pool 'cephfs-data' created
查看存储池
[root@CENTOS1 my-cluster]# ceph osd lspools
1 cephfs-metedata
2 cephfs-data
2.增加rgw
安装组件
yum -y install ceph-radosgw
部署rgw
ceph-deploy --overwrite-conf rgw create CENTOS3 CENTOS4
查看集群状态
[root@CENTOS1 ~]# ceph -s
cluster:
id: 369b44f6-fc92-4671-ab84-f6510694e0c0
health: HEALTH_WARN
mons are allowing insecure global_id reclaim
mons CENTOS2,CENTOS3,CENTOS4 are low on available space
services:
mon: 3 daemons, quorum CENTOS2,CENTOS3,CENTOS4 (age 62s)
mgr: CENTOS3(active, since 58s), standbys: CENTOS4
mds: cephfs:1 {0=CENTOS3=up:active} 1 up:standby
osd: 6 osds: 6 up (since 60s), 6 in (since 23m)
rgw: 2 daemons active (CENTOS3, CENTOS4)
task status:
data:
pools: 6 pools, 224 pgs
objects: 209 objects, 3.8 KiB
usage: 6.0 GiB used, 24 GiB / 30 GiB avail
pgs: 224 active+clean
至此,ceph已经完整的被安装
六.安装dashboard
1.在每一个对应的mgr节点安装dashboard
yum install ceph-mgr-dashboard -y
2.设置开机自启
ceph mgr module enable dashboard
3.关闭dashboard的ssl
ceph config set mgr mgr/dashboard/ssl false
4.生成安装自签名的证书
ceph dashboard create-self-signed-cert
5.设置admin账户的密码
nautilus版要求敏感信息需要通过文件输入,例如密码,密钥等
所以先创建一个密码文件
echo "your_password" > pwd.txt
接着创建
ceph dashboard set-login-credentials admin -i pwd.txt
6.指定dashboard监听地址和端口
ceph config set mgr mgr/dashboard/server_addr192.168.36.114
ceph config set mgr mgr/dashboard/server_port 8443
记得重启mgr使上面的配置生效
systemctl restart ceph-mgr@mgr.target
查看访问dashboard的地址
[root@CENTOS3 ~]# ceph mgr services
{
"dashboard": "https://CENTOS4:8443/"
}
去浏览器输入即可访问
7.开启object gateway功能
sudo radosgw-admin user create --subuser="cephtester:subtester" --uid="cephtester" --display-name="cephtester" --key-type=swift --secret="你自己的密钥,随便设置,不要中文" --access=full
uid 为主用户, subuser为子用户, secret指定密钥, 不指定则随机生成
创建管理员账号
radosgw-admin user create --uid=mgruser --display-name=mgruser --system
返回如下信息
{
"user_id": "mgruser",
"display_name": "mgruser",
"email": "",
"suspended": 0,
"max_buckets": 1000,
"subusers": [],
"keys": [
{
"user": "mgruser",
"access_key": "FN06Q33WNQABYZ75XBGJ",
"secret_key": "yCWDiA9ZLZb4haJplvqoIusyYjL1Qm33cK5cCKDY"
}
],
"swift_keys": [],
"caps": [],
"op_mask": "read, write, delete",
"system": "true",
"default_placement": "",
"default_storage_class": "",
"placement_tags": [],
"bucket_quota": {
"enabled": false,
"check_on_raw": false,
"max_size": -1,
"max_size_kb": 0,
"max_objects": -1
},
"user_quota": {
"enabled": false,
"check_on_raw": false,
"max_size": -1,
"max_size_kb": 0,
"max_objects": -1
},
"temp_url_keys": [],
"type": "rgw",
"mfa_ids": []
}
注意其中有这样的一段,两个key要记住,后面需要用
"keys": [
{
"user": "mgruser",
"access_key": "FN06Q33WNQABYZ75XBGJ",
"secret_key": "yCWDiA9ZLZb4haJplvqoIusyYjL1Qm33cK5cCKDY"
}
]
创建两个密钥的文件
echo "FN06Q33WNQABYZ75XBGJ" > rgw-access-key.txt
echo "yCWDiA9ZLZb4haJplvqoIusyYjL1Qm33cK5cCKDY" > rgw-secret-key.txt
执行
ceph dashboard set-rgw-api-access-key -i rgw-access-key.txt
ceph dashboard set-rgw-api-secret-key -i rgw-secret-key.txt
在此处再次放出各节点的结构目录
恭喜你,已经完成的ceph的所有安装,现在可以开始使用啦!
如果觉得该文章有帮到你,麻烦点个赞收藏一下哦