
介质专栏
文章平均质量分 84
介质技术发展趋势
大隐隐于野
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PCI Express 5.0规范正式发布:带宽最高可达128GB/s
在可预见的未来,PCIe架构将继续引领市场成为高性能I/O的标准。PCIe 5.0将主要用于追求高吞吐量的高性能设备,如用于AI工作的GPU和网络应用,以及应用于密集型数据中心数据传输,PCIe 5.0还带来了其他功能 , 例如电气层面的改变提高了信号完整性,及向后兼容以前版本的PCIe。PCIe也从1992年发布的最初133Mbps的速度,已提升到了现在PCIe 3.0的8GT/s,PCIe 4.0翻倍到了16GT/s,而PCIe 5.0速度再次翻倍,速率达到32GT/s。原创 2025-04-24 10:48:43 · 655 阅读 · 0 评论 -
HOW TO EMULATE PERSISTENT MEMORY
Data allocated with PMDK is put to the virtual memory address space, and concrete ranges are relying on result of operation performed on the user defined files. Such files can exist on any storage media, however data consistency assurance embedded within原创 2025-02-20 19:53:32 · 758 阅读 · 0 评论 -
至强6搭配美光CZ122,证明CXL可以提高生成式AI的性能表现
最近发现了英特尔官网公布的一项最新测试报告,报告显示,将美光的CZ122 CXL内存模块放到英特尔至强6平台上,显著提升了HPC和AI工作负载的内存带宽,特别是在采用基于软件的交错配置(interleave configuration)时,性能优化潜力诱人。总之,CXL内存的引入使得系统能够有效地扩展内存带宽,解决了传统内存架构的带宽瓶颈,尤其是在大规模AI训练和高性能计算等应用中。DRAM的延迟较低,但是带宽部分其实不如CXL,在高负载场景下,DRAM的带宽瓶颈会导致性能迅速下降。原创 2025-01-07 18:21:39 · 952 阅读 · 0 评论 -
随着122 TB大容量SSD的推出,HDD硬盘更可能被SSD取代了
硬盘和SSD的功耗情况可参考Solidigm-Signal65的研究,该研究评估了使用122.88 TB QLC SSD、TLC SSD,以及TLC SSD与24 TB HDD混合部署,三种方式构建100 兆瓦AI数据中心的情况,总容量分别为1 PB、5 PB和10 PB。QLC硬盘不仅有更高的存储密度,同时提供了闪存的高性能,使其成为许多典型HDD环境的有吸引力的替代方案。看到这里,就能发现,一个用了122 TB SSD的40U机架,可以替代23个装满32 TB硬盘的机架,并提供54倍的读取带宽。原创 2025-01-07 17:49:48 · 526 阅读 · 0 评论 -
NAND写入量和主机写入量之间的区别与联系
举例:向一个block写入一个page的新数据时,一个block里已经没有空的page了,只有有效数据以及无效数据的page,所以主控就把新数据以及有效数据读到缓存形成一个新的block,再擦除原先的block,再把新block写回去。写入放大造成了SSD实际对NAND的写入量大于主机要求的写入量。当一个block里的page只有空、有效数据两种状态时,在写入数据的时候不需要进行擦除,trim就是通知SSD在空闲状态时,将无效数据擦除,以减少SSD在写入数据时需要进行的数据擦除工作。原创 2025-01-07 14:19:31 · 1373 阅读 · 0 评论 -
SSD扇区大小以及对ORACLE数据库影响总结
本文主要总结SSD扇区大小特点,以及对IO行为和ORACLE数据库的影响。理解不当之处,欢迎留言指出。原创 2024-11-26 10:50:52 · 1043 阅读 · 0 评论 -
block I/O层时延分析工具--blktrace
利用blkparse对blktrace采集的文件进行解析,其中-d 是输出二进制文件,方便btt分析,-o 是将blkparse解析的数据放入nvme_data中,可自行分析。首先对blktrace,blkparse ,btt做个简单的介绍,blktrace负责采集,blkparse负责对采集的数据进行解析,而btt能够协助分析统计。blkparse解析出来的数据依旧是很难直接进行分析的,btt是对这些数据做一个总结。在对ssd性能调优过程中,有使用到blktrace,本文对blktrace做一个记录。原创 2024-11-14 13:35:19 · 1347 阅读 · 0 评论 -
CPU性能对比 Intel 海光 鲲鹏920 飞腾2500
对比硬件:ARM:泰山ARM 双路 128核心64核心/路),2.5G,4指令/周期,8个内存通道/路,mips体系架构。X86: intel 8163服务器 双路 48核心(24核心/路),2.5GHZ, 6指令/周期,96smt, 6个内存通道用 Geabase(C++) 测试所得 ARM是X86 性能的1.36倍,接近理论值的1.4倍理论值的计算公式:CPU性能验证公式:频率 x 核数 x 发射数/周期 x 1.3/1.5(smt2/smt4) (smt是指超线程数量)原创 2024-09-03 10:24:02 · 10838 阅读 · 0 评论 -
PBlaze5 920 系列 NVMe SSD——可变 Sector Size 管理
(本文中提到的元数据主要指端到端数据保护的PI信息。在这条命令中,-s指明了数据起始的LBA,-z是数据量,-y为元数据大小。在现实应用中,存储阵列在端到端数据保护领域有长期的积累,其对数据可靠性要求级别非常高,因此是NVMe SSD端到端数据保护的一个重要应用方向,此外PBlaze5 系列的双端口等功能同样为打造高可靠、高可用闪存阵列提供了有力支持。在选项里,与端到端保护相关的是-l(指定format的格式)、--p(指定pi格式)、--p(指定PI在元数据中的位置)、--m(1为DIF,0为DIX)。原创 2024-05-24 19:49:58 · 1315 阅读 · 0 评论 -
分区4K对齐那些事,你想知道的都在这里
简单的理解,分区就是指从磁盘上划分出来的一大片连续的扇区。以DiskGenius软件为例,建立新分区时,在“建立新分区”对话框中勾选“对齐到下列扇区数的整数倍”,然后选择需要对齐的扇区数目,点“确定”后建立的分区就是对齐的了。通过前述图示的两个例子可以看到,只要将分区的起始位置对齐到物理扇区的边缘,格式化程序就会将每个簇也对齐到物理扇区的边缘,这样就实现了分区的对齐。如下图所示,分区从4号扇区开始,刚好对齐到了物理扇区1的边缘,格式化后,每个簇同样占用了4个扇区,而且这些簇都对齐到了物理扇区的边缘。原创 2024-05-24 17:29:40 · 1090 阅读 · 1 评论 -
spdk技术原理简介和实践经验
1、SPDK的整体架构存储协议层:SPDK支持的存储应用类型。NVMe-oF target实现了NVMe-oF规范,对外提供基于NVMe协议的存储服务端,支持RDMA和TCP网络;iSCSI Target对外提供基于SCSI协议的存储服务端;vhost-scsi或vhost-blk对qemu提供后端存储服务,qemu可以基于SPDK提供的后端存储为虚拟机挂载virtio-scsi或virtio-blk磁盘。存储服务层。原创 2024-01-31 14:38:23 · 2044 阅读 · 0 评论 -
首款PCIe 5.0 SSD面世,速度大幅提升
这应该会加快以这种方式设计的游戏的加载时间,但不幸的是,我们还没有看到足够的示例。1TB 和 2TB 型号的读写速度可能存在差异,但三星 980 Pro 的 2TB 版本仅将顺序写入速度提高到 5100MBps,而 1TB 的顺序写入速度为 5000MBps,这实际上差不多。现在,终于看到有新的 PC 游戏最低规格限制为 SSD,《星空》(Starfield)需要 SSD 存储,而 CD Projekt Red 的《赛博朋克 2077》的最低规格需要 SSD,并计划逐步淘汰机械硬盘 (HDD) 支持。原创 2024-01-16 15:15:54 · 691 阅读 · 0 评论 -
NVMe-oF 1.1规范:多路径、非对称命名空间和NVMe/TCP
上图是一个双控制器/双端口的NVM子系统示例,在EMC DSSD之后,使用PCIe直连服务器和存储阵列的应用估计寥寥无几,所以该子系统基本上代表了双端口NVMe SSD 和JBOF机箱的设计。最后是前面留下的那个问题,NVMe规范对SSD的管理粒度只到NameSpace,而大多数对等节点的分布式存储/超融合都需要将底层磁盘(闪存)空间打散成更小粒度的数据块,这时就需要底层有个文件系统或者类似的对象组织结构,读写时产生的跨节点数据操作一般应该是通过私有协议来实现。原创 2024-01-12 15:37:04 · 1527 阅读 · 0 评论 -
NVMe-oF RDMA vs. TCP延时测试对比:端到端SPDK的意义
可以看出,使用Linux内核的NVMe-oF Initiator和Target测试,延时在16-18µs之间;》的新闻,该测试环境是2台服务器,每台各安装2块NVIDIA Bluefield-2 DPU,形成4条100GbE以太网直连,两端分别跑NVMe-oF Target(存储目标)和Initiator(主机端)。另一点值得注意:在NVIDIA新闻的测试平台介绍中,并没有提到用的什么持久化数据盘,也就是说该测试应该是用DRAM内存模拟块设备来跑网卡的极限性能,没有提到随机访问那就是顺序IO了。原创 2024-01-12 15:28:59 · 1797 阅读 · 0 评论 -
SPDK Performance Reports
SPDK: Performance Reportshttps://spdk.io/doc/performance_reports.html原创 2024-01-12 14:25:25 · 423 阅读 · 0 评论 -
SPDK中常用的性能测试工具
本文主要介绍磁盘性能评估的方法,针对用户态驱动Kernel与SPDK中各种IO测试工具的使用方法做出总结。其中fio是一个常用的IO测试工具,可以运行在Linux、Windows等多种系统之上,可以用来测试本地磁盘、网络存储等的性能。为了和SPDK的fio工具相区别,我们称之为内核fio。SPDK有自己的IO测试工具,包括fio_plugin,perf和bdevperf。SPDK采用异步I/O(Asynchronous I/O)加轮询(Polling)的工作模式,通常与Kernel的异步I/O作为对比。原创 2024-01-12 14:07:22 · 2020 阅读 · 1 评论 -
下一代ZNS?浅谈FDP在企业级SSD应用前景
ZNS对于存储系统或者云系统,在系统侧可控制IO在SSD内的具体写入位置,通过系统侧的主动垃圾回收(Garbage Collection,简称GC),将SSD内的GC削减到0。另一方面,由于SSD内基本不需要GC,可以减少SSD内的冗余空间(Over-Provisioning,简称OP),使OP基本减到零,对于SSD内部管理表项也带来简化,从而削减企业级SSD的DRAM。这样的问题是,系统应用需要知道SSD上的NAND具体操作方式和物理拓扑,NAND代次演进和厂家差异,系统应用也需要进行适配。转载 2024-01-12 11:25:28 · 1027 阅读 · 0 评论 -
JBOD详解
RAID模式除了RAID 0和RAID 1,还有RAID 2,RAID3,RAID 4,RAID 5,RAID 6,RAID 7,RAID 8,RAID 01,RAID 10等。由于篇幅所限,这里不做介绍,有兴趣可自行了解。单块数据盘可以做RAID0,只是没有任何增益效果,唯一作用是能让RAID卡识别硬盘。组成RAID 0的磁盘改变为无RAID的模式或无RAID模式的磁盘改变为RAID 0的模式时,系统需要对相应的磁盘重新分区,原硬盘里的所有数据将全部丢失。原创 2024-01-11 17:10:18 · 4651 阅读 · 0 评论 -
NVMe 2.0 Specifications Infographic
1、Zoned Namespaces(ZNS)2、Key Value Storage(KV)3、Endurance Group Management4、Rotational Media Support原创 2024-01-11 15:02:03 · 552 阅读 · 0 评论 -
SPDK As IPU Firmware
不过,在一些设计中,此时执行DMA的是NIC,而不是NVMe设备。假设IPU本身运行着Linux并且包含三个独立的PCI设备 - 一个是将NVMe设备呈现给主机系统的设备(我们称之为NVMe Endpoint),一个可以在主机和IPU的内存上执行复制和加密的设备(我们称之为DMA引擎),以及一张网卡。对于上述场景,在本地IPU内存中分配了三个缓冲区 - 一个作为从主机做数据复制的目的地址和加密的源地址,一个作为加密的目的地址和DIF INSERT源地址,另一个用于DIF INSERT的目的地址。原创 2024-01-11 09:32:50 · 861 阅读 · 0 评论 -
【SPDK】【NoF】使用SPDK部署NVMe over TCP
SPDK NVMe over Fabrics Target是一个用户空间应用程序,通过以太网,Infiniband或光纤通道等结构呈现块设备,SPDK目前支持RDMA和TCP传输。本文将在已经编译好SPDK的基础上演示如何使用SPDK搭建NVMe over TCP,前提是您已经将一块NVMe硬盘挂载到linux系统中。演示过程的Host主机的ip地址是192.168.0.21,Target主机的ip地址是192.168.0.22。# 将NVMe块设备分配给刚刚创建的子系统。将NVMe块设备分配给子系统。原创 2024-01-09 09:39:00 · 1337 阅读 · 0 评论 -
NVME CMB原理和常规使用方案详解
在NVMe Express 1.2 Spec中开始支持一个特性,那就是CMB(Controller Memory Buffer),是指SSD控制器内部的读写存储缓冲区,与HMB(Host Memory Buffer)的不同处在于所使用的内存地址位于控制器自己的内存中,而不是位于主机内存中,但它们使用队列的方式都是一样的。原创 2023-10-31 17:40:15 · 1985 阅读 · 0 评论 -
最新SSD固态硬盘颗粒QLC、SLC、MLC、TLC详解
目录一、剖析SSD二、什么是NAND闪存三、单层单元(Single Level Cell,简称SLC)四、多层单元(Multi Level Cell,简称MLC)五、三层单元(Triple Level Cell,简称TLC)六、四层单元(Quad-level cells,简称QLC)七、总结八、四种闪存类型的固态硬盘价格。原创 2023-08-17 11:21:17 · 14143 阅读 · 0 评论 -
SSD写放大优化策略汇总
这个提案具体细节还没公布。从NVMe协议Spec 1.3开始新增的特性,Multi-stream write(多流写)技术可以使SSD根据主机端提供的Stream ID,将具有相同或相似生命周期的数据写入到相同的擦除单元中去,大大提高了GC时的效率,减少了写放大,使得SSD的性能和寿命都有了较大的提升。TRIM是SSD的一个特性,目的是让固态硬盘SSD在进行内部GC垃圾回收的时候,避免搬迁已经被OS删除的数据,减少无用的数据的搬迁从而降低写放大,提升SSD固态硬盘的寿命,同时也可以提升盘的有效带宽。原创 2023-09-07 23:24:30 · 1494 阅读 · 0 评论 -
NVMe-oF E-JBOF设计解析:WD RapidFlex网卡、OpenFlex Data24
其实我理解NVRAM盘只是为了保障数据的持久化(估计是一个副本),真正的处理还是要放在DRAM主内存中才能高效。所谓“6-way无阻塞内存子系统”,其实RapidFlex A1000 ASIC是无需DRAM内存工作的,它的工作其实很单一——就是那个“MPU”实现NVMe(连接SSD)到NVMe-oF(over RDMA)之间的转换。这颗芯片的型号是WDRapidFlex A1000 NVMe-oF ASIC,对应的板卡为RapidFlex C1000 NVMe-oF Adapter,不难看出是用来干啥的。原创 2023-11-24 16:08:17 · 1422 阅读 · 0 评论 -
内存DMA及设备内存控制详解
本文结合计算机系统的架构,我们从内存访问的角度,介绍了各种地址空间(虚拟、物理、总线)的概念。以及物理内存和设备内存访问三个方向(CPU->DRAM, CPU -> Device Memory, Device DMA -> DRAM)。最后介绍了DMA 映射编程常用的方法,如果觉得不过瘾,建议继续研究作者参考的内核 Document。原创 2023-10-31 17:55:56 · 3242 阅读 · 1 评论 -
NVMe 协议之Multi-Streams和Directives
在SSD的应用场景中,可能有多个不同的应用在对SSD进行写操作,包括热数据和冷数据,包括随机写数据和顺序写数据,包括大块写数据和小块写数据,如果把这些数据都混在同一个NAND块里面,显然不利于垃圾回收处理,一个很自然的想法是把这些数据进行分类。NVMe 2.0只支持两种Directive Type即00h Identify和01h Streams,在使用Streams特性前,需要先通过Identify Directives使能Streams,其中00h Identify是默认必须支持的。原创 2023-09-11 10:16:51 · 1177 阅读 · 0 评论 -
【SPDK】SPDK用户态块层详解
另外,在考虑设计用户态通用块层的时候,也要考虑它的可扩展性,比如是否能很容易地扩展来支持新的硬件设备,这个通用块层的设计是不是高性能的,是否用户态通用块层的时候,也要考虑它的可扩展性,比如是否能很容易地扩展来支持新的硬件设备,这个通用块层的设计是不是高性能的,是否可以最小限度地带来软件上的开销,以充分发挥后端设备的高性能。另外需要提到的是,SPDK的I/O的操作是单核运行直到完成的模式,I/O从哪个I/O Channel或者哪个I/O线程接收到,最终还是需要从同一个线程回调上层模块的。原创 2023-11-07 17:10:05 · 1074 阅读 · 0 评论 -
SPDK NVMe-oF target多路功能介绍
客户端机器可以通过两个IP地址同时连接SPDK NVMe-oF target子系统。NVMe-oF host端使用192.168.11.0/24和192.168.12.0/24连接到SPDK NVMe-oF target的同一个subsystem。SPDK NVMe-oF target 的multi-path功能提供的是namespace的sharing功能。SPDK NVMe-oF target multi-path是基于NVMe协议的multi-path IO和namespace sharing功能。原创 2023-11-20 16:40:37 · 521 阅读 · 0 评论 -
NVMe 2.0 Capacity Management 模型
SSD内部所有的NVM Set由NVM Set List数据结构表示(没有NVM Set Configuration描述符),可以通过Identify命令获取(CNS 04h),每一个NVM Set entry内容包括NVM Set Identifier,所属Endurance Group Identifier,最优写NVM容量,总共NVM容量,没有分配的NVM容量等。可以不支持NVM Set,但如果支持NVM Set,就一定支持Endurance Group。NVMe 2.0的容量模型。原创 2023-09-11 09:56:16 · 575 阅读 · 0 评论 -
【SPDK】【NoF】使用SPDK lib搭建自己的NVMe-oF Target应用
本文通过对nvmf example的剖析,像大家展示了如何使用SPDK lib创建自己的nvmf target应用,希望既能让大家更容易去理解SPDK 的框架也能更清楚如何去使用SPDK lib。原创 2023-11-20 16:37:59 · 574 阅读 · 0 评论 -
新一代存储介质技术SCM探讨
SCM介质以其独特的设计原理,极大的弥补了IO设备与内存设备之间的时延鸿沟,同时使内存具备了持久化功能,必将对现有计算机体系结构以及应用方式产生很大影响,在未来很长一段时间会持续成为计算机体系创新的热点,华为也会持续关注SCM的产业化进程,利用这种新的技术,为客户提供创新性的存储产品。**元数据缓存:**作为AFA产品(全闪存阵列)的元数据缓存,配合DRAM,形成内存+SCM SSD的两级缓存机制,突破内存容量瓶颈,在保持性能稳定的情况下支持更大的用户容量;SCM介质产品形态和在存储系统中的应用。原创 2023-11-06 11:16:09 · 1038 阅读 · 0 评论 -
NVME存储介质区别分析
且相较于SLC,MLC的读写速度、质量、精确度都次于SLC,成本也要远高于除SLC以外的其他颗粒,价格昂贵,目前多用于工业存储中,不过随着技术和消费水平的提升也有一些品牌会使用MLC到消费类产品上。SLC的擦写寿命是5种颗粒中最长的,能够达到约10万次。一个萝卜一个坑的存储容量,这也意味着采用SLC颗粒的SSD容量注定不会太大,但除了这个“缺憾”之外,SLC的其他方面则要更加优于其他类型的闪存颗粒。到此可以看出这五种闪存颗粒每单元可存储的信息是层层递进的,都是在上一个的基础上+1bit信息,容量越来越大。原创 2023-11-01 08:49:51 · 486 阅读 · 0 评论 -
利用SPDK改善NVMe存储I/O性能
向后通过对块设备的抽象可以适配各类型的存储设备。为了减少存储产品面临的传统共性问题,如频繁的系统调用和上下文切换、多次的数据拷贝、过高的协议栈开销、复杂的并发互斥等痛点问题,在用户态化实现的过程中,引入了 Intel 的 DPDK/SPDK作为关键基础技术来进行集成和开发。当前的实现中,一方面,增加了对请求所属的监听是否当前 subsystem 所允许的合法性判断,同时也对同一个主机,通过同一个 port(主机侧的 port 和 Target 侧的监听均一样)来进行重复建链(建立控制链接)的情况的限制。原创 2023-11-07 20:08:09 · 906 阅读 · 0 评论 -
第5代PCIe技术PCIe 5.0详解
尽管 PCIe 4.0 的最终版本是在几年前的 2017 年 6 月完成的,但必备的第 4 代组件的商业化一直持续到 PCIe 5.0 发布日期之后。由于 PCIe 已集成到当今使用的几乎所有类型的计算系统中,PCI Express 5.0 的共生客户和供应链基础设施包括电子、计算、数据存储和电子商务行业中的许多世界上最大的公司。新的 PCI Express 5.0 规范中描述的替代协议也需要全面的测试支持,因为这种改进的多功能性现在允许其他协议利用成熟的 PCIe 物理层堆栈。原创 2023-11-28 10:24:44 · 11973 阅读 · 0 评论 -
Linux IO模式之io_uring
作为科普性质的文章,在介绍 io_uring 之前,我们可以先整体看一下 linux 的 IO 模型大体有哪些类型。图 1.1从图 1.1 中可以看出,linux 的 IO 主要可以分为两个大类,而我们今天要介绍的 io_uring 就属于其中的 kernel IO 模型中的 async IO 模式的一种。原创 2023-12-18 17:03:53 · 1802 阅读 · 0 评论 -
Linux I/O神器之io_uring
主要通过用户态与内核态共享内存的途径,来摒弃使用系统调用来提交 I/O 操作和获取 I/O 操作的结果,从而避免了上下文切换的情况。另外,由于用户态进程与内核态线程通过共享内存的方式通信,从而避免了内存拷贝的过程,提升了 I/O 操作的性能。中获取一个空闲的项,然后向此项填充数据(如 I/O 操作码、要进行 I/O 操作的文件句柄等),然后将此项在。通过用户态与内核态共享内存的方式,来免去了使用系统调用发起 I/O 操作的过程。结构的环形队列中获取到要进行的 I/O 操作,并且发起 I/O 请求。原创 2023-12-18 17:15:54 · 1116 阅读 · 0 评论 -
存储底层SPDK与io_uring IO机制对比
这里体现的是SPDK用户态驱动的Scale Up的能力,当CPU Core的处理没有达到上限的时候,整体的IOPS会随着NVMe SSD数量的增加而线性增加。如果我们不考虑CPU Core的使用和限制,从打满单个NVMe SSD角度看,即使在libaio异步处理的情况下,同样可以占用多个CPU Core,分配多个FIO jobs,设置比较高的队列深度,比如常规的 4 jobs * 64队列深度/job,也通常可以把单个NVMe SSD打满。图5:单CPU Core,io_uring与SPDK对比。原创 2023-12-20 13:53:37 · 1524 阅读 · 0 评论 -
可实现RSSD云硬盘120万IOPS的SPDK IO路径优化
假设在virtio vring的available ring中有6个IO,索引号为1,2,3,4,5,6,SPDK按顺序的依次得到这个几个IO,并同时下发给设备处理,但实际可能请求1和4已经完成,并返回了成功了,如下图所示,而2,3,5,6都还没有完成。IO uring是内核中比较新的技术,在上游内核5.1以上才合入,该技术主要是通过用户态和内核态共享内存的方式来优化现有的aio系列系统调用,使得提交IO不需要每次都进行系统调用,这样减少了系统调用的开销,从而提供了更高的性能。原创 2023-12-20 15:17:05 · 1031 阅读 · 0 评论 -
【SPDK】【NoF】使用SPDK实现NVMe over Fabrics Target
本文使用两台PC,一台做NVMe over Fabrics Target(服务端),一台做NVMe over Fabrics initiator(客户端)。首先使用SoftRoCE来实现底层的rdma传输,然后使用SPDK来实现NVMe over Fabrics Target。服务端和客户端都要load softRoCE的kernel模块:rdma_rxe。setup会把nvme盘的驱动由nvme改为uio_pci_generic。服务端和客户端都是:CentOS-7-x86_64-DVD-1810。原创 2024-01-09 09:06:14 · 1747 阅读 · 0 评论