Linux iSCSI存儲共享實驗指南

實驗介紹

1、在Linux平臺上通過iSCSI協議實現IP-SAN存儲共享

2、掌握存儲導出(export)和存儲導入(import)的配置方法

3、學習iSCSI存儲的發現、連接、斷開和管理操作

1、實驗環境

兩臺同網段的Linux虛擬機(無需物理交換機)

操作系統:Linux(具體發行版未指定)

軟件包:scsi-target-utils、iscsi-initiator-utils

IP-SANde實現

IP地址

導出端(Target Server)

10.1.1.141

導入端(Initiator Client)

10.1.1.142

拓撲圖:

2、實驗步驟

(1)基礎環境準備(兩臺機器執行)

# 為兩臺虛擬機配置靜態IP地址

# 關閉防火墻和SELinux(兩臺機器均需執行)

systemctl stop firewalld && systemctl disable firewalld

setenforce 0

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

# 配置主機名解析(可選,建議執行)

vi /etc/hosts

10.1.1.141 hn141

10.1.1.142 hn142

# 時間同步(兩臺機器均需執行)

yum install -y ntpdate && ntpdate pool.ntp.org

# 檢查兩臺機子是否可以互ping

(2)存儲導出端(export)配置

#安裝必要軟件包

yum -y install epel-release

yum -y install scsi-target-utils

rpm -aq|grep scsi

#創建塊存儲文件

dd if=/dev/zero of=/tmp/file0 bs=1M count=1024

#查看塊存儲文件

ls -lh /tmp/file0

#查看文件

rpm -qc scsi-target-utils-1.0.55-4.el7.x86_64

cat /etc/tgt/tgtd.conf

cat -n /etc/tgt/conf.d/sample.conf

#配置iSCSI目標

#編輯配置文件/etc/tgt/targets.conf

vi /etc/tgt/targets.conf

default-driver iscsi

<target scsi:data>

????backing-store /tmp/file0

</target>

#啟動服務

systemctl start tgtd.service

systemctl enable --now tgtd.service

# 驗證服務是否啟動

systemctl status tgtd ?????????# 檢查服務是否運行

lsof -i:3260 ??????????????????# 檢查3260端口是否監聽

#查看共享狀態

tgt-admin --show

(3)存儲導入端(import)配置

#安裝客戶端軟件

yum -y install iscsi-initiator-utils

iscsiadm --version

#發現iSCSI目標# (指定導出端IP)

iscsiadm -m discovery -t sendtargets -p 10.1.1.141

如果報錯如下:

可能是因為防火墻,在導出端執行以下命令,檢查網絡策略

# 在導出端(10.1.1.141)執行:

# 1. 檢查防火墻規則(即使已關閉也需確認)

iptables -L -n | grep 3260 ???# 查看是否有3260端口的規則

# 2. 臨時放行3260端口(即使防火墻已關閉)

iptables -I INPUT -p tcp --dport 3260 -j ACCEPT

# 3. 檢查網絡接口綁定(確保監聽所有接口)

netstat -tulnp | grep tgtd ???# 應顯示0.0.0.0:3260

#登錄連接iSCSI目標

iscsiadm -m node -l ?# 登錄

lsblk ?# 驗證新設備出現

#存儲使用與驗證

#格式化并掛載存儲

mkfs.ext4 /dev/sdb

mkdir /file1

mount /dev/sdb /file1

lsblk ?# 驗證新設備出現

# 驗證寫入

echo "iSCSI Test" > /file1/test.txt

cat /file1/test.txt

(4)安全斷開連接操作

# 在導入端執行

#查看當前會話

iscsiadm -m session

# 斷開特定連接

umount /file1

iscsiadm -m node -T scsi:data -p 10.1.1.141:3260 -u

# 徹底刪除節點記錄

iscsiadm -m node -o delete

# 在導出端可停止服務(如需)

systemctl stop tgtd

3.實驗結果

(1)成功在兩臺Linux虛擬機之間建立了iSCSI存儲共享

導出端成功創建并共享了1GB的虛擬塊存儲

導入端能夠發現、連接并使用該存儲設備

掌握了iSCSI存儲的連接、斷開和管理操作

(2)注意事項

斷開iSCSI連接前,確保沒有應用程序正在使用該存儲設備,否則可能導致數據丟失或應用程序出錯

部分操作可能需要root權限,建議使用sudo提升權限

塊設備無法同時被多個主機共享使用

(3)排錯指南

# 1.連接失敗:

檢查兩臺機器是否能互相ping通

導出端執行 lsof -i:3260 確認端口監聽

查看日志:journalctl -u tgtd(導出端)或 /var/log/messages(導入端)

# 2.CHAP認證錯誤:

確保兩端的用戶名/密碼完全一致

導入端檢查 /etc/iscsi/iscsid.conf 配置

# 3.設備未識別:

在導入端執行 dmesg | grep scsi 查看內核日志

4.實驗總結

通過本次實驗,我們成功在Linux平臺上實現了基于iSCSI協議的IP-SAN存儲共享。實驗涵蓋了從環境準備、服務配置到實際連接使用的完整流程,并學習了相關的管理命令。iSCSI作為一種經濟高效的SAN解決方案,可以在標準IP網絡上實現塊級存儲共享,適合中小型企業的存儲需求。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/81931.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/81931.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/81931.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從 Docker 到 runC

從 Docker 到 runC:容器底層原理詳解 目錄 1. Docker 與 runC 的關系 2. Docker 的核心組件 3. runC 的核心功能 4. 實戰示例:從 Docker 到 runC 4.1 示例場景:運行一個簡單容器 4.2 Docker 底層調用 runC 的流程 4.3 查看 runC 的調用 4.4 直接調用 runC 創建容器 …

使用Python在PowerPoint中插入形狀(Shape)

在進行演示文稿設計時&#xff0c;形狀&#xff08;Shape&#xff09;不僅可以增強視覺效果&#xff0c;還可以用于展示流程圖、標注、數據圖示等。借助Python&#xff0c;我們可以通過代碼快速批量地在PPT中添加各種形狀&#xff0c;提升設計效率。本文將介紹如何使用Python向…

Windows系統下MySQL 8.4.5壓縮包安裝詳細教程

一、MySQL 8.4.5新特性概覽 相較于舊版本&#xff0c;MySQL 8.4.5在性能與功能上實現了顯著提升&#xff1a; 性能優化&#xff1a;官方測試顯示&#xff0c;在高并發場景下&#xff0c;其讀寫性能較5.7版本提升近2倍&#xff0c;尤其在處理熱點數據競爭問題時表現更為出色。…

深度解析Vue項目Webpack打包分包策略 從基礎配置到高級優化,全面掌握性能優化核心技巧

深度解析Vue項目Webpack打包分包策略 從基礎配置到高級優化&#xff0c;全面掌握性能優化核心技巧 一、分包核心價值與基本原理 1.1 為什么需要分包 首屏加載優化&#xff1a;減少主包體積&#xff0c;提升TTI&#xff08;Time to Interactive&#xff09;緩存利用率提升&am…

【昇騰開發者訓練營:Dify大模型部署實戰】MindIE + Dify + DeepSeek + Embedding模型 + Rerank模型

文章目錄 部署 Dify1. Dify 適配 ARM2. 安裝 docker3. 啟動 Dify MindIEDify 實操手冊1. 基礎環境搭建1.1 環境檢查1.2 下載模型權重1.3 獲取MindIE鏡像 2. 啟動容器3. 純模型推理測試3.1 純模型對話測試3.2 性能測試 4. 服務化部署4.1 MindIE 配置4.2 MindIE 服務化4.3 發起測…

塔能高溫冰蓄冷技術:工廠能耗精準節能的創新之路

在工廠的能耗構成中&#xff0c;制冷系統是重要的耗能環節。傳統的水蓄冷和冰蓄冷技術在實際應用中存在一些局限性&#xff0c;難以滿足工廠對節能和成本控制的更高要求。塔能科技的高溫冰蓄冷技術&#xff0c;憑借其獨特的優勢&#xff0c;為工廠能耗精準節能提供了創新的解決…

通過現代數學語言重構《道德經》核心概念體系,形成一個兼具形式化與啟發性的理論框架

以下是對《道德經》的數學轉述嘗試&#xff0c;通過現代數學語言重構其核心概念&#xff0c;形成一個兼具形式化與啟發性的理論框架&#xff1a; 0. 基礎公理體系 定義&#xff1a; 《道德經》是一個動態宇宙模型 U(D,V,Φ)&#xff0c;其中&#xff1a; D 為“道”的無限維…

SQLMesh Typed Macros:讓SQL宏更強大、更安全、更易維護

在SQL開發中&#xff0c;宏&#xff08;Macros&#xff09;是一種強大的工具&#xff0c;可以封裝重復邏輯&#xff0c;提高代碼復用性。然而&#xff0c;傳統的SQL宏往往缺乏類型安全&#xff0c;容易導致運行時錯誤&#xff0c;且難以維護。SQLMesh 引入了 Typed Macros&…

5月23日day34打卡

GPU訓練及類的call方法 知識點回歸&#xff1a; CPU性能的查看&#xff1a;看架構代際、核心數、線程數GPU性能的查看&#xff1a;看顯存、看級別、看架構代際GPU訓練的方法&#xff1a;數據和模型移動到GPU device上類的call方法&#xff1a;為什么定義前向傳播時可以直接寫作…

集群、容器云與裸金屬服務器的全面對比分析

文章目錄 引言 集群 2.1 定義 2.2 特點 2.3 應用場景 容器云 3.1 定義 3.2 核心功能 3.3 應用場景 裸金屬 4.1 定義 4.2 特點 4.3 應用場景 三者的區別 5.1 架構與性能 5.2 管理與運維 5.3 成本與靈活性 總結 1. 引言 在云計算和數據中心領域&#xff0c;50…

Vscode +Keil Assistant編譯報錯處理

Vscode Keil Assistant編譯報錯處理 1.報錯圖片內容 所在位置 行:1 字符: 25 chcp.com 65001 -Command & c:\Users\92170.vscode\extensions\cl.keil-a … ~ 不允許使用與號(&)。& 運算符是為將來使用而保留的&#xff1b;請用雙引號將與號引起來(“&”)&…

Java實現中文金額轉換

概述 話不多說&#xff0c;直接上代碼 代碼 /*** Author: hweiyu* Description: TODO* Date: 2025/5/23 11:33*/ import java.math.BigDecimal; import java.util.Scanner;public class AmountToChinese {// 中文數字字符private static final String[] NUMBERS {"零&…

Oracle 的 ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH 命令

Oracle 的ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH 命令 ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH 是 Oracle Data Guard 環境中用于停止恢復過程并準備備用數據庫切換為主庫的關鍵命令。 命令用途 該命令主要用于以下場景&#xff1a; 故…

Java 依賴管理工具:使用 Sonatype Nexus 管理項目依賴

Java 依賴管理工具&#xff1a;使用 Sonatype Nexus 管理項目依賴 在 Java 開發領域&#xff0c;依賴管理是項目構建和維護過程中的關鍵環節。Sonatype Nexus 作為一個功能強大的依賴管理工具&#xff0c;能夠有效地幫助我們管理項目的各種依賴&#xff0c;提高開發效率并降低…

編譯原理 期末速成

一、基本概念 1. 翻譯程序 vs 編譯程序 翻譯程序的三種方式 編譯&#xff1a;將高級語言編寫的源程序翻譯成等價的機器語言或匯編語言。&#xff08;生成文件&#xff0c;等價&#xff09;解釋&#xff1a;將高級語言編寫的源程序翻譯一句執行一句&#xff0c;不生成目標文件…

Pysnmp使用指南

1. 簡介 pysnmp 是一個純 Python 實現的 SNMP&#xff08;Simple Network Management Protocol&#xff09;庫&#xff0c;支持 SNMPv1、SNMPv2c 和 SNMPv3 協議。用于&#xff1a; 查詢&#xff08;GET&#xff09;和修改&#xff08;SET&#xff09;網絡設備的管理信息。遍…

SHELL編程簡介

1.腳本格式&#xff1a; 聲明位于shell腳本的行首&#xff0c;通常形式如下&#xff1a; #!/bin/sh#!/bin/bash 其中#表示注釋&#xff0c;!聲明所使用的shell&#xff0c;后面為所使用shell的絕對路徑。 2.常用函數 echo&#xff1a;shell輸出語句&#xff0c;可不接參數…

Django 中的 ORM 基礎語法

深入剖析 Django 中的 ORM 語法&#xff1a;從基礎到實戰進階 在 Django 開發領域&#xff0c;ORM&#xff08;對象關系映射&#xff09;是開發者高效操作數據庫的得力工具。它以簡潔直觀的 Python 代碼&#xff0c;替代繁瑣的 SQL 語句&#xff0c;極大提升了開發效率。本文將…

A10服務器使用vllm推理框架成功運行Qwen3大模型

1.下載Qwen3大模型&#xff1a; git clone https://www.modelscope.cn/Qwen/Qwen3-1.7B.git放在服務器的/mnt/workspace/Qwen3-1.7B目錄下。 2.創建python虛擬環境&#xff1a; python3 -m venv venv1 source venv1/bin/activate3.安裝vllm推理框架 pip install vllm 4.啟動…

Disruptor—1.原理和使用簡介

大綱 1.Disruptor簡介 2.Disruptor和BlockingQueue的壓測對比 3.Disruptor的編程模型 4.Disruptor的數據結構與生產消費模型 5.RingBuffer Disruptor Sequence相關類 6.Disruptor的WaitStrategy消費者等待策略 7.EventProcessor EventHandler等類 8.Disruptor的運行…