how to add a hba adapter on redhat

djb1008發表於2010-07-05

資料庫伺服器(PC SERVER DELL 6850)發生故障,無法修復,將全部資料遷移到一臺新的伺服器(PC SERVERHP DL380),遷移的時候,因為光纖資源的問題,都是採用單個HBA卡工作的方式(兩臺機器分別使用以前的兩根光纖線).資料遷移完成後,資料庫在新的伺服器上成功啟動.但是,當把另外一個HBA加入到新的伺服器上時遇到了問題,本文詳細描述瞭如何解決HBA卡無法順利加入到新伺服器環境的問題的過程和方法.

[@more@]

[root@dmis qlafc-linux-8.02.23-3-install]# vgs

/dev/sdg: read failed after 0 of 4096 at 0: Input/output error

VG #PV #LV #SN Attr VSize VFree

VolGroup00 1 5 0 wz--n- 136.56G 45.75G

datavg 1 1 0 wzx-n- 600.00G 1020.00M

vgs時顯示I/OI/O ERROR 的問題.

[root@dmis qlafc-linux-8.02.23-3-install]# ./qlinstall

#*********************************************************#

# SANsurfer Driver Installer for Linux #

# Installer Version: 1.01.00pre22 #

#*********************************************************#

Kernel version: 2.6.18-128.el5

Distribution: Red Hat Enterprise Linux Server release 5.3 (Tikanga)

Found following QLogic Adapter in the system

1. ISP2432

Installation will begin for following driver

1. qla2xxx version: v8.02.23

Module qla2xxx is in use, installer can not proceed.

Try unloading the module manually using "modprobe -rv qla2xxx"

and restart the installation.

[root@dmis qlafc-linux-8.02.23-3-install]# modprobe -rv qla2xxx

FATAL: Module qla2xxx is in use.

重新安裝HBA的驅動(QLOGIC QLE2460驅動),'Module qla2xxx is in use',無法進行重新安裝.

找到一個一篇關於:刪除和安裝HBA卡的文章,文章的內容如下:

關鍵字: 刪除和裝載模組-hba卡

假如rac節點上某一臺伺服器執行fdisk -l命令看不到共享磁碟的話,可以透過執行如下命令:

# rmmod qla2400

# rmmod qla2322

# rmmod qla2xxx

# modprobe qla2400

這樣就可以看到共享磁碟了。

註釋1:

Linux命令:rmmod

功能說明:刪除模組。

語  法:rmmod [-as][模組名稱...]

補充說明:執行rmmod指令,可刪除不需要的模組。Linux作業系統的核心具有模組化的特性,

應此在編譯核心時,務須把全部的功能都放入核心。你可以將這些功能編譯成一個

個單獨的模組,待有需要時再分別載入它們。

參  數:

-a  刪除所有目前不需要的模組。

-s  把資訊輸出至syslog常駐服務,而非終端機介面。

註釋2:

Linux命令:modprobe

功能說明:自動處理可載入模組。

語  法:modprobe [-acdlrtvV][--help][模組檔案][符號名稱 = 符號值]

補充說明:modprobe可載入指定的個別模組,或是載入一組相依的模組。modprobe會根據depmod

所產生的相依關係,決定要載入哪些模組。若在載入過程中發生錯誤,在modprobe會卸

載整組的模組。

參  數:

-a--all  載入全部的模組。

-c--show-conf  顯示所有模組的設定資訊。

-d--debug  使用排錯模式。

-l--list  顯示可用的模組。

-r--remove  模組閒置不用時,即自動解除安裝模組。

-t--type 指定模組型別。

-v--verbose  執行時顯示詳細的資訊。

-V--version  顯示版本資訊。

-help 顯示幫助。

源文件 <http://wanglihu.javaeye.com/blog/385975>

[root@dmis qlafc-linux-8.02.23-3-install]# powermt remove dev=all

Warning: license for CLARiiON storage system support is missing or expired.

刪除所有POWERPATH 管理的裝置

[root@dmis qlafc-linux-8.02.23-3-install]# powermt display dev=all

Device(s) not found.

POWERPATH 下已經沒有了裝置

[root@dmis qlafc-linux-8.02.23-3-install]# rmmod qla2xxx

ERROR: Module qla2xxx is in use

根據上面文章的內容,嘗試刪除 qla2xxx module,結果還是報'in use'的錯誤.

[root@dmis qlafc-linux-8.02.23-3-install]# ./qlinstall

#*********************************************************#

# SANsurfer Driver Installer for Linux #

# Installer Version: 1.01.00pre22 #

#*********************************************************#

Kernel version: 2.6.18-128.el5

Distribution: Red Hat Enterprise Linux Server release 5.3 (Tikanga)

Found following QLogic Adapter in the system

1. ISP2432

Installation will begin for following driver

1. qla2xxx version: v8.02.23

Module qla2xxx is in use, installer can not proceed.

Try unloading the module manually using "modprobe -rv qla2xxx"

and restart the installation.

刪除了POWERPATH的裝置後,再次嘗試安裝QLOGIC的驅動,結果還是報'in use',不過提示了使用'modprobe -rv qla2xxx'刪除模組

[root@dmis qlafc-linux-8.02.23-3-install]# modprobe -rv qla2xxx

FATAL: Module qla2xxx is in use.

執行modprobe -rv qla2xxx仍然報 in use的錯誤

[root@dmis qlafc-linux-8.02.23-3-install]# rmmod qla2xxx

ERROR: Module qla2xxx is in use

刪除module仍然失敗.

[root@dmis qlafc-linux-8.02.23-3-install]# cat /etc/modprobe.conf

alias eth0 bnx2

alias eth1 bnx2

alias eth2 bnx2

alias eth3 bnx2

alias scsi_hostadapter cciss

alias scsi_hostadapter1 ata_piix

###BEGINPP

include /etc/modprobe.conf.pp

###ENDPP

alias scsi_hostadapter2 qla2xxx

檢視 modprobe.conf檔案,qla2xxx模組仍然存在,無法進行清除.

[root@dmis scsi]# ls

device_info scsi sg

[root@dmis scsi]# ls -lt

total 0

-r--r--r-- 1 root root 0 Jul 2 16:48 device_info

-r--r--r-- 1 root root 0 Jul 2 16:48 scsi

dr-xr-xr-x 2 root root 0 Jul 2 16:48 sg

但在/proc/scsi目錄下因為刪除了POWERPATH的裝置,qla2xxx目錄已經不存在了.

[root@dmis scsi]# rpm -aq|grep EMC

EMCpower.LINUX-5.1.2.00.00-021

[root@dmis scsi]# rpm -e EMCpower.LINUX-5.1.2.00.00-021

[root@dmis scsi]# rpm -aq|grep power

gnome-power-manager-2.16.0-10.el5

上面解除安裝了EMC POWERPATH 軟體.

[root@dmis scsi]# ps -ef|grep qla

root 755 103 0 16:19 ? 00:00:00 [qla2xxx_0_dpc]

root 760 103 0 16:19 ? 00:00:00 [qla2xxx_1_dpc]

root 7483 5539 0 16:49 pts/1 00:00:00 grep qla

[root@dmis scsi]# kill -9 755

[root@dmis scsi]# kill -9 760

查詢qla程式,並且使用KILL命令,殺掉程式.

[root@dmis scsi]# modprobe -rv qla2xxx

rmmod /lib/modules/2.6.18-128.el5/kernel/drivers/scsi/qla2xxx/qla2xxx.ko

rmmod /lib/modules/2.6.18-128.el5/kernel/drivers/scsi/scsi_transport_fc.ko

qla程式被kill,使用modprobe -rv qla2xxx命令,就執行成功了.

./qlinstall

#*********************************************************#

# SANsurfer Driver Installer for Linux #

# Installer Version: 1.01.00pre22 #

#*********************************************************#

Kernel version: 2.6.18-128.el5

Distribution: Red Hat Enterprise Linux Server release 5.3 (Tikanga)

Found following QLogic Adapter in the system

1. ISP2432

Installation will begin for following driver

1. qla2xxx version: v8.02.23

Unloading any loaded drivers

Installing Driver...

Preparing... ##################################################

qla2xxx ##################################################

Installing the qlinstall-autoload script in /etc/init.d/

#*********************************************************#

# INSTALLATION SUCCESSFUL!! #

# SANsurfer Driver installation for Linux completed #

#*********************************************************#

再次安裝QLOGICHBA驅動,安裝成功了

[root@dmis qlafc-linux-8.02.23-3-install]# cd ..

[root@dmis setup]# ls

10201_database_linux_x86_64.cpio EMCpower.LINUX-5.1.2.00.00-021.rhel5.x86_64.rpm p6810189_10204_Linux-x86-64.zip README.html

database lost+found qlafc-linux-8.02.23-3-install

Disk1 oracle_10203.tar qlafc-linux-8.02.23-3-install.tgz

[root@dmis setup]# rpm -Uvh EMCpower.LINUX-5.1.2.00.00-021.rhel5.x86_64.rpm

Preparing... ########################################### [100%]

1:EMCpower.LINUX ########################################### [100%]

All trademarks used herein are the property of their respective owners.

NOTE:License registration is not required to manage the CLARiiON AX series array.

再次安裝EMC POWERPATH 軟體,安裝成功.

[root@dmis setup]# cd /proc/scsi

[root@dmis scsi]# ls

device_info qla2xxx scsi sg

[root@dmis scsi]# cd qla2xxx

[root@dmis qla2xxx]# ls

0 1

透過目錄檢視,發現目錄內容正確,存在/proc/scsi/qla2xxx目錄,並存在子檔案: 0,1

#reboot

[root@dmis qla2xxx]# vgs

/dev/sdg: read failed after 0 of 4096 at 0: Input/output error

VG #PV #LV #SN Attr VSize VFree

VolGroup00 1 5 0 wz--n- 136.56G 45.75G

datavg 1 1 0 wzx-n- 600.00G 1020.00M

重新啟動OS,後發現問題依然存在.

[root@dmis ~]# powermt

Usage:

powermt [class=all|clariion|ess|hitachi|hphsx|hpxp|invista|symm]

powermt check [force] [hba=|all] [dev=|all]

powermt check_registration

powermt config

powermt disable hba=

powermt display nonvirtual {dev=|all} [every=] [class=invista|all]

[width=]

powermt display [ports] [dev=|all] [every=]

[width=]

powermt display hba_mode

powermt display latency [dev=|all] [every=]

[width=]

powermt display options

powermt display paths [every=] [width=]

powermt display port_mode

powermt display unmanaged

powermt enable hba=

powermt load [file=]

powermt manage {dev= | class=}

powermt release

powermt remove [force] hba=|all | dev=|all

powermt restore [hba=|all] [dev=|all]

powermt save [file=]

powermt set mode=active|standby [hba=|all] [dev=|all]

powermt set path_latency_monitor=on|off

powermt set path_latency_threshold=

powermt set periodic_autorestore=on|off

powermt set policy={ad|bf|co|lb|li|nr|re|rr|so|si} [dev=|all]

powermt set port_disable={true|false} dev=

powermt set priority= [dev=|all]

powermt unmanage {dev= | class=}

powermt update lun_names

powermt version [format={verbose|legacy}]

Powermt config

Powermt enable hba=1

Powermt restore dev=all

Powermt check

嘗試了上面多個powermt的命令,問題依然存在.

後來諮詢了IBM公司的技術工程師,告知這個與儲存管理端有關,OS端沒有關係,因為在OS,首先應該可以看到一個盤的4個路徑,即可以看到4個盤(4個相同大小的裝置),而目前的情況是隻能看到2個相同大小的裝置(/dev/sda,/dev/sdb).

# fdisk -l

Disk /dev/sda: 644.2 GB, 644245094400 bytes

255 heads, 63 sectors/track, 78325 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sda doesn't contain a valid partition table

Disk /dev/sdb: 644.2 GB, 644245094400 bytes

255 heads, 63 sectors/track, 78325 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/cciss/c0d0: 146.7 GB, 146778685440 bytes

255 heads, 63 sectors/track, 17844 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/cciss/c0d0p1 * 1 13 104391 83 Linux

/dev/cciss/c0d0p2 14 17844 143227507+ 8e Linux LVM

Disk /dev/emcpowera: 644.2 GB, 644245094400 bytes

255 heads, 63 sectors/track, 78325 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

IBM公司的技術工程師給出的答覆是,EMC儲存的管理軟體裡,stroage group中的host刪除(移出),然後再把host重新加入到storage group,這樣做後,OS層將可以認到4個路徑的盤(裝置);

為什麼呢?

在做這個調整前,儲存管理軟體裡可以看到host下已經有4個光纖鏈路,說明在儲存交換機層的zone是沒有問題的,光纖鏈路也沒有問題,4條路徑是通的.透過host的移出和移入,儲存管理軟體實現了一次新的HBA卡的註冊工作,這樣兩個HBA卡都投入了使用.

關閉OS(shutdown -h now),然後進行上面的調整,然後啟動OS,果然可以認到了4個裝置,問題得到解決.

#fdisk -l

Disk /dev/sda: 644.2 GB, 644245094400 bytes

255 heads, 63 sectors/track, 78325 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sda doesn't contain a valid partition table

Disk /dev/sdb: 644.2 GB, 644245094400 bytes

255 heads, 63 sectors/track, 78325 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/sdc: 644.2 GB, 644245094400 bytes

255 heads, 63 sectors/track, 78325 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdc doesn't contain a valid partition table

Disk /dev/sdd: 644.2 GB, 644245094400 bytes

255 heads, 63 sectors/track, 78325 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdd doesn't contain a valid partition table

Disk /dev/cciss/c0d0: 146.7 GB, 146778685440 bytes

255 heads, 63 sectors/track, 17844 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/cciss/c0d0p1 * 1 13 104391 83 Linux

/dev/cciss/c0d0p2 14 17844 143227507+ 8e Linux LVM

Disk /dev/emcpowera: 644.2 GB, 644245094400 bytes

255 heads, 63 sectors/track, 78325 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

[root@dmis ~]# vgs

VG #PV #LV #SN Attr VSize VFree

VolGroup00 1 5 0 wz--n- 136.56G 45.75G

datavg 1 1 0 wz--n- 600.00G 1020.00M

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/32980/viewspace-1034944/,如需轉載,請註明出處,否則將追究法律責任。

相關文章