在 RHEL/CentOS 7 上使用 iSCSI Target 和 Initiator 建立集中式安全儲存


iSCSI(Internet Small Computer System Interface)是一種儲存網路技術,允許在 IP 網路上傳輸塊級資料。它是傳統光纖通道 SAN(儲存區域網路)的替代方案,後者使用專用電纜將儲存裝置連線到伺服器。iSCSI 可以提供一種經濟高效且靈活的方式來建立集中式儲存基礎設施。

在本教程中,我們將在 RHEL/CentOS 7 伺服器上設定 iSCSI target,並使用另一臺 RHEL/CentOS 7 伺服器上的 iSCSI initiator 連線到它。我們將配置 CHAP(Challenge-Handshake Authentication Protocol)身份驗證,以確保 target 和 initiator 之間的安全通訊。

步驟 1:安裝所需的軟體包

首先,我們需要在 target 和 initiator 伺服器上安裝所需的軟體包。在 target 伺服器上,輸入以下命令:

sudo yum install scsi-target-utils -y

這將安裝“scsi-target-utils”軟體包,該軟體包提供配置 iSCSI target 所需的工具。在 initiator 伺服器上,輸入以下命令:

sudo yum install iscsi-initiator-utils -y

這將安裝“iscsi-initiator-utils”軟體包,該軟體包提供連線到 iSCSI target 所需的工具。

步驟 2:配置 iSCSI Target

現在,我們將配置 target 伺服器上的 iSCSI target。target 伺服器將向 initiator 伺服器提供儲存。target 伺服器將充當 iSCSI target。

要配置 iSCSI target,請按照以下步驟操作:

  • 建立一個新的 LUN(邏輯單元號),該 LUN 將與 initiator 伺服器共享。在這個例子中,我們將建立一個 10 GB 的 LUN。

sudo dd if=/dev/zero of=/var/lib/iscsi_disks/lun01 bs=1M count=10000

    這會在“/var/lib/iscsi_disks”目錄中建立一個名為“lun01”的 10 GB 檔案。

  • 建立一個新的 iSCSI target 配置檔案:

sudo nano /etc/tgt/conf.d/iscsi.conf

    將以下幾行新增到檔案中:

<target iqn.2021-05.example.com:lun01>
  backing-store /var/lib/iscsi_disks/lun01
  incominguser chap_user secret_password
</target>

    將“iqn.2021-05.example.com:lun01”替換為 target 的唯一識別符號。將“chap_user”替換為 CHAP 身份驗證的使用者名稱,並將“secret_password”替換為 CHAP 身份驗證的安全密碼。

  • 重新啟動 tgtd 服務以應用更改:

sudo systemctl restart tgtd

步驟 3:配置 iSCSI Initiator

現在,我們將配置 initiator 伺服器上的 iSCSI initiator。initiator 伺服器將連線到 target 伺服器上的 iSCSI target。要配置 iSCSI initiator,請按照以下步驟操作:

  • 透過輸入以下命令來發現 iSCSI target:

sudo iscsiadm -m discovery -t sendtargets -p target_ip_address

    將“target_ip_address”替換為 target 伺服器的 IP 地址。

  • 透過輸入以下命令登入到 iSCSI target:

sudo iscsiadm -m node -T iqn.2021-05.example.com:lun01 -p target_ip_address -l

    將“iqn.2021-05.example.com:lun01”替換為 target 的唯一識別符號,並將“target_ip_address”替換為 target 伺服器的 IP 地址。

  • 透過輸入以下命令驗證 iSCSI target 是否已連線:

sudo lsblk

    此命令列出 initiator 機器上可用的塊裝置。您應該看到已連線的 iSCSI target 裝置列出。

步驟 4:在 iSCSI Target 上建立檔案系統

現在 iSCSI target 已連線到 initiator 機器,我們可以在其上建立一個檔案系統。在這個例子中,我們將在 iSCSI target 上建立一個 ext4 檔案系統。要建立 iSCSI target 上的檔案系統,請按照以下步驟操作:

  • 輸入以下命令在 iSCSI target 上建立一個新分割槽:

sudo fdisk /dev/sdb

    注意:將“/dev/sdb”替換為系統上 iSCSI target 的塊裝置名稱。

  • 在 fdisk 提示符下,按順序輸入以下命令:

    • 鍵入“n”以建立新分割槽。

    • 鍵入“p”以建立主分割槽。

    • 鍵入“1”以分配分割槽號。

    • 按“Enter”兩次以接受分割槽的第一個和最後一個扇區的預設值。

    • 鍵入“w”以寫入更改並退出 fdisk。

  • 接下來,使用 ext4 檔案系統格式化新分割槽,輸入以下命令:

sudo mkfs.ext4 /dev/sdb1

    注意:將“/dev/sdb1”替換為您在上一步中建立的分割槽名稱。

步驟 5:掛載 iSCSI Target 檔案系統

要掛載 iSCSI target 上新建立的檔案系統,請按照以下步驟操作:

  • 透過輸入以下命令建立檔案系統的掛載點:

sudo mkdir /mnt/iscsi_target
  • 透過輸入以下命令掛載檔案系統:

sudo mount /dev/sdb1 /mnt/iscsi_target
  • 透過輸入以下命令驗證檔案系統是否已掛載:

df -h

    此命令列出當前掛載在系統上的檔案系統。您應該看到新掛載的 iSCSI target 檔案系統列出。

步驟 6:配置 iSCSI Target 檔案系統的自動掛載

為了確保 iSCSI target 檔案系統在重新引導後自動掛載到 initiator 機器上,我們需要配置系統在啟動時掛載它。為此,請按照以下步驟操作:

  • 在文字編輯器中開啟 /etc/fstab 檔案:

sudo nano /etc/fstab
  • 在檔案末尾新增以下行以自動掛載 iSCSI target 檔案系統:

/dev/sdb1 /mnt/iscsi_target ext4 defaults 0 0

    儲存並退出檔案。

步驟 7:測試 iSCSI Target 檔案系統

要測試 iSCSI target 檔案系統,請在掛載點上建立一個測試檔案,並驗證 initiator 和 target 機器都可以訪問它。

  • 要建立一個測試檔案,請輸入以下命令:

sudo touch /mnt/iscsi_target/testfile.txt
  • 要驗證測試檔案是否存在於 iSCSI target 上,請在 target 機器上輸入以下命令:

sudo ls /mnt/iscsi_target
  • 要驗證從 initiator 機器可以訪問測試檔案,請在 initiator 機器上輸入以下命令:

sudo ls /mnt/iscsi_target

如果在這兩種情況下都列出了測試檔案,則 iSCSI target 檔案系統已成功配置,並且可以從兩臺機器訪問。

結論

在本教程中,我們演示瞭如何在 RHEL/CentOS 7 上使用 iSCSI target 和 initiator 配置集中式安全儲存系統。透過在一臺機器上建立 iSCSI target 並將其連線到另一臺機器上的 initiator,我們可以建立一個可以從多臺機器安全訪問的集中式儲存系統。

更新於:2023年6月23日

瀏覽量:95

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.