Linux中,如何配置iSCSI儲存?

黄嘉波發表於2024-05-14

在Linux環境中配置iSCSI(Internet Small Computer System Interface)儲存涉及兩個主要部分:配置iSCSI目標(儲存伺服器)和配置iSCSI啟動器(客戶端)。以下是一個基本的步驟指南,包括配置iSCSI目標伺服器(以Linux為例)和如何從另一臺Linux機器作為iSCSI啟動器連線到該儲存。

1. 配置iSCSI目標(儲存伺服器)
  1. 安裝必要的軟體:首先,確保你的Linux儲存伺服器上安裝了iSCSI目標服務,如tgt(Target Gateway)。

    sudo yum install tgt # 或者使用apt-get,根據你的包管理器
    
  2. 配置iSCSI目標:編輯tgt的配置檔案(通常是/etc/tgt/targets.conf),定義一個目標裝置和LUN(Logical Unit Number)。

    <target iqn.your-iqn_here:target_name>
        backing-store /path/to/your/device_or_file
        write-cache on
        initiator-address 192.168.1.0/24 # 可選,限制訪問的發起者IP範圍
    </target>
    

    替換iqn.your-iqn_here:target_name為你的IQN(iSCSI Qualified Name),/path/to/your/device_or_file為你要共享的儲存裝置或檔案。

  3. 啟動並啟用iSCSI服務

    sudo systemctl start tgt
    sudo systemctl enable tgt
    
2. 配置iSCSI啟動器(客戶端)
  1. 安裝iSCSI啟動器軟體:在需要訪問iSCSI儲存的Linux客戶端上,安裝iscsi-initiator-utils

    sudo yum install iscsi-initiator-utils # 或者使用apt-get
    
  2. 配置iSCSI啟動器:編輯iSCSI啟動器的配置檔案(通常是/etc/iscsi/iscsid.conf),可以在此處配置預設的行為和認證資訊(如果需要的話)。

  3. 發現和登入iSCSI目標

    sudo iscsiadm -m discovery -t st -p your-storage-server-ip
    sudo iscsiadm -m node -T iqn.your-iqn_here:target_name -p your-storage-server-ip -l
    

    這將首先發現可用的目標,然後登入到你指定的目標。

  4. 格式化和掛載iSCSI裝置

    • 使用fdisk -l找到新掛載的iSCSI裝置(例如,/dev/sdb)。

    • 格式化裝置(如果需要):

      sudo mkfs.ext4 /dev/sdb1
      
    • 建立掛載點並掛載裝置:

      sudo mkdir /mnt/iscsi
      sudo mount /dev/sdb1 /mnt/iscsi
      
  5. 設定開機自動掛載:為了使iSCSI裝置在系統重啟後自動掛載,需要編輯/etc/fstab檔案,加入如下行:

    /dev/sdb1 /mnt/iscsi ext4 defaults,_netdev 0 0
    

    注意,使用_netdev選項告訴系統這是一個網路裝置,需要網路初始化後再進行掛載。

綜上所述,根據你的具體需求和環境,可能還需要進行額外的安全配置(如CHAP認證)、效能最佳化和故障排查。

相關文章