1,273 瀏覽數

設定 Storage 裝置

設定 SCSI /RAID裝置
Step0 :設定 SCSI/RAID 裝置的前製工作

RedHat 開機時會用 kudzu 這支程式來偵測是否有增減硬體設備(但有 30 秒的時間 timeout,就使用正常開機),在開機後還是可以在使用 kudzu 來偵測是否有增減硬體設備
# kudzu
設定好之後就要上 SCSI/RAID 卡的 modules

Step1 :SCSI/RAID 裝置所需的模組
SCSI/RAID modules 通常存放在 /lib/modules/2.4.20-8/kernel/drivers/scsi ,但少部分是存放在/lib/modules/2.4.20-8/kernel/drivers/message/fusion
如 LSI 22320-R (ChipSet LSI53C1030)就是
現在要上 LSI22320-R SCSI 卡的 module (mptbase.o ; mptscsih.o)
在上 mptscsi.o 模組前要先上 scsi_mod.o 這個模組
因為所有的 SCSI/RAID 卡都要先上這個 module

#insmod scsi_mod.o
#insmod mptbase.o
#insmod mptscsih.o

這是 LSI 22320-R 的 modules

#lsmod
Module                  Size  Used by    Not tainted
nls_iso8859-1           3516   1  (autoclean)
nls_cp437               5148   1  (autoclean)
vfat                   13196   1  (autoclean)
fat                    40088   0  (autoclean) [vfat]
mptscsih               39440   0  (unused)
scsi_mod              110520   1  [mptscsih]
mptbase                43072   3  [mptscsih]
ide-cd                 35772   0  (autoclean)
cdrom                  34176   0  (autoclean) [ide-cd]
parport_pc             19204   1  (autoclean)
lp                      9188   0  (autoclean)
parport                39072   1  (autoclean) [parport_pc lp]
autofs                 13684   0  (autoclean) (unused)
e1000                  50924   1
microcode               5184   0  (autoclean)
keybdev                 2976   0  (unused)
mousedev                5656   1
hid                    22308   0  (unused)
input                   6208   0  [keybdev mousedev hid]
usb-uhci               27404   0  (unused)
usbcore                82592   1  [hid usb-uhci]
ext3                   73376   2
jbd                    56336   2  [ext3]

可以看到 mptbase.o , mptscsih.o modules 都已經上了
如果不想這麼麻煩可以用 modprobe 來解決 modules 的相依性,就不需一個一個 module 上了.

#modprobe mptscsih.o

關於 module 請參考 modules的設定

至於哪些卡要上什麼 module 要參考 /etc/modules.conf(如果你有執行到 #kudzu 的話,他會將所需的模組紀錄至 /etc/modules.conf 檔案中)

#vi /etc/modules.conf
alias scsi_hostadapter mptbase
alias scsi_hostadapter mptscsih
alias eth0 e100
alias usb-controller ehci-hcd
alias usb-controller1 usb-uhci

目前系統安裝一張 LSI 22320-R SCSI card ,可以看到 module name 為 mptscsih

現在就可以來分割硬碟了(SCSI/RAID H.D 的裝置名稱為 /dev/sda,/dev/sdb,/dev/sdc………)

#fdisk /dev/sda

Step 2: SCSI /RAID 裝置的訊息
我們還可以查看 /proc/scsi 下的目錄有哪些 SCSI/RAID H.D 裝置已經設定完成

# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: SEAGATE  Model: ST336732LC       Rev: 0022
Type:   Direct-Access                    ANSI SCSI revision: 03
Host: scsi0 Channel: 00 Id: 02 Lun: 00
Vendor: SEAGATE  Model: ST336732LC       Rev: 0022
Type:   Direct-Access                    ANSI SCSI revision: 03
Host: scsi0 Channel: 00 Id: 04 Lun: 00
Vendor: SEAGATE  Model: ST336732LC       Rev: 0020
Type:   Direct-Access                    ANSI SCSI revision: 03
Host: scsi0 Channel: 00 Id: 06 Lun: 00
Vendor: ESG-SHV  Model: SCA HSBP M15     Rev: 0.08
Type:   Processor                        ANSI SCSI revision: 02
Host: scsi2 Channel: 00 ID: 00 Lun: 00
Vender: TSSTcorp Model: DVD-ROM TS-H353B Rev: IB03
Type: CD-ROM             ANSI SCSI revision: 05

註:
1.id:每個 SCSI 裝置佔用一個 ID,8 bite 的 SCSI 裝置最多可接 7 個裝置,16 bite 的 SCSI 裝置最多可接15個裝置(SCSI 控制器通常佔用 ID 7 所以 8-1 剩下 7 個裝置,16-1 剩下 15 個裝置)
2.Lun(Logical Unit Number):通常 SCSI RAID 會用多顆 SCSI HD 組合成一個邏輯裝置(LUN),SCSI 控制器就可以使用單一的邏輯裝置來做存取.
3.Type:通常會看到 Direct-Access 也就是 H.D,但是如果你用的是具有 Processor 的 SCSI 抽取盒,那 type 就會多出一個 Processor 了.
4.其中有一個 Type 是 CDROM ,這表示你的 CD/DVD是屬於 SCSI 的裝置,其中 Rev 就是 firmware 的版本 :IB03

而 SCSI/RAID 卡的資訊是存放在 /proc/scsi/mptscsih 目錄下(mptscsih 的目錄名稱是依據SCSI 卡的 modules 名稱而定,這邊是用 LSI 22320-R 為範例),0代表第一個使用 mptscsih module SCSI 卡,如果你有其他 channel 使用相同 module 的 SCSI 卡時就會有 1 的檔………依此依序下去 2,3,4….(這邊使用的是兩個 channel 的 LSI 22320-R 的卡,所以你會看到 0 , 1 這兩個 channel 的資訊)

# cat /proc/scsi/mptscsi/0
ioc0: LSI53C1030, FwRev=01030f00h, Ports=1, MaxQ=222

# cat /proc/scsi/mptscsi/1
ioc1: LSI53C1030, FwRev=01030f00h, Ports=1, MaxQ=222

每張卡提供的資訊不儘相同,以下的是 Adaptec 39320 SCSI 卡提供的資訊.

Adaptec AIC79xx driver version: 1.0.0
aic7902: Ultra320 WideChannel B, SCSI Id=7, PCI-X 67-100Mhz, 512 SCBs
Serial EEPROM:
0x17c8 0x17c8 0x17c8 0x17c8 0x17c8 0x17c8 0x17c8 0x17c8
......... 略 .........
Channel A Target 0 Negotiation Settings
User: 320.000MB/s transfers (160.000MHz DT, offset 254, 16bit)
Goal: 320.000MB/s transfers (160.000MHz DT, offset 63, 16bit)
Curr: 320.000MB/s transfers (160.000MHz DT, offset 63, 16bit)
Channel A Target 0 Lun 0 Settings
Commands Queued 6
Commands Active 0
Command Openings 253
Max Tagged Openings 253
Device Queue Frozen Count 0
......... 略 .........
Channel A Target 15 Negotiation Settings
User: 320.000MB/s transfers (160.000MHz DT, offset 254, 16bit)

除了直接看設定檔外,kernel-pcmcia…..rpm還提供指令 scsi_info [device]

#scsi_info /dev/sda
SCSI_ID="0,0,0"
MODEL="SEAGATE ST336732LC  "
FW_REV="0022"

Step 3:那 IDE/SATA/SCSI/RAID H.D的效能呢!
可以用 hdparm 就可以簡單的測試硬碟的效能

#hdparm -t /dev/xdx 

sdx 是 SCSI/RAID/SATA H.D,hdx 是 IDE H.D

以下是大概的數值僅供參考,效能會依據不同 chipset 而有所變動,OS 是否能支援你的 chipset 也會影響到測試結果(這裡是用 INTEL server ??? , OS 是 RedHat Enterprise Linux AS 3.0 Update2, SCSI 卡 chipset 為 LSI1030 )
1.IDE H.D No DMA mode

Timing buffered disk reads: 10 MB in 3.33 seconds = 3.00 MB/sec

2.IDE H.D with DMA mode

Timing buffered disk reads: 166 MB in 3.01 seconds = 58.00 MB/sec

3.Ultra320 HD 1500rpm

Timing buffered disk reads: 206 MB in 3.01 seconds = 68.44 MB/sec

4.SATA 150 1000rpm H.D

Timing buffered disk reads: 206 MB in 3.02 seconds = 68.21 MB/sec

5.USB 2.0 H.D

Timing buffered disk reads: 78 MB in 3.00 seconds = 26.00 MB/sec

6.USB 1.1 DiskonKey

Timing buffered disk reads: 4 MB in 5.32 seconds = 769.92 kB/sec

網友的想法

  1. 自動參照通知: 硬體裝置 | Benjr.tw

發表迴響