两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

存儲器中RAID類型的IO設(shè)置IP及時(shí)間的方法與流程

文檔序號:12271154閱讀:1358來源:國知局

技術(shù)領(lǐng)域

本發(fā)明涉及到存儲器測試技術(shù),具體的說是存儲器中RAID類型的IO設(shè)置IP及時(shí)間的方法。



背景技術(shù):

存儲器(Memory)是現(xiàn)代信息技術(shù)中用于保存信息的記憶設(shè)備。計(jì)算機(jī)中全部信息,包括輸入的原始數(shù)據(jù)、計(jì)算機(jī)程序、中間運(yùn)行結(jié)果和最終運(yùn)行結(jié)果都保存在存儲器中。它根據(jù)控制器指定的位置存入和取出信息。有了存儲器,計(jì)算機(jī)才有記憶功能,才能保證正常工作。計(jì)算機(jī)中的存儲器按用途存儲器可分為主存儲器(內(nèi)存)和輔助存儲器(外存)。

目前隨著IT領(lǐng)域技術(shù)的不斷發(fā)展,存儲器作為大數(shù)據(jù)時(shí)代的主流產(chǎn)物,也隨著涉足領(lǐng)域的逐漸增多,市場存儲器需求量逐漸增大。公司存儲器出貨量越來越大,能夠按時(shí)的達(dá)成生產(chǎn)排配準(zhǔn)時(shí)出貨,不但關(guān)系到公司的信譽(yù)也代表一個(gè)公司的生產(chǎn)能力,同時(shí)也影響著客戶的滿意度。企業(yè)注重生產(chǎn)速度的同時(shí)也要求品質(zhì)有保障,對于研發(fā)及生產(chǎn)的測試要求越來越高。無論是研發(fā)段還是生產(chǎn)線的測試,產(chǎn)品的測試能夠高效的完成是至關(guān)重要的一個(gè)環(huán)節(jié)。

針對存儲器的測試,進(jìn)行自動化的切入是必要的;所以針對存儲器RAID類型的IO做了一些自動化測試的導(dǎo)入,其中IO的IP設(shè)置及時(shí)間設(shè)置之前一直是一個(gè)人工操作的項(xiàng)目,需要大量人為操作參與進(jìn)來,這就不可避免的出現(xiàn)由于人為因素造成的失誤,致使設(shè)置不準(zhǔn)確,測試時(shí)間長而且成功率不高,又不會產(chǎn)生測試log;浪費(fèi)了大量人力、時(shí)間,工作效率不高,產(chǎn)品品質(zhì)得不到保障。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明針對目前技術(shù)發(fā)展的需求和不足之處,提供存儲器中RAID類型的IO設(shè)置IP及時(shí)間的方法。

本發(fā)明所述存儲器中RAID類型的IO設(shè)置IP及時(shí)間的方法,解決上述技術(shù)問題采用的技術(shù)方案如下:所述存儲器中RAID類型的IO設(shè)置IP及時(shí)間的方法,使用linux 系統(tǒng)下perl語言編寫的自動化腳本,通過串口及網(wǎng)線對IO的IP及時(shí)間進(jìn)行自動化設(shè)置;其主要步驟包括:1)掃描存儲器中I/O的序列號;2)自動判斷I/O類型并自動加載I/O驅(qū)動;3)硬件檢測;4)設(shè)置上下I/O的IP;設(shè)置系統(tǒng)下成功后重啟I/O;5)檢測I/O的IP設(shè)置是否成功;6)設(shè)置I/O的時(shí)間。

優(yōu)選的,所述步驟2) 自動判斷I/O類型并自動加載I/O驅(qū)動,若加載成功則自動化腳本繼續(xù),若加載失敗則打印error,處理異常后重新執(zhí)行。

優(yōu)選的,所述步驟3)硬件檢測,自動化腳本通過串口線及SAS線抓取信息,自動判斷服務(wù)器與存儲器的連接狀態(tài)及各個(gè)模塊的在位狀況,若各個(gè)模塊狀態(tài)正常則繼續(xù)運(yùn)行,若判斷出存儲器端及服務(wù)器端有異常則會在終端報(bào)錯(cuò)“test fail”,同時(shí)打印error信息,排除問題后繼續(xù)重新測試。

優(yōu)選的,所述步驟5)檢測I/O的IP設(shè)置是否成功,成功則繼續(xù)進(jìn)行下步測試,不成功則結(jié)束,終端打印出error信息;然后排除異常重新測試。

優(yōu)選的,所述步驟6)設(shè)置I/O的時(shí)間,首先判斷上下兩個(gè)IO的時(shí)間是否相同,是與系統(tǒng)時(shí)間一致,若兩個(gè)IO的時(shí)間異常則重新設(shè)置時(shí)間;若I/O的時(shí)間是正確的則提示pass,繼續(xù)進(jìn)行。

本發(fā)明所述存儲器中RAID類型的IO設(shè)置IP及時(shí)間的方法與現(xiàn)有技術(shù)相比具有的有益效果是:本發(fā)明應(yīng)用于大部分存儲器IO的IP設(shè)置及時(shí)間設(shè)置,可以同時(shí)大批量的測試,每個(gè)測試步驟都有測試log產(chǎn)生,有利于問題分析及定位,減少了不必要的人機(jī)交互過程,節(jié)省人力、時(shí)間、成本等資源,不但提高了效率,而且有質(zhì)量保障;該方法操作簡單,實(shí)用性較強(qiáng),并且不會有人為配置時(shí)可能出現(xiàn)的錯(cuò)誤、漏失等,很大程度上提高生產(chǎn)速度。

附圖說明

附圖1為所述存儲器中RAID類型的IO設(shè)置IP及時(shí)間的方法的流程圖。

具體實(shí)施方式

為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,對本發(fā)明所述存儲器中RAID類型的IO設(shè)置IP及時(shí)間的方法進(jìn)一步詳細(xì)說明。

實(shí)施例:

本實(shí)施例所述存儲器中RAID類型的IO設(shè)置IP及時(shí)間的方法,使用linux 系統(tǒng)下perl語言編寫的自動化腳本,通過串口及網(wǎng)線對IO的IP及時(shí)間進(jìn)行自動化設(shè)置,能夠同時(shí)進(jìn)行大批量測試,每個(gè)測試步驟都有測試log產(chǎn)生,并將測試log打印在終端,同時(shí)保存在服務(wù)器端,讓測試有絕對的保障。

附圖1為所述存儲器中RAID類型的IO設(shè)置IP及時(shí)間的方法的實(shí)施流程圖,如附圖1所示,該存儲器中RAID類型的IO設(shè)置IP及時(shí)間的方法具體實(shí)施過程如下:

1、搭建測試環(huán)境,服務(wù)器端裝好測試用的自動化腳本(掛載U盤mount /dev/sdb4 /mnt ; 復(fù)制即可cp /mnt/set_io_ips /usr/local/bin/Neptune/;),將好存儲器端I/O的SAS、網(wǎng)線及串口線連接到服務(wù)器端;

2、系統(tǒng)下執(zhí)行自動化腳本(加執(zhí)行權(quán)限chmod +x set_io_ips: ;執(zhí)行命令./ set_io_ips);log同步生產(chǎn)(log會自動寫在以時(shí)間命名的文件夾中,路徑可以自己通過配置文件指定);

3、掃描存儲器中I/O的序列號;

print "Please scan uiom sn[]: ";

chomp($uiom_sn=<STDIN>);

4、自動判斷I/O類型并自動加載I/O驅(qū)動,若加載成功則自動化腳本繼續(xù),若加載失敗則打印error,處理異常后重新執(zhí)行;

sub load_driver;

if($fc) {`modprobe mptfc`} --FC類型的I/O

if($sas){`modprobe mptsas`} ---SAS類型的I/O

5、硬件檢測,自動化腳本通過串口線及SAS線抓取信息,自動判斷服務(wù)器與存儲器的連接狀態(tài)及各個(gè)模塊的在位狀況,若各個(gè)模塊的狀態(tài)都是OK則繼續(xù)運(yùn)行,若判斷出存儲器端及服務(wù)器端有異常則會在終端報(bào)錯(cuò)“test fail”,同時(shí)打印error信息,排除問題后繼續(xù)重新測試;

sub get_device

my ($encl) = @_;

my @sg_map = `sg_map -x -i`;

登串口:

@MCports = ();

@FUports = ();

for (1..$expectedUUTs) {

my $slot = $_;

for (A,B) {

my $ctrl = $_;

my $mc = getConfig("uut$slot.ctrltest.ctrl$ctrl.com2");

my $fu = getConfig("uut$slot.ctrl$ctrl.fu");

push @MCports, $mc;

push @FUports, $fu;

6、設(shè)置上下I/O的IP;設(shè)置系統(tǒng)下成功后重啟I/O;

if($is_iscsi and $restarting) {

# setting new iSCSI IPs seems to help iscsi reliability

printout("both","\nSetting new IPs on all controllers...\n\n");

} else {

printout("both","\nSetting unique IPs on all controllers...\n\n");

}

}

if ($ctrl eq 'a') { $last = '1' } else { $last = '2' }

$set_ip_address = "10.0.0." . $slot . $last;

7、檢測I/O的IP設(shè)置是否成功,成功則繼續(xù)進(jìn)行下步測試,不成功則結(jié)束,終端打印出error信息;然后排除異常重新測試;若IP設(shè)置成功則繼續(xù)下一步測試;

unless($noSetup == 1){

unless(set_and_verify_ip_address($ctrl)) {

printout("both"," ERROR ! Could not set Controller $Ctrl on $mc to IP address $set_ip_address\n");

exit(1);

8、設(shè)置I/O的時(shí)間,首先判斷上下兩個(gè)IO的時(shí)間是否相同,是與系統(tǒng)時(shí)間一致,若兩個(gè)IO的時(shí)間異常則重新設(shè)置時(shí)間;若I/O的時(shí)間是正確的則提示pass,繼續(xù)進(jìn)行;

or $ctrl(a,b) { # cann't set CTRL A & B the same time; setting all ipA's, then all ipB's

$Ctrl=uc($ctrl);

$slot=$startSlot-1;

9、時(shí)間設(shè)置成功則測試pass,自動化腳本運(yùn)行結(jié)束,若時(shí)間設(shè)置失敗,則自動化腳本運(yùn)行結(jié)束,判斷異常后重新測試。

本實(shí)施例所述存儲器中RAID類型的IO設(shè)置IP及時(shí)間的方法,所使用的自動化腳本具體內(nèi)容如下:

sub load_driver {

#fill something

if($fc) {`modprobe mptfc`}

if($sas){`modprobe mptsas`}

@lsmod_out=`lsmod | grep mptsas`;

until(@lsmod_out) {

printout("both","SAS driver not loaded\n");

printout("both","loading SAS driver...\n");

system("modprobe mptsas");

sleep 5;

@lsmod_out=`lsmod | grep mptsas`;

}

#加載IO的驅(qū)動

$CS::failSub=\&serialWarn;

$tmpUUTs=0;

$CS::no_close = 0;

#調(diào)用數(shù)據(jù)包,進(jìn)入串口;

if($defaultsOnly) {

printout("both","detecting attached controllers...\n");

} else {

if($is_iscsi and $restarting) {

# setting new iSCSI IPs seems to help iscsi reliability

printout("both","\nSetting new IPs on all controllers...\n\n");

} else {

printout("both","\nSetting unique IPs on all controllers...\n\n");

}

}

if(not $defaultsOnly) {

unless(boldly_go($mc)) { exit(1) }

@FDE = CS::serial("set fde-state repurpose", "#"); # harmless if MC CLI don't support

printout("log","'set fde-state repurpose' result:\n@FDE");

unless($noSetup == 1){

unless(set_and_verify_ip_address($ctrl)) {

printout("both"," ERROR ! Could not set Controller $Ctrl on $mc to IP address $set_ip_address\n");

exit(1);

}

}

$ip_address = CS::get_ip($ctrl);

printout("log"," Controller $Ctrl on $mc IP address set to $ip_address (mcIndex=$mcIndex)\n");

}

#設(shè)置IO 的IP;

for $ctrl(a,b) { # cann't set CTRL A & B the same time; setting all ipA's, then all ipB's

$Ctrl=uc($ctrl);

$slot=$startSlot-1;

for $mcIndex (0..$#MCports) {

if($ctrl eq 'a') { next unless($mcIndex % 2 == 0) }

if($ctrl eq 'b') { next unless($mcIndex % 2 != 0) }

#檢測IO的時(shí)間。

上述具體實(shí)施方式僅是本發(fā)明的具體個(gè)案,本發(fā)明的專利保護(hù)范圍包括但不限于上述具體實(shí)施方式,任何符合本發(fā)明的權(quán)利要求書的且任何所屬技術(shù)領(lǐng)域的普通技術(shù)人員對其所做的適當(dāng)變化或替換,皆應(yīng)落入本發(fā)明的專利保護(hù)范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
华亭县| 武宣县| 文成县| 长宁县| 乌兰浩特市| 张家口市| 庆城县| 涿鹿县| 镇坪县| 庆城县| 乌兰浩特市| 绥滨县| 河池市| 平远县| 安西县| 苏尼特右旗| 达孜县| 永平县| 六盘水市| 新巴尔虎左旗| 云安县| 隆尧县| 赣州市| 吉首市| 剑川县| 盐池县| 额敏县| 外汇| 江陵县| 太仆寺旗| 斗六市| 琼结县| 巧家县| 金山区| 凤凰县| 五大连池市| 东城区| 兰西县| 运城市| 朔州市| 潜山县|