首页 > 其他分享 >ceph admin部署与扩容

ceph admin部署与扩容

时间:2024-03-07 09:44:23浏览次数:27  
标签:扩容 admin Unknown lab ceph cephadm com example

部署 Ceph 存储
准备集群部署
这里采用 cephadm 工具来进行部署,cephadm 是一个用于部署和管理 Ceph 集群的工具。它是在 Ceph 版本 14.2.0 中引入的相对较新的工具。

cephadm 工具旨在通过自动化以前手动完成的许多任务来简化 Ceph 集群的部署和管理。它使用容器来部署和管理 Ceph 服务,这使得更容易管理依赖关系并确保在不同环境中保持一致性。

要使用 cephadm,需要对 Ceph 及其架构有基本的了解。还需要具有 Docker 和 Kubernetes 等容器化技术的一些经验。

在使用方面,cephadm 提供了许多命令,可用于部署和管理 Ceph 集群。其中一些最常用的命令包括:

ceph orch apply:此命令用于将配置应用于 Ceph 集群。它可用于部署新服务、更新现有服务或删除不再需要的服务。
ceph orch ls:此命令用于列出当前在 Ceph 集群中运行的服务。
ceph orch ps:此命令用于列出当前在 Ceph 集群中运行的服务的状态。
ceph orch rm:此命令用于从 Ceph 集群中删除服务。
ceph orch upgrade:此命令用于将 Ceph 集群升级到新版本。
cephadm 包含两个组件

cephadm shell
cephadm orchestrator
cephadm shell 命令在ceph提供的管理容器中运行一个bash shell,最初使用 cephadm shell 执行集群部署任务、安装并运行集群后执行集群管理任务。

启动 cephadm shell 以交互方式运行单个或多个命令,要以交互方式运行它,应使用 cephadm shell 命令打开 shell,然后运行Ceph命令。

cephadm 提供了一个命令行来编排 ceph-mgr 模块,该模块与外部编排服务进行对接,编排器的作用是协调必须跨多个节点和服务协作进行配置更改

[root@clienta ~]# cephadm shell

如果要执行非交互式的单个命令,可以用两个破折号连接

[root@clienta ~]# cephadm shell -- ceph osd pool ls

规划服务托管
所有集群服务现在都作为容器运行。容器化的 Ceph 服务可以运行在同一个节点上;这叫做“托管”。

Ceph 服务的托管允许更好地利用资源,同时保持服务之间的安全隔离。支持与 OSD 配置的守护进程有:RADOSGW、MOS、RBD-mirror、MON、MGR、Grafana、NFS Ganesha

节点之间的安全通讯
cephadm 命令使用 SSH 协议与存储集群节点通信。集群 SSH Key 是在集群引导过程中创建的。将集群公钥复制到每个主机,使用如下命令复制集群密钥到集群节点:

下面的步骤是 cephadm 自动的,不需要显示处理

[root@node -]# cephadm shell
[ceph: root@node /]# ceph cephadm get-pub-key > ~/ceph.pub
[ceph: root@node /]# ssh-copy-id -f -i ~/ceph.pub [email protected]

部署新集群
部署新集群的步骤如下:

在选择作为引导节点的主机上安装cephadm-ansible 包yum -y install cephadm-ansible,它是集群中的第一个节点。
在节点上执行cephadm的预检查playbook。该剧本验证主机是否具有所需的先决条件。ansible-playbook -i hosts cephadm-preflight.yml -e ceph_origin=
使用cephadm引导集群。引导过程完成以下任务:
在引导节点上安装并启动 Ceph Monitor 和 Ceph Manager 守护进程
创建 /etc/ceph 目录
拷贝一份集群SSH公钥到 ·etc/ceph/ceph,并添加密钥到 /root/.ssh/authorized_keys` 文件中
将与新集群通信所需的最小配置文件写入 /etc/ceph/ceph.conf 文件
写入 client.admin 管理密钥到 /etc/ceph/ceph.client.admin.keyring
为 prometheus 和 grafana 服务以及其他工具部署一个基本的监控 stack
安装先决条件
在引导节点上安装 cephadm-ansible

cephadm-ansible 是 Ansible 剧本的集合,用于简化 CEPHADM 未涵盖的工作流。涵盖的工作流程 是:

安装前检查:在引导集群之前对主机进行初始设置
客户端:设置客户端主机
清除:移除 Ceph 集群
通过下面的方式安装,没有对应 yum 源的话可以通过 github 获取。https://github.com/ceph/cephadm-ansible/blob/devel/README.md

也可以直接通过 cephadm-ansible 提供的剧本来安装 ceph,当前我们使用 cephadm 的方式, cephadm-ansible 这里仅仅用作为安装前的检查。

[root@node ~]# yum install cephadm-ansible

运行 cephadm-preflight,这个剧本配置 Ceph 存储库 并为引导准备存储集群。它还安装必要的包,例如Podman、lvm2、chrony 和 cephadm

cephadm-preflight 使用 cephadm-ansible inventory 文件来识别 admin 和 client 节点

inventory 默认位置是 /usr/share/cephadm-ansible/hosts,下面的例子展示了一个典型的 inventory文件的结构:

[admin]
node00

[clients]
client01
client02
client03

运行 cephadm-preflight

[root@node ~]# ansible-playbook \
-i INVENTORY-FILE \
-e "ceph_origin=rhcs" \
cephadm-preflight.yml

ceph_origin:Ceph 存储库的来源。默认值为 community
有效值:

rhcs:来自红帽 Ceph 存储的存储库。
community:社区存储库(https://download.ceph.com)
custom:自定义存储库。
shaman:开发存储库。
bootstrap 引导集群
cephadm 引导过程在单个节点上创建一个小型存储集群,包括一个Ceph Monitor和一个Ceph Manager,以及任何必需的依赖项,然后通过使用 ceph orchestrator 命令或 Dashboard GUI 扩展存储集群添加集群节点和服务

使用 cephadm bootstrap 引导新集群
引导命令

[root@node -]# cephadm bootstrap \
--mon-ip=MON_IP \
--allow-fqdn-hostname
--initial-dashboard-password=DASHBOARO_PASSWORO \
--dashboard-password-noupdate \
--registry-url=registry.redhat.io \
--registry-username=REGISTRY_USERNAME \
--registry-password=REGISTRY_PASSWORD

参数说明:

–mon-ip: 第一监控器的IP
–apply-spec: 服务规范文件
–registry-XXX: 镜像仓库相关命令
–allow-fqdn-hostname: 主机名使用权限定名
–initial-dashboard-password:仪表盘密码
–dashboard-password-noupdate: 不允许修改仪表盘密码
cephadm bootstrap \
--mon-ip=172.25.250.12 \
--apply-spec=/root/ceph/initial-config-primary-cluster.yaml \
--initial-dashboard-password=redhat \
--dashboard-password-noupdate \
--allow-fqdn-hostname \
--registry-url=registry.lab.example.com \
--registry-username=registry \
--registry-password=redhat

运行结束后,会输出以下内容,包括仪表盘等相关信息

Ceph Dashboard is now available at:
URL: https://boostrapnode.example.com:8443/
User: admin
Password: adminpassword
You can access the Ceph CLI with:
sudo /usr/sbin/cephadm shell --fsid 266ee7a8-2a05-lleb-b846-5254002d4916 -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring
Please consider enabling telemetry to help improve Ceph:
ceph telemetry on

使用服务规范文件
cephadm bootstrap 命令使用 --apply-spec 选项和服务规范文件用于引导存储集群并配置其他主机和守护进程,配置文件是一个YAML文件,其中包含服务类型、位置和要部署服务的指定节点

服务配置文件示例如下:

# 添加三个主机节点
service_type: host
addr: node-00
hostname: node-00
---
service_type: host
addr: node-01
hostname: node-01
---
service_type: host
addr: node-02
hostname: node-02
---
# 添加三个 mon,生产要求至少3个,而且需要是奇数
service_type: mon
placement:
hosts:
- node-00
- node-01
- node-02
---
# 添加三个 mgr,至少2个
service_type: mgr
placement:
hosts:
- node-00
- node-01
- node-02
---
# 添加三个 rgw,至少2个
service_type: rgw
service_id: realm.zone
placement:
hosts:
- node-01
- node-02
---
service_type: osd
placement:
host_pattern: "*"
data_devices:
all:true

[root@node ~]# cephadm bootstrap \
--mon-ip MONITOR-IP-ADDRESS \
--apply-spec CONFIGURATION_FILE_NAME

看一个实际的 Demo,使用下面的服务配置文件来点火一个集群, 并且指定组件分布

service_type: host
addr: 172.25.250.10
hostname: clienta.lab.example.com
---
service_type: host
addr: 172.25.250.12
hostname: serverc.lab.example.com
---
service_type: host
addr: 172.25.250.13
hostname: serverd.lab.example.com
---
service_type: host
addr: 172.25.250.14
hostname: servere.lab.example.com
---
service_type: mon
placement:
hosts:
- clienta.lab.example.com
- serverc.lab.example.com
- serverd.lab.example.com
- servere.lab.example.com
---
service_type: rgw
service_id: realm.zone
placement:
hosts:
- serverc.lab.example.com
- serverd.lab.example.com
---
service_type: mgr
placement:
hosts:
- clienta.lab.example.com
- serverc.lab.example.com
- serverd.lab.example.com
- servere.lab.example.com
---
service_type: osd
service_id: default_drive_group
placement:
host_pattern: 'server*'
data_devices:
paths:
- /dev/vdb
- /dev/vdc
- /dev/vdd

# cephadm bootstrap \
--mon-ip=172.25.250.12 \
--apply-spec=/root/ceph/initial-config-primary-cluster.yaml \
--initial-dashboard-password=redhat \
--dashboard-password-noupdate \
--allow-fqdn-hostname \
--registry-url=registry.lab.example.com \
--registry-username=registry \
--registry-password=redhat

为集群节点打标签
Ceph 编排器支持为主机分配标签,标签可以用于对集群进行分组 hosts ,以便可以同时将Ceph服务部署到多个主机,主机可以有多个标签

标签可以帮助识别每个主机上运行的守护进程,从而简化集群管理任务。

可以使用 ceph orch host ls或YAML服务规范文件在特定标记的主机上部署或删除守护进程,可以使用 ceph orch host ls命令来列出我们可以用于编排器或YAML服务规范文件,在指定的标签节点上用于部署或删除特定的守护进程

除了_admin 标签外,标签都是自由形式,没有特定的含义,可以使用标签,如 mon, monitor, mycluster_monitor,或其他文本字符串标签和分组集群节点。例如,将 mon 标签分配给部署 mon 守护进程的节点,为部署 mgr 守护进程的节点分配 mgr 标签,并为 RADOS 分配 rgw 网关

例如,下面的命令将 _admin 标签应用到主机,用于以指定为 admin节点

[ceph: root@node /)# ceph orch \
host label add AOMIN_NOOE _admin

使用标签将集群守护进程部署到特定的主机

(ceph: root@node /)# ceph orch \
apply prometheus --placement="label:prometheus"

设置Admin节点
管理 Ceph 集群需要 管理员权限,所以需要配置 admin 节点的步骤如下:

将admin标签分配给节点
[ceph: root@node /)# ceph orch \
host label add AOMIN_NOOE _admin

复制admin密钥到管理节点
[root@node ~]# scp \
/etc/ceph/ceph.client.admin.keyring ADMIN_NODE:/etc/ceph/

复制ceph.conf文件到admin节点
[root@node ~]# scp \
/etc/ceph/ceph.conf ADMIN_NODE:/etc/ceph/
执行Ceph存储集群扩容
有两种方法可以扩展集群中的 存储空间:

向集群中添加额外的 OSD 节点,这称为 横向扩展
向以前的 OSD节点添加额外的存储空间,这称为 纵向扩展
在开始部署额外的osd之前使用 cephadm shell -- ceph health 命令确保集群处于HEALTH_OK 状态

配置更多的OSD服务器
作为存储管理员,可以向Ceph存储集群添加更多主机,以维护集群健康并提供足够的负载容量。在当前存储空间已满的情况下,可以通过增加一个或多个osd来增加集群存储容量。

分发ssh密钥
作为root用户,将 Ceph 存储集群 SSH 公钥添加到新主机上 root 用户的 authorized_keys 文件中

[root@adm ~]# ssh-copy-id \
-f -i /etc/ceph/ceph.pub \
root@new-osd-1

检查并配置先决条件
作为 root 用户,将新节点添加到目录 /usr/share/cephadm-ansible/hosts/ 的inventory文件中,使用–limit选项运行 preflight 剧本,以限制剧本的任务只在指定的节点上运行,Ansible Playbook会验证待添加的节点是否满足前置要求

[root@adm ~]# ansible-playbook \
-i /usr/share/cephadm-ansible/hosts/ \
--limit new-osd-1 \
/usr/share/cephadm-ansible/cephadm-preflight.yml

选择添加主机的方法
使用命令
以 root 用户,在 Cephadm shell 下,使用 ceph orch host add 命令添加一个存储集群的新主机,在本例中,该命令还分配主机标签

[ceph: root@adm /]# ceph orch \
host add new-osd-1 --labels=mon,osd,mgr

使用规范文件添加多个主机
要添加多个主机,创建一个包含主机描述的YAML文件,在管理容器中创建YAML文件,然后运行ceph orch

service_type: host
addr:
hostname: new-osd-1
labels:
- mon
- osd
- mgr
---
service_type: host
addr:
hostname: new-osd-2
labels:
- mon
- osd

使用ceph orch apply 添加OSD服务器

[ceph: root@adm ~]# ceph orch apply -i host.yaml
列出主机
ceph orch host ls可以列出所有主机,正常情况下STATUS是空的

[ceph: root@clienta ~]# ceph orch host ls
HOST ADDR LABELS STATUS
clienta.lab.example.com 172.25.250.10 _admin
serverc.lab.example.com 172.25.250.12
serverd.lab.example.com 172.25.250.13
servere.lab.example.com 172.25.250.14

为OSD服务器配置额外的OSD存储
Ceph要求在考虑存储设备时需满足以下条件:

设备不能有任何分区
设备不能有 LVM
设备不能被挂载
该设备不能包含文件系统
设备不能包含 Ceph BlueStore OSD
设备大小必须大于5GB
ceph orch device ls 可以列出集群中可用的 osd,--wide 选项可以查看更多详情

[ceph: root@clienta ~]# ceph orch device ls --wide
Hostname Path Type Transport RPM Vendor Model Serial Size Health Ident Fault Available Reject Reasons
clienta.lab.example.com /dev/vdb hdd Unknown Unknown 0x1af4 N/A 10.7G Unknown N/A N/A Yes
clienta.lab.example.com /dev/vdc hdd Unknown Unknown 0x1af4 N/A 10.7G Unknown N/A N/A Yes
clienta.lab.example.com /dev/vdd hdd Unknown Unknown 0x1af4 N/A 10.7G Unknown N/A N/A Yes
clienta.lab.example.com /dev/vde hdd Unknown Unknown 0x1af4 N/A 10.7G Unknown N/A N/A Yes
clienta.lab.example.com /dev/vdf hdd Unknown Unknown 0x1af4 N/A 10.7G Unknown N/A N/A Yes
serverc.lab.example.com /dev/vde hdd Unknown Unknown 0x1af4 N/A 10.7G Unknown N/A N/A Yes
serverc.lab.example.com /dev/vdf hdd Unknown Unknown 0x1af4 N/A 10.7G Unknown N/A N/A Yes
serverc.lab.example.com /dev/vdb hdd Unknown Unknown 0x1af4 N/A 10.7G Unknown N/A N/A No Insufficient space (<10 extents) on vgs, LVM detected, locked
serverc.lab.example.com /dev/vdc hdd Unknown Unknown 0x1af4 N/A 10.7G Unknown N/A N/A No Insufficient space (<10 extents) on vgs, LVM detected, locked
serverc.lab.example.com /dev/vdd hdd Unknown Unknown 0x1af4 N/A 10.7G Unknown N/A N/A No Insufficient space (<10 extents) on vgs, LVM detected, locked
serverd.lab.example.com /dev/vde hdd Unknown Unknown 0x1af4 N/A 10.7G Unknown N/A N/A Yes
serverd.lab.example.com /dev/vdf hdd Unknown Unknown 0x1af4 N/A 10.7G Unknown N/A N/A Yes
serverd.lab.example.com /dev/vdb hdd Unknown Unknown 0x1af4 N/A 10.7G Unknown N/A N/A No Insufficient space (<10 extents) on vgs, LVM detected, locked
serverd.lab.example.com /dev/vdc hdd Unknown Unknown 0x1af4 N/A 10.7G Unknown N/A N/A No Insufficient space (<10 extents) on vgs, LVM detected, locked
serverd.lab.example.com /dev/vdd hdd Unknown Unknown 0x1af4 N/A 10.7G Unknown N/A N/A No Insufficient space (<10 extents) on vgs, LVM detected, locked
servere.lab.example.com /dev/vde hdd Unknown Unknown 0x1af4 N/A 10.7G Unknown N/A N/A Yes
servere.lab.example.com /dev/vdf hdd Unknown Unknown 0x1af4 N/A 10.7G Unknown N/A N/A Yes
servere.lab.example.com /dev/vdb hdd Unknown Unknown 0x1af4 N/A 10.7G Unknown N/A N/A No Insufficient space (<10 extents) on vgs, LVM detected, locked
servere.lab.example.com /dev/vdc hdd Unknown Unknown 0x1af4 N/A 10.7G Unknown N/A N/A No Insufficient space (<10 extents) on vgs, LVM detected, locked
servere.lab.example.com /dev/vdd hdd Unknown Unknown 0x1af4 N/A 10.7G Unknown N/A N/A No Insufficient space (<10 extents) on vgs, LVM detected, locked
[ceph: root@clienta ~]#

以 root 用户执行 ceph orch daemon add osd 命令,在指定主机上使用指定设备创建 osd

[ceph: root@admin /]# ceph orch \
daemon add osd osd-1:/dev/vdb

执行 ceph orch apply osd --all-available-devices 命令,在所有可用且未使用的设备上部署 osd

[ceph: root@adm /]# ceph orch \
apply osd --all-available-devices

可以仅使用特定主机上的特定设备创建 osd,下例中,在每台主机上由 default_drive_group 组中提供的后端设备 /dev/vdc 和 /dev/vdd 创建两个 osd

[ceph: root@adm I]# cat lvarlliblcephlosdlosd_spec.yml
service_type: osd
service_id: default_drive_group
placement:
hosts:
- osd-1
- osd-2
data_devices:
paths:
- /dev/vdc
- /dev/vdd

执行 ceph orch apply 命令实现 YAML文件中的配置

[ceph: root@adm /]# ceph orch \
apply -i /var/lib/ceph/osd/osd_spec.yml

apply 和 daemon 的区别
ceph orch apply 和 ceph orch daemon 是 Ceph 中的两个不同命令,用于不同的目的。

ceph orch apply
ceph orch apply 命令用于将服务规范应用于 Ceph 集群。这个规范在一个 YAML 文件中定义,包含有关服务的信息,例如副本数、放置规则和其他配置选项。当您运行 ceph orch apply 时,Ceph Orchestrator 会读取 YAML 文件并在集群中创建必要的服务实例。

以下是一个服务规范 YAML 文件的示例:

service_type: rgw
service_id: my-rgw
placement:
count: 1
hosts:
- node1
- node2

YAML 文件指定应创建一个 rgw 服务的单个实例,其 ID 为 my-rgw。该服务应放置在两个主机 node1 和 node2 上。

要将此规范应用于集群,您需要运行以下命令:

ceph orch apply rgw my-rgw -i /path/to/spec.yaml
ceph orch daemon
ceph orch daemon 命令用于管理集群中的单个服务守护程序。您可以使用此命令启动、停止、重启或检查特定守护程序的状态。

例如,要启动 ID 为 my-rgw 的 rgw 守护程序,您需要运行以下命令:

ceph orch daemon start rgw.my-rgw

osd 扩容的一个 Demo

[root@clienta ~]# ceph orch device ls --hostname=servere.lab.example.com
Hostname Path Type Serial Size Health Ident Fault Available
servere.lab.example.com /dev/vdc hdd 11906 10.7G Unknown N/A N/A Yes
servere.lab.example.com /dev/vdd hdd 27887 10.7G Unknown N/A N/A Yes
servere.lab.example.com /dev/vde hdd 16656 10.7G Unknown N/A N/A Yes
servere.lab.example.com /dev/vdf hdd 6063 10.7G Unknown N/A N/A Yes
servere.lab.example.com /dev/vdb hdd 5089 10.7G Unknown N/A N/A No

[root@clienta ~]# ceph orch daemon add osd servere.lab.example.com:/dev/vde
Created osd(s) 3 on host 'servere.lab.example.com'
[root@clienta ~]# ceph orch daemon add osd servere.lab.example.com:/dev/vdf
Created osd(s) 4 on host 'servere.lab.example.com'

[root@clienta ~]# ceph orch device ls --hostname=servere.lab.example.com
Hostname Path Type Serial Size Health Ident Fault Available
servere.lab.example.com /dev/vdc hdd 11906 10.7G Unknown N/A N/A Yes
servere.lab.example.com /dev/vdd hdd 27887 10.7G Unknown N/A N/A Yes
servere.lab.example.com /dev/vdb hdd 5089 10.7G Unknown N/A N/A No
servere.lab.example.com /dev/vde hdd 16656 10.7G Unknown N/A N/A No
servere.lab.example.com /dev/vdf hdd 6063 10.7G Unknown N/A N/A No

标签:扩容,admin,Unknown,lab,ceph,cephadm,com,example
From: https://www.cnblogs.com/breg/p/18058201

相关文章

  • 如何新建逻辑卷及磁盘挂载,逻辑卷扩容
    一、创建逻辑卷;pvcreate/dev/sdb;#在块设备 /dev/sdb 上创建一个物理卷。vgcreatevg_data/dev/sdb;#使用物理卷 /dev/sdb 创建一个名为 vg_data 的卷组。lvcreate-l100%VG-nlv_datavg_data;#在卷组 vg_data 中创建一个名为 lv_data 的逻辑卷,占用卷组中所有可用空......
  • kali扩容遇到无法扩容问题
    1、问题图片2、其实提示信息里面已经写了,是因为创建了快照后续步骤可以参照这个博主的https://blog.csdn.net/weixin_43825028/article/details/119776202?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-119776202-blog-10......
  • 给/分区扩容
    查看磁盘空间大小,目前/分区大小为20G,并且只有一个磁盘在虚拟机上增加40G/dev/nvme0n1p目前为60G,接下来对磁盘进行分区,创建物理卷,将新增的物理卷加到卷组里对磁盘分区,使用fdisk/dev/nvme0n1,输入n新建分区n为增加一个新的分区p为打印一个分区表其他默认即可最后w保......
  • fastadmin 多选,单选,不选
    文档https://static.kancloud.cn/wangzhaozhen/fastadmin/2291938多选<divclass="form-group"><labelclass="control-labelcol-xs-12col-sm-4">{:__('拒绝原因')}:</label>......
  • 抢先看!Salesforce新职业Admineloper适合你吗?
    每个Salesforce管理员在思考自己的职业生涯时,可能都会想到:下一步是往架构师,或者开发,还是咨询的方向发展。无论哪种职业规划,都需要培养新的技能。由于角色职责、团队、客户需求等的变化,许多管理员在晋升之前就开始培养这种新技能。管理员可能需要学习Apex或利用现有知识,转向传统......
  • 非 LVM 分区动态扩容
    非LVM分区实现动态扩容,适用于系统分区扩容,无需格式化磁盘,无需重新挂载磁盘扩容步骤以/dev/sda2扩容为例,假设/dev/sda空间足够(或已通过虚拟化管理平台增加容量)使用fdisk-l命令可看到/dev/sda磁盘总容量200GiB,/dev/sda2分区容量100GiBDisk/dev/sda:200GiB,2......
  • Oracle数据库错误:ora-28014:cannot drop administrative users(无法删除管理用户或角色
    1.问题在创建用户test之后,删除时发生错误ora-28014:cannotdropadministrativeusers2.解决由于Oracle数据库要求创建用户必须以C##开头,在创建该用户时,我们设置了altersessionset"_oracle_script"=true;Oracle数据库如何解决创建用户名开头必须要C##问题?但是删除时,由......
  • 虚拟机磁盘扩容
    1.df-h查看磁盘容量2.虚拟机——>设置——>硬件——>硬盘——>扩展3.sudosu进入用户目录输入fdisk-l查看/dev/sda3内存大小4.输入fdisk/dev/sda修改5.fdisk-l查看6.输入df-h会发现此处磁盘内存没有变化7.这时退出用户目录exit,输入sudoresize2fs/......
  • VMware 虚拟机中 Linux 系统Centos7磁盘空间扩容(亲测)
    1.修改虚拟机磁盘容量​ 例如之前虚拟机磁盘空间为20G,现要将磁盘容量设置为30G​ 打开虚拟机(必须处于关机状态),点击【编辑虚拟机设置】,然后点击【磁盘】,接着点击【扩展】,输入修改后的最大磁盘容量30G,具体操作时最大容量根据自己的需求设置即可。​ 输入完成最大磁盘容量后,点击扩......
  • easyadmin 无法上传大文件的问题
    <span><aclass="layui-btn"data-upload="file_url"data-upload-number="one"data-upload-exts="exe|msi|rar|zip|7z"data-upload-icon="image"><iclass="fafa-upload"></i>上传&l......