๐ง Linux iSCSI ๆถๆง่ๆ็จๅฏฆๅ
iSCSI(Internet Small Computer Systems Interface) ๆฏไธ็จฎ้้ IP ็ถฒ่ทฏๅณ่ผธ SCSI ๅฝไปค็ๅฒๅญๅๅฎ, ่ฎ้ ็ซฏ็ฃ็ข่ฝไปฅ「ๅๅก่ฃ็ฝฎ」็ๅฝขๅผๆ่ผ่ณไผบๆๅจ็ซฏ。ๆฌๆๅฐ่ชชๆ iSCSI ๆถๆง、ๅ็จๆญฅ้ฉ่ๅธธ่ฆๆ็จๆกไพ, ๅนซๅฉไฝ ๅจ Linux ็ฐๅขไธญๅฟซ้้จ็ฝฒ็ถฒ่ทฏๅฒๅญ็ณป็ตฑ。
๐ ไธ、iSCSI ๆถๆงๆฆๅฟต
- Target(็ฎๆจ็ซฏ):ๆไพๅฒๅญ็ฉบ้็ไผบๆๅจ,ๅฆ NAS ๆ SAN ่ฃ็ฝฎ。
- Initiator(ๅๅ็ซฏ):ๅ Target ็ผๅบ้ฃ็ท่ๆ่ผ่ซๆฑ็ไธปๆฉ(้ๅธธๆฏๆ็จไผบๆๅจ)。
- ้ฃ็ทๅๅฎ:ๅบๆผ TCP/IP ๅณ่ผธ,้ ่จญๅ ่็บ
3260。
ๅช้ปๅ ๆฌไฝๆๆฌ、้ซ็ธๅฎนๆง、ๅฏ่ทจๅๅ้จ็ฝฒ;ๅธธ่ฆๆผ่ๆฌๅ(Proxmox、VMware)่ๅไปฝๆถๆง。
⚙️ ไบ、Linux iSCSI ๅฎ่ฃ่่จญๅฎ
# ๅฎ่ฃ iSCSI Initiator ๅทฅๅ
ท
sudo apt install open-iscsi -y # Ubuntu / Debian
sudo dnf install iscsi-initiator-utils -y # CentOS / Rocky
# ๅๅๆๅ
sudo systemctl enable --now iscsid
# ๆขๆธฌๅฏ็จ็ฎๆจ(Target)
sudo iscsiadm -m discovery -t sendtargets -p 192.168.1.100
# ็ปๅ
ฅๆๅฎ Target
sudo iscsiadm -m node --login
ๆๅ้ฃ็ทๅพ,Target ๆๅบ็พๅจ /dev/sdX ไธญ,ๅฏ็ดๆฅๆ ผๅผๅ่ๆ่ผไฝฟ็จ。
๐งฉ ไธ、Target ็ซฏ่จญๅฎ(็ฏไพ:tgtadm)
# ๅฎ่ฃ tgt ๅฅไปถ
sudo apt install tgt -y
# ๅปบ็ซๅฒๅญๅ่็ฎๆจ
sudo tgtadm --lld iscsi --mode target --op new --tid 1 --targetname iqn.2025-10.local.storage:disk1
sudo tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 -b /dev/sdb
sudo tgtadm --lld iscsi --mode target --op bind --tid 1 -I ALL
ๅฎๆๅพๅณๅฏ็ฑ Initiator ๅตๆธฌๅฐๆญค Target ไธฆ้ฒ่ก็ปๅ ฅ่ๆ่ผ。
๐ง ๅ、ๅธธ่ฆๆ็จๅ ดๆฏ
- ่ๆฌๅๅฒๅญ(VM ็ฃ็ข้ไธญ็ฎก็)
- ้ไธญๅผๅไปฝ่ๅฟซ็ ง็ณป็ตฑ
- ้ซๅฏ็จๅข้็ๅ ฑไบซๅฒๅญ(HA / DRBD)
๐ ไบ、ๆ ้ๆๆฅ่ๅฎๅ จๅปบ่ญฐ
- ไฝฟ็จ
journalctl -u iscsid็ฃๆง้ฃ็ท็ด้。 - ๅฏๅ ๅ ฅ CHAP ่ช่ญๆๅๅฎๅ จๆง:
# /etc/iscsi/iscsid.conf
node.session.auth.authmethod = CHAP
node.session.auth.username = admin
node.session.auth.password = MySecretPass
๐ ็ต่ช
iSCSI ็บไธญๅฐไผๆฅญ่ๅฏฆ้ฉ็ฐๅขๆไพไธๅ้ๆดป็็ถฒ่ทฏๅฒๅญ่งฃๆฑบๆนๆก。 ้้็ฐกๅฎ่จญๅฎๅณๅฏๅฏฆ็พ้ไธญๅผ็ฃ็ข็ฎก็่้ ็ซฏๆ่ผ, ่ฅๆญ้ RAID、LVM ๆ NFS,ๆด่ฝๆงๅปบๅบๅ ผ้กงๆ็่ๅฏ้ ๆง็ๅฒๅญๅบ็คๆถๆง。
๐ ๅปถไผธ้ฑ่ฎ
- ๐ง Linux systemd ๆทฑๅ ฅ่งฃๆ่ๅๅๆต็จ็ฎก็
- ๐ง๐งฑ Linux Proxy Server ๅปบ็ฝฎๆๅญธ(Squid)
- ๐ง Linux ไฝฟ็จๆๅทง:10 ๅ่ฎไฝ ๅทฅไฝๆ็็ฟปๅ็ๅฐ็ฅ่จฃ
— WWFandy・็ณป็ตฑ่ๅฒๅญ็ฎก็็ญ่จ
ๆฒๆ็่จ:
ๅผต่ฒผ็่จ