歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

探索 Linux 通用 SCSI 驅動器

通過 SCSI 命令管理計算機上的數據,並將數據傳輸到 SCSI 設備。在本文中,作者介紹了一些 SCSI 命令,以及在 Linux? 中使用 SCSI API 時執行 SCSI 命令的方法。他介紹了 SCSI 客戶機/服務器模型和存儲 SCSI 命令的背景。接下來解釋 Linux 通用 SCSI 驅動器 API,並提供一個示例,討論使用通用驅動器執行 inquiry 命令的系統。

SCSI 客戶機/服務器模型

在主機和存儲介質進行通信期間,主機通常充當 SCSI 啟動程序。在計算機存儲中,SCSI 啟動程序是啟動 SCSI 會話的端點,這意味著它會發送 SCSI 命令。存儲介質通常充當 SCSI 目標,它接收和處理 SCSI 命令。SCSI 目標等待啟動程序的命令,然後提供請求的輸入/輸出數據轉換。

SCSI 目標通常為啟動程序提供一個或多個邏輯單元號(LUN)。在計算機存儲介質上,LUN 僅是分配給邏輯單元的號碼。邏輯單元是一個 SCSI 協議實體,實際的 I/O 操作只處理這種實體。每個 SCSI 目標可以提供一個或多個邏輯單元;它本身不執行 I/O,但代替特定的邏輯單元執行。

在存儲區域中,LUN 通常表示一個主機能夠執行讀寫操作的 SCSI 磁盤。圖 1 顯示 SCSI 客戶機/服務器模型是如何工作的。

圖 1. SCSI 客戶機/服務器模型

啟動程序首先向目標發送命令,然後目標解碼命令並向啟動程序請求數據,或將數據發送給啟動程序。在這之後,目標將狀態發送給啟動程序。如果狀態損壞,啟動程序將向目標發送一個請求檢測(sense)指令。目標將返回檢測數據,告知啟動程序哪裡出錯。

Copyright © Linux教程網 All Rights Reserved