1. 程式人生 > >磁盤共享------iscsi

磁盤共享------iscsi

iscsi

前邊說過的cifs以及nfs這個文件共享系統雖然已經是比較成熟的了,但是在客戶機端連接到服務器端上傳文件時,先會將文件轉換為2進制文件,在接受端接受到2進制文件後在轉化為相應的格式顯示出來,然後在服務器端把這個文件轉化為2進制文件,然後存儲在磁盤中。既然是要將文件存儲在服務器端,那麽為什麽不能直接保存到磁盤中呢?在這個過程中,無疑出現了很多沒有必要的部分,所以我們現在來看看這個磁盤共享問題--------iscsi(Internet Small Computer System Interface)。

iscsi是一個供硬件設備使用的、可在IP協議上層運行的SCSI指令集,是一種開放的基於IP協議的工業技術標準。該協議可以用TCP/IP對SCSI指令進行 封裝,使得這些指令能夠通過基於P網絡進行傳輸,從而實現SCSI 和TCP/IP協議的連接。對於局域網環境中的用戶來說,采用該標準只需要不多的投資就可以方便、快捷地對信息和數據進行交互式傳輸及管理

在要共享的服務器端:

首先通過fdisk? 創建出來一塊要做實驗的硬盤

技術分享圖片

?? pvcreate /dev/vdb1
?? vgcreate iscsi_vg0 /dev/vdb1
? lvcreate ?-L 2.2G-n iscsi_lv0 iscsi_vg0??????????????? ---------------磁盤滿了,這塊暫時忽略

技術分享圖片

開始使用targetcli共享

targetcli??

技術分享圖片

/backstores/block??? create?? westos:storage1?????? /dev/vdb1??????????????? ---------------先將要共享的磁盤塊化,名字自定義。

/iscsi??? create?? iqn.2017-12.com.example:storage1?????????????????? ----------------創建要共享的磁盤,這個名字必須以iqn.開頭。

/iscsi/iqn.2017-12.com.example:storage1/tpg1/acls? create? iqn.2017-12.com.example:westoskey???????????????? ---------------創建要給客戶端主機使用的鑰匙

/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.220????????????? ----------------t提供共享硬盤的主機ip

技術分享圖片

通過ls查看。可以得到創建的所有信息。

技術分享圖片

firewall-cmd --permanent? --add-port=3260/tcp???????????????????????????? ---------------------------添加3260端口到防火墻。

技術分享圖片

然後在客戶端:

yum install iscsi-initiator-utils.x86_64 -y?????????????? --------------------安裝iscsi軟件

vim /etc/iscsi/initiatorname.iscs

InitiatorName=iqn.2017-12.com.example:westoskey ?? 將服務器端的鑰匙拿到

技術分享圖片

沒有獲得共享硬盤之前:

技術分享圖片

iscsiadm -m discovery -t st -p172.25.254.230??????? ????????????????

iscsiadm -m node -Tiqn.2016-12.com.example:storage1 -p 172.25.254.230 -l ????? 登陸到172.25.254.220


然後fdisk? -l

技術分享圖片


/dev/sda就是共享到的硬盤.

fdisk /dev/sda

partprobe

mkfs.xfs /dev/sda1

mount /dev/sda1 /mnt/

技術分享圖片

成功獲取到分區/dev/sda1

然後mount /dev/sda1??? /mnt???? 就可以用了!

技術分享圖片

開機要自動啟動:vim /etc/fstab?

因為開機時候系統會自動掃描這個文件,如果用/dev/sda1有可能會使名稱發生“漂移“現象,會出現讀取不準確,所以在這裏使用它的uid還是比較好的,使用_netdev 是因為要從服務器端獲取這個硬盤資源。

技術分享圖片

要刪除時候:客戶主機端:

iscsiadm? -m?? node -T? iqn.2017-12.com.example:storage1? -u?? ---------------暫時刪除

iscsiadm? -m?? node -T? iqn.2017-12.com.example:storage1? -o ? delete ? --------------永久刪除技術分享圖片

從服務器獲取到的node信息存放在? /etc/iscsi/nodes/這個目錄下

從哪臺服務器端獲取到的信息存放在?? /var/lib/iscsi/send_tarages/這個目錄下邊

技術分享圖片

通過rm? -rf? /etc/iscsi/nodes/可以清空登陸服務器信息

技術分享圖片

服務器端刪除:

clearconfig?? confirm=true

技術分享圖片

磁盤共享------iscsi