็†ฑ้–€ๅˆ†้กž
 ่ผ‰ๅ…ฅไธญ…
็›ฎ้Œ„

๐Ÿง Linux iSCSI ๅ„ฒๅญ˜ๆžถๆง‹ไป‹็ดน่ˆ‡ๅฏฆไฝœๆ•™ๅญธ

    ๐Ÿง Linux iSCSI ๅ„ฒๅญ˜ๆžถๆง‹ไป‹็ดน่ˆ‡ๅฏฆไฝœๆ•™ๅญธ

    ๅœจไผๆฅญไผบๆœๅ™จ่ˆ‡่™›ๆ“ฌๅŒ–็’ฐๅขƒไธญ,iSCSI(Internet Small Computer System Interface) ๆ˜ฏๅธธ่ฆ‹็š„็ถฒ่ทฏๅ„ฒๅญ˜ๅ”ๅฎšไน‹ไธ€,ๅฏ่ฎ“้ ็ซฏไธปๆฉŸ้€้Ž TCP/IP ็ถฒ่ทฏๅญ˜ๅ–ๅ€ๅกŠๅ„ฒๅญ˜่ฃ็ฝฎ。 ๆœฌๆ–‡ๅฐ‡ไป‹็ดน iSCSI ็š„้‹ไฝœๅŽŸ็†、ๆžถๆง‹่ˆ‡ Linux ไธŠ็š„ๅฏฆ้š›้ƒจ็ฝฒๆ–นๆณ•。

    ๐Ÿ“˜ ไธ€、iSCSI ๅŸบๆœฌๆฆ‚ๅฟต

    • Target: ๆไพ›ๅ„ฒๅญ˜ๅ€ๅกŠ็š„ไผบๆœๅ™จ็ซฏ(ๅฏ่ฆ–็‚บ「็ฃ็ขŸไพ›ๆ‡‰่€…」)。
    • Initiator: ่ซ‹ๆฑ‚้€ฃ็ทš็š„ๅฎขๆˆถ็ซฏ(้€šๅธธๆ˜ฏไฝฟ็”จ่€…็ซฏไธปๆฉŸ)。
    • LUN(Logical Unit Number): Target ๆไพ›็š„้‚่ผฏ็ฃ็ขŸๅ–ฎๅ…ƒ,ๅฏๅฐๆ‡‰ๅฏฆ้ซ”ๆˆ–่™›ๆ“ฌ็ฃ็ขŸ。

    iSCSI ้‹ไฝœๆ–ผ TCP 3260 ๅŸ ไธŠ,ๆ”ฏๆด่บซไปฝ้ฉ—่ญ‰(CHAP)่ˆ‡ๅคš่ทฏๅพ‘(MPIO)็ญ‰้€ฒ้šŽๅŠŸ่ƒฝ, ๅฏๅฏฆ็พๅฆ‚ๅŒๆœฌๆฉŸ็ฃ็ขŸ่ˆฌ็š„ๅญ˜ๅ–้ซ”้ฉ—。


    ⚙️ ไบŒ、็’ฐๅขƒ็ฏ„ไพ‹่จญๅฎš

    
    ็ณป็ตฑ็‰ˆๆœฌ:Rocky Linux 9
    Target ไผบๆœๅ™จ IP:192.168.1.100
    Initiator ไธปๆฉŸ IP:192.168.1.110
    ๅ„ฒๅญ˜็›ฎ้Œ„:/data/iscsi/
      

    1️⃣ ๅฎ‰่ฃๆ‰€้œ€ๅฅ—ไปถ

    
    # Target ็ซฏ(ไผบๆœๅ™จ)
    sudo dnf install targetcli -y
    
    # Initiator ็ซฏ(ๅฎขๆˆถ็ซฏ)
    sudo dnf install iscsi-initiator-utils -y
      

    2️⃣ ๅปบ็ซ‹ iSCSI Target

    
    sudo targetcli
    /> backstores/fileio create disk1 /data/iscsi/disk1.img 5G
    /> iscsi/ create iqn.2025-11.local.iscsi:storage
    /> iscsi/iqn.2025-11.local.iscsi:storage/tpg1/luns/ create /backstores/fileio/disk1
    /> iscsi/iqn.2025-11.local.iscsi:storage/tpg1/acls/ create iqn.2025-11.client:initiator
    /> iscsi/iqn.2025-11.local.iscsi:storage/tpg1/portals/ create 0.0.0.0
    /> saveconfig
    /> exit
    
    # ๅ•Ÿๅ‹•ๆœๅ‹™
    sudo systemctl enable --now target
      

    3️⃣ ๅฎขๆˆถ็ซฏ้€ฃ็ทš่ˆ‡ๆŽ›่ผ‰

    
    # ็ทจ่ผฏ initiator ๅ็จฑ(ๅฏ่‡ช่จ‚)
    sudo vi /etc/iscsi/initiatorname.iscsi
    InitiatorName=iqn.2025-11.client:initiator
    
    # ๆŽขๆธฌ็›ฎๆจ™
    sudo iscsiadm -m discovery -t sendtargets -p 192.168.1.100
    
    # ็™ปๅ…ฅ็›ฎๆจ™
    sudo iscsiadm -m node -T iqn.2025-11.local.iscsi:storage -p 192.168.1.100 --login
    
    # ๆชขๆŸฅๆ–ฐ็ฃ็ขŸ
    lsblk
    sudo mkfs.xfs /dev/sdb
    sudo mkdir /mnt/iscsi
    sudo mount /dev/sdb /mnt/iscsi
      

    4️⃣ ้–‹ๆฉŸ่‡ชๅ‹•ๆŽ›่ผ‰

    
    # ๅ•Ÿ็”จ iSCSI ้–‹ๆฉŸ็™ปๅ…ฅ
    sudo systemctl enable --now iscsid
    sudo iscsiadm -m node --op update -n node.startup -v automatic
      

    ๐Ÿงฉ ไธ‰、ๅฎ‰ๅ…จ่ˆ‡ๆ•ˆ่ƒฝๅปบ่ญฐ

    • ๐Ÿ” ๅ•Ÿ็”จ CHAP ้ฉ—่ญ‰:้˜ฒๆญขๆœชๆŽˆๆฌŠไธปๆฉŸๅญ˜ๅ–。
    • ⚡ ๅปบ่ญฐไฝฟ็”จ ๅฐˆ็”จ VLAN ๆˆ– 10GbE ็ถฒๆฎต ๆๅ‡ๆ•ˆ่ƒฝ。
    • ๐Ÿงฑ ๅฏๆญ้… ๅคš่ทฏๅพ‘(MPIO) ๆ้ซ˜ๅฎน้Œฏ่ˆ‡ๅ‚ณ่ผธๆ•ˆ็އ。
    • ๐Ÿ—„ ๆญ้… LVM、RAID ๆˆ– ZFS ็ฎก็†ๅบ•ๅฑค็ฃ็ขŸ็ฉบ้–“。
    
    # CHAP ้ฉ—่ญ‰่จญๅฎš็ฏ„ไพ‹(Target ็ซฏ)
    /> iscsi/iqn.2025-11.local.iscsi:storage/tpg1 set attribute authentication=1
    /> iscsi/iqn.2025-11.local.iscsi:storage/tpg1 set auth userid=admin
    /> iscsi/iqn.2025-11.local.iscsi:storage/tpg1 set auth password=securepass
      

    ๐Ÿ“˜ ็ต่ชž

    iSCSI ๆ˜ฏไธญๅฐไผๆฅญ่ˆ‡่™›ๆ“ฌๅŒ–็’ฐๅขƒไธญๆˆๆœฌๆ•ˆ็›Šๆฅต้ซ˜็š„ๅ„ฒๅญ˜ๆ–นๆกˆ。 ้€้Ž็ฐกๅ–ฎ่จญๅฎš,ๅณๅฏๅปบ็ซ‹ๅฏๆ“ดๅฑ•、้›†ไธญๅŒ–็š„ๅ„ฒๅญ˜ๆžถๆง‹, ๆญ้… RAID、LVM ๆˆ–่‡ชๅ‹•ๅŒ–ๅ‚™ไปฝๅทฅๅ…ท,ๅฏ่ผ•้ฌ†ๆ‰“้€ ไผๆฅญ็ดšๅ„ฒๅญ˜็ณป็ตฑ。


    ๐Ÿ”— ๅปถไผธ้–ฑ่ฎ€

    — WWFandy・็ณป็ตฑ่ˆ‡็ถฒ่ทฏ็ญ†่จ˜

    ๐Ÿ”— ๅˆ†ไบซ้€™็ฏ‡ LINE Facebook X

    ๆฒ’ๆœ‰็•™่จ€:

    ๅผต่ฒผ็•™่จ€

    ๅญ—็ดš