構建iscsi網絡存儲服務

網絡存儲概述:

? ?隨著企業中數據信息的不斷增長,尤其當成百上千TB的數據需要備份、恢復,以及面臨著擴容、災難恢復等需求時,DAS(直接附加存儲,就是通過與計算機主板的I/O接口,如IDESCSI相連接由本機操作系統負責讀寫及管理)方式使得數據的管理與維護日益困難。正因為如此,網絡存儲技術應運而生,其最常見的就是NASSAN。

SANstorage area network,存儲區域網絡)

SAN是通過光纖交換機、光纖路由器等設備將磁盤陣列、磁帶機或獨立的ISCSI設備與服務器連接,構成一個高速存儲子網,存儲的數據以數據塊的形式通過ISCSI協議進行傳輸,從而優于普通的IP包傳輸。

NAS(network attachment storage,網絡附加存儲)

NAS存儲設備相當于一臺獨立的服務器,設備本身帶有操作系統,也擁有網絡接口,因此不依賴于其他服務器,在NAS設備中為客戶機分配存儲空間時,通常采用共享文件夾的方式進行發布,存儲的數據以文件的形式進行傳輸,采用CIFS或者NFS等協議。

iscsiiscsi= internet Small Computer System Interface?

是由IEETF開發的網絡存儲標準,目的是為了用IP協議將存儲設備連接在一起。通過在IP網上傳送SCSI命令和數據,ISCSI推動了數據在網際之間的傳遞,同時也促進了數據的遠距離管理。由于其出色的數據傳輸能力,ISCSI協議被認為是促進存儲區域網(SAN)市場快速發展的關鍵因素之一。因為IP網絡的廣泛應用,?ISCSI能夠在LANWAN甚至internet上進行數據傳送,使得數據的存儲不再受地域的限制。


一、構建iscsi服務器

? ?ISCSI服務器通常也稱為Target端,負責定義存儲對象、分配邏輯空間LUNLogical Unit,邏輯單元)。在RHEL6服務器中需要安裝scsi-target-utils軟件包,對應的系統服務為tgtd,命令行管理工具為tgtadm。因此需要安裝相應的軟件包,安裝如下:

1
[root@nas /]#yum -y install scsi-target-utils

? ?下面依次講解配置ISCSI的主要過程:準備存儲設備、創建ISCSI對象、為客戶機分配存儲空間,客戶機使用ISCSI

? ?此處所說的存儲設備指將要分配給某一個客戶機使用的設備文件,在RHEL6系統中,硬盤、分區、邏輯卷、軟RAID等都可以用作ISCSI服務的存儲設備,為了延續磁盤空間的可擴展性,建議以一個邏輯卷為單位分配給客戶機使用,對于個別有特殊要求的客戶機,也可以將一個軟RAID陣列分配出去。

1、準備存儲設備

這里將Target主機一個邏輯卷作為iSCSI共享磁盤,共享給一臺linux主機使用。創建一個邏輯卷,名為lv00,將來分配給客戶機使用。如下圖所示:

1
2
3
4
5
6
7
8
[root@nas /]#pvcreate /dev/sdb /dev/sdc /dev/sdd???//創建物理卷
??Physical volume?"/dev/sdb"?successfully created
??Physical volume?"/dev/sdc"?successfully created
??Physical volume?"/dev/sdd"?successfully created
[root@nas /]#vgcreate vg00 /dev/sdb /dev/sdc /dev/sdd???//創建卷組
??Volume group?"vg00"?successfully created
[root@nas /]#lvcreate -L?30?-n lv00 vg00???//創建邏輯卷
??Logical volume?"lv00"?created

2、創建iscsi對象

? ?根據iscsi定義的規范,Target的命名格式為“iqn.YYYY-mm.反向域名:識別標記”,其中YYYY-mm表示年月,方向域名建議為服務器FQDN的倒序,識別標記是用戶自定義的字符串(以便區分)。例如:作者前面創建的LVM卷可以使用對象名為“iqn.2013-09.com.yunqn.www:lvm”。

使用tgtadm工具創建iscsi對象時,主要命令選項如下所述:

-L,--lld:指定驅動類型,如“-L iscsi”表示iscsi存儲。

-o,--op:指定操作你類型,如“-o new”表示創建,“-o delete”表示刪除。

-m,--mode:指定管理目標,如“-m target”表示iscsi對象。

-t,--tid:指定對象ID號,如“-t 1”表示第一個對象。

-T,--targetname:指定iscsi對象名稱, 應符合“iqn.YYYY-mm.反向域名:識別標記”規范。

下面以剛才創建的LVM卷為例,來創建一個iscsi對象。如下:創建之前需要先啟動tgtd服務,并設置系統啟動時自動啟動,iscsi通信的端口:3260/tcp,以明文傳輸數據。

1
2
3
4
[root@nas /]#service tgtd start
[root@nas /]#netstat -anpt | grep tgt
tcp????0???0?0.0.0.0:3260????0.0.0.0:*??? LISTEN????????20353/tgtd
[toot@nas /]#tgtadm -L iscsi -o?new?-m target -t?1?-T iqn.2013-09.com.yunqn.www:lvm

3、為客戶端分配存儲空間

? ?創建好iscsi對象后,就可以在存儲對象中為客戶機分配可用空間了。使用tgtadm工具時,只要命令選項如下所述:

-l,--lun:指定LUN的ID號,如“-l 1”表示第一個LUN。

-b,--backing-store:指定塊設備位置,如“-b /dev/vg00/lv00”。

-l,--initiator-address:指定客戶機地址,如“-l 192.168.1.10”。

下面以前面準備的邏輯卷“lv00”為例,將其掛在到剛才我們新建的iscsi對象上,并指定給客戶機192.168.1.10的主機使用。其中選項“-m logicalunit”可簡寫為“-m lu”,“--lld”可簡寫為“-L”。

1
2
[root@nas /]#tgtadm --lld iscsi -o?new?-m logicalunit -t?1?-l?1?-b /dev/vg00/lv00
[root@nas /]#tgtadm --lld iscsi -o bind -m target -t?1?-I?192.168.1.10

完成上述配置以后,可以使用target命令,結合相關參數來查看iscsi對象的信息。如下:

1
[root@nas /]#tgtadm -L iscsi -o show -m target

4、保存配置,并設置開機自動加載。

修改文件“/etc/tgt/targets.conf”,將target、LUN信息保存為靜態配置,以便在重啟tgtd服務后仍然有效。為了保證客戶機正常使用,tgtd服務應該自動啟用,另外,iscsi服務器系統應先于客戶機啟動。

1
2
3
4
5
6
7
[root@nas /]#vim /etc/tgt/targets.conf
...//省略部分內容
<target iqn.2013-09.com.yunqn.www:lvm>
????backing-store /dev/vg00/lv00
????initiator-address?192.168.1.10
</target>
<root@nas />#chkconfig --level?35?tgtd on

注意:大家也可以省略“創建iscsi對象”和“為客戶端分配存儲空間”,而直接將配置寫到配置文件“targets.conf”中,然后重啟tgtd服務加載配置文件即可生效。


二、客戶端使用iscsi存儲設備

? ?iscsi客戶機也稱為initiator端,負責連接iscsi設備,在iscsi設備中創建文件系統,以及存儲數據。在RHEL 6客戶機中需要安裝iscsi-initiator-utils軟件包,對應的系統服務為iscsi,命令管理工具為iscsiadm。

1
[root@nas /]#yum -y install iscsi-initiator-utils lsscsi

1、發現并連接iscsi設備

? ?使用iscsiadm工具之前,先啟動iscsi服務。查找iscsi設備可以參考以下命令操作選項:

-m discovery:表示發現/查找。

-t sendtargets:表示發布的target。

-p ip:port:用來指定服務器的IP地址以及tgtd的監聽端口。

1
2
3
4
5
6
[root@nas /]#service iscsi start
[root@nas /]#iscsiadm -m discovery -t sendtargets -p?192.168.1.1?//查找iscsi對象
192.168.1.1:3260,1?iqn.2013-09.com.yunqn.www:lvm
[root@nas /]#iscsiadm -m node -T iqn.2013-09.com.yunqn.www:lvm --login?//連接iscsi對象
Logging?in?to [iface:default,target:iqn.2013-09.com.yunqn.www:lvm,portal:192.168.1.1,3260]
Logging to [iface:default,target:iqn.2013-09.com.yunqn.www:lvm,portal:192.168.1.1,3260] successful

注意:看到“Login to...successful”表示連接成功了,而后面的“--login”表示連接iscsi設備,如果是“--logout”表示斷開已連接的iscsi設備。

2、使用iscsi存儲設備

當成功連接iscsi到設備時,此時的iscsi設備就好像本地服務器的磁盤一樣了,正常使用前需要將其分區,格式化,掛載等一系列動作。只有當iscsi服務器分配給客戶機的LUN是一整塊物理硬盤,而且此硬盤中已經包含了分區表,文件系統時,客戶機才可以直接使用。

1
2
3
4
5
6
7
[root@nas /]#fdisk -l???//查看鏈接的iscsi設備
[root@nas /]#fdisk -l /dev/sdc???//將連接的iscsi設備進行分區
...//省略部分內容
[root@nas /]#partprobe /dev/sdc
[root@nas /]#mkfs -t ext4 /dev/sdc1??//格式化新建的分區
[root@nas /]#mkdir /opt/data
[root@nas /]#mount /dev/sdc1 /opt/data???//掛載新建的分區

3、保存iscsi連接配置

? ?為了是iscsi存儲設備使用正常,客戶機應確保iscsi服務能夠自動啟用,并將掛載iscsi設備中文件系統的操作寫入“/etc/fstab”文件中。由于iscsi設備的特殊性,fstab文件中的配置記錄應啟用“_netdev”掛載參數,表示這是一個網絡設備。

1
2
3
4
[root@nas /]#chkconfig --level?35?iscsi on
[root@nas /]#vim /etc/fstab
...//省略部分內容
/dev/sdc1??? /opt/data??? ext4??? defaults,_netdev????0?0

也可以使用“blkid /dev/sdc1”命令查出“sdc1”的UUID,使用UUID代替fstab文件中的“/dev/sdc1”,這樣更有安全保障。


保存上述配置以后,重新啟動客戶機后將自動連接iscsi對象,并掛載指定的網絡存儲文件系統。



本文轉自yun5277 51CTO博客,原文鏈接:http://blog.51cto.com/dengqi/1293971,如需轉載請自行聯系原作者

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

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

相關文章

10個python辦公黑科技,助你辦公效率提高100倍

1946年&#xff0c;世界上第一臺通用計算機“ENIAC”在美國賓夕法尼亞大學誕生&#xff1b;“ENIAC”占地170平方米&#xff0c;重達30噸&#xff0c;耗電功率約150千瓦&#xff0c;每秒鐘可進行5000次運算&#xff0c;這個龐然大物用于美國國防部進行彈道計算。 在當時&#…

Flutter之Container

1、Container介紹 我們先看它的構造方法 Container({Key key,this.alignment,this.padding, //容器內補白&#xff0c;屬于decoration的裝飾范圍Color color, // 背景色Decoration decoration, // 背景裝飾Decoration foregroundDecoration, //前景裝飾double width,//容器的寬…

關于jQuery.query.js 取參數的一個小問題

形如&#xff1a;http://localhost:10864/srch.htm?keys&type1 這樣的地址&#xff0c;如果我們要取keys的參數&#xff1a; var srchKey $.query.get("keys"); 那么得到的將是‘true’ &#xff0c;而不是空客串&#xff0c;這常常不是我們想要的 。 修正辦法…

安卓模擬器獲取服務器信息出錯,安卓模擬器客戶端與服務器不同步

安卓模擬器客戶端與服務器不同步 內容精選換一換目前從本地或虛擬機通過DRS備份遷移功能直接遷移到本云RDS for SQL Server實例上&#xff0c;在遷移完成后還需要針對Login賬號&#xff0c;DBLink&#xff0c;AgentJOB&#xff0c;關鍵配置進行識別&#xff0c;并手動完成相關同…

Blazor University (24)路由 —— 可選路由參數

原文鏈接&#xff1a;https://blazor-university.com/routing/optional-route-parameters/可選路由參數Blazor 不明確支持可選路由參數&#xff0c;但可以通過在組件上添加多個 page 聲明輕松實現等效。例如&#xff0c;更改標準 Counter.razor 頁面以添加額外的 URL。page &qu…

【無人機組裝與調試】第六章 電調、電池、電機

【無人機組裝與調試】系列課程全集: 第一章 概述 第二章 關于新西達30A電調說明書的問題 第三章 舵機安裝與調整 第四章 F450四軸裝機實例-選擇機型、需要的器材工具材料 第五章 無人機遙控器 第六章 電調、電池、電機 一、電調 6.1.1 電調的概念 電調,全稱電子調速器,英…

關于tomcat和sessionCookieName和SESSION_PARAMETER_NAME以及disableURLRewriting參數原理和使用...

關于tomcat和sessionCookieName和SESSION_PARAMETER_NAME以及disableURLRewriting參數 關于session和cookie參考&#xff1a; http://www.blogjava.net/freeman1984/archive/2011/09/02/357833.html http://www.blogjava.net/freeman1984/archive/2010/09/09/331501.html http:…

我讓代碼生了個孩子繼承了他爸爸誰知他爸爸繼承了他爺爺(16)

本系列文章將會以通俗易懂的對話方式進行教學&#xff0c;對話中將涵蓋了新手在學習中的一般問題。此系列將會持續更新&#xff0c;包括別的語言以及實戰都將使用對話的方式進行教學&#xff0c;基礎編程語言教學適用于零基礎小白&#xff0c;之后實戰課程也將會逐步更新。 若…

linux之lrzsz

1、lrzsz介紹 我們利用lrzsz進行windows和linux間的文件上傳下載 2、安裝 在ubuntu系統下 sudo apt-get install lrzsz 在centos系統下 yum install lrzsz 3、使用 1)、windows上傳文件到linux環境,使用如下命令 rz

POJ 1611 The Suspects (并查集)

The Suspects題目鏈接&#xff1a; http://acm.hust.edu.cn/vjudge/contest/123393#problem/B Description 嚴重急性呼吸系統綜合癥( SARS), 一種原因不明的非典型性肺炎,從2003年3月中旬開始被認為是全球威脅。為了減少傳播給別人的機會, 最好的策略是隔離可能的患者。 在Not-…

Android幀緩沖區(Frame Buffer)硬件抽象層(HAL)模塊Gralloc的實現原理分析(2)...

函數load也是實現在文件hardware/libhardware/hardware.c文件中&#xff0c;如下所示&#xff1a; static int load(const char *id, const char *path, const struct hw_module_t **pHmi) { int status; void *handle; struct hw_module_t …

Win8消費者預覽版下載地址 包含中文下載地址及中文手冊

Win8消費者預覽版下載地址&#xff08;32位英文版&#xff09;&#xff1a; http://ak.or.esd.microsoft.com/pr/WCPDL/8A9D4FDFF736C5B1DBF956B89D6C8FDFD925DACD2/Windows8-ConsumerPreview-32bit-English-x1794225.esd Win8消費者預覽版下載地址&#xff08;64位英文版&…

VS2019社區版(Community)試用30天過期的有效解決辦法

VS2019社區版是免費的&#xff0c;前提是你得登陸自己的賬戶&#xff0c;如果一開始安裝時沒有登陸&#xff0c;那么就會只有30天有效期。此時&#xff0c;需要我們登陸微軟賬號&#xff0c;重新驗證即可。 登陸微軟賬號&#xff0c;即可繼續免費試用。

【萬字長文】使用 LSM Tree 思想實現一個 KV 數據庫

目錄設計思路內存表WALSSTable 的結構SSTable 元素和索引的結構SSTable Tree內存中的 SSTable數據查找過程何為 LSM-Treee參考資料整體結構實現過程文件壓縮測試插入測試加載測試查找測試SSTable 結構SSTable 文件結構SSTable Tree 結構和管理 SSTable 文件讀取 SSTable 文件SS…

linux之安裝mysql提示Error: Unable to find a match: mysql-community-server

1 問題 在centos系統下安裝mysql,命令如下 yum -y install mysql-community-server 提示錯誤如下 [root@iZm5e6dk6exl71zbx327zvZ mysql]# yum -y install mysql-community-server MySQL Connectors Community …

記錄部件中GetFieldControlByFieldName(字段值樣式設置)用法

度量快速開發平臺中&#xff0c;記錄部件上&#xff0c;不單是字段名稱可以設置樣式&#xff0c;要填入內容的方框也可以設置樣式。通過獲取記錄部件上某一個字段的輸入控件&#xff0c;在二次開發中不常用。該方法只有一個參數&#xff0c;即要獲取對象的字段&#xff0c;需要…

C/C++/Linux工程師學習資料干貨路線這都有,從入門到實戰!【CSDN寶藏資料圖鑒第二期】

若是大一學子或者是真心想學習剛入門的小伙伴可以私聊我&#xff0c;若你是真心學習可以送你書籍&#xff0c;指導你學習&#xff0c;給予你目標方向的學習路線&#xff0c;無套路&#xff0c;博客為證。 前言 CSDN 是全球知名的開發者社區&#xff0c;創建于1999年&#xff…

你要的來了:ArcGIS空間插值分析方法權威解讀

插值問題的提出??? 一、趨勢面 Trend is a global polynomial interpolation that fits a smooth surface defined by a mathematical function (a

Socket解決粘包問題2

在AsynServer中對接收函數增加接收判斷&#xff0c;如果收到客戶端發送的請求信息&#xff0c;則發送10個測試包給發送端&#xff0c;否則繼續接收&#xff0c;修改后的接收代碼如下&#xff1a; private void AsynReceive(){byte[] data new byte[1024];//接收緩存string rec…

C# WebBrowser 取 window.open 新窗口 url的方法

System.Windows.Forms.WebBrowser wb; //WebBrowser 對象wb.NewWindow new CancelEventHandler(wb_NewWindow);wb.DocumentCompleted delegate{ #region 處理window.open新開窗口的問題System.Windows.Forms.HtmlElement html wb.Document.CreateElemen…