1. 程式人生 > >ISCSI網路儲存服務

ISCSI網路儲存服務

iscsi是直接對裝置進行共享的服務
iscsi是一個供硬體裝置使用的、可在IP協議上層執行的SCSI指令集,是一種開放的基於IP協議的工業技術標準。該協議可以用TCP/IP對SCSI指令進行封裝,使得這些指令能夠通過基於P網路進行傳輸,從而實現SCSI和TCP/IP協議的連線。
從根本上說,iSCSI協議是一種利用IP網路來傳輸潛伏時間短的SCSI資料塊的方法,ISCSI使用乙太網協議傳送SCSI命令、響應和資料。ISCSI可以用我們已經熟悉和每天都在使用的乙太網來構建IP儲存區域網。通過這種方法,ISCSI克服了直接連線儲存的侷限性,使我們可以跨不同伺服器共享儲存資源,並可以在不停機狀態下擴充儲存容量。


iSCSI的最大好處是能提供快速的網路環境,雖然其效能和頻寬跟光纖網路還有一些差距,但能節省企業約30-40%的成本。

1 安裝服務

服務端:
yum install targetcli -y            #安裝共享磁碟服務
systemctl start target              #啟動服務
targetcli                           #開啟設定

客戶端:
yum install iscsi-initiator-utils.64_86 -y          #安裝
systemctl start iscsi                               #啟動

2 服務配置

服務端:
首先建立一個要共享出去的分割槽:這裡博主已經建立好了/dev/vdb1,大小為2G
主要程式碼如下:
[[email protected] ~]# targetcli     ##進入iSCSI目標互動式配置模式
/> /backstores/block create westos:storage1 /dev/vdb1
##和邏輯卷建立聯絡,把/dev/vdb1用westos:storage1表示

/> /iscsi create iqn.2017-12.com.example.storage1
##建立iqn服務的名稱(每個發起端和目標需要唯一名稱進行標識)
##格式: iqn.YYYY(年)-MM(月).域名反寫:隨機串 /> /iscsi/iqn.2017-12.com.example.storage1/tpg1/acls create iqn.2017-12.com.example:westoskey ##建立客戶端連線服務端金鑰 /> /iscsi/iqn.2017-12.com.example.storage1/tpg1/portals create 172.25.254.156 Using default IP port 3260 Created network portal 172.25.254.156:3260. ##建立目標門戶 /> /iscsi/iqn.2017-12.com.example.storage1/tpg1/luns create /backstores/block/westos:storage1 ##在倉庫中建立邏輯單元號

建立好共享磁碟後,需要將它的共享埠加入火牆策略:

firewall-cmd --permanent --add-port=3260/tcp
firewall-cmd --reload

這裡寫圖片描述

客戶端:
vim /etc/iscsi/initiatorname.iscsi  #編輯key檔案
systemctl restart iscsid            ##重啟
systemctl restart iscsi             ##重啟服務
iscsiadm -m discovery -t st -p 172.25.254.156  #發現服務
## -m discovery     ##偵測target
## -t sendtargets   ##通過iscsi協議(sendtargets可簡寫為st)
## -p IP:port       ##指定target的IP和port,不寫port的話,預設為3260

iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.201 -l       #登陸服務
fdisk -l          ##檢視磁碟分割槽

這裡寫圖片描述

這裡寫圖片描述
這裡寫圖片描述

fdisk /dev/sda          ##對sda磁碟進行分割槽
mkfs.xfs /dev/sda1      ##對sda磁碟的第一塊分割槽格式化為xfs檔案系統
mount /dev/sda1 /mnt    ##掛載使用
touch /mnt/clientfile   ##建立檔案
umount /mnt             ##解除安裝
iscsiadm -m node -T iqn.2017-12.com.example.storage1 -p 172.25.254.156 -u                 ##登出iSCSI目標,以暫時斷開連線。
iscsiadm -m node -T iqn.2017-12.com.example.storage1 -p 172.25.254.156 -o delete          ##刪除iSCSI目標的本地記錄,以永久斷開連線。
##此時共享磁碟已經分割槽並且做了檔案系統,當其他人使用的時候,不用再分割槽和格式化,直接掛載投入使用即可。

這裡寫圖片描述

如果遇到如下問題:
1.
[root@server ~]# iscsiadm -m node -T iqn.2017-12.com.example.storage1 -p 172.25.254.156 -l
Logging in to [iface: default, target: iqn.2017-12.com.example.storage1, portal: 172.25.254.156,3260] (multiple)
iscsiadm: Could not login to [iface: default, target: iqn.2017-12.com.example.storage1, portal: 172.25.254.156,3260].
iscsiadm: initiator reported error (24 - iSCSI login failed due to authorization failure)
iscsiadm: Could not log into all portals

解決方法:
1)檢查鑰匙是否正確
vim /etc/iscsi/initiatorname.iscsi
若是修改了檔案,需要重啟服務
[root@server ~]# systemctl restart iscsid
[root@server ~]# systemctl restart iscsi

2)刪除所有檔案,重新發現
[root@server ~]# yum install tree
[root@server ~]# tree /var/lib/iscsi/
/var/lib/iscsi/
├── ifaces
├── isns
├── nodes
│   └── iqn.2017-12.com.example.storage1
│       └── 172.25.254.156,3260,1
│           └── default
├── send_targets
│   └── 172.25.254.156,3260
│       ├── iqn.2017-12.com.example.storage1,172.25.254.156,3260,1,default -> /var/lib/iscsi/nodes/iqn.2017-12.com.example.storage1/172.25.254.156,3260,1
│       └── st_config
├── slp
└── static
[root@server ~]# rm -rf /var/lib/iscsi/nodes/*
[root@server ~]# rm -rf /var/lib/iscsi/send_targets/*
[root@server ~]# tree /var/lib/iscsi/
/var/lib/iscsi/
├── ifaces
├── isns
├── nodes
├── send_targets
├── slp
└── static
[root@server ~]# iscsiadm -m discovery -t st -p 172.25.254.156
[root@server ~]# iscsiadm -m node -T iqn.2017-12.com.example.storage1 -p 172.25.254.156 -l

2.
[root@server ~]# systemctl restart iscsi
Job for iscsi.service failed. See 'systemctl status iscsi.service' and 'journalctl -xn' for details.
解決方法:先重啟上層服務,再去重啟服務
[root@server ~]# systemctl restart iscsid
[root@server ~]# systemctl restart iscsi

3 客戶端開機自啟動掛載

客戶端
blkid           ##檢視裝置uuid
vim /etc/fstab
UUID="2995d026-b97d-4652-8ceb-e3242e4bdf1e"   /mnt  xfs  defaults,_netdev 0 0

## 通過網路共享,裝置名在不同主機上可能會發生漂移,但uuid是唯一的。因此通過uuid識別裝置是比較可靠的方式。
## 系統啟動會先讀取fstab內容掛載裝置,然後才開啟網路 。所以要用引數defaults,_netdev告訴系統,這塊裝置是網路裝置。防止系統因找不到此裝置而無法正常啟動。

這裡寫圖片描述

4 lvm磁碟共享

準備工作:

客戶端:
[[email protected]client ~]# iscsiadm -m node -T iqn.2017-12.com.example.storage1 -p 172.25.254.156 -u
[[email protected]client ~]# iscsiadm -m node -T iqn.2017-12.com.example.storage1 -p 172.25.254.156 -o delete
[[email protected]client ~]# tree /var/lib/iscsi/
/var/lib/iscsi/
├── ifaces
├── isns
├── nodes
├── send_targets
│   └── 172.25.254.156,3260
│       └── st_config
├── slp
└── static
[[email protected]client ~]# systemctl restart iscsid
[[email protected]client ~]# systemctl restart iscsi
伺服器:
[[email protected] ~]# targetcli 
/> clearconfig confirm=true     ##刪除
/> exit                         ##退出

正題開始: 先自行在服務端建立一個lvm分割槽

fdisk /dev/vdb (lvm標籤為8e)
pvcreate /dev/vdb1
vgcreate vg0 /dev/vdb1
vgdisplay                   ##檢視vg的詳細資訊
lvcreate -l 255 -n lv0 vg0  ## -l:指定 pe的個數

在服務端建立共享lvm磁碟:

[[email protected] ~]# targetcli 
/> /backstores/block create westos:storage1 /dev/vg0/lv0
/> /iscsi create iqn.2017-12.com.example:storage1
/> iscsi/iqn.2017-12.com.example:storage1/tpg1/acls create iqn.2017-12.com.example:key1
/> iscsi/iqn.2017-12.com.example:storage1/tpg1/luns create /backstores/block/westos:storage1 
/> iscsi/iqn.2017-12.com.example:storage1/tpg1/portals create 172.25.254.156
/> exit

這裡寫圖片描述

客戶端:

先修改密碼檔案,重啟服務,然後再去發現並登陸共享磁碟

[root@client ~]# vim /etc/iscsi/initiatorname.iscsi 
[root@client ~]# systemctl restart iscsid
[root@client ~]# systemctl restart iscsi
[root@client ~]# iscsiadm -m discovery -t st -p 172.25.254.156
[root@client ~]# iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.156 -l
[root@client ~]# fdisk -l
Disk /dev/sdb: 1069 MB, 1069547520 bytes, 2088960 sectors

這裡寫圖片描述
這裡寫圖片描述

服務端擴充套件lvm

重新劃分一個lvm分割槽,加入vg0,再將lv擴大

[root@server ~]# fdisk /dev/vdb
[root@server ~]# partprobe 
[root@server ~]# pvcreate /dev/vdb2
[root@server ~]# vgextend vg0 /dev/vdb2
[root@server ~]# lvextend -L 1500M -n /dev/vg0/lv0 

客戶端同步:

客戶端同步需要將共享磁碟解除安裝,再重新登陸即可

[root@client ~]# iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.156 -u
[root@client ~]# iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.156 -l
[root@client ~]# fdisk -l
Disk /dev/sdb: 1572 MB, 1572864000 bytes, 3072000 sectors

這裡寫圖片描述
這裡寫圖片描述

相關推薦

ISCSI網路儲存服務

iscsi是直接對裝置進行共享的服務 iscsi是一個供硬體裝置使用的、可在IP協議上層執行的SCSI指令集,是一種開放的基於IP協議的工業技術標準。該協議可以用TCP/IP對SCSI指令進行封裝,使得這些指令能夠通過基於P網路進行傳輸,從而實現S

第十六節課:第16,17章,Squid服務iscsi網路儲存

第十六章 squid總結: 正向代理:yum  安裝後清空防火牆即可正常使用,客戶端設定瀏覽器 透明正向代理:vim  /etc/squid/squid.conf                 &

centos 6.5環境利用iscsi搭建SAN網路儲存服務服務端target和客戶端initiator配置詳解

一、簡介 iSCSI(internet SCSI)技術由IBM公司研究開發,是一個供硬體裝置使用的、可以在IP協議的上層執行的SCSI指令集,這種指令集合可以實現在IP網路上執行SCSI協議,使其能夠在諸如高速千兆乙太網上進行路由選擇。iSCSI技術是一種新儲存技術,該技術

CentOS-7掛載iscsi網路儲存

// 安裝相關軟體,其中kmod-xfs、xfsprogs為xfs檔案系統的元件。 yum install binutils iscsi-initiator-utils kmod-xfs xfsprogs //啟動iscsi服務 service iscsi start //檢視儲存伺服器的iscsi是

CentOS7搭建iSCSI網路儲存

 最近做了一次儲存方面的方案,真正實施的時候發現有點蒙圈,基礎命令全忘,所以記錄下iSCSI配置方面的命令與步驟,備忘。伺服器端:Shell123456789101112131415161718192021222324252627282930yum-yinstall targetcli//建立目錄mkdir/

CentOS 7.x 下配置iSCSI網路儲存

一、iSCSI簡介 iSCSI(internet SCSI)技術由IBM公司研究開發,是一個供硬體裝置使用的、可以在IP協議的上層執行的SCSI指令集,這種指令集合可以實現在IP網路上執行SCSI協

配置iSCSI部署網路儲存

iSCSI( Internet Small Computer System Interface 網際網路小型計算機系統介面)是由IBM 下屬的兩大研發機構一一加利福尼亞AImaden和以色列Haifa研究中心共同開發的,是一個供硬體裝置使用的、可在IP協議上層執行的SCSI指令集,是一種開放的基於IP協議的工

linux下的網路儲存ISCSI

服務端 下載安裝服務 yum install targetcli.noarch -y fdisk /dev/vdb 關閉狀態不用啟動   通過命令新增共享裝置 進入targetcli   建立塊儲存 /backsto

如何建立網路檔案系統_檔案儲存服務

Amazon Web Services 誠聘精英。 Amazon Web Services (AWS) 是 Amazon.com 的一個充滿活力、不斷壯大的業務部門。我們現誠聘軟體開發工程師、產品經理、客戶經理、解決方案架構師、支援工程師、系統工程師以及設計師等人才。請訪問我

Linux的iscsi磁盤服務

iscsi一.iSCSI簡介iSCSI(Internet SCSI)支持從客戶端(發起端)通過IP向遠程服務器上的SCSI存儲設備(目標)發送SCSI命令。iSCSI限定名稱用於確定發起端和目標,並采用 iqn.yyyy.mm.{reverse domain}:label的格式。默認情況下,網絡通信是至iS

NFS共享儲存服務部署

utils 關閉防火墻 exports cbi water rpc 共享目錄 fff hat6 NFS是一種基於TCP/IP傳輸的網絡文件系統協議,最初由SUN公司開發,通過使用NFS協議,NFS客戶機可以向訪問本地目錄一樣訪問遠程NFS服務器中的共享資源。大多數負載均衡群

openstack-r版(rocky)搭建基於centos7.4 的openstack swift物件儲存服務

openstack-r版(rocky)搭建基於centos7.4 的openstack swift物件儲存服務 一 openstack-r版(rocky)搭建基於centos7.4 的openstack swift物件儲存服務 二 openstack-r版(rocky)搭建基於centos7.4 的ope

SpringBoot整合阿里雲OSS儲存服務

摘要:OSS可用於圖片、音視訊、日誌等海量檔案的儲存。各種終端裝置、Web網站程式、移動應用可以直接向OSS寫入或讀取資料,非常方便。本篇文章介紹如何在java的SpringBoot專案中,整個使用OSS服務,spring 專案也可以參考。 主要步驟如下: 前提是開通了阿里雲OSS服務,然後

iSCSI網路協議.學習筆記

Internet SCSI(iSCSI)是一種網路協議,使用TCP/IP網路來傳輸SCSI協議。它是代替FC(Fibre Channel-based,光纖通道) SAN的很好選擇。你可以在Linux下方便的管理、掛載、格式化iSCSI卷,它允許通過網路訪問SAN儲存裝置。   安裝步驟 1.

iscsi共享儲存的簡單配置和應用

1、環境介紹 SCSI(Small Computer System Interface)是塊資料傳輸協議,在儲存行業廣泛應用,是儲存裝置最基本的標準協議。從根本上說,iSCSI協議是一種利用IP網路來傳輸潛伏時間短的SCSI資料塊的方法,ISCSI使用乙太網協議傳送SCSI命令、響應和資料。ISCSI可以用我

阿里Oss物件儲存服務基本工具整合

一、引言 阿里的oss物件儲存伺服器,提供了儲存空間管理,檔案上傳下載,檔案管理,音訊與影象處理等常用操作,基本滿足中小企業對於檔案處理的需求,但官方提供的Api介面都是簡版,demo級別的,並不適合直接使用,故在下在工作之餘,對其常用Api進行封裝,整合為OssUtils工具類。 二、Os

搭建iscsi網路磁碟

前言傳統儲存分類:1,DAS技術(直連儲存)將儲存裝置通過scsi介面或光線通道直接連線到計算機上不能實現資料與其他主機的共享佔用伺服器作業系統資源,如cpu,io等資料量越大,效能越差 2,NAS技術(檔案系統儲存)Network-Attached Storage常見應用:samba,nfs網路儲存,提供

Cloud一分鐘 | 雲端儲存服務Dropbox Q3淨虧損580萬美元;阿里巴巴CEO張勇:雲端計算未來將成為公司“主營業務”...

Hello,everyone: 11月09日早,星期五,新的一天祝大家工作愉快! 一分鐘新聞時間: 雲端計算 中國聯通官微宣佈與雲上貴州簽署基礎設施協議:此前,中國電信天翼雲與雲上貴州已於6月底正式簽署《基礎設施協議》,這標誌著自今年2月28日

OpenStack雙節點部署—M Swift(物件儲存服務

Swift安裝 一、 環境配置 二、控制節點安裝並配置Swift 三、儲存節點安裝並配置Swift 四、建立並分發Ring 五、完成安裝 六、驗證swift操作 一、 環境配置 Co

OpenStack雙節點部署—M Cinder(塊儲存服務

Cinder安裝 一、 資料庫配置 二、 建立服務憑證和API端點 三、 安裝並配置Cinder元件 四、安裝配置儲存節點 五、驗證Cinder服務 一、 資料庫配置 Controller節