הגדרת iSCSI Target ו-Initiator לאחסון בלוקים

אם מסד הנתונים או מערכת הקבצים המבוזרת שלכם מאטים בשל תקורה של NFS, ו-Fibre Channel אינו מתאים לתקציב, iSCSI הוא הפתרון. אנו מגדירים iSCSI Target ו-Initiator במתכונת turnkey—מ-LUN פשוט ועד multipath עמיד לתקלות עם CHAP ו-jumbo frames. הצוות שלנו מבטיח תאימות ל-VMware, Hyper-V ו-DBMS, עם תמיכה מתמשכת, כך שתקבלו אחסון בלוקים אמין ללא פשרות.

היכולות שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1365
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

iSCSI — פרוטוקול המעביר פקודות SCSI דרך TCP/IP, הופך Ethernet לערוץ גישה בלוקים. הכאב הטיפוסי: מערכת קבצים של DB נגררת על NFS share, כי נעילות ו-FSYNC מתעכבים. iSCSI נותן דיסק RAW עם חביון מינימלי — יישומים רואים אותו כדיסק SCSI מקומי. אנו מגדירים Target ו-Initiator כולל הכל: מ-LUN פשוט ועד multipath עמיד לתקלות עם CHAP ו-jumbo frames. מהנדסים מוסמכים עם ניסיון של 10+ שנים מבטיחים תאימות עם VMware, Hyper-V, מערכות קבצים קלסטריות, מסדי נתונים. חיסכון בתשתית: iSCSI על רשת Ethernet קיימת עולה פי 3-5 פחות מ-Fibre Channel, ובאופטימיזציה נותן עד 200,000 IOPS. ב-150+ פרויקטים צברנו שיטות עבודה מומלצות לכל תרחיש.

למה iSCSI ולא NFS?

NFS עובד ברמת קבצים, מוסיף תקורה ונעילות. iSCSI מעביר פקודות בלוקים של SCSI מעל TCP/IP, ומספק ללקוח דיסק RAW. זה קריטי למסדי נתונים (PostgreSQL, MySQL), מערכות קבצים קלסטריות (GFS2, OCFS2) ווירטואליזציה (KVM, Hyper-V). לפי RFC 7143, iSCSI מספק גישת בלוקים עם חביון מינימלי. בבדיקות fio, iSCSI על מערכי SSD מראה פי 2-3 יותר IOPS בכתיבה אקראית מאשר NFS באותה רשת.

אילו בעיות טיפוסיות iSCSI פותר?

ראשונה — חביון גבוה בעבודה עם מסדי נתונים דרך NFS. שנייה — הצורך בגישה ישירה לבלוקים עבור מערכות קבצים קלסטריות (GFS2, OCFS2) או DB עם ניהול מטמון עצמי. שלישית — מגבלות תקציב: Fibre Channel יקר, ו-iSCSI עובד מעל תשתית Ethernet קיימת. רביעית — הגירה משרתים פיזיים לווירטואליזציה: iSCSI מאפשר לחבר כרכים בלוקים ל-OS אורח ללא תוכנה נוספת.

איך להגדיר target בלינוקס עם targetcli

מתקינים targetcli: apt install targetcli-fb. יוצרים אחסון בלוקים ו-target:

/> backstores/block create name=lun-db dev=/dev/sdb
/> backstores/block create name=lun-app dev=/dev/sdc
/> iscsi/ create iqn.2024-01.com.example:storage01
/> iscsi/iqn.2024-01.com.example:storage01/tpg1/luns create /backstores/block/lun-db
/> iscsi/iqn.2024-01.com.example:storage01/tpg1/luns create /backstores/block/lun-app
/> iscsi/iqn.2024-01.com.example:storage01/tpg1/acls create iqn.2024-01.com.example:dbserver01
/> iscsi/iqn.2024-01.com.example:storage01/tpg1/acls create iqn.2024-01.com.example:appserver01
/> iscsi/iqn.2024-01.com.example:storage01/tpg1/portals delete ip_address=0.0.0.0 ip_port=3260
/> iscsi/iqn.2024-01.com.example:storage01/tpg1/portals create 192.168.20.10 3260
/> saveconfig

הקצו iSCSI ל-VLAN נפרד — תעבורת אחסון לא מתחרה בתעבורת יישומים. הפעלה אוטומטית: systemctl enable --now rtslib-fb-targetctl. לפריסות חוזרות אנו משתמשים ב-Ansible — התצורה מנוהלת גרסאות ב-Git ומשוכפלת תוך דקות.

איך להגן על iSCSI עם CHAP?

ללא CHAP, כל initiator עם IQN הנכון מקבל גישה. מגדירים אימות הדדי:

/> iscsi/iqn.2024-01.com.example:storage01/tpg1 set attribute authentication=1
/> iscsi/iqn.2024-01.com.example:storage01/tpg1/acls/iqn.2024-01.com.example:dbserver01/ set auth userid=dbserver01
/> iscsi/iqn.2024-01.com.example:storage01/tpg1/acls/iqn.2024-01.com.example:dbserver01/ set auth password=סיסמה-מורכבת-16+תווים
/> saveconfig

הסיסמה חייבת להיות לפחות 16 תווים — זה חוסם ניחוש.

איך להגדיר initiator

בשרת הלקוח:

apt install open-iscsi
# מגדירים IQN ב-/etc/iscsi/initiatorname.iscsi:
InitiatorName=iqn.2024-01.com.example:dbserver01
# CHAP ב-/etc/iscsi/iscsid.conf:
node.session.auth.authmethod = CHAP
node.session.auth.username = dbserver01
node.session.auth.password = סיסמה-מורכבת-16+תווים
# גילוי וחיבור:
iscsiadm -m discovery -t sendtargets -p 192.168.20.10:3260
iscsiadm -m node -T iqn.2024-01.com.example:storage01 -p 192.168.20.10:3260 --login
# חיבור אוטומטי:
iscsiadm -m node -T iqn.2024-01.com.example:storage01 -p 192.168.20.10:3260 --op update -n node.startup -v automatic
systemctl enable iscsid open-iscsi

לאחר החיבור בודקים את הסשן: iscsiadm -m session -P3 ורואים דיסק חדש ב-lsblk.

איך להגדיר multipath לעמידות בתקלות

אם ה-target זמין דרך שני ממשקי רשת, מגדירים multipath למעבר אוטומטי:

apt install multipath-tools
# /etc/multipath.conf:
defaults {
  user_friendly_names yes
  path_grouping_policy failover
  failback immediate
  no_path_retry 5
}
blacklist {
  devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
}
multipaths {
  multipath {
    wwid 360000000000000001
    alias db-storage
  }
}
systemctl enable --now multipathd
multipath -ll

לאחר ההגדרה עובדים עם /dev/mapper/db-storage — במקרה של כשל בנתיב אחד, multipath עובר לנתיב אחר עם זמן failover של פחות משנייה.

איך לייעל ביצועי iSCSI

כדי לנצל את הפוטנציאל של מערכי SSD, מגדירים jumbo frames (MTU 9000) על VLAN האחסון. פרמטרי סשן מגדילים את עומק התור:

ip link set eth1 mtu 9000 # ב-/etc/iscsi/iscsid.conf: node.session.cmds_max = 1024 node.session.queue_depth = 128 node.conn[0].timeo.noop_out_interval = 5 node.conn[0].timeo.noop_out_timeout = 5 

הגדרות אלו מגדילות את רוחב הפס עד 40% בבלוקים גדולים. בתצורה נכונה, iSCSI נותן חביון < 1 ms, דומה ל-Fibre Channel. בנוסף, ניתן ליישם iSCSI Direct Connect לסביבות מבודדות.

שגיאות טיפוסיות בהגדרת iSCSI

  • שימוש ב-MTU 1500 ללא jumbo frames על VLAN אחסון — ירידה של 20-30% ב-IOPS.
  • חוסר CHAP — סיכון לגישה לא מורשית.
  • נתיב רשת יחיד ללא multipath — נקודת כשל יחידה.
  • סיסמאות CHAP קצרות מדי (< 16 תווים) — קל לנחש.
  • תצורת דיסקים שגויה ב-target (write-back לעומת write-through) — לנתונים קריטיים רק write-through.
השוואה iSCSI NFS Fibre Channel
רמת גישה בלוקים קבצים בלוקים
חביון טיפוסי < 1 ms 1-5 ms < 0.5 ms
עלות נמוכה נמוכה גבוהה
תמיכה במערכות קבצים קלסטריות כן לא כן

מתי כדאי לבחור iSCSI במקום Fibre Channel?

Fibre Channel נותן חביון מינימלי ובידוד, אך דורש ציוד יקר. iSCSI על 10GbE עם הגדרה נכונה מתקרב במאפיינים, אך עולה פי 3-5 פחות. אם בתשתית כבר יש מתגי Ethernet עם תמיכה ב-jumbo frames ותורים לא נדיפים, iSCSI הוא פתרון חסכוני. לסביבות עם חביון קריטי (< 0.5 ms) עדיף Fibre Channel, אך לרוב המשימות iSCSI מספיק.

מה כולל הגדרת iSCSI

שלב תוצאה
ביקורת רשת ועומסים נוכחיים דוח עם המלצות ל-VLAN, MTU, ממשקי רשת
תכנון סכימת LUN ו-ACL מפת גישות לפי IQN ו-CHAP
מימוש target+initiator אחסון עובד עם multipath (במידת הצורך)
אינטגרציה עם הקלאסטר שלך הגדרת Pacemaker/Corosync למעבר אוטומטי של target
בדיקת ביצועים בדיקת עומס (fio) עם מדידות IOPS וחביון
תיעוד והדרכה Runbook לתחזוקה, תיאור נהלי חירום

זמנים משוערים: מיום אחד (תצורה בסיסית) עד 4 ימים (עם קלאסטר). העלות מחושבת לאחר ביקורת. צרו קשר — נעריך את התשתית שלכם ונציע תצורה אופטימלית. אנו מבטיחים: כל ההגדרות מכוסות בתיעוד, התצורות ניתנות לשחזור דרך Ansible (לפי בקשה). הזמינו ביקורת תשתית iSCSI — קבלו תוכנית הגירה מפורטת וחישוב ביצועים.