使用SES協議實現磁碟定位

2021-06-14 11:58:03 字數 1640 閱讀 3891

ses 協議決定了ses device必須是乙個scsi device,這是因為ses協議是通過scsi command "send diagnostics" 和 "receive diagnostics"傳遞協議中的page。而ses device一般來說是實現ses 協議的chip,而這個chip對外呈現乙個ses device (scsi device type value = 0dh), raid head 把它連到drive channel 中,通過scsi inband方式進行管理。如果乙個擴充套件櫃是standalone的,那麼就需要host software來管理了。

ipmi 協議最初是用在pc/server上的,由於它協議的可擴充套件性加上是大廠推動的協議,很快也應用在儲存產品上。在管理途徑上和ses的區別在於ipmi是通過outband來管理的。

從過去到現在,ses的實現有以下方法

ses 的軟體方面:raid 主要通過ses 協議上的一些status pages 和control page 來監控擴充套件櫃,而這些pages是通過上面提到的scsi命令實現的。我們所說的控制psu/fan等所謂的一些綠色儲存的功能,大多就是通過動態設定 fan/psu的threshold等方法來實現的,決不是什麼高深的學問。

使用 ses 協議實現磁碟定位功能。給 expander 傳送ses 命令,就能控制槽位上 led 燈的亮滅。

首先獲取 jbod上所有槽位上的資訊 ( 二進位制資訊) 。

[root@localhost md_test]# sg_ses -p 0x2 /dev/sg16 -r

00 00 00 00 10 00 00 00  05 00 00 00 01 00 00 00

01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00

01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00

01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00

01 00 00 00 01 00 00 00 00 00 00 00 01 00 00 76

01 00 01 f5

可以給 expander傳送控制資訊,控制槽位上的 led 燈亮滅。

[root@localhost md_test]# cat page.out

00 00 00 00 10 00 00 00  08 00 02 00 08 00 00 00

01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00

01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00

01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00

01 00 00 00 08 00 02 00 00 00 00 00 01 00 00 76

01 00 01 f5

[root@localhost md_test]# cat page.out | sg_ses -c -p 0x2 -d - /dev/sg16

檔案使用磁碟的實現 OS

通過檔案使用磁碟,如下 在fs read write.c中 int sys write int fd,const char buf,int count fd為檔案索引,buf為緩衝區,count表示要處理的字串長度 我們理一下file write的工作過程 file write inode,file...

Linux使用nfs實現磁碟對映

今天工作中遇到的問題,使用某開發板,需要使用linux將檔案對映到開發板系統中,這裡記錄一下,兩個linux系統如何使用nfs實現磁碟對映。假設需要把放在 192.168.100.101 上的檔案對映到 192.168.100.102 上 yum install nfs utils rpcbindv...

Android 使用TCP IP協議實現斷點上傳

0.使用http協議是不能實現斷點上傳的,對於檔案大小不一,與實際需求可以使用socket斷點上傳 1.上傳原理 android客戶端傳送上傳檔案頭字段給伺服器,伺服器建立socket連線,監聽乙個埠 7878 然後建立乙個outstream接收到客戶端的字段資訊,伺服器判斷檔案是否在伺服器上,檔案...