集羣與存儲

集羣

iscsi 共享
數據完整性,安全性、協議
存儲是根據不同的應用環境通過採取合理、安全、有效的方式將數據保存到某些介質上並能保證有效的訪問一方面它是數據臨時或長期駐留的物理媒介,另一方面,它是保證數據完整安全存放的方式或行爲,存儲就是把這兩個方面結合起來,向客戶提供一套數據存放解放方案。
存儲技術分類:
scsi小型計算機系統接口:作爲輸入/輸出接口,請要用於硬盤、光盤、磁帶機等設備。
DAN直連式存儲
共享存儲:
1.NAS技術:數據存儲服務器,大小是固定的。通過相應的網絡服務共享出來,可以通過http,cifs,nfs等網絡共享。用戶通過TCP/IP協議訪問數據。
協議,網絡協議的簡稱,網絡協議是通信計算機雙方必須共同遵從的一組約定。如怎麼樣建立連接、怎麼樣互相識別等。只有遵守這個約定,計算機之間才能相互通信交流。它的三要素是:語法、語義、時序。
爲了使數據在網絡上從源到達目的,網絡通信的參與方必須遵循相同的規則,這套規則稱爲協議(protocol),它最終體現爲在網絡上傳輸的數據包的格式。
協議往往分成幾個層次進行定義,分層定義是爲了使某一層協議的改變不影響其他層次的協議。
網絡協議,也可簡稱協議,通常由三要素組成:
(1)語法:即數據與控制信息的結構或格式;
(2)語義:即需要發出何種控制信息,完成何種動作以及做出何種響應;
(3)時序(同步),即事件實現順序的詳細說明。
2.SAN技術:存儲區域網絡,通過傳輸介質傳輸。可以通過光纖,雙絞線等,不受距離的限制。直接通過網線連接。數據是被封裝成ip包。
網絡傳輸介質是指在網絡中傳輸信息的載體,常用的傳輸介質分爲有線傳輸介質和無線傳輸介質兩大類。不同的傳輸介質,其特性也各不相同,它們不同的特性對網絡中數據通信質量和通信速度有較大影響。
有線傳輸介質是指在兩個通信設備之間實現的物理連接部分,它能將信號從一方傳輸到另一方,有線傳輸介質主要有雙絞線、同軸電纜和光纖。雙絞線和同軸電纜傳輸電信號,光纖傳輸光信號。
無線傳輸的介質有:無線電波、紅外線、微波、衛星和激光。在局域網中,通常只使用無線電波和紅外線作爲傳輸介質。無線傳輸介質通常用於廣域互聯網的廣域鏈路的連接。
無線傳輸的優點在於安裝、移動以及變更都較容易,不會受到環境的限制。但信號在傳輸過程中容易受到干擾和被竊取,且初期的安裝費用較高。
3.iscsi技術:

iscsi技術應用

對象:對象是類的一個實例(對象不是找個女朋友),有狀態和行爲。例如,一條狗是一個對象,它的狀態有:顏色、名字、品種;行爲有:搖尾巴、叫、吃等。
類:類是一個模板,它描述一類對象的行爲和狀態。
注:配置iscsi前要關閉防火牆和NetworkManager
json輕量級文本數據交換格式
JSON 語法規則
JSON 語法是 JavaScript 對象表示法語法的子集。
數據在名稱/值對中
數據由逗號分隔
花括號保存對象
方括號保存數組
JSON 名稱/值對
JSON 數據的書寫格式是:名稱/值對。
名稱/值對包括字段名稱(在雙引號中),後面寫一個冒號,然後是值:
"firstName" : "John"
這很容易理解,等價於這條 JavaScript 語句:
firstName = "John"
JSON 值
JSON 值可以是:
數字(整數或浮點數)
字符串(在雙引號中)
邏輯值(true 或 false)
數組(在方括號中)
對象(在花括號中)
null
JSON 對象
JSON 對象在花括號中書寫:
對象可以包含多個名稱/值對:
{ "firstName":"John" , "lastName":"Doe" }
這一點也容易理解,與這條 JavaScript 語句等價:
firstName = "John"
lastName = "Doe"
JSON 數組
JSON 數組在方括號中書寫:
數組可包含多個對象:
{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
在上面的例子中,對象 "employees" 是包含三個對象的數組。每個對象代表一條關於某人(有姓和名)的記錄。
JSON 使用 JavaScript 語法
因爲 JSON 使用 JavaScript 語法,所以無需額外的軟件就能處理 JavaScript 中的 JSON。
通過 JavaScript,您可以創建一個對象數組,並像這樣進行賦值:
例子
var employees = [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" }
];
可以像這樣訪問 JavaScript 對象數組中的第一項:
employees[0].lastName;
返回的內容是:
Gates
可以像這樣修改數據:
employees[0].lastName = "Jobs";
JSON 文件
JSON 文件的文件類型是 ".json"
JSON 文本的 MIME 類型是 "application/json"

配置iscsi
步驟一:安裝iSCSI服務器軟件

1)使用yum安裝targetcli軟件包

[root@proxy ~]# yum  -y  install  targetcli
.. ..
[root@proxy ~]# yum info targetcli

步驟二:通過命令行配置iSCSI服務
2)使用targetcli定義後端存儲

[root@proxy ~]# targetcli
/> ls
/> backstores/block create store /dev/vdb1
備註:store爲任意名稱

3)創建iqn對象

/> /iscsi create iqn.2018-01.cn.tedu:server1

4) 授權客戶機訪問

/> iscsi/iqn.2018-01.cn.tedu:server1/tpg1/acls create iqn.2018-01.cn.tedu:client1

5) 綁定存儲

/>iscsi/iqn.2018-01.cn.tedu:server1/tpg1/luns create /backstores/block/iscsi_store 

6) 存儲綁定服務監聽的地址,並保存配置

/> iscsi/iqn.2018-01.cn.tedu:server1/tpg1/portals/ create 0.0.0.0
/> saveconfig 
/> exit

步驟三:服務管理

1)啓動服務

[root@proxy ~]# systemctl  {start|restart|stop|status} target
[root@proxy ~]# systemctl enable target

2)查看端口信息

[root@proxy ~]# ss -tlnp | grep :3260

3)關閉防火牆與SELinux

[root@proxy ~]# systemctl stop firewalld
[root@proxy ~]# setenforce 0

步驟四:客戶端訪問

1)客戶端安裝軟件並啓動服務

[root@client ~]# yum -y install iscsi-initiator-utils
[root@client ~]# systemctl restrt iscsi

2)設置本機的iqn名稱

[root@client ~]# vim /etc/iscsi/initiatorname.iscsi 
InitiatorName=iqn.2018-01.cn.tedu:client1
注意:必須跟服務器上配置的ACL一致!

3)發現遠程target存儲

提示:參考man iscsiadm!

[root@client ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.4.5 –discover
[root@client ~]# iscsiadm --mode node --targetname iqn.2018-01.cn.tedu:server1 --portal 192.168.4.5:3260 --login

3)客戶端掛載iSCSI共享

[root@client ~]# systemctl restart iscsi 
[root@client ~]# lsblk

4)分區、格式化、掛載

[root@client ~]# parted /dev/sdb mklabel gpt
[root@client ~]# parted /dev/sdb mkpart primary 1 800
[root@client ~]# mount /dev/sdb1  /mnt

man iscsiadm
Discover targets at a given IP address:

        iscsiadm --mode discoverydb --type sendtargets --portal 192.168.1.10 --discover

發現設備
Login, must use a node record id found by the discovery:

        iscsiadm --mode node --targetname iqn.2001-05.com.doe:test --portal 192.168.1.1:3260 --login=-l

登入設備
Logout:

        iscsiadm --mode node --targetname iqn.2001-05.com.doe:test --portal 192.168.1.1:3260 --logout=-u

登出設備相當於卸載

設備文件管理方法

devfs
linux 早期採用的靜態管理方法
/dev目錄下有大量靜態文件
內核版本2.6.13開始被完全取代
udev
只有連到系統上來的設備纔在/dev下創建設備文件
與主、次設備編號無關
爲設備提供持久、一致的名字

udev
顯示系統的設備信息
udevadm monitor --property
如何獲取已經設備的硬件設備的信息
iqn
如何編寫udev規則配置文件
vim /etc/udev/rules.d/名字.rules
參數 名
vim /etc/udev/rules.d/1-99之間的數字-名字.rules

SUBSYSTEM=="block",ATTR{size}=="10481664",大小ATTRS{model}=="diskb ",ATTRS{vendor}=="LIO-ORG "廠商

網卡配置文件
/etc/sysconfig/network-scripts/

TYPE=Ethernet
NAME=eth1
DEVICE=eth1
ONBOOT=no
IPADDR=192.168.2.51

多路徑

擴展iscsi
不可以同時掛載
ext4本地文件系統,只檢查本機的操作
gfs全局文件系統
適全HA集羣不適合LB集羣
iscsi缺點就是不能實時同時別人寫的新文件新內容
分別在不同的主機上創建自己的網頁文件,但在客戶端分別訪問不同主機上的網站服務時,都訪問不到對方創建的網頁文件。所有iscsi不可以同時掛載,適合HA集羣,不適合LB要想LB集羣也可以使用要格式爲GFS文件系統

nfs網絡文件系統

文件系統的類型
本地文件系統
ext3/4、swap、ntfs 本地磁盤
僞文件系統
/proc /sys 內存空間
網絡文件系統
nfs 網絡存儲空間
存取位於遠程磁盤中的文檔數據,對應用程序是透明的,就好像訪問本地的文件一樣
nfs只有共享功能沒能數據傳輸功能需要有RPC包來傳輸數據
同步:內存同時向硬盤寫入數據
異步:內存工作完然後在向硬盤寫入數據

配置NFS服務器
安裝軟件包
nfs-utils
rpcbind
系統服務腳本
nfs、rpcbind
主配置文件
/etc/exports
/etc/exports配置解析
共享目錄 客戶機地址(參數,參數)
客戶機地址可以是:ip地址、網段地址、所有主機、單個域、主機名
參數可以是:rw、ro(可讀可寫、只讀) sync、async(同步寫、異步寫入)、no_root_squash:保留來自客戶端的root權限、all_squash:客戶端權限都降爲nfsnobody
查看NFS共享列表
showmount -e 服務器地址
使用NFS客戶端
掛載NFS共享目錄
mount [-t nfs] 服務器地址:共享目錄 掛載點
注意:1.從未授權的客戶機將無法掛載此共享
2.若未啓用no_root_squash,掛載後會無權限瀏覽(750)

nfs缺點是因爲數據是存儲在一臺服務器上的如何服務器壞了所有的數據都會丟失,所以要隨時做好備份。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章