網絡存儲概述node
1、DAS(Direct Attached Storage直接附加存儲)數據庫
經過與計算機主板的I/O接口直接相連服務器
2、NAS(Network Attachment Storage網絡附加存儲)網絡
存儲的數據以文件的形式經過NFS或CIFS共享協議進行傳輸ide
爲客戶機分配存儲空間時一般採用共享文件夾的方式進行發佈工具
採用普通以太網,對速率、冗餘無特別要求性能
經過購買硬件NAS設備或安裝FreeNAS平臺可搭建NAS存儲設備spa
3、SAN(Storage Area Network存儲區域網絡)對象
存儲的數據以數據塊的形式經過iSCSI協議進行傳輸接口
SAN區域應採用獨立的物理鏈接
多采用高速光纖通道,對速率、冗餘性要求高
高可用性、可擴展性、易恢復性
4、iSCSI協議
1)iSCSI協議簡介
iSCSI協議是當前最流行的網絡存儲協議,能夠解決SCSI協議在鏈接的設備數目和鏈接距離方面的限制。用戶能夠像使用本地的硬盤同樣訪問網絡上任何位置的存儲資源,也能夠將原有的舊的分散的存儲資源整合成一個大的存儲池
2)iSCSI Cake與網絡鄰居共享有什麼不一樣?
網絡鄰居是文件級共享,iSCSI是裸設備級共享。網絡鄰居映射的盤不支持數據庫和運行某些遊戲,iSCSI支持全部磁盤操做和應用程序,並且iSCSI的性能要高於網絡鄰居。
3)配置iSCSI服務
iSCSI由服務端和客戶端兩部分組成,客戶端也稱爲啓動器
①iSCSI服務端也稱爲Target端,負責定義存儲對象、分配邏輯空間,須要安裝scsi-target-utils軟件包
②iSCSI客戶端也稱爲Initiator端,負責鏈接iSCSI設備,在iSCSI設備中建立文件系統和存取數據,須要安裝iscsi-initiator軟件包
實驗環境
爲服務器添加3塊2G的SCSI硬盤,組成一個RAID5磁盤陣列,並分配給客戶機使用
服務器:192.168.4.254
客戶機:192.168.4.22
1、配置iSCSI服務器
安裝scsi-target-utils軟件包以搭建iSCSI服務器,服務名爲tgtd,管理命令爲tgtadm
yum -y install scsi-target-utils
1、準備存儲設備
使用mdadm工具建立軟RAID陣列設備,此處使用三塊磁盤組建RAID 5陣列
fdisk –l
mdadm -Cv /dev/md0 -a yes -n3 -l5 /dev/sd[bcd]
mdadm -Q /dev/md0
將陣列配置保存爲/etc/mdadm.conf,以便重建或恢復時使用
mdadm -D /dev/md0 | grep UUID
vi /etc/mdadm.conf
1) 準備給iSCSI服務器的存儲設備不須要格式化,由於其並不在服務器中使用,而是由客戶機使用並進行格式化、掛載等操做
2)mdadm命令各選項含義:
-C,--create 建立新的RAID設備
-v 輸出詳細信息
-a yes 若對應的設備文件不存在則自動建立
-n,--raid-devices= 陣列所使用的磁盤數量
-l,--level= RAID級別
-Q,--query 查詢設備的RAID信息
-D,--detail 查詢RAID設備的詳細信息
-S,--stop 解散、中止/刪除RAID陣列
2、建立iSCSI對象
service tgtd start
netstat -ntpl | grep "tgt" (默認端口爲:3260)
tgtadm -L iscsi -o new -m target -t 1 -T iqn.2012-4.com.benet.y2:raid
tgtadm -L iscsi -o show -m target
1)iscsi對象命名規範: iqn.YYYY-mm.反向域名:識別標記
例:iqn.2012-4.com.benet.y2:raid
2)tgtadm命令各選項含義:
-L、--lld 指定驅動類型,如-L iscsi表示iSCSI存儲
-o、--op 指定操做類型,如-o new、-o delete、-o show
-m、--mode 指定管理目標,如-m target表示iSCSI對象、logicalunit表示LUN
-t、--tid 指定對象ID號,如-t 1表示第一個對象
-T、--targetname 指定iSCSI對象的名稱
3、爲客戶機分配存儲空間(LUN)
tgtadm -L iscsi -o new -m logicalunit -t 1 -l 1 -b /dev/md0
tgtadm -L iscsi -o bind -m target -t 1 -I 192.168.4.22
tgtadm -L iscsi -o show -m target
tgtdam命令分配LUN時各選項含義:
-l、--lun 指定LUN的ID號,如-l 1
-b、--backing-store 指定塊設備位置,如-b /dev/md0
-I、--initiator-address 指定客戶機地址,如-I 192.168.4.22
-m logicalunit 表示管理目標爲LUN
-o bind 表示綁定客戶機地址
4、保存target和LUN信息,以便重啓tgtd服務後仍然有效
vi /etc/tgt/targets.conf
chkconfig --level 35 tgtd on
注:iSCSI服務器必須先於客戶機啓動
2、配置iSCSI客戶機
安裝iscsi-initiator-utils軟件包以鏈接iSCSI設備存取數據,服務名爲iscsi,管理命令爲iscsiadm,將lsscsi軟件包也一併安裝,方便查看iSCSI設備
yum -y install iscsi-initiator-utils lsscsi
1、鏈接iSCSI設備
查找iSCSI設備
service iscsi start
iscsiadm -m discovery -t sendtargets -p 192.168.4.254
鏈接到指定的iSCSI存儲設備
iscsiadm -m node -T iqn.2012-4.com.benet.y2:raid --login
查看SCSI設備列表
lsscsi
鏈接成功後會自動建立配置文件並保存到/var/lib/iscsi/nodes/目錄下的子目錄中
iscsiadm命令各選項含義:
-m discovery 表示發現/查找
-t sendtargets 表示發佈的target,可縮寫爲-t st
-p ip:port 用來指定服務器的ip地址及tgtd服務監聽的端口
-m node 表示管理目錄爲節點
-T 用來指定要鏈接的iSCSI存儲對象
-l,--login 表示鏈接/登錄
--logout 表示斷開/登出
2、使用iSCSI設備
查看iscsi共享磁盤標識並進行分區
fdisk -l
fdisk /dev/sdb
partprobe /dev/sdb -----更新信息
fdisk -l /dev/sdb
mkfs -t ext4 /dev/sdb1 -----建立文件系統
mkdir /opt/data -----掛載文件系統
mount /dev/sdb1 /opt/data/
df -hT
3、保存iSCSI鏈接配置
chkconfig --level 35 iscsi on ----設置iscsi服務自啓動狀態
blkid /dev/sdb1 -----使用blkid 命令查看設備文件的UUID
vi /etc/fstab
重啓客戶機後將自動鏈接iSCSI設備,並掛載指定的網絡存儲文件系統。
注:①因爲iSCSI設備的特殊性,掛載時應啓用_netdev參數
②有時會因設備鏈接變更、引導順序等影響,致使iSCSI設備文件異常,所以經過設備文件的UUID來定位設備
③若是iSCSI服務器端與客戶端可相互ping通,但當iSCSI客戶端discover scsi-targets時,報錯「No route to host」,此時關閉iSCSI服務器端iptables防火牆或開放3260端口便可
④在Windows環境下也可經過某些軟件來實現iSCSI網絡存儲