CN104461402A - 一种linux系统下多控制器间调整磁盘顺序的方法 - Google Patents
一种linux系统下多控制器间调整磁盘顺序的方法 Download PDFInfo
- Publication number
- CN104461402A CN104461402A CN201410836468.4A CN201410836468A CN104461402A CN 104461402 A CN104461402 A CN 104461402A CN 201410836468 A CN201410836468 A CN 201410836468A CN 104461402 A CN104461402 A CN 104461402A
- Authority
- CN
- China
- Prior art keywords
- order
- disk
- controller
- adjust
- file
- 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.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开一种linux系统下多控制器间调整磁盘顺序的方法,涉及计算机服务器技术领域,其具体实现过程为:查看各控制器驱动名称;确定驱动加载顺序;根据需求编写驱动加载顺序配置文件;备份系统原引导文件;重新编译引导文件;重启系统即可完成调整。该方法在各种配置上都可以应用,可以灵活、便捷的根据不同应用场景,进行磁盘顺序的调整,以满足不同的客户需求。
Description
技术领域
本发明涉及计算机服务器技术领域,具体地说是一种linux系统下多控制器间调整磁盘顺序的方法。
背景技术
随着IT领域技术的不断发展,传统信息化服务以及日趋强大的云计算服务对服务器的需求越来越复杂。作为服务器产品提供商,一款服务器的好坏,在于是否能够满足不同的应用需求。由于存储信息容量的不断增加,单一服务器上的磁盘无法满足需求,需要通过不同的存储卡,连接不同的外部存储设备,以满足对于磁盘容量的需求。随着外插存储卡种类的增加,对于磁盘的顺序要求也随之产生,针对不同的应用场景,对于磁盘顺序有不一样的需求。而操作系统识别磁盘顺序取决于加载驱动的顺序,对于同一种linux系统来说,加载顺序是固定的,所以我们需要根据需求,来手动的调整硬盘的顺序。
对于现有的X86平台来说,Intel的SATA控制器每个主板上都有,是一种低成本的存储解决方案,通常会用来连接磁盘,安装操作系统。这样就可以将操作系统与数据存储进行隔离。此时即使操作系统出现故障,不会影响数据的丢失。
RAID卡就是用来实现RAID功能的板卡,通常是由I/O处理器、硬盘控制器、硬盘连接器和缓存等一系列零组件构成的。不同的RAID卡支持的RAID功能不同。支持RAlD0、RAID1、RAID3、RAID4、RAID5、RAID10不等。RAID卡可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个的磁盘驱动器几倍、几十倍甚至上百倍的速率。这也是RAID卡最初想要解决的问题。可以提供容错功能,这是RAID卡的第二个重要功能。
HBA,即主机总线适配器英文“Host Bus Adapter”缩写,是一个在服务器和存储装置间提供输入/输出(I/O)处理和物理连接的电路板或集成电路适配器。因为HBA减轻了主处理器在数据存储和检索任务的负担,它能够提高服务器的性能。一个HBA和与之相连的磁盘子系统有时一起被称作一个磁盘通道。
Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,
基于上述技术,本发明能够通过shell脚本,来简化人为的操作,也能避免错误操作带来宕机等问题,并可以通过自动的操作,实现批量的方案导入操作,完成磁盘顺序的调整。
发明内容
本方明针对现有技术存在的技术问题,提供一种灵活的、可适用不同应用场景的多控制器间灵活调整磁盘顺序的方法。
本发明所述一种linux系统下多控制器间调整磁盘顺序的方法,解决上述技术问题采用的技术方案如下:该方法的具体实现过程为:查看各控制器驱动名称;确定驱动加载顺序;根据需求编写驱动加载顺序配置文件;备份系统原引导(启动)文件;重新编译引导文件;重启系统即可完成调整。
本发明所述linux系统下多控制器间调整磁盘顺序的方法,在安装有linux内核的操作系统的服务器中完成,操作时用户以root身份登录进行;根据驱动的名称,进行驱动的加载及调整;根据不同的应用场景,确定相关的磁盘盘符顺序,以确定相关控制器的驱动加载顺序;在重新编译引导文件之前,确认顺序是否正确,若不正确则返回,进行编写驱动加载顺序配置文件,若正确则根据编写好的驱动加载顺序配置文件,重新编译启动引导文件,保证每次重启都是所需的磁盘顺序。
该linux系统下多控制器间调整磁盘顺序的方法中,重新编译启动文件时,若编译不成功,则系统收集错误信息,并输出更改失败;若编译成功,则重启系统加载新的引导文件,完成磁盘顺序调整。
本发明的一种linux系统下多控制器间调整磁盘顺序的方法与现有技术相比具有的有益效果是:通过该方法可以改变原有系统的磁盘默认识别顺序,以便于应对不同的应用环境;该方法在各种配置上都可以应用,可以灵活、便捷的根据不同应用场景,进行磁盘顺序的调整,以满足不同的客户需求。另外,本方法对于不熟悉linux而又需要在linux平台下进行操作的技术人员有着实际而深刻的意义,通过该方法只需适当修改,可以应用于批量部署操作系统,快捷、方便、易维护;能够针对不同的客户,给客户提供相应的修改方法,满足客户的不同应用需求及场景,增加机器的适应性、多样性。
附图说明
附图1为所述linux系统下多控制器间调整磁盘顺序的方法的实现流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参考附图,对本发明所述一种linux系统下多控制器间调整磁盘顺序的方法进一步详细说明。
本发明所述一种linux系统下多控制器间调整磁盘顺序的方法,如附图1所示,其具体实现流程为:
步骤一、查看各控制器驱动名称:以便于根据驱动的名称,进行驱动的加载及调整;
步骤二、确定驱动加载顺序:根据不同的应用场景,确定相关的磁盘盘符顺序,以确定相关控制器的驱动加载顺序;
步骤三、编写驱动加载顺序配置文件:根据对磁盘顺序的需求,调整控制器驱动加载顺序,并编写驱动加载顺序配置文件;
步骤四、备份原引导文件:对原有的启动文件做备份,以便于还原原有的磁盘顺序,同时可用于编译失败后的恢复;
步骤五、重新编译引导文件:在重新编译引导文件之前,确认顺序是否正确,若不正确则返回步骤三,若正确则根据第二步的配置文件,重新编译启动引导文件,保证每次重启都是所需的磁盘顺序;
步骤六、重启系统加载新的引导文件:重启系统,重新加载引导文件,完成磁盘顺序调整。
本发明所述linux系统下多控制器间调整磁盘顺序的方法, 所述实现步骤在安装有linux内核的操作系统的服务器中完成,操作时用户以root身份登录进行。关于该方法的步骤四重新编译启动文件,若编译不成功,则系统收集错误信息,并输出更改失败;若编译成功,则重启系统加载新的引导文件,完成磁盘顺序调整。
实施例1:
本实施例所述一种linux系统下多控制器间调整磁盘顺序的方法,其各个步骤的具体过程如下:
1)查看各控制器驱动名称
不同的配置,搭配的存储卡种类不同,所加载的驱动名称也不相同,所以需要提前确定相关控制器的驱动名称。在系统下查看相应的卡的设备号,找到对应的驱动名称;
lspci |more 查看卡的名称及bus号
例如产看到的设备号如下:
00:11.4 SATA controller: Intel Corporation Wellsburg sSATA Controller [AHCI mode] (rev 05)
07:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator] (rev 05)
lspci –xxvvv |grep–A 50 xxx |grep “Kernel driver in use” |awk –F ‘:’ ‘{print $2}’ 查看对应设备的驱动名称,其中xxx设备的名称,例如LSI。
2)确定驱动加载顺序
根据不同的应用场景,确定相关的磁盘盘符顺序,以确定相关的控制器的驱动加载顺序。通过控制控制器驱动的加载顺序,来调整磁盘的顺序。例如系统盘的盘符是sdd;主机存储的盘符是sdb、sdc;外部存储为sda;而实际应用需要系统盘符为sda,外部存储为sdb,主机存储为sdc、sdd。此实例中系统确定sda的控制器的驱动名称为ahci,sdb、sdc的控制器的驱动名称为qla2xxx,sdd控制器的驱动名称为megaraid_sas。
此时驱动顺序为:ahci、qla2xxx、megaraid_sas.
3)编写驱动加载顺序配置文件
根据上述确定的驱动顺序,编写相关的配置文件,用于编译调用使用;
sh order.sh achi qla2xxx megaraid_sas
order.sh 内容如下:
#!/bin/bash
touch /etc/modprobe.d/storage-driver-order.conf
echo “install $2 { /sbin/modprobe $1 ; } ; /sbin/modprobe –-first-time –-igonre-install $2” >> /etc/modprobe.d/storage-driver-order.conf
echo “install $3 { /sbin/modprobe $2 ; } ; /sbin/modprobe –-first-time –-igonre-install $2” >> /etc/modprobe.d/storage-driver-order.conf
echo “install $4 { /sbin/modprobe $3 ; } ; /sbin/modprobe –-first-time –-igonre-install $2” >> /etc/modprobe.d/storage-driver-order.conf
echo “install $5 { /sbin/modprobe $4 ; } ; /sbin/modprobe –-first-time –-igonre-install $2” >> /etc/modprobe.d/storage-driver-order.conf
echo “install $6 { /sbin/modprobe $5 ; } ; /sbin/modprobe –-first-time –-igonre-install $2” >> /etc/modprobe.d/storage-driver-order.conf
4)备份原引导文件
对原有的启动文件做备份,以便于还原原有的磁盘顺序,同时可用于编译失败后的恢复。
#!/bin/bash
a=`lsb_release |grep Release |awk –F ’’ ‘{print $2}’ |awk -F ‘.‘ ‘{print $1}‘`
if [ $a –lt 6 ];then
cp /boot/initrd-$(uname –r).img /boot/initrd-$(uname –r).img.$(date +%m-%d-%H%M%S).bak
else
cp /boot/initramfs-$(uname –r).img /boot/initramfs-$(uname –r).img.$(date +%m-%d-%H%M%S).bak
fi.
5)重新编译引导文件
编译前会输出加载顺序,如果正确则进行引导文件的重新编译工作,如果错误将会跳转到第3步.
#!/bin/bash
a=`sed –n ‘1,1p’ /etc/modprobe.d/storage-driver-order.conf |awk –F ‘ ‘ ‘{print $5}’
b=`sed –n ‘2,2p’ /etc/modprobe.d/storage-driver-order.conf |awk –F ‘ ‘ ‘{print $5}’
c=`sed –n ‘3,3p’ /etc/modprobe.d/storage-driver-order.conf |awk –F ‘ ‘ ‘{print $5}’
d=`sed –n ‘4,4p’ /etc/modprobe.d/storage-driver-order.conf |awk –F ‘ ‘ ‘{print $5}’
e=`sed –n ‘5,5p’ /etc/modprobe.d/storage-driver-order.conf |awk –F ‘ ‘ ‘{print $5}’
echo $a $b $c $d $e
echo “Is all right ? yes or no”
read p
if [ $p == yes ];then
a=`lsb_release |grep Release |awk –F ’’ ‘{print $2}’ |awk -F ‘.‘ ‘{print $1}‘`
if [ $a –lt 6 ];then
mkinitrd –f –v /boot/initrd-$(uname –r).img $(uname –r)
else
dracut –f -v
dracut –f /boot/initramfs-$(uname –r).img $(uname –r)
fi
else
echo “The program fail;Please try again”
fi.
6)重启系统加载新的引导文件
完成编译后,需要重启系统,以便于重新加载编译好的引导文件。重新引导后,磁盘顺序便是我们所需要的顺序。
在实际测试时,使用本实施例所述好方法的具体硬件操作过程如下所述:
一、准备一台服务器,安装基于linux内核的操作系统;
二、安装完成后,以root身份登录到操作系统中;
三、将修改程序拷贝到系统下任意一个文件夹下,运行命令:
chmod +x *
./order.sh aaa bbb ccc ddd 其中aaa、bbb、ccc、ddd为各个驱动的名称,这个顺序及所需要加载顺序;
当提示echo “Is all right ? yes or no”时,输入yes后,程序会自动运行;
四、脚本完成后,重启系统。
通常系统安装完后,磁盘的顺序就固定了,连接在不同控制器上的磁盘盘符无法满足我们应用的需求,例如系统盘的盘符是sdd;主机存储的盘符是sdb、sdc;外部存储为sda;而我们实际应用需要系统盘符为sda,外部存储为sdb,主机存储为sdc、sdd。此时需要根据需求调整磁盘顺序,通过一种linux系统下多控制器间灵活调整磁盘顺序的方法,可以快捷、灵活的做到相关的要求。
从上述技术方案可见,本方法可在多款服务器产品,及多种操作系统:redhat、centos上运行应用,实现磁盘顺序的调整;该方法操作简便,具有较好的易用性;程序中各模块之间结构清晰,便于维护;可以在系统批量安装时,通过脚本进行批量的导入;本发明借用SHELL脚本编写,大大简化了修改流程,实用性强,适用范围广泛,易于推广。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
Claims (6)
1.一种linux系统下多控制器间调整磁盘顺序的方法,其特征在于,该方法的具体实现过程为:查看各控制器驱动名称;确定驱动加载顺序;根据需求编写驱动加载顺序配置文件;备份系统原引导文件;重新编译引导文件;重启系统即可完成调整。
2.根据权利要求1所述一种linux系统下多控制器间调整磁盘顺序的方法,其特征在于,在安装有linux内核的操作系统的服务器中完成,操作时用户以root身份登录进行。
3.根据权利要求2所述一种linux系统下多控制器间调整磁盘顺序的方法,其特征在于,根据各控制器驱动的名称,进行驱动的加载及调整。
4.根据权利要求3所述一种linux系统下多控制器间调整磁盘顺序的方法,其特征在于,根据不同的应用场景,确定相关磁盘盘符顺序,以确定相关控制器的驱动加载顺序。
5.根据权利要求4所述一种linux系统下多控制器间调整磁盘顺序的方法,其特征在于,在重新编译引导文件之前,确认顺序是否正确,若不正确则返回编写驱动加载顺序配置文件;若正确则根据编写好的驱动加载顺序配置文件,重新编译启动引导文件。
6.根据权利要求5所述一种linux系统下多控制器间调整磁盘顺序的方法,其特征在于,重新编译启动文件时,若编译不成功,则系统收集错误信息,并输出更改失败;若编译成功,则重启系统加载新的引导文件,完成磁盘顺序调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410836468.4A CN104461402B (zh) | 2014-12-29 | 2014-12-29 | 一种linux系统下多控制器间调整磁盘顺序的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410836468.4A CN104461402B (zh) | 2014-12-29 | 2014-12-29 | 一种linux系统下多控制器间调整磁盘顺序的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104461402A true CN104461402A (zh) | 2015-03-25 |
CN104461402B CN104461402B (zh) | 2018-04-06 |
Family
ID=52907531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410836468.4A Active CN104461402B (zh) | 2014-12-29 | 2014-12-29 | 一种linux系统下多控制器间调整磁盘顺序的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104461402B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107450864A (zh) * | 2017-08-31 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种磁盘控制方法、装置、服务器及存储介质 |
CN107506151A (zh) * | 2017-09-06 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种通过reset SAS、raid卡调整系统下磁盘盘符顺序的方法 |
WO2018076792A1 (zh) * | 2016-10-27 | 2018-05-03 | 华为技术有限公司 | 一种arm设备中磁盘管理的方法、装置和arm设备 |
CN109460261A (zh) * | 2018-11-02 | 2019-03-12 | 郑州云海信息技术有限公司 | 一种调整多种存储控制器之间磁盘顺序的方法及装置 |
WO2023123896A1 (zh) * | 2021-12-28 | 2023-07-06 | 苏州浪潮智能科技有限公司 | 一种磁盘加载控制方法、装置、设备及可读存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020914A (zh) * | 2016-06-07 | 2016-10-12 | 浪潮电子信息产业股份有限公司 | 一种RedHat7下调整多控制器驱动加载顺序的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101819508A (zh) * | 2010-03-25 | 2010-09-01 | 浪潮电子信息产业股份有限公司 | 一种Linux系统下修正磁盘设备顺序的方法 |
CN102479163A (zh) * | 2010-11-25 | 2012-05-30 | 鸿富锦精密工业(深圳)有限公司 | 多硬盘自动识别系统及方法 |
CN102789371A (zh) * | 2012-07-27 | 2012-11-21 | 曙光信息产业(北京)有限公司 | 硬盘盘符分配方法 |
CN103150126A (zh) * | 2013-02-28 | 2013-06-12 | 北京百度网讯科技有限公司 | 基于Linux下的磁盘的盘符正确分配方法及装置 |
CN103677650A (zh) * | 2012-09-12 | 2014-03-26 | 北京百度网讯科技有限公司 | 盘符漂移预防及处理方法及装置 |
-
2014
- 2014-12-29 CN CN201410836468.4A patent/CN104461402B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101819508A (zh) * | 2010-03-25 | 2010-09-01 | 浪潮电子信息产业股份有限公司 | 一种Linux系统下修正磁盘设备顺序的方法 |
CN102479163A (zh) * | 2010-11-25 | 2012-05-30 | 鸿富锦精密工业(深圳)有限公司 | 多硬盘自动识别系统及方法 |
CN102789371A (zh) * | 2012-07-27 | 2012-11-21 | 曙光信息产业(北京)有限公司 | 硬盘盘符分配方法 |
CN103677650A (zh) * | 2012-09-12 | 2014-03-26 | 北京百度网讯科技有限公司 | 盘符漂移预防及处理方法及装置 |
CN103150126A (zh) * | 2013-02-28 | 2013-06-12 | 北京百度网讯科技有限公司 | 基于Linux下的磁盘的盘符正确分配方法及装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018076792A1 (zh) * | 2016-10-27 | 2018-05-03 | 华为技术有限公司 | 一种arm设备中磁盘管理的方法、装置和arm设备 |
CN108008914A (zh) * | 2016-10-27 | 2018-05-08 | 华为技术有限公司 | 一种arm设备中磁盘管理的方法、装置和arm设备 |
CN108008914B (zh) * | 2016-10-27 | 2019-09-13 | 华为技术有限公司 | 一种arm设备中磁盘管理的方法、装置和arm设备 |
US10990415B2 (en) | 2016-10-27 | 2021-04-27 | Huawei Technologies Co., Ltd. | Disk management method and apparatus in ARM device and ARM device |
CN107450864A (zh) * | 2017-08-31 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种磁盘控制方法、装置、服务器及存储介质 |
CN107506151A (zh) * | 2017-09-06 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种通过reset SAS、raid卡调整系统下磁盘盘符顺序的方法 |
CN107506151B (zh) * | 2017-09-06 | 2021-04-23 | 郑州云海信息技术有限公司 | 一种通过reset SAS、raid卡调整系统下磁盘盘符顺序的方法 |
CN109460261A (zh) * | 2018-11-02 | 2019-03-12 | 郑州云海信息技术有限公司 | 一种调整多种存储控制器之间磁盘顺序的方法及装置 |
WO2023123896A1 (zh) * | 2021-12-28 | 2023-07-06 | 苏州浪潮智能科技有限公司 | 一种磁盘加载控制方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104461402B (zh) | 2018-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3559807B1 (en) | Storage layer based orchestration of virtual machine migration | |
CN104461402B (zh) | 一种linux系统下多控制器间调整磁盘顺序的方法 | |
US7877639B2 (en) | Systems and methods to provide failover support for booting embedded hypervisor from an internal non-volatile memory card | |
US20200057627A1 (en) | Simulating end-to-end upgrade process in production environment | |
US6289426B1 (en) | Drive preparation methods for intelligent backup systems | |
US8037243B1 (en) | Installing data storage system software on disk drive systems | |
US8495413B2 (en) | System and method for providing a computer standby node | |
US9766876B2 (en) | Methods of updating software components, computer systems and memory apparatus | |
US20070168571A1 (en) | System and method for automatic enforcement of firmware revisions in SCSI/SAS/FC systems | |
US8407526B1 (en) | Updating a firmware image using a firmware debugger application | |
US20120079474A1 (en) | Reimaging a multi-node storage system | |
CN103746833A (zh) | 基于pxe的raid自动配置方法和系统 | |
US9184991B2 (en) | Method and apparatus for developing service processor solutions | |
US7266815B2 (en) | Automated control of a licensed internal code update on a storage controller | |
US6374366B1 (en) | Automated drive repair systems and methods | |
US20180088932A1 (en) | Multi-platform installer | |
US20130254587A1 (en) | Lpar creation and repair for automated error recovery | |
CN103534690A (zh) | 计算机和计算机控制方法 | |
US20220114004A1 (en) | Containerized application management system and management method | |
US7434104B1 (en) | Method and system for efficiently testing core functionality of clustered configurations | |
US8176309B2 (en) | Boot system has BIOS that reads rescue operating system from memory device via input/output chip based on detecting a temperature of a hard disk | |
US20150278048A1 (en) | Systems and methods for restoring data in a degraded computer system | |
US10990481B2 (en) | Using alternate recovery actions for initial recovery actions in a computing system | |
CN113377445B (zh) | 一种从联机磁盘启动多操作系统的方法及装置 | |
US8504869B2 (en) | Kernel swapping systems and methods for recovering a network device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |