CN106843898A - 一种linux系统下SCSI磁盘信息查询方法 - Google Patents
一种linux系统下SCSI磁盘信息查询方法 Download PDFInfo
- Publication number
- CN106843898A CN106843898A CN201710071512.0A CN201710071512A CN106843898A CN 106843898 A CN106843898 A CN 106843898A CN 201710071512 A CN201710071512 A CN 201710071512A CN 106843898 A CN106843898 A CN 106843898A
- Authority
- CN
- China
- Prior art keywords
- scsi disk
- information
- disk
- scsi
- querying command
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Bus Control (AREA)
Abstract
本发明公开一种linux系统下SCSI磁盘信息查询方法,涉及磁盘管理领域;获取linux服务器上所有的磁盘盘符,过滤非SCSI磁盘,向操作系统发送不同参数的查询命令,来获取SCSI磁盘的信息,将查询命令返回的数据进行汇总转换,得到查询的SCSI磁盘信息;利用本发明方法,通过向操作系统发送不同参数的查询命令,可以查询SCSI磁盘的信息,支持查询多台存储系统、多个分区映射的SCSI磁盘,可以将查询的结果输出至文件,方便使用者查看和操作。
Description
技术领域
本发明公开一种SCSI磁盘信息查询方法,涉及磁盘管理领域,具体的说是一种linux系统下SCSI磁盘信息查询方法。
背景技术
随着IT行业的高速发展,信息化、大数据及云计算的发展,对存储系统的应用场景越来越灵活。一台存储系统上创建多个分区映射给多台服务器、一台服务器上有多台存储系统映射的分区,这样的应用场景已经十分常见。
在linux服务器下,当有多个存储系统分区映射给该服务器,尤其是每个分区的容量大小都相同时,无法识别系统下的每一块磁盘是由哪台存储系统的哪个分区映射出来的。但是目前没有查询linux下 SCSI磁盘信息的方法,很难将Linux下 SCSI磁盘与存储系统分区进行一一对应。本发明提供一种linux系统下SCSI磁盘信息查询方法,通过向操作系统内核发送多次不同参数的inquiry 命令,来获取磁盘的标准信息和供应商信息,将inquiry 命令返回的数据进行汇总转换并整理输出,最终得到查询到SCSI磁盘的详细信息。
SCSI硬盘是采用SCSI接口的硬盘,SCSI是Small Computer System Interface,小型计算机系统接口的缩写,外观和普通硬盘接口有些相似。SCSI硬盘和普通IDE硬盘相比有很多优点:接口速度快,并且由于主要用于服务器,因此硬盘本身的性能也比较高,硬盘转速快,缓存容量大,CPU占用率低,扩展性远优于IDE硬盘,并且支持热插拔。
发明内容
本发明针对Linux下很难 对应SCSI磁盘与存储系统分区,提供一种linux系统下SCSI磁盘信息查询方法,通过向操作系统内核发送多次不同参数的inquiry 命令,来获取磁盘的标准信息和供应商信息,将inquiry 命令返回的数据进行汇总转换并整理输出,最终得到查询到SCSI磁盘的详细信息。
一种linux系统下SCSI磁盘信息查询方法,获取linux服务器上所有的磁盘盘符,过滤非SCSI磁盘, 向操作系统发送不同参数的查询命令,来获取SCSI磁盘的信息,将查询命令返回的数据进行汇总转换, 得到查询的SCSI磁盘信息。
具体步骤为:
步骤一:获取linux服务器上所有的磁盘盘符;
步骤二:在缓冲区中获取查询到的磁盘信息并过滤非SCSI磁盘;
步骤三:准备查询命令,设置查询SCSI磁盘标准信息的参数,并将该命令放入指定内存中;
步骤四:向SCSI磁盘发送已准备好的查询命令;
步骤五:SCSI磁盘接收到命令后,调用底层驱动程序,返回查询信息到指定的缓冲区中;
步骤六:整理查询到的SCSI磁盘信息,提取需要的字段并排序,输出结果。
在步骤五后重复步骤二、三、四,再次准备查询命令,查询SCSI磁盘的其他信息到指定的缓冲区中。
产生查询主程序文件、库文件、查询结果文件。
使用python编译主程序文件。
一种linux系统下SCSI磁盘信息查询工具
包括获取linux服务器上所有的磁盘盘符, 过滤非SCSI磁盘的模块,
向操作系统内核发送多次不同参数的查询命令,来获取SCSI磁盘的信息的模块,
将查询命令返回的数据进行汇总转换,得到查询的SCSI磁盘信息的模块。
使用所述的工具时,产生查询主程序文件、库文件、查询结果文件。
本发明与现有技术相比具有的有益效果是:
本发明提供一种linux系统下SCSI磁盘信息查询方法,获取linux服务器上所有的磁盘盘符, 过滤非SCSI磁盘, 向操作系统发送不同参数的查询命令,来获取SCSI磁盘的信息,将查询命令返回的数据进行汇总转换, 得到查询的SCSI磁盘信息。
利用本发明方法,通过向操作系统发送不同参数的查询命令,可以查询SCSI磁盘的信息,如所属的存储系统序列号、分区编号、光纤卡wwn号、通过存储的A控/B控映射 等信息。支持查询多台存储系统、多个分区映射的SCSI磁盘。可以将查询的结果输出至文件,方便使用者查看和操作。
附图说明
图1本发明方法流程示意图。
具体实施方式
本发明提供一种linux系统下SCSI磁盘信息查询方法,获取linux服务器上所有的磁盘盘符, 过滤非SCSI磁盘, 向操作系统发送不同参数的查询命令,来获取SCSI磁盘的信息,将查询命令返回的数据进行汇总转换, 得到查询的SCSI磁盘信息。
具体步骤为:
步骤一:获取linux服务器上所有的磁盘盘符;
步骤二:在缓冲区中获取查询到的磁盘信息并过滤非SCSI磁盘;
步骤三:准备查询命令,设置查询SCSI磁盘标准信息的参数,并将该命令放入指定内存中;
步骤四:向SCSI磁盘发送已准备好的查询命令;
步骤五:SCSI磁盘接收到命令后,调用底层驱动程序,返回查询信息到指定的缓冲区中;
步骤六:整理查询到的SCSI磁盘信息,提取需要的字段并排序,输出结果。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本发明进一步详细说明。
利用本发明方法产生查询主程序文件、库文件、查询结果文件,具体实施时,其中:
ScandiskUtil.py # 查询主程序
linux_ioctl.c # 库文件
Inspur_DeviceList.txt # 查询结果文件
编译主程序ScandiskUtil.py,生成ScandiskUtil.pyc文件
使用如下命令编译:
python -m py_compile ScandiskUtil.py;
编译完成后,执行python ScandiskUtil.pyc命令,得到结果文件Inspur_DeviceList.txt;
编译库文件linux_ioctl.c,生成linux_ioctl.so,
使用如下命令编译:
gcc -o linux_ioctl.so -shared -fPIC -Wall linux_ioctl.c;
编写上述文件,使用本发明方法,对linux系统下SCSI磁盘信息进行查询:
查询主程序ScandiskUtil.py
from ctypes import *
import subprocess
from subprocess import Popen
from subprocess import PIPE
import os
#定义IssueInquiry()函数,打开linux_ioctl.so库文件,调用execute_scsi_command()函数查询磁盘内容,返回查询结果
def IssueInquiry(FileName, PageCode):
dyn = CDLL("./lib/linux_ioctl.so")
fo = open(FileName, "r")
fid = fo.fileno()
#根据 inquiry 标准格式准备 CDB数组,然后调用 execute_scsi_command()函数
CDB = c_byte * 6
CDB_array = CDB()
CDB_array[0] = 0x12
if(PageCode == 0):
CDB_array[1] = 0x00
else:
CDB_array[1] = 0x01
CDB_array[2] = PageCode
CDB_array[3] = 0x00
CDB_array[4] = 96
CDB_array[5] = 0x00
CDB_p = pointer(CDB_array)
SENSE = c_byte * 36
SENSE_array = SENSE()
DATA = c_byte * 96
DATA_array = DATA()
DATA_p = pointer(DATA_array)
SENSE_p = pointer(SENSE_array)
#调用 execute_scsi_command()函数,查询后的信息记录在DATA_array数组中,并返回
resid = dyn.execute_scsi_command(fid, 6, CDB_p, 96, DATA_p, 36,SENSE_p)
fo.close()
return DATA_array
#使用fdisk –l命令查询linux服务器中所有的磁盘
p1 = Popen(["fdisk", "-l"], stdout = PIPE)
output = p1.communicate()[0]
p1.stdout.close()
CompKey = "Inspur"
DeviceKey = "Disk /dev/sd"
DeviceInfo = {}
DeviceInfoList = {}
DeviceNum = 0
lines = output.strip().split("\n")
#开启循环处理查到的每一块磁盘
for line in lines:
#磁盘盘符不是/dev/sd开头的磁盘将被过滤掉
if(line.find(DeviceKey) != -1):
Capacity = line[line.find(":") + 2 : line.find("GB") + 2]
DeviceName = line[line.find("/dev/sd") : line.find(":")]
#调用IssueInquiry()函数获取磁盘容量信息
result = IssueInquiry(DeviceName, 0x00)
Company = chr(result[8]) + chr(result[9]) + chr(result[10]) + chr(result[11]) + chr(result[12]) + chr(result[13]) + chr(result[14]) + chr(result[15])
if(Company.find(CompKey) != -1):
DeviceInfo["DeviceName"] = DeviceName
DeviceInfo["Capacity"] = Capacity
#调用IssueInquiry()函数获取磁盘详细信息,如所属的存储系统序列号,所属存储的分区号,映射的通道信息,服务器的wwn号等信息,这些信息记录在DeviceInfo数组中
result = IssueInquiry(DeviceName, 0x83)
DeviceInfo["VVID"] = format('%02X'%(result[16]&0xFF)) + format('%02X'%(result[17]&0xFF)) + format('%02X'%(result[18]&0xFF)) + format('%02X'%(result[19]&0xFF)) + format('%02X'%(result[20]&0xFF)) + format('%02X'%(result[21]&0xFF)) + format('%02X'%(result[22]&0xFF)) + format('%02X'%(result[23]&0xFF))
result = IssueInquiry(DeviceInfo["DeviceName"], 0xd0)
DeviceInfo["CtrlUID"] = format('%02X'%(result[33]&0x0F)) + format('%02X'%(result[34]&0xFF)) + format('%02X'%(result[35]&0xFF))
DeviceInfo["PortName"] = format('%02X'%(result[12]&0xFF)) +format('%02X'%(result[13]&0xFF)) + format('%02X'%(result[14]&0xFF)) + format('%02X'%(result[15]&0xFF)) + format('%02X'%(result[16]&0xFF)) + format('%02X'%(result[17]&0xFF)) + format('%02X'%(result[18]&0xFF)) + format('%02X'%(result[19]&0xFF))
DeviceInfo["NodeName"] = format('%02X'%(result[4]&0xFF)) + format('%02X'%(result[5]&0xFF)) + format('%02X'%(result[6]&0xFF)) + format('%02X'%(result[7]&0xFF)) + format('%02X'%(result[8]&0xFF)) + format('%02X'%(result[9]&0xFF)) + format('%02X'%(result[10]&0xFF)) + format('%02X'%(result[11]&0xFF))
if(format('%02X'%(result[44])) == "00"):
DeviceInfo["Slot"] = "A"
else:
DeviceInfo["Slot"] = "B"
DeviceInfo["Chl"] = result[27] & 0x7f
DeviceInfo["Lun"] = result[48]
DeviceInfo["InitScsiID"] = result[20]
DeviceInfo["SelScsiID"] = result[44]
DeviceInfoList[DeviceNum] = dict(DeviceInfo)
DeviceNum = DeviceNum + 1;
#将查询后的结果根据存储系统序列号排序
DeviceList = []
for i in xrange(0, DeviceNum, 1):
DeviceList.append(DeviceInfoList[i])
DeviceList.sort(key=lambda d:d["CtrlUID"])
#将结果写入查询结果文件
filePtr = open("Inspur_DeviceList.txt", "w")
filePtr.write('{0:18s}'.format("Device Name"))
filePtr.write('{0:18s}'.format("Capacity"))
filePtr.write('{0:8s}'.format("Slot"))
filePtr.write('{0:8s}'.format("Chl"))
filePtr.write('{0:8s}'.format("Lun"))
filePtr.write('{0:16s}'.format("TargetScsiID"))
filePtr.write('{0:20s}'.format("Partition ID"))
filePtr.write('{0:18s}'.format("Controller UID"))
filePtr.write('{0:18s}'.format("Fibre HBA WWPN"))
filePtr.write('{0:18s}\n'.format("Fibre HBA WWNN"))
filePtr.write("======================================================================================================================================================================\n")
for i in xrange(0, DeviceNum, 1):
filePtr.write('{0:18s}'.format(DeviceList[i]["DeviceName"]))
filePtr.write('{0:18s}'.format(DeviceList[i]["Capacity"]))
filePtr.write('{0:8s}'.format(" "+DeviceList[i]["Slot"]))
filePtr.write('{0:8s}'.format(" "+str(DeviceList[i]["Chl"])))
filePtr.write('{0:8s}'.format(" "+str(DeviceList[i]["Lun"])))
filePtr.write('{0:16s}'.format(" "+str(DeviceList[i]["SelScsiID"])))
filePtr.write('{0:20s}'.format(DeviceList[i]["VVID"]))
filePtr.write('{0:18s}'.format(" "+DeviceList[i]["CtrlUID"]))
if(DeviceList[i]["PortName"] == "0000000000000000"):
filePtr.write('{0:18s}'.format(" N/A"))
else:
filePtr.write('{0:18s}'.format(DeviceList[i]["PortName"]))
if(DeviceList[i]["NodeName"] == "0000000000000000"):
filePtr.write('{0:18s}\n'.format(" N/A"))
else:
filePtr.write('{0:18s}'.format(DeviceList[i]["NodeName"]) + "\n")
print "-----------------------------"
print "Write Inspur_DeviceList.txt done"
print "-----------------------------"
filePtr.close()
上述实施中,库文件linux_ioctl.c的编写如下:
#include <inttypes.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <sys/ioctl.h>
#include <scsi/sg.h>
#定义execute_scsi_command()函数,调用ioctl()函数,查询磁盘信息
int execute_scsi_command(
int fd,
int cmd_size, uint8_t* cmd_buffer,
int out_size, uint8_t* out_buffer,
int sense_size, uint8_t* sense_buffer)
{
sg_io_hdr_t io_hdr;
#分配用户空间数据缓冲区和检测缓冲区,并将它们指向 io_hdr 对象
memset(&io_hdr, 0, sizeof(sg_io_hdr_t));
io_hdr.interface_id = 'S';、
io_hdr.cmd_len = cmd_size;
io_hdr.mx_sb_len = sense_size;
io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;
io_hdr.dxfer_len = out_size;
io_hdr.dxferp = out_buffer;
io_hdr.cmdp = cmd_buffer;
io_hdr.sbp = sense_buffer;
io_hdr.timeout = 20000;
#调用 ioctl() 函数,提交文件描述符 SG_IO 和 io_hdr 对象;返回的状态存储在io_hdr 对象的 resid 字段中。
if (ioctl(fd, SG_IO, &io_hdr) < 0) {
perror("sg_simple0: Inquiry SG_IO ioctl error");
return 0;
}
return io_hdr.resid;
}
利用本发明方法,通过向操作系统发送不同参数的查询命令,可以查询SCSI磁盘的信息,如所属的存储系统序列号、分区编号、光纤卡wwn号、通过存储的A控/B控映射 等信息。支持查询多台存储系统、多个分区映射的SCSI磁盘。可以将查询的结果输出至文件,方便使用者查看和操作。
Claims (7)
1.一种linux系统下SCSI磁盘信息查询方法,其特征在于获取linux服务器上所有的磁盘盘符, 过滤非SCSI磁盘, 向操作系统发送不同参数的查询命令,来获取SCSI磁盘的信息,将查询命令返回的数据进行汇总转换, 得到查询的SCSI磁盘信息。
2.根据权利要求1所述的方法,其特征在于具体步骤为:
步骤一:获取linux服务器上所有的磁盘盘符;
步骤二:在缓冲区中获取查询到的磁盘信息并过滤非SCSI磁盘;
步骤三:准备查询命令,设置查询SCSI磁盘标准信息的参数,并将该命令放入指定内存中;
步骤四:向SCSI磁盘发送已准备好的查询命令;
步骤五:SCSI磁盘接收到命令后,调用底层驱动程序,返回查询信息到指定的缓冲区中;
步骤六:整理查询到的SCSI磁盘信息,提取需要的字段并排序,输出结果。
3.根据权利要求2所述的方法,其特征在于在步骤五后重复步骤二、三、四,再次准备查询命令,查询SCSI磁盘的其他信息到指定的缓冲区中。
4.根据权利要求1-3任一项所述的方法,其特征在于产生查询主程序文件、库文件、查询结果文件。
5.根据权利要求4所述的方法,其特征在于使用python编译主程序文件。
6.一种linux系统下SCSI磁盘信息查询工具,其特征在于
包括获取linux服务器上所有的磁盘盘符, 过滤非SCSI磁盘的模块,
向操作系统内核发送多次不同参数的查询命令,来获取SCSI磁盘的信息的模块,
将查询命令返回的数据进行汇总转换,得到查询的SCSI磁盘信息的模块。
7.根据权利要求6所述的工具,其特征在于使用所述的工具时,产生查询主程序文件、库文件、查询结果文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710071512.0A CN106843898A (zh) | 2017-02-09 | 2017-02-09 | 一种linux系统下SCSI磁盘信息查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710071512.0A CN106843898A (zh) | 2017-02-09 | 2017-02-09 | 一种linux系统下SCSI磁盘信息查询方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106843898A true CN106843898A (zh) | 2017-06-13 |
Family
ID=59122362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710071512.0A Pending CN106843898A (zh) | 2017-02-09 | 2017-02-09 | 一种linux系统下SCSI磁盘信息查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106843898A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107341077A (zh) * | 2017-06-30 | 2017-11-10 | 郑州云海信息技术有限公司 | 一种用于硬盘筛选的方法及其系统 |
CN107346343A (zh) * | 2017-07-21 | 2017-11-14 | 郑州云海信息技术有限公司 | 一种感知数据库存储的方法和装置 |
CN107391049A (zh) * | 2017-09-08 | 2017-11-24 | 南宁磁动电子科技有限公司 | 存储连接设备及存储系统 |
CN110990016A (zh) * | 2019-11-29 | 2020-04-10 | 浪潮商用机器有限公司 | Linux操作系统的命令获取方法、装置、设备及页面 |
CN114817969A (zh) * | 2022-06-30 | 2022-07-29 | 天津联想协同科技有限公司 | 网盘盘符文件预览方法、装置、终端及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8370612B2 (en) * | 2009-01-20 | 2013-02-05 | Felicity Taiwan Corporation | Computer system with built-in hidden two operating devices |
CN103744708A (zh) * | 2014-01-23 | 2014-04-23 | 浪潮电子信息产业股份有限公司 | 一种实现linux操作系统下固定磁盘设备名的方法 |
CN104077083A (zh) * | 2014-07-01 | 2014-10-01 | 浪潮(北京)电子信息产业有限公司 | 新加存储方法、装置和系统 |
-
2017
- 2017-02-09 CN CN201710071512.0A patent/CN106843898A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8370612B2 (en) * | 2009-01-20 | 2013-02-05 | Felicity Taiwan Corporation | Computer system with built-in hidden two operating devices |
CN103744708A (zh) * | 2014-01-23 | 2014-04-23 | 浪潮电子信息产业股份有限公司 | 一种实现linux操作系统下固定磁盘设备名的方法 |
CN104077083A (zh) * | 2014-07-01 | 2014-10-01 | 浪潮(北京)电子信息产业有限公司 | 新加存储方法、装置和系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107341077A (zh) * | 2017-06-30 | 2017-11-10 | 郑州云海信息技术有限公司 | 一种用于硬盘筛选的方法及其系统 |
CN107346343A (zh) * | 2017-07-21 | 2017-11-14 | 郑州云海信息技术有限公司 | 一种感知数据库存储的方法和装置 |
CN107346343B (zh) * | 2017-07-21 | 2020-09-18 | 苏州浪潮智能科技有限公司 | 一种感知数据库存储的方法和装置 |
CN107391049A (zh) * | 2017-09-08 | 2017-11-24 | 南宁磁动电子科技有限公司 | 存储连接设备及存储系统 |
CN110990016A (zh) * | 2019-11-29 | 2020-04-10 | 浪潮商用机器有限公司 | Linux操作系统的命令获取方法、装置、设备及页面 |
CN110990016B (zh) * | 2019-11-29 | 2023-08-29 | 浪潮商用机器有限公司 | Linux操作系统的命令获取方法、装置、设备及页面 |
CN114817969A (zh) * | 2022-06-30 | 2022-07-29 | 天津联想协同科技有限公司 | 网盘盘符文件预览方法、装置、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106843898A (zh) | 一种linux系统下SCSI磁盘信息查询方法 | |
US8620640B2 (en) | Emulated storage system | |
US8868628B2 (en) | Sharing computer data among computers | |
US8996823B2 (en) | Parallel access virtual tape library and drives | |
JP5128079B2 (ja) | ユニバーサルストレージバスアダプタ | |
JP5027877B2 (ja) | ストレージシステム用コマンドの生成 | |
US7418531B2 (en) | Quality of service for data storage volumes | |
JP5507670B2 (ja) | ストライプ化ファイルシステムにおける能力平準化によるデータ分散 | |
US20200356288A1 (en) | Selectively storing data into allocation areas using streams | |
US20070174544A1 (en) | Data processing system and data processing method | |
US7809739B2 (en) | Application configuration in distributed storage systems | |
US20130325915A1 (en) | Computer System And Data Management Method | |
JP2005078641A (ja) | 物理記憶装置におけるソフトウェアを利用した記憶装置エミュレーション | |
US7016982B2 (en) | Virtual controller with SCSI extended copy command | |
US10168959B2 (en) | Metadata-based bypassing in a controller | |
US7376758B2 (en) | I/O dependency graphs | |
US7117228B2 (en) | Method for transforming data formats between different database systems, an apparatus for executing the method and the program of the method | |
CN115657961A (zh) | Raid磁盘阵列管理方法、系统、电子设备及存储介质 | |
US9146694B2 (en) | Distribution processing unit of shared storage | |
JP3800903B2 (ja) | 記憶装置及びそのアクセス制御方法 | |
Fujita et al. | tgt: Framework for storage target drivers | |
US20070245060A1 (en) | Method and system for handling data by file-system offloading | |
CN114327903B (zh) | NVMe-oF管理系统、资源配置方法和IO读写方法 | |
JP2003085014A (ja) | ネットワークシステムのボリューム管理方法及び計算機 | |
KR20150074546A (ko) | 대용량 스토리지 제공 방법 및 시스템 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170613 |