設定 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
One thought on “Linux – 設定 Storage 裝置”