VMware虚拟机磁盘扩容实操全链路:从vSphere 6.7到8.0,5步完成热扩容+LVM自动伸缩

更多请点击: https://kaifayun.com

第一章:VMware虚拟机磁盘扩容的演进逻辑与适用边界

VMware虚拟机磁盘扩容技术并非静态功能,而是随vSphere架构演进持续重构的过程。从早期依赖关机+快照回滚的离线扩容,到vSphere 5.5引入的在线热扩容(需客户操作系统支持),再到vSphere 6.7起对NVMe和SCSI控制器动态队列深度调整的协同优化,其底层逻辑始终围绕“存储抽象层与客户机内核感知能力的对齐”展开。扩容能力的有效性不取决于vCenter版本单一因素,而由三大边界共同约束:虚拟硬件版本、客户机操作系统内核版本、以及底层存储协议类型。

关键约束维度对比

约束维度影响机制典型失效场景
虚拟硬件版本决定SCSI控制器类型及驱动暴露能力HWv10虚拟机在Windows Server 2008 R2中无法识别新增LUN空间
客户机内核支持需支持rescan SCSI总线或udev规则自动触发RHEL 6.5默认禁用auto-rescan,需手动执行echo 1 > /sys/class/scsi_device/*/device/rescan
存储协议栈iSCSI/FC/NVMe对LUN重映射响应时序差异NVMe over Fabrics下部分驱动未实现namespace rescan事件通知

典型在线扩容操作流程

  • 在vSphere Client中右键虚拟机 → 编辑设置 → 选择硬盘 → 调整容量(确保“立即分配”已启用)
  • 登录客户机执行存储子系统刷新命令
  • 扩展文件系统以实际占用新增空间

Linux客户机扩容验证脚本

# 检测设备容量变更并自动扩展XFS文件系统
DEVICE="/dev/sda"
MOUNT_POINT="/"
# 刷新SCSI总线(适用于LSI Logic/SAS控制器)
echo 1 > /sys/class/scsi_device/$(basename $(readlink -f /sys/block/$DEVICE))/device/rescan
# 等待内核识别新容量
sleep 2
# 扩展分区(假设为单分区GPT布局)
parted $DEVICE resizepart 1 100%
# 重读分区表
partprobe $DEVICE
# 扩展文件系统
xfs_growfs $MOUNT_POINT

第二章:vSphere层磁盘扩容操作全解析

2.1 vSphere 6.7/7.0/8.0热扩容能力对比与兼容性矩阵

核心能力演进
vSphere 6.7 首次支持虚拟机在线增加 CPU 和内存(需启用“热添加”选项),但受限于客户操作系统驱动支持;7.0 引入 vSphere Lifecycle Manager 统一纳管热扩容策略,并增强对 NVMe SSD 热插拔的底层支撑;8.0 进一步解耦硬件抽象层,实现跨代 CPU 架构(如 Intel Ice Lake ↔ Sapphire Rapids)的无缝热扩容。
兼容性矩阵
功能vSphere 6.7vSphere 7.0vSphere 8.0
热添加内存(Guest OS 支持)✓(仅 Windows Server 2012+ / RHEL 7.4+)✓(扩展至 Ubuntu 18.04+)✓(新增 Photon OS 4.0 原生支持)
热移除 CPU✓(需 vHW 20+ & VMX config: sched.hotRemove.cpu = "TRUE"
关键配置示例
# vSphere 8.0 启用热移除 CPU 的 VMX 配置片段
sched.hotRemove.cpu = "TRUE"
sched.hotAdd.cpu = "TRUE"
mem.hotAdd.enabled = "TRUE"
该配置需在关机状态下注入 VMX 文件,并配合客户机内核参数 acpi_enforce_resources=lax 解除 ACPI 资源锁定,否则 Linux guest 可能拒绝识别移除事件。

2.2 Web Client与HTML5客户端中磁盘扩容的GUI实操路径

Web Client端扩容入口定位
在Web Client界面中,进入「存储管理」→「虚拟磁盘」→ 选择目标磁盘 → 点击「扩容」按钮,触发前端扩容向导。
HTML5客户端关键操作步骤
  1. 确认磁盘处于“已关机”或“暂停”状态(运行中磁盘不支持热扩容)
  2. 输入新容量值(需 ≥ 当前容量且为整数GiB)
  3. 勾选「同步更新文件系统」以自动执行resize2fs或xfs_growfs
前端校验逻辑片段
// 前端容量合法性校验
function validateNewSize(current, input) {
  const newSize = parseInt(input);
  return newSize >= current && Number.isInteger(newSize) && newSize <= 65536; // 上限64TB
}
该函数确保输入值为整数、不小于当前容量、且未超出平台最大限制(65536 GiB),避免后端无效请求。
参数映射对照表
GUI字段API参数名类型
新容量(GiB)size_gbinteger
是否扩展文件系统resize_fsboolean

2.3 PowerCLI批量扩容脚本编写与安全执行策略

核心脚本结构设计
# 连接vCenter并验证权限
Connect-VIServer -Server $vCenter -Credential $cred -ErrorAction Stop
# 批量获取目标VM并校验状态
$targetVMs = Get-VM -Name $vmPattern | Where-Object { $_.PowerState -eq 'PoweredOn' }
该脚本首重连接可靠性与前置校验,避免因会话失效或权限不足导致误操作; $vmPattern支持通配符匹配, Where-Object确保仅对运行中虚拟机执行扩容。
安全执行控制矩阵
控制维度实施方式触发条件
资源阈值CPU/内存使用率 < 70%自动跳过超载主机
变更窗口仅限工作日 02:00–04:00系统时间校验失败则中止
执行前校验清单
  • 确认vCenter证书信任链有效
  • 验证目标VM已安装VMware Tools且版本 ≥ 11.3.5
  • 检查数据存储剩余容量 ≥ 2× 扩容总量

2.4 扩容后vSAN存储策略一致性校验与元数据刷新

策略一致性自动校验流程
vSAN在节点扩容后自动触发 vsan.check_cluster_health 任务,扫描所有对象的策略合规性。不满足策略(如条带宽度、故障域分布)的对象将被标记为 non-compliant
元数据强制刷新命令
# 强制刷新指定磁盘组的组件元数据
esxcli vsan storage core metadata refresh --disk-group-uuid "521e8a9c-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
该命令重建磁盘组内组件的逻辑映射关系,确保新节点参与数据重平衡前元数据视图一致; --disk-group-uuid 必须来自 esxcli vsan storage list 输出,避免误刷。
校验结果状态码对照表
状态码含义建议操作
0完全合规无需干预
2部分对象未满足策略执行 vsan.rebalance

2.5 扩容失败典型报错诊断(如“Device is busy”、“Disk is locked”)

常见锁定场景分析
当 LVM 逻辑卷扩容时遇到 Device is busy,往往因文件系统被挂载且正被进程访问; Disk is locked 则多见于 udev 规则冲突或 multipath 设备未正确释放。
关键排查命令
  • lsof +D /mnt/data:定位占用挂载点的活跃进程
  • dmsetup info -c | grep -i "live":检查设备映射器是否处于活动状态
udev 锁定修复示例
# 清理 stale udev db 并重载规则
udevadm control --reload-rules
udevadm trigger --subsystem-match=block
udevadm settle
该序列强制刷新设备状态缓存,避免内核与 udev 元数据不一致导致的磁盘假锁定。其中 settle 确保所有异步事件完成后再继续操作。

第三章:Guest OS层设备识别与分区映射

3.1 Linux内核SCSI热插拔机制与rescan-scsi-bus实践

Linux内核通过SCSI中间层实现设备动态发现与状态同步,依赖`sysfs`触发点与`scsi_scan_host()`核心流程完成LUN级重扫描。
核心扫描命令
# 手动触发主机适配器重扫描
echo "- - -" > /sys/class/scsi_host/host0/scan
# 或使用标准工具(需安装sg3-utils)
rescan-scsi-bus --luns --verbose
`--luns`强制探测所有LUN编号,`--verbose`输出设备识别路径;该工具本质调用`ioctl(SCSI_IOCTL_SCAN_HOST)`并解析`/proc/scsi/scsi`变化。
常见扫描模式对比
方式作用范围是否需root
echo "- - -"单host,全channel/target/lun
rescan-scsi-bus -i仅新增设备(增量)

3.2 fdisk/parted动态识别新容量与GPT/LVM物理边界校准

动态容量识别机制
扩容后需强制刷新内核设备映射,避免旧容量缓存干扰:
echo 1 > /sys/block/sdb/device/rescan
partprobe /dev/sdb
rescan 触发SCSI总线重发现, partprobe 通知内核重新解析分区表,二者缺一不可。
GPT头部校验与边界对齐
字段作用校验命令
Primary GPT Header记录LBA位置与分区表长度sgdisk -p /dev/sdb
Backup GPT Header末尾冗余备份,保障容错sgdisk -v /dev/sdb
LVM物理边界同步
  • pvresize --setphysicalextent 4M /dev/sdb1:显式重设PE大小以匹配新空间
  • vgck --updatemetadata <vg_name>:强制刷新VG元数据一致性

3.3 Windows Server中DiskPart在线扩展与存储空间感知修复

在线扩展卷的DiskPart关键流程
select volume C
extend filesystem
rescan
`extend filesystem` 直接调用NTFS驱动层扩展元数据,无需重启;`rescan` 强制刷新存储栈状态,确保SCSI/SAS/NVMe设备识别新容量。
存储空间感知修复机制
  • 自动检测ReFS卷的完整性校验失败
  • 触发后台空间重映射(Space Remapping)
  • 隔离坏块并更新SLAB分配位图
常见场景对比
场景是否需离线支持文件系统
NTFS卷扩展NTFS
ReFS元数据修复ReFS

第四章:LVM逻辑卷自动伸缩闭环实现

4.1 pvresize自动探测物理卷扩容与底层对齐验证

pvresize 在执行时会自动探测底层块设备大小变化,并校验物理扩展(PE)起始偏移是否满足扇区对齐要求。

自动探测机制
  • 读取 /sys/block/<device>/size 获取最新设备扇区数
  • 比对 LVM 元数据中记录的 PV 大小,触发重计算逻辑
  • 仅当新大小 ≥ 当前 PV 大小时才执行扩容
对齐验证示例
# 检查 PE 起始位置是否为 2048 扇区(1MiB 对齐)
pvs -o +pe_start /dev/sdb

输出中 PE Start 值必须是逻辑扇区大小(通常 512B)的整数倍,且推荐 ≥ 2048 扇区以避免性能损耗。

关键参数说明
参数作用
--setphysicalvolumesize强制设定 PV 总大小(跳过自动探测)
--yes非交互式确认,适用于脚本化调用

4.2 vgextend/vgdisplay协同判断卷组冗余空间可用性

基础空间评估流程
`vgdisplay` 提供卷组当前状态,而 `vgextend` 验证能否安全扩容。二者协同可精准识别物理扩展点是否真正可用。
典型诊断命令组合
# 查看卷组空闲PE及PV分布
vgdisplay -v myvg | grep -E "(Free|PV Name|Total PE|Free PE)"
# 尝试预检扩展(不实际执行)
vgextend --test /dev/myvg /dev/sdc1
`--test` 参数模拟扩展逻辑,校验PE对齐、元数据一致性及LVM元数据区剩余空间,避免误操作导致VG损坏。
关键参数含义
  • Total PE:卷组总物理扩展单元数
  • Free PE:未分配的PE数量,决定最大可扩展逻辑卷大小
空间可用性判定表
Free PEvgextend结果说明
>0成功存在冗余空间,可立即扩展
0失败(No space需先释放LV或添加新PV

4.3 lvextend+resize2fs/xfs_growfs原子化伸缩链路封装

核心封装原则
原子性要求:逻辑卷扩容与文件系统在线扩容必须构成不可分割的操作单元,任一环节失败需自动回滚。
典型封装脚本(ext4)
# 封装为单次调用的原子命令
lvextend -L +10G /dev/vg0/lv_data && \
  resize2fs /dev/vg0/lv_data || {
    echo "伸缩失败,触发回滚逻辑" >&2
    exit 1
  }
  1. -L +10G:以绝对增量方式扩展LV容量;
  2. &&确保前序成功才执行后续;
  3. 失败时退出并交由上层编排系统处理回滚。
文件系统适配对比
文件系统扩容命令是否支持在线
ext4resize2fs
XFSxfs_growfs /mount/point

4.4 基于udev规则与systemd服务的LVM扩容事件驱动自动化

事件触发机制设计
当新磁盘接入时,内核通过uevents通知udev;udev依据匹配规则执行脚本,触发LVM扩容流程。
核心udev规则
# /etc/udev/rules.d/99-lvm-autoexpand.rules
SUBSYSTEM=="block", ACTION=="add", ENV{ID_BUS}=="usb|ata", ENV{ID_PART_TABLE_TYPE}=="gpt|dos", \
  RUN+="/usr/local/bin/lvm-autoexpand.sh %p"
该规则捕获块设备添加事件,限定USB/ATA总线及主流分区表类型,并传入设备路径参数(%p)供后续脚本解析。
服务依赖关系
服务单元启动条件依赖项
lvm-autoexpand.serviceOneshot, RemainAfterExit=yesudev-settle.target
lvm-autoexpand.timerOnBootSec=30s

第五章:跨版本升级场景下的扩容风险收敛与最佳实践

在 Kubernetes 1.24 升级至 1.28 的生产集群中,某金融客户执行节点扩容时遭遇 DaemonSet Pod 启动失败——新版本移除了 dockershim,而遗留的 node-agent 镜像仍硬编码调用 `/var/run/docker.sock`。该问题暴露了跨版本扩容中隐性兼容性断层。
关键风险识别维度
  • API 版本弃用(如 `extensions/v1beta1` Ingress 已不可用)
  • 内置控制器行为变更(如 StatefulSet 的 `revisionHistoryLimit` 默认值从 10 降为 10 → 5)
  • CRD schema 验证严格化(v1.27+ 对 `x-kubernetes-preserve-unknown-fields: false` 的校验更激进)
安全扩容检查清单
  1. 运行 kubeadm upgrade plan 获取兼容性矩阵
  2. 使用 kubectl convert --output-version=apps/v1 批量重写旧版资源清单
  3. 在预发环境部署带 nodeSelector 的灰度节点池,隔离验证新版 kubelet 行为
自动化校验脚本示例
# 检查所有 DaemonSet 是否引用已废弃的 hostPath
kubectl get ds -A -o json | jq -r '.items[] | select(.spec.template.spec.volumes[].hostPath.path | startswith("/var/lib/kubelet/pki")) | "\(.metadata.namespace)/\(.metadata.name)"'
版本兼容性对照表
组件v1.24v1.28变更影响
Kube-proxyiptables 模式默认ipvs 模式默认需显式指定 --proxy-mode=iptables 保持会话一致性
CRI 运行时Docker Engine 支持仅支持 containerd v1.6+扩容节点前必须预装 containerd 并配置 /etc/containerd/config.toml
流量无损扩缩容流程
新节点加入 → 标记 unschedulable → 预加载镜像 → 注入 sidecar(如 Istio CNI)→ 开启 node.kubernetes.io/not-ready taint → 清除 taint → 移除 unschedulable
源码直接下载地址: https://pan.quark.cn/s/a4b39357ea24 过采样与欠采样构成了数字信号处理领域中两种基础的采样策略,它们在工程践应用时各自展现出独特的长处与短处及适用情境。以下将深入阐释这两种采样方法的运作机制,并对它们在作中的区别进行细致对比。 我们首先阐释过采样的核心概念。过采样(Oversampling)一般是指运用高于必要标准频率对模拟信号施采样。举例而言,当信号频率为70MHz且信号带宽为20MHz时,依据奈奎斯特采样准则,理论上采样频率只需略高于40MHz(即信号带宽频率的两倍)即可达成无失真采样。然而,在现作中,系统构造者常常会采用超过140MSPS(每秒百万次采样)的采样速率,这通常超出理论所需。过采样的主要不利之处涵盖:提升ADC输出数据速率,引发FPGA的时序挑战;增大功耗、ADC及FPGA的制造成本。尽管存在这些不足,过采样依然具备其有利之处,例如可提供处理增益、频率规划的伸缩性以及能够处理更宽的信号带宽。 接下来,我们探讨欠采样的基本原理。欠采样(Undersampling)是指以低于理论标准频率对信号进行采样,这在处理高输入信号频率时尤为有效。例如,针对70MHz的中频(IF)信号,通过欠采样能够采用低于40MHz的采样频率进行采样,从而将数据速率降至FPGA,减少时序挑战,节省能量消耗和成本。现欠采样的关键设计考量在于它能够在系统设计中达成所需的ADC动态性能。 欠采样的优势体现为能够简化硬件构造,比如降低对高速数据捕获的需求,并且在设计条件允许时,可选用较慢的ADC来削减成本。然而,欠采样技术也存在其局限性,例如在ADC的非理想表现可能导致非线性失真,诸如二阶(HD2)和三阶(HD3)谐...
源码链接: https://pan.quark.cn/s/3523d8c4b5d2 ### Qt5.9.1开发的应用程序转换为可安装`.exe`文件的详细流程 #### 一、概述 本资料将系统性地阐述如何将基于Qt5.9.1版本或其他Qt框架版本开发的应用程序转化为可直接安装的`.exe`安装文件。这一过程不仅适用于Qt5.9.1版本,对其他版本的Qt框架开发的应用同样适用。 #### 二、前期准备 在开展相关作前,需确保已达成以下准备要求: 1. **开发环境配置**: 利用Qt5.9.1或其他版本完成应用程序的开发工作,并保证能够顺利编译出可执行程序。 2. **NSIS安装**: NSIS(Nullsoft Scriptable Install System)作为一个开源的Windows安装系统,能够支持创建专业的安装程序。用户可从官方渠道或可靠来源获取最新版的NSIS并进行安装。 #### 三、制作可执行程序的流程 ##### 3.1 打包应用程序文件 需要将已开发好的Qt应用程序的所有组件和资源整合到一个文件夹中,例如命名为`Qt_Video`。确保该文件夹内包含所有必要的库文件和资源文件,以便应用程序能够独立运行。 ##### 3.2 压缩文件随后,将整个`Qt_Video`文件夹压缩成`.zip`格式的文件。这一骤可通过Windows内置的压缩工具或第三方软件完成。 ##### 3.3 创建安装文件接下来,借助NSIS将压缩文件转化为安装文件。具体作如下: 1. **启动NSIS**: 运行NSIS软件并进入其主界面。 2. **选择基于ZIP的安装模式**: 在主界面中选取“**Installer based on ZIP file**...
内容概要:本文介绍了一种结合单像素检测与数据融合技术的千亿体素级多维荧光成像方法,并提供了完整的Matlab代码现。该方法融合压缩感知理论与单像素成像原理,通过优化测量矩阵设计、重构算法及多维度数据融合策略,现了在大幅降低数据采集量的前提下,完成高分辨率、高通量的三维荧光成像,特别适用于大规模生物样本的快速、高效成像需求。文中系统阐述了成像系统的建模过程、关键算法的设计思路以及重建性能的优化路径,充分展现了其在超高体素规模下的成像能力与精确重构优势。; 适合人群:面向具备信号处理、光学成像或生物医学工程等相关专业背景的研究生、科研人员及工程技术开发者,尤其适合熟悉Matlab编程并致力于先进成像技术研究与算法复现的专业人士。; 使用场景及目标:①应用于大规模生物组织的三维荧光成像,显著提升成像效率与图像质量;②为单像素成像、压缩感知与多源数据融合等前沿技术提供可复现、可扩展的算法框架;③支撑高维医学影像重建、新型显微成像系统开发及相关科研与工程践。; 阅读建议:建议结合所提供的Matlab代码进行模块化分析,重点理解测量过程的数学建模与图像重构算法的现细节,宜在掌握基本理论的基础上开展仿真验与参数调优,以深入把握核心技术原理与工程现要点。
下载代码方式:https://pan.quark.cn/s/a4b39357ea24 Node.js 是一种开放源代码且能够在多种作系统上运行的 JavaScript 执行环境,它使得开发人员能够在服务器端执行 JavaScript 代码。Node.js 采用了 V8 引擎,该引擎是由 Google 为 Chrome 浏览器开发的一个高性能的 JavaScript 解释器。Node.js 的 16.x 版本在其发展历程中占据着重要位置,其中包含了众多新功能以及性能上的改进。标题 "Nodejs16-x64 windows安装包" 指向的是专为 Windows 作系统设计的 64 位版本的 Node.js 16 安装程序。在 Windows 平台上安装 Node.js 的 64 位版本对于处理大量数据或运行需要高性能的应用程序来说尤为关键,因为 64 位系统能够更有效地利用硬件资源。描述 "Nodejs-16 x64位windows 安装包" 明确了该安装程序是为 Windows 用户准备的,特别是对于那些需要运行 64 位应用程序的用户。x64 表明该版本兼容 64 位架构,意味着它能够充分利用 64 位计算机的内存和处理能力。标签 "Node Nodejs nodejs16" 提供了关于此安装包的核心信息,表明它与 Node.js 相关,并且具体指的是 v16 版本。这些标签有助于进行搜索和分类,从而方便用户找到他们所需要的特定版本。压缩包文件 "node-v16.18.0-x64.msi" 代表际的安装文件,其中 "v16.18.0" 指示了 Node.js 的具体版本号,"x64" 再次强调了其适用于 64 位系统,而 ".msi" 后缀表明这是一...
源码链接: https://pan.quark.cn/s/3af847fbbec7 在计算机科学与编程领域中,十六进制(Hexadecimal)以及二进制(Binary)是两种关键性的数值表示方法。十六进制属于一种基于16的计数系统,它运用0至9的数字以及字母A至F(分别象征10至15的数值)来呈现数值,与此同时,二进制则是一种基于2的计数系统,仅采用0和1两个符号。掌握这两种进制之间的相互转换对于深入理解计算机内部运作机制具有决定性意义,因为计算机在底层数据的存储与处理环节通常都是以二进制的形式来进行的。将十六进制转换成二进制的过程可以通过以下几个环节得以完成: 1. **单个十六进制符号的转换**:每一个十六进制符号对应着4位二进制序列。具体而言: - 十六进制中的`0`在二进制表达为`0000` - 十六进制中的`1`在二进制表达为`0001` - 十六进制中的`2`在二进制表达为`0010` - 依此类推 - 十六进制中的`9`在二进制表达为`1001` - 十六进制中的`A`或`a`在二进制表达为`1010` - 十六进制中的`B`或`b`在二进制表达为`1011` - 十六进制中的`C`或`c`在二进制表达为`1100` - 十六进制中的`D`或`d`在二进制表达为`1101` - 十六进制中的`E`或`e`在二进制表达为`1110` - 十六进制中的`F`或`f`在二进制表达为`1111` 2. **多位十六进制符号的转换**:针对一个由多个十六进制符号组成的数值,我们可以逐个符号进行转换,并将得到的二进制序列依次拼接。例如,十六进制数`3F`转换成二进制形式为`00111111`。 3. **编程现方法**:在编程践过程中,众多编程语言提...
下载代码方式:https://pan.quark.cn/s/a4b39357ea24 **Vue.js 框架全面解析** Vue.js 是一种轻量级且高性能的前端JavaScript框架,因其便捷性、适应性和可扩展性而备受开发者青睐。在“nodejs+vue”的在线购物平台中,Vue.js 主要承担构建用户界面的任务,并提供数据绑定、组件化、路由管理等关键功能。 1. **数据绑定**:Vue.js 的核心优势之一是双向数据绑定,它借助 `v-model` 指令将视图与数据模型建立联系,确保视图层的变动能即时同到数据模型,同时数据模型的变化也能时反映在视图上。在在线购物平台中,这一特性可用于商品列表的动态展示和购物车状态的即时调整。 2. **组件化**:Vue.js 提供了功能强大的组件体系,允许开发者将用户界面拆分为独立且可复用的模块。例如,在在线购物平台中,商品展示模块、购物车功能、支付流程等均可封装为组件,从而提升代码的复用性和可维护性。 3. **指令与过滤器**:Vue.js 中的指令如 `v-if`、`v-for` 和 `v-bind` 用于控制元素的渲染方式及行为,过滤器则能对数据进行格式化处理,例如货币显示、时间格式转换等。在在线购物平台中,这些功能有助于更有效地展示商品信息并优化用户交互体验。 4. **计算属性与侦听器**:计算属性能够监测多个数据源并输出计算结果,而侦听器则能在数据变动时执行指定作。在在线购物平台中,计算属性可用于自动计算购物车总金额,侦听器则可响应库存变动并时更新商品状态。 5. **Vue Router 路由管理**:在单页应用(SPA)环境中,Vue Router 是不可或缺的组件,它负责管理页面间的导航和...
打开链接下载源码: https://pan.quark.cn/s/a4b39357ea24 我的世界开发者中文指南 MCBBS关站致使大量教程失效,恳请各位读者协助指南联系相关作者及时迁移教程。 点击右上方的“Watch”按钮以时获取中文指南的更新情况,点击右上方“Star”按钮以支持中文指南的编撰。 欢迎各位在此提交各类我的世界开发相关教程、资料、文档、类库。 欢迎加入我的世界开发讨论Q群:345538010 发布定制或承接定制请加入我的世界定制交流Q群:1047988033 目录 提问的方法 常用网站与资源 Java基础 Forge模组 NeoForge模组 Bukkit/Spigot插件 Fabric模组 BungeeCord插件 Sponge插件 数据包 Java版启动器 基岩版服务端 基岩版Addons 基岩版模组 网易基岩版 着色器包 过时资源 版权声明 提问的方法 当你遇到使用搜索引擎、查阅相关文档、进行Debug(如果没有做过上述作的话,请立刻去做)也无法解决的问题的时候,你可能会向他人求助。 当你提问时,请确保你准确提供了以下信息: 准确描述你的需求和际问题情况。 准确描述你所在的平台的信息。 例如: - Java 版本 - 所用开发工具及其版本(如IntelliJ IDEA、Eclipse) - 所用自动化构建工具及其版本(如Maven、Gradle) - Minecraft 版本 - Bukkit/Spigot/Forge/Sponge/Fabric 任一所在平台及其版本 - 依赖的类库、模组或插件及其版本 提供你的源代码或SSCCE(最小化、完整、可验证的问题示例),将源代码包括项目描述文件完整上传至源码托管平台(如码云、)。 提供你的完整日...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值