CN113448644B - 操作系统ring3模式OC硬盘配置方法、装置、终端及存储介质 - Google Patents
操作系统ring3模式OC硬盘配置方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN113448644B CN113448644B CN202110692850.2A CN202110692850A CN113448644B CN 113448644 B CN113448644 B CN 113448644B CN 202110692850 A CN202110692850 A CN 202110692850A CN 113448644 B CN113448644 B CN 113448644B
- Authority
- CN
- China
- Prior art keywords
- hard disk
- disk
- ring3
- mode
- ring0
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 208000032826 Ring chromosome 3 syndrome Diseases 0.000 title claims abstract description 82
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000009434 installation Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 26
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000011022 operating instruction Methods 0.000 description 2
- 238000011112 process operation Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44594—Unloading
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开一种操作系统ring3模式OC硬盘配置方法、装置、终端及存储介质,首先卸载ring0驱动,使操作系统位于ring3模式,然后在ring3模式下创建设备块目标,编译OC硬盘配置文件,生成盘符,最后查询盘符信息直到可成功查询到盘符信息,完成OC硬盘在ring3模式下的部署。OC硬盘运行于ring3模式下,降低了CPU访问内存的权限,CPU可访问的内存数据有限,从而避免CPU访问过多资源,提高利用率,避免物理资源使用过多导致OC硬盘性能问题,从而保证OC硬盘在工作过程中的稳定性和可靠性,提高产品质量。
Description
技术领域
本发明涉及OC硬盘配置领域,具体涉及一种操作系统ring3模式OC硬盘配置方法、装置、终端及存储介质。
背景技术
对于任何一个操作系统来说,创建一个应用进程是核心功能。创建进程要做很多工作,会消耗很多物理资源。而这些工作得由特定的进程去做,所以就有了特权级别的概念。当一个进程在执行用户自己的代码时处于ring3模式,此时特权级最低,为3级,是普通的用户进程运行的特权级,大部分用户直接面对的程序都是运行在这种用户态。 而OC硬盘(即OCSSD,open channel SSD,开放通道固态硬盘)的访问及读写都在ring0模式(特权级最高),依赖于操作系统内部程序指令。OC硬盘位于ring0模式下,CPU访问内存的左右数据,占有过多资源,导致OC硬盘在工作过程中不够稳定和可靠,影响产品质量,目前缺乏OC硬盘在特权级别ring3模式下的应用。
发明内容
为解决上述问题,本发明提供一种操作系统ring3模式OC硬盘配置方法、装置、终端及存储介质,针对性的对OC硬盘进行操作系统ring3模式部署及环境配置,避免CPU访问过多内存资源,提高OC硬盘在工作过程中的稳定性和可靠性。
第一方面,本发明提供一种操作系统ring3模式OC硬盘配置方法,包括以下步骤:
S1,卸载ring0驱动,使操作系统位于ring3模式;
S2,创建设备块目标;
S3,基于设备块目标编译OC硬盘配置文件,生成盘符;
S4,查询盘符信息,若未成功查询到盘符信息,则重复执行上述步骤S1-S3直到成功查询到盘符信息。
进一步地,步骤S1中卸载ring0驱动,具体为:
使用spdk工具编译生成安装卸载脚本;
执行安装卸载脚本卸载掉ring0驱动。
进一步地,步骤S2创建设备块目标,具体为:
查找OC硬盘总线地址;
基于OC硬盘总线地址创建一个一定容量的磁盘。
进一步地,步骤S1卸载ring0驱动之前,还包括以下步骤:
S0,关闭OC硬盘的虚拟主机服务;
步骤S3中基于设备块目标编译OC硬盘配置文件前,还执行以下步骤:
重新拉起OC硬盘的虚拟机主机服务;
步骤S4中查询盘符信息前还执行以下步骤:
重新启动OC硬盘的虚拟主机服务。
第二方面,本发明的技术方案还提供一种操作系统ring3模式OC硬盘配置装置,包括,
ring0驱动卸载模块:卸载ring0驱动,使操作系统位于ring3模式;
设备块目标创建模块:创建设备块目标;
配置文件编译模块:基于设备块目标编译OC硬盘配置文件,生成盘符;
盘符信息查询模块:查询盘符信息,若未成功查询到盘符信息,则重复执行上述功能模块直到成功查询到盘符信息。
进一步地,ring0驱动卸载模块卸载ring0驱动,具体为:
使用spdk工具编译生成安装卸载脚本;
执行安装卸载脚本卸载掉ring0驱动。
进一步地,设备块目标创建模块创建设备块目标,具体为:
查找OC硬盘总线地址;
基于OC硬盘总线地址创建一个一定容量的磁盘。
进一步地,该装置还包括,
虚拟主机服务关闭模块:闭OC硬盘的虚拟主机服务;
配置文件编译模块基于设备块目标编译OC硬盘配置文件前,还执行以下功能:
重新拉起OC硬盘的虚拟机主机服务;
盘符信息查询模块查询盘符信息前还执行以下功能:
重新启动OC硬盘的虚拟主机服务。
第三方面,本发明的技术方案提供一种终端,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行上述任一项所述的方法。
第四方面,本发明的技术方案提供一种存储有计算机程序的计算机可读存储介质,该程序被处理器执行时实现如上述任一项所述的方法。
本发明提供的一种操作系统ring3模式OC硬盘配置方法、装置、终端及存储介质,相对于现有技术,具有以下有益效果:首先卸载ring0驱动,使操作系统位于ring3模式,然后在ring3模式下创建设备块目标,编译OC硬盘配置文件,生成盘符,最后查询盘符信息直到可成功查询到盘符信息,完成OC硬盘在ring3模式下的部署。OC硬盘运行于ring3模式下,降低了CPU访问内存的权限,CPU可访问的内存数据有限,从而避免CPU访问过多资源,提高利用率,避免物理资源使用过多导致OC硬盘性能问题,从而保证OC硬盘在工作过程中的稳定性和可靠性,提高产品质量。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1本发明具体实施例一提供的一种操作系统ring3模式OC硬盘配置方法流程示意图;
图2是本发明具体实施例二提供的一种操作系统ring3模式OC硬盘配置方法流程示意图;
图3是本发明具体实施例四提供的一种操作系统ring3模式OC硬盘配置装置的结构示意框图;
图4是本发明具体实施例五提供的一种操作系统ring3模式OC硬盘配置装置的结构示意框图;
图5为本发明实施例六提供的一种终端的结构示意图。
具体实施方式
以下对本发明涉及的部分英文术语进行解释。
OC硬盘:即OCSSD,open channel SSD,开放通道固态硬盘。
vhost服务:虚拟主机服务。
aocblk target:设备目标块。
syslog-ng服务:由Balabit IT Security Ltd.维护的一套开源的Unix和类Unix系统的日志服务套件。它是一个灵活的、可伸缩的系统日志记录程序。对于服务器日志集中收集,使用它是一个不错的解决方案。
spdk工具:Storage Performance Development Kit,简称spdk,是一款专注于存储的用户态开源软件,加速磁盘的读写是它的一个特点之一。
idema协议:国际磁盘驱动器设备与材料协会协议。
本发明提供的一种操作系统ring3模式OC硬盘配置方法、装置、终端及存储介质,其核心是对OC硬盘进行ring3模式部署及环境适配,通过卸载ring0驱动使操作系统位于ring3模式下,再创建设备块目标,编译OC硬盘配置文件,生成盘符,完成OC硬盘在ring3模式下的配置。OC硬盘在ring3模式下运行,降低CPU访问内存的权限,使CPU访问有限的内存数据,避免过多占用资源,提高OC硬盘的稳定性和可靠性。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
当一个进程在执行用户自己的代码时处于ring3模式,此时特权级最低,为3级,是普通的用户进程运行的特权级,大部分用户直接面对的程序都是运行在这种用户态。而OC硬盘的访问及读写都在ring0模式(特权级最高),依赖于操作系统内部程序指令。
OC硬盘运行于ring0模式下,CPU访问内存所有数据,这占用过多的资源,导致OC硬盘在工作过程中不够稳定和可靠,对于某些对OC硬盘性能要求较高的应用场景(如硬盘读写测试等),不能满足性能要求。因此,本实施例一提供一种操作系统ring3模式OC硬盘配置方法,针对性的对OC硬盘进行ring3模式下的部署及环境配置,使OC硬盘运行于ring3模式下,降低CPU权限,减少CPU可访问的内存数据,避免CPU占用过多资源,从而提高OC硬盘的稳定性和可靠性。
如图1所示,本实施例一提供的一种操作系统ring3模式OC硬盘配置方法,包括以下步骤:
S101,卸载ring0驱动,使操作系统位于ring3模式;
S102,创建设备块目标;
S103,基于设备块目标编译OC硬盘配置文件,生成盘符;
S104,查询盘符信息,若未成功查询到盘符信息,则重复执行上述步骤S101-S103直到成功查询到盘符信息。
本实施例一提供的一种操作系统ring3模式OC硬盘配置方法,首先卸载ring0驱动,使操作系统位于ring3模式,然后在ring3模式下创建设备块目标,编译OC硬盘配置文件,生成盘符,最后查询盘符信息直到可成功查询到盘符信息,完成OC硬盘在ring3模式下的部署。OC硬盘运行于ring3模式下,降低了CPU访问内存的权限,CPU可访问的内存数据有限,从而避免CPU访问过多资源,提高利用率,避免物理资源使用过多导致OC硬盘性能问题,从而保证OC硬盘在工作过程中的稳定性和可靠性,提高产品质量。
实施例二
本实施例二结合实施例一的方法,基于本发明原理,对本发明的技术方案做进一步详细介绍。
首先需要说明的是,考虑到卸载ring0驱动和创建磁盘容量能正常执行,本实施例二提供的一种操作系统ring3模式OC硬盘配置方法,在执行卸载ring0驱动之前关闭OC硬盘的虚拟主机服务,之后再重新拉起和启动,以编译OC硬盘的配置文件和查询盘符信息,可确保卸载ring0驱动和创建磁盘容量正常,且可正常编译OC硬盘的配置文件和查询盘符信息。
如图2所示,本实施例二提供的一种操作系统ring3模式OC硬盘配置方法,包括以下步骤。
S201,关闭OC硬盘的虚拟主机服务。
具体实施例时,本方法可依赖python3进行编译驱动程序,为实现OC硬盘虚拟主机服务的关闭,本实施例使用python3编译工具安装厂商提供驱动工具,通过驱动工具执行相关命令关闭OC硬盘的虚拟机主机。
另外,考虑到某些OC硬盘可能未开启虚拟主机服务,在执行关闭前,可先查看虚拟主机的状态。
具体地,通过systemctl status ocssd-vhost-start.service指令查看虚拟主机服务状态,若是激活状态则使用systemctl stop ocssd-vhost-start.service指令关闭虚拟主机服务,确保卸载ring0驱动和创建磁盘容量时正常。
S202,卸载ring0驱动,使操作系统位于ring3模式。
本实施例通过spdk工具卸载ring0驱动,由spdk工具编译生成安装卸载脚本(setup.sh的脚本),执行安装卸载脚本以卸载掉ring0驱动,具体包括以下步骤:
步骤一、使用spdk工具编译生成安装卸载脚本;
步骤二、执行安装卸载脚本卸载掉ring0驱动。
其中,使用NRHUGE=18000 setup.sh命令执行安装卸载脚本,安装卸载脚本执行以下命令实现ring0驱动的卸载:
cd spdk&&git submodule update –init
./configure –with-fio=fio-tools/fio
S203,创建设备块目标。
创建设备块目标即创建一个一定容量的磁盘,创建磁盘首先需要知道OC硬盘的总线地址,因此首先运行指令找到OC硬盘的总线地址,然后基于OC硬盘的总线地址,执行指令创建一个一定容量的磁盘。
具体地,创建设备块目标包括以下步骤:
步骤一、查找OC硬盘总线地址;
步骤二、基于OC硬盘总线地址创建一个一定容量的磁盘。
步骤一通过执行lspci|grep –i xx命令查找OC硬盘总线地址。步骤二所创建磁盘应符合idema协议,如所创建磁盘容量为3840G,步骤二所执行命令为aocreate lnvmcreate 0000:BUS ID -c 3840GB –f,可实现磁盘的创建。
S204,重新拉起虚拟主机服务,基于设备块目标编译OC硬盘配置文件,生成盘符。
在卸载ring0驱动和创建磁盘时,为保证卸载ring0驱动和创建磁盘正常进行,已将OC硬盘的虚拟主机关闭,而为编译OC硬盘配置文件,生成盘符,应将虚拟主机服务重新拉起。
具体地,本步骤重新拉起虚拟主机服务,基于设备块目标编译OC硬盘配置文件,生成盘符,包括以下步骤:
步骤一,执行sudo rm -f /var/tmp/vhost*删除vhost*文件;
步骤二,创建 /var/spdk/ocssd.conf文件,lspci查询盘BUS ID,按照如下格式编译 ocssd.conf文件,编译后自动生成盘符:
sudo echo "[VhostBlk0]">>ocssd.conf
sudo echo "Socket /var/tmp/vhost.0">>ocssd.conf
sudo echo "Dev ocssd0n1">>ocssd.conf
sudo echo "Cpumask 0x1">>ocssd.conf
其中,VhostBlk0、vhost.0根据盘个数进行变更, VhostBlk0、vhost.0代表0,VhostBlk1、vhost.1代表1,以此类推; Cpumask 0x1是由 printf "0x%x\n" $[2**0]得出,$[2**0]中0代表盘序。
S205,重新启动OC硬盘的虚拟主机服务,查询盘符信息,若未成功查询到盘符信息,则重复执行上述步骤S201-S204直到成功查询到盘符信息。
需要说明的是,若查询盘符信息,应使虚拟主机服务处于启动状态,因此在查询盘符信息前先启动OC硬盘的虚拟主机服务。另外,若成功查询到盘符信息,则说明OC硬盘在ring3模式下配置成功,若未成功查询到盘符信息,则说明OC硬盘在ring3模式下未配置成功,此时重新执行上述步骤S201-S204,即重新配置一遍,直到可成功查询到盘符信息。
具体地,本步骤S205具体执行以下步骤:
步骤一,重新启动OC硬盘的虚拟主机服务;
通过执行命令sudo /usr/local/sbin/vhost -c /var/spdk/ocssd.conf -S /var/tmp/ -m 0x3F003F -s 4800>/dev/null 2>&1&实现。
步骤二,查询盘符信息;
虚拟主机服务启动后,执行aocnvme list命令查询盘符信息,若成功查询到盘符信息,则说明OC硬盘在ring3模式下配置成功,若未成功查询到盘符信息,则说明OC硬盘在ring3模式下未配置成功,此时重新执行上述步骤S201-S204。
本实施例二提供的一种操作系统ring3模式OC硬盘配置方法,首先卸载ring0驱动,使操作系统位于ring3模式,然后在ring3模式下创建设备块目标,编译OC硬盘配置文件,生成盘符,最后查询盘符信息直到可成功查询到盘符信息,完成OC硬盘在ring3模式下的部署。且在卸载ring0驱动之前先关闭OC硬盘的虚拟主机服务器,以确保ring0驱动卸载过程和磁盘创建过程正常,之后编译OC硬盘配置文件时再重新拉起OC硬盘的虚拟主机服务器,查询盘符信息时重新启动OC硬盘的虚拟主机服务,可保证配置文件编译过程和盘符信息查询过程的正常进行。OC硬盘运行于ring3模式下,降低了CPU访问内存的权限,CPU可访问的内存数据有限,从而避免CPU访问过多资源,提高利用率,避免物理资源使用过多导致OC硬盘性能问题,从而保证OC硬盘在工作过程中的稳定性和可靠性,提高产品质量。
实施例三
本实施例提供一具体实施过程的方法,以对本发明的技术方案作进一步详细解释。
本具体实施过程在Linux7系统下运行,依赖python3进行编译驱动程序,具体包括以下步骤。
步骤一,确保系统为linux7以上且内核版本为3.10,配置yum源下载环境。
该步骤为系统环境的配置。
步骤二,安装 syslog-ng服务并启动。
syslog-ng可以建立更好的消息过滤粒度,同时更容易进行不同防火墙网段的信息转发,且尽量使配置文件强大和简洁,可以记录ring3模式的信息。
步骤三,使用yum源下载python3编译工具。
python工具根据磁盘厂商提供驱动支持工具版本变更。
安装完成后,使用python+tab确认python3是否成功。若安装成功需要运行ln -sf/usr/bin/python3 /usr/bin/python将系统下python版本更换成pyhton3,python –V查看版本。
步骤四,关闭vhost服务。
使用python3编译工具安装厂商提供驱动工具,通过systemctl status ocssd-vhost-start.service指令查看vhost服务状态,若是激活状态则使用systemctl stopocssd-vhost-start.service指令关闭vhost服务,确保卸载ring0驱动和创建磁盘容量时正常。
步骤五,卸载ring0驱动,使操作系统位于ring3模式。
下载编译spdk工具,编译生成setup.sh的脚本,使用 NRHUGE=18000 setup.sh执行脚本卸载掉ring0驱动,使操作系统位于ring3。
其中,setup.sh的脚本执行以下命令:
cd spdk&&git submodule update –init
./configure –with-fio=fio-tools/fio。
步骤六,创建aocblk target。
该过程在vhost服务关闭状态下运行。
首先,使用lspci|grep –i xx找到OC硬盘总线地址。然后,创建一个符合idema协议要求的3840G的磁盘。
创建磁盘命令为:aocreate lnvm create 0000:BUS ID -c 3840GB –f。
步骤七,aocblk target创建完成后,重新拉起vhost服务,编译OC硬盘的配置文件,生成盘符。
首先,执行sudo rm -f /var/tmp/vhost*删除vhost*文件。
其次,.创建 /var/spdk/ocssd.conf文件,lspci查询OC硬盘总线地址,按照如下格式编译 ocssd.conf文件,编译后自动生成盘符:
sudo echo "[VhostBlk0]">>ocssd.conf
sudo echo "Socket /var/tmp/vhost.0">>ocssd.conf
sudo echo "Dev ocssd0n1">>ocssd.conf
sudo echo "Cpumask 0x1">>ocssd.conf
其中,VhostBlk0、vhost.0根据盘个数进行变更, VhostBlk0、vhost.0代表0,VhostBlk1、vhost.1代表1,以此类推; Cpumask 0x1是由 printf "0x%x\n" $[2**0]得出,$[2**0]中0代表盘序。
步骤八,重新启动vhost服务。
执行命令sudo /usr/local/sbin/vhost -c /var/spdk/ocssd.conf -S /var/tmp/ -m 0x3F003F -s 4800>/dev/null 2>&1&,实现vhost服务的重新启动,以确保后续盘符信息的正常查询。
步骤九,vhost服务启动后,执行aocnvme list查询盘符信息。
若成功查询到盘符信息,则说明OC硬盘在ring3模式下配置成功,若未成功查询到盘符信息,则说明OC硬盘在ring3模式下未配置成功,此时重新执行上述步骤四-步骤八。
实施例四
如图3所示,本实施例四提供的一种操作系统ring3模式OC硬盘配置装置,用于实现实施例一的方法,包括以下功能模块。
ring0驱动卸载模块101:卸载ring0驱动,使操作系统位于ring3模式;
设备块目标创建模块102:创建设备块目标;
配置文件编译模块103:基于设备块目标编译OC硬盘配置文件,生成盘符;
盘符信息查询模块104:查询盘符信息,若未成功查询到盘符信息,则重复执行上述功能模块直到成功查询到盘符信息。
本实施例四提供的一种操作系统ring3模式OC硬盘配置装置,首先卸载ring0驱动,使操作系统位于ring3模式,然后在ring3模式下创建设备块目标,编译OC硬盘配置文件,生成盘符,最后查询盘符信息直到可成功查询到盘符信息,完成OC硬盘在ring3模式下的部署。OC硬盘运行于ring3模式下,降低了CPU访问内存的权限,CPU可访问的内存数据有限,从而避免CPU访问过多资源,提高利用率,避免物理资源使用过多导致OC硬盘性能问题,从而保证OC硬盘在工作过程中的稳定性和可靠性,提高产品质量。
实施例五
如图4所示,本实施例五提供的一种操作系统ring3模式OC硬盘配置装置,用于实现实施例二的方法,包括以下功能模块。
虚拟主机服务关闭模块100:关闭OC硬盘的虚拟主机服务。
具体实施例时,本装置可依赖python3进行编译驱动程序,为实现OC硬盘虚拟主机服务的关闭,本实施例使用python3编译工具安装厂商提供驱动工具,通过驱动工具执行相关命令关闭OC硬盘的虚拟机主机。
另外,考虑到某些OC硬盘可能未开启虚拟主机服务,在执行关闭前,可先查看虚拟主机的状态。
具体地,通过systemctl status ocssd-vhost-start.service指令查看虚拟主机服务状态,若是激活状态则使用systemctl stop ocssd-vhost-start.service指令关闭虚拟主机服务,确保卸载ring0驱动和创建磁盘容量时正常。
ring0驱动卸载模块101:卸载ring0驱动,使操作系统位于ring3模式。
本实施例通过spdk工具卸载ring0驱动,由spdk工具编译生成安装卸载脚本(setup.sh的脚本),执行安装卸载脚本以卸载掉ring0驱动,具体包括以下过程:
步骤一、使用spdk工具编译生成安装卸载脚本;
步骤二、执行安装卸载脚本卸载掉ring0驱动。
其中,使用NRHUGE=18000 setup.sh命令执行安装卸载脚本,安装卸载脚本执行以下命令实现ring0驱动的卸载:
cd spdk&&git submodule update –init
./configure –with-fio=fio-tools/fio
设备块目标创建模块102:创建设备块目标。
创建设备块目标即创建一个一定容量的磁盘,创建磁盘首先需要知道OC硬盘的总线地址,因此首先运行指令找到OC硬盘的总线地址,然后基于OC硬盘的总线地址,执行指令创建一个一定容量的磁盘。
具体地,设备块目标创建模块102创建设备块目标,包括以下步骤:
步骤一、查找OC硬盘总线地址;
步骤二、基于OC硬盘总线地址创建一个一定容量的磁盘。
步骤一通过执行lspci|grep –i xx命令查找OC硬盘总线地址。步骤二所创建磁盘应符合idema协议,如所创建磁盘容量为3840G,步骤二所执行命令为aocreate lnvmcreate 0000:BUS ID -c 3840GB –f,可实现磁盘的创建。
配置文件编译模块103:重新拉起虚拟主机服务,基于设备块目标编译OC硬盘配置文件,生成盘符。
在卸载ring0驱动和创建磁盘时,为保证卸载ring0驱动和创建磁盘正常进行,已将OC硬盘的虚拟主机关闭,而为编译OC硬盘配置文件,生成盘符,应将虚拟主机服务重新拉起。
具体地,配置文件编译模块103重新拉起虚拟主机服务,基于设备块目标编译OC硬盘配置文件,生成盘符,包括以下步骤:
步骤一,执行sudo rm -f /var/tmp/vhost*删除vhost*文件;
步骤二,创建 /var/spdk/ocssd.conf文件,lspci查询盘BUS ID,按照如下格式编译 ocssd.conf文件,编译后自动生成盘符:
sudo echo "[VhostBlk0]">>ocssd.conf
sudo echo "Socket /var/tmp/vhost.0">>ocssd.conf
sudo echo "Dev ocssd0n1">>ocssd.conf
sudo echo "Cpumask 0x1">>ocssd.conf
其中,VhostBlk0、vhost.0根据盘个数进行变更, VhostBlk0、vhost.0代表0,VhostBlk1、vhost.1代表1,以此类推; Cpumask 0x1是由 printf "0x%x\n" $[2**0]得出,$[2**0]中0代表盘序。
盘符信息查询模块104:重新启动OC硬盘的虚拟主机服务,查询盘符信息,若未成功查询到盘符信息,则重复执行上述功能模块直到成功查询到盘符信息。
需要说明的是,若查询盘符信息,应使虚拟主机服务处于启动状态,因此在查询盘符信息前先启动OC硬盘的虚拟主机服务。另外,若成功查询到盘符信息,则说明OC硬盘在ring3模式下配置成功,若未成功查询到盘符信息,则说明OC硬盘在ring3模式下未配置成功,此时重新执行上述功能模块,即重新配置一遍,直到可成功查询到盘符信息。
具体地,盘符信息查询模块104具体执行以下步骤:
步骤一,重新启动OC硬盘的虚拟主机服务;
通过执行命令sudo /usr/local/sbin/vhost -c /var/spdk/ocssd.conf -S /var/tmp/ -m 0x3F003F -s 4800>/dev/null 2>&1&实现。
步骤二,查询盘符信息;
虚拟主机服务启动后,执行aocnvme list命令查询盘符信息,若成功查询到盘符信息,则说明OC硬盘在ring3模式下配置成功,若未成功查询到盘符信息,则说明OC硬盘在ring3模式下未配置成功,此时重新执行上述功能模块。
本实施例五提供的一种操作系统ring3模式OC硬盘配置装置,首先卸载ring0驱动,使操作系统位于ring3模式,然后在ring3模式下创建设备块目标,编译OC硬盘配置文件,生成盘符,最后查询盘符信息直到可成功查询到盘符信息,完成OC硬盘在ring3模式下的部署。且在卸载ring0驱动之前先关闭OC硬盘的虚拟主机服务器,以确保ring0驱动卸载过程和磁盘创建过程正常,之后编译OC硬盘配置文件时再重新拉起OC硬盘的虚拟主机服务器,查询盘符信息时重新启动OC硬盘的虚拟主机服务,可保证配置文件编译过程和盘符信息查询过程的正常进行。OC硬盘运行于ring3模式下,降低了CPU访问内存的权限,CPU可访问的内存数据有限,从而避免CPU访问过多资源,提高利用率,避免物理资源使用过多导致OC硬盘性能问题,从而保证OC硬盘在工作过程中的稳定性和可靠性,提高产品质量。
实施例六
图5为本发明实施例提供的一种终端装置300的结构示意图,该终端装置300可以用于执行本发明实施例提供的操作系统ring3模式OC硬盘配置的方法。
其中,该终端装置300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端装置300能够执行以下上述方法实施例中的部分或全部步骤。
处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC) 组成,例如可以由单颗封装的IC 所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
实施例七
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。
Claims (6)
1.一种操作系统ring3模式OC硬盘配置方法,其特征在于,包括以下步骤:
S0,关闭OC硬盘的虚拟主机服务;
S1,卸载ring0驱动,使操作系统位于ring3模式;
S2,创建设备块目标;
S3,基于设备块目标编译OC硬盘配置文件,生成盘符;
S4,查询盘符信息,若未成功查询到盘符信息,则重复执行上述步骤S0-S3直到成功查询到盘符信息;
其中,步骤S1中卸载ring0驱动,具体为:使用spdk工具编译生成安装卸载脚本;执行安装卸载脚本卸载掉ring0驱动;
步骤S2创建设备块目标,具体为:查找OC硬盘总线地址;基于OC硬盘总线地址创建一个一定容量的磁盘。
2.根据权利要求1所述的操作系统ring3模式OC硬盘配置方法,其特征在于,
步骤S3中基于设备块目标编译OC硬盘配置文件前,还执行以下步骤:
重新拉起OC硬盘的虚拟机主机服务;
步骤S4中查询盘符信息前还执行以下步骤:
重新启动OC硬盘的虚拟主机服务。
3.一种操作系统ring3模式OC硬盘配置装置,其特征在于,包括,
虚拟主机服务关闭模块:关闭OC硬盘的虚拟主机服务;
ring0驱动卸载模块:卸载ring0驱动,使操作系统位于ring3模式;
设备块目标创建模块:创建设备块目标;
配置文件编译模块:基于设备块目标编译OC硬盘配置文件,生成盘符;
盘符信息查询模块:查询盘符信息,若未成功查询到盘符信息,则重复执行上述功能模块直到成功查询到盘符信息;
其中,ring0驱动卸载模块卸载ring0驱动,具体为:使用spdk工具编译生成安装卸载脚本;执行安装卸载脚本卸载掉ring0驱动;
设备块目标创建模块创建设备块目标,具体为:查找OC硬盘总线地址;基于OC硬盘总线地址创建一个一定容量的磁盘。
4.根据权利要求3所述的操作系统ring3模式OC硬盘配置装置,其特征在于,
配置文件编译模块基于设备块目标编译OC硬盘配置文件前,还执行以下功能:
重新拉起OC硬盘的虚拟机主机服务;
盘符信息查询模块查询盘符信息前还执行以下功能:
重新启动OC硬盘的虚拟主机服务。
5.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1或2所述的方法。
6.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1或2所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110692850.2A CN113448644B (zh) | 2021-06-22 | 2021-06-22 | 操作系统ring3模式OC硬盘配置方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110692850.2A CN113448644B (zh) | 2021-06-22 | 2021-06-22 | 操作系统ring3模式OC硬盘配置方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113448644A CN113448644A (zh) | 2021-09-28 |
CN113448644B true CN113448644B (zh) | 2023-07-18 |
Family
ID=77812129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110692850.2A Active CN113448644B (zh) | 2021-06-22 | 2021-06-22 | 操作系统ring3模式OC硬盘配置方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113448644B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506424A (zh) * | 2020-11-11 | 2021-03-16 | 杭州大晚成信息科技有限公司 | 视窗操作系统下基于内核的防止硬盘分区被删除的方法 |
CN112507339A (zh) * | 2020-11-11 | 2021-03-16 | 杭州大晚成信息科技有限公司 | 一种视窗操作系统下基于内核的防硬盘被格式化的方法 |
-
2021
- 2021-06-22 CN CN202110692850.2A patent/CN113448644B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506424A (zh) * | 2020-11-11 | 2021-03-16 | 杭州大晚成信息科技有限公司 | 视窗操作系统下基于内核的防止硬盘分区被删除的方法 |
CN112507339A (zh) * | 2020-11-11 | 2021-03-16 | 杭州大晚成信息科技有限公司 | 一种视窗操作系统下基于内核的防硬盘被格式化的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113448644A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6598223B1 (en) | Method and system for installing and testing build-to-order components in a defined configuration computer system | |
CN102207896B (zh) | 虚拟机崩溃文件生成技术 | |
CN1399194A (zh) | 创建和使用具有选定功能的操作系统的方法和系统 | |
CN107239309B (zh) | 补丁生成方法及装置、更新方法、电子设备、存储介质 | |
CN108509215B (zh) | 一种系统软件的更换方法、装置、终端设备及存储介质 | |
CN107220085B (zh) | 一种自动升级raid卡固件的方法 | |
CN114756290B (zh) | 一种操作系统安装方法、设备及可读存储介质 | |
CN110941453A (zh) | 基板管理控制器bmc配置初始化的方法及装置 | |
EP2372565A1 (en) | Method for managing USB devices | |
US20200364040A1 (en) | System and Method for Restoring a Previously Functional Firmware Image on a Non-Volatile Dual Inline Memory Module | |
US6718548B1 (en) | Method for embedding an operating system and an application program into a memory apparatus | |
CN113448644B (zh) | 操作系统ring3模式OC硬盘配置方法、装置、终端及存储介质 | |
CN117170802A (zh) | 基于信创平台的快速制作操作系统镜像的方法、系统、设备及介质 | |
CN117008934A (zh) | 自动制作信创操作系统镜像的方法、装置、设备及介质 | |
CN116450165A (zh) | 一种快速搭建环境及部署程序的方法、系统、终端及存储介质 | |
CN110688130A (zh) | 物理机部署方法、装置、可读存储介质及电子设备 | |
CN116049000A (zh) | 环境参数配置方法、装置、设备、存储介质及产品 | |
WO2022134918A1 (zh) | 虚拟机属性变更方法和装置、存储介质和电子装置 | |
CN114116030A (zh) | 操作系统的运行方法、装置、电子设备、存储介质 | |
CN114691180A (zh) | 处理器芯片的软件升级方法、装置、处理器和处理器系统 | |
CN113645046B (zh) | 一种网卡驱动安装方法、主服务器及介质 | |
CN112019527B (zh) | 一种嵌入式设备固定mac地址的设置方法及系统 | |
CN114443582B (zh) | 一种操作系统上文件系统挂载方法、装置、设备及介质 | |
CN112994907B (zh) | 虚拟机的网络配置方法、装置、存储介质及设备 | |
US20240036896A1 (en) | Generating installation images based upon dpu-specific capabilities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |