SAN(Storage Area Networks,存儲局域網)

來源:本站原創 服務器技術 超過995 views圍觀 0條評論

一、SAN (Storage Area Networks, 儲存局域網絡)
我們知道單部主機能夠提供的插槽再怎么說也是有限的! 所以并不能無限制的安插磁盤在同一部實體主機上面。但是如果偏偏你就是有大量磁盤使用的需求,那時該如何是好? 這時就得要使用到 SAN 這玩意兒啦!
最簡單的看法,就是將 SAN 視為一個外接式的儲存設備。只是單純的外接式儲存設備僅能透過某些接口 (如 SCSI 或 eSATA) 提供單一部主機使用,而 SAN 卻可以透過某些特殊的接口或信道來提供局域網絡內的所有機器進行磁盤存取。要注意喔,SAN 是提供『磁盤 (block device)』給主機用,而不是像 NAS 提供的是『網絡協議的文件系統 (NFS, SMB…)』。因此,掛載使用 SAN 的主機會多出一個大磁盤,并可針對 SAN 提供的磁盤進行分割與格式化等動作。想想看,你能對 NAS 提供的文件系統格式化嗎?不行吧!這樣了解差異否?
另外,既然 SAN 可以提供磁盤,而 NAS 則是提供相關的網絡文件系統,那么 NAS 能不能通過網絡去使用 SAN 所提供的磁盤呢?答案當然是可以。因為 SAN 最大的目的就是在提供磁盤給服務器主機使用,NAS 也是一部完整的服務器, 所以 NAS 當然可以使用 SAN !同時其他的網絡服務器也能夠使用這個 SAN 來進行數據存取。
此外,既然 SAN 開發的目的是要提供大量的磁盤給用戶,那么傳輸的速度當然是非常重要的。因此,早期的 SAN 大多配合光纖信道 (Fibre Channel) 來提供高速的數據傳輸。目前標準的光纖信道是速度是 2GB ,未來還可能到達 10GB 以上呢~不過,使用光纖等技術較高的設備,當然就比較貴一些。
拜以太網絡盛行,加上技術成熟之賜,現今的以太網絡媒體 (網絡卡、交換器、路由器等等設備) 已經可以達到 GB 的速度了,離 SAN 的光纖信道速度其實差異已經縮小很多了,那么是否我們可以透過這個 GB 的以太網絡接口來連接到 SAN 的設備呢?這就是我們接下來要提到的 iSCSI 架構。
二、iSCSI界面
早期的企業使用的服務器若有大容量磁盤的需求時,通常是透過 SCSI 來串接 SCSI 磁盤,因此服務器上面必須要加裝 SCSI 適配卡,而且這個 SCSI 是專屬于該服務器的。后來這個外接式的 SCSI 設備被上述提到的 SAN 的架構所取代, 在 SAN 的標準架構下,雖然有很多的服務器可以對同一個 SAN 進行存取的動作,不過為了速度需求,通常使用的是光纖信道。 但是光纖信道就是貴嘛!不但設備貴,服務器上面也要有光纖接口,很麻煩~所以光纖的 SAN 在中小企業很難普及啊~
后來網絡實在太普及,尤其是以 IP 封包為基礎的 LAN 技術已經很成熟,再加上以太網絡的速度越來越快, 所以就有廠商將 SAN 的連接方式改為利用 IP 技術來處理。然后再透過一些標準的訂定,最后就得到 Internet SCSI (iSCSI) 這玩意的產生啦!iSCSI 主要是透過 TCP/IP 的技術,將儲存設備端透過 iSCSI target (iSCSI 目標) 功能,做成可以提供磁盤的服務器端,再透過 iSCSI initiator (iSCSI 初始化用戶) 功能,做成能夠掛載使用 iSCSI target 的客戶端,如此便能透過 iSCSI 協議來進行磁盤的應用了 (注3)。
也就是說,iSCSI 這個架構主要將儲存裝置與使用的主機分為兩個部分,分別是:
(1)iSCSI target:就是儲存設備端,存放磁盤或 RAID 的設備,目前也能夠將 Linux 主機仿真成 iSCSI target 了!目的在提供其他主機使用的『磁盤』;
(2)iSCSI initiator:就是能夠使用 target 的客戶端,通常是服務器。 也就是說,想要連接到 iSCSI target 的服務器,也必須要安裝 iSCSI initiator 的相關功能后才能夠使用 iSCSI target 提供的磁盤就是了。
三、使用iSCSI在ubuntu12.04環境下配置SAN。
(1)配置iSCSI Target
創建一個物理卷:
[email protected]:~# pvcreate /dev/sda
  Can’t open /dev/sda exclusively.  Mounted filesystem?
本次實驗中多次出現該問題,最后的解決方案如下:
[email protected]:~# multipath -l
1ATA     QEMU HARDDISK                           QM00001        dm-0 ATA,QEMU HARDDISK
size=8.0G features=’0′ hwhandler=’0′ wp=rw
`-+- policy=’round-robin 0′ prio=-1 status=active
  `- 0:0:0:0 sda 8:0   active undef running
[email protected]:~# multipath -F
[email protected]:~# multipath -l
[email protected]:~# pvcreate /dev/sda
  Physical volume "/dev/sda" successfully created
#查看物理卷
[email protected]:~# pvdisplay
  — Physical volume —
  PV Name               /dev/HARDDISK
  VG Name               vg_target00
  PV Size               8.00 GiB / not usable 32.00 MiB
  Allocatable           yes
  PE Size               32.00 MiB
  Total PE              255
  Free PE               63
  Allocated PE          192
  PV UUID               Vtghmp-pfX3-SDkF-TQoU-OGrL-LYmJ-6uzpZR
#創建一個名為“vg_target00”的卷組:

[email protected]:~# vgcreate -s 32M vg_target00 /dev/sda
    Volume group "vg_target00"successfully created
#查看邏輯組
[email protected]:~# vgdisplay
  — Volume group —
  VG Name               vg_target00
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               7.97 GiB
  PE Size               32.00 MiB
  Total PE              255
  Alloc PE / Size       192 / 6.00 GiB
  Free  PE / Size       63 / 1.97 GiB
  VG UUID               fYfkLL-0OoA-MwL4-WPFJ-Kfco-iRR5-QTJmLt
#創建一個名為“lv_target00”的邏輯卷
[email protected]:~# lvcreate -L 6G -n lv_target00 vg_target00
    Logical volume "lv_tgarget00"created
#查看邏輯卷
[email protected]:~# lvdisplay
  — Logical volume —
  LV Name                /dev/vg_target00/lv_target00
  VG Name                vg_target00
  LV UUID                MEXGqi-CezU-mMIT-igR9-YYTp-gqhd-6eURnn
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                6.00 GiB
  Current LE             192
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  – currently set to     256
  Block device           252:0
[email protected]:~# apt-get install iscsitarget iscsitarget-dkms
[email protected]:~#vim /etc/default/iscsitarget
#change
ISCSITARGET_ENABLE=true
[email protected]:~#vim /etc/iet/ietd.conf
#添加在最后
#命名規則:[ian.year-month.domain:any name]
Target iqn.2013-07.storage:target0
#提供作為iSCSI target的設備
        Lun 0 Path=/dev/vg_target00/lv_target00,Type=blockio
#你允許連接的iSCSI initiatro的IP地址
        initiator-address 192.168.3.123 192.168.3.22
#Target用來認證initiator消息
        incominguser username password
[email protected]:~#service iscsitarget restart
* Removing iSCSI enterprise target devices:                                                             [ok]
* Stopping iSCSI enterprise target service:                                                               [ok]
* Removing iSCSI enterprise target devices:                                                             [ok]
* Starting iSCSI enterprise target service                                                                 [ok]
#驗證狀態
[email protected]:~# ietadm –op show –tid=1
Wthreads=8
Type=0
QueuedCommands=32
NOPInterval=0
NOPTimeout=0
(2)配置iSCSI Initiator
[email protected]:~# apt-get install open-iscsi
[email protected]:~# vi /etc/iscsi/iscsid.conf
line number 39,43,44
37 # To enable CHAP authentication set node.session.auth.authmethod
38 # to CHAP. The default is None.
39 node.session.auth.authmethod = CHAP
40
41 # To set a CHAP username and password for initiator
42 # authentication by the target(s), uncomment the following lines:
43 node.session.auth.username = mq
44 node.session.auth.password = [email protected]
#發現target
[email protected]:~# iscsiadm -m discovery -t sendtargets -p 192.168.3.51
192.168.3.51:3260,1 iqn.2013-07.storage:target0
#發現后確認狀態
[email protected]:~# iscsiadm -m node -o show
# BEGIN RECORD 2.0-871
node.name = iqn.2013-07.storage:target0
node.tpgt = 1
node.startup = manual
iface.hwaddress = <empty>
iface.ipaddress = <empty>
iface.iscsi_ifacename = default
iface.net_ifacename = <empty>
iface.transport_name = tcp
iface.initiatorname = <empty>
node.discovery_address = 192.168.3.51
node.discovery_port = 3260
node.discovery_type = send_targets
node.session.initial_cmdsn = 0
node.session.initial_login_retry_max = 8
node.session.xmit_thread_priority = -20
node.session.cmds_max = 128
node.session.queue_depth = 32
node.session.auth.authmethod = CHAP
node.session.auth.username = mq
node.session.auth.password = ********
node.session.auth.username_in = <empty>
node.session.auth.password_in = <empty>
node.session.timeo.replacement_timeout = 120
node.session.err_timeo.abort_timeout = 15
node.session.err_timeo.lu_reset_timeout = 20
node.session.err_timeo.host_reset_timeout = 60
node.session.iscsi.FastAbort = Yes
node.session.iscsi.InitialR2T = No
node.session.iscsi.ImmediateData = Yes
node.session.iscsi.FirstBurstLength = 262144
node.session.iscsi.MaxBurstLength = 16776192
node.session.iscsi.DefaultTime2Retain = 0
node.session.iscsi.DefaultTime2Wait = 2
node.session.iscsi.MaxConnections = 1
node.session.iscsi.MaxOutstandingR2T = 1
node.session.iscsi.ERL = 0
node.conn[0].address = 192.168.3.51
node.conn[0].port = 3260
node.conn[0].startup = manual
node.conn[0].tcp.window_size = 524288
node.conn[0].tcp.type_of_service = 0
node.conn[0].timeo.logout_timeout = 15
node.conn[0].timeo.login_timeout = 15
node.conn[0].timeo.auth_timeout = 45
node.conn[0].timeo.noop_out_interval = 5
node.conn[0].timeo.noop_out_timeout = 5
node.conn[0].iscsi.MaxRecvDataSegmentLength = 262144
node.conn[0].iscsi.HeaderDigest = None
node.conn[0].iscsi.DataDigest = None
node.conn[0].iscsi.IFMarker = No
node.conn[0].iscsi.OFMarker = No
# END RECORD
#登陸target
[email protected]:~# iscsiadm -m node –login
Logging in to [iface: default, target: iqn.2013-07.storage:target0, portal: 192.168.3.51,3260]
Login to [iface: default, target: iqn.2013-07.storage:target0, portal: 192.168.3.51,3260]: successful
#確認會話
[email protected]:~# iscsiadm -m session -o show
tcp: [1] 192.168.3.51:3260,1 iqn.2013-07.storage:target0
#確認磁盤
[email protected]:~# cat /proc/partitions
major minor  #blocks  name
253        0    8388608 vda
253        1    7339008 vda1
253        2          1 vda2
253        5    1046528 vda5
   8        0    6291456 sda
[email protected]:~# fdisk -l
Disk /dev/vda: 8589 MB, 8589934592 bytes
16 heads, 63 sectors/track, 16644 cylinders, total 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00068e53
   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    14680063     7339008   83  Linux
/dev/vda2        14682110    16775167     1046529    5  Extended
/dev/vda5        14682112    16775167     1046528   82  Linux swap / Solaris
Disk /dev/sda: 6442 MB, 6442450944 bytes
199 heads, 62 sectors/track, 1019 cylinders, total 12582912 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/sda doesn’t contain a valid partition table
#可以看到target提供的磁盤已經分享過來:/dev/sda
四、注銷iSCSI initiator登錄

不需要時可以注銷iSCSI initiator登錄,先umount文件系統,再把第四步命令的login參數改成logout執行即可:

    $ sudo umount /mnt/iscsi

    $ sudo iscsiadm –mode node –targetname iqn.2013-07.storage:target0 –portal 192.168.3.51:3260 –logout
五、刪除指定Target

    用logout只是暫時登出,發現的target信息會保存在數據庫中,下次重啟iscsi服務時(service iscsi restart),仍會找回該Target卷。如果想從數據庫中刪除該Target,需用以下命令:

查詢數據庫中Target內容:

   $ sudo iscsiadm -m node

刪除指定的Target:

   $ sudo iscsiadm –mode node -o delete –targetname iqn.2013-07.storage:target0 –portal 192.168.3.51:3260

文章出自:CCIE那點事 http://www.qdxgqk.live/ 版權所有。本站文章除注明出處外,皆為作者原創文章,可自由引用,但請注明來源。 禁止全文轉載。
本文鏈接:http://www.qdxgqk.live/?p=3350轉載請注明轉自CCIE那點事
如果喜歡:點此訂閱本站
  • 相關文章
  • 為您推薦
  • 各種觀點
?
暫時還木有人評論,坐等沙發!
發表評論

您必須 [ 登錄 ] 才能發表留言!

?
?
萌宠夺宝游戏 球探nba蓝球比分 极速11选5微信计划群 零基础自学什么赚钱 云南十一选五前三直走势图 天空彩票 波克棋牌官方下载 足球技巧 股票配资排名·选杨方配资给力 甘肃十一选五前三值走势图 当主播订阅赚钱吗 湖北11选5网上卖吗 双色球红球尾数子墨 北京股票配资 新疆十一选五预测软件 山东电视台体彩直播现场 腾游棋牌游戏平台