כל הזכויות שמורות לטל בן שושן – Shushan.co.il
Linux iSCSI | לינוקס iSCSI
כאשר אנחנו רוצים לדמות כונן קשיח דרך האינטרנט או לדמות iSCSI בשרת מסוים, ניתן להגדיר זאת על ידי הגדרת שרת שהוא Target ועליו נמצאים הדיסקים הקשיחים ואילו לחבר לשרת השני את הכוננים של שרת הTarget
זאת על מנת להגדיר שרת אחד שמשמש כשרת דיסקים אשר מספק כוננים לשאר השרתים ולהעביר דיסק למרחק גדול יותר מבלי שהוא יהיה נוכח על השרת המרוחק פיזית
נתחיל בהתקנת כלי ה iSCSI Target,
[root@localhost ~]# sudo yum install epel-release
[root@localhost ~]# yum -y install scsi-target-utils
כעת נוסיף דיסק פיזי לשרת (או דיסק לVM)
נכנס לfdisk ונגדיר דיסק
[root@localhost ~]# ls /dev/sd* /dev/sdb [root@localhost ~]# fdisk /dev/sdb
לחצו n וכל ההגדרות השאירו ברירת מחדל בלחיצה רק על Enter
Command (m for help): n .................... Partition 1 of type Linux and of size 20 GiB is set Command (m for help): w
נפרמט את מערכת הקבצים
[root@localhost ~]# mkfs.ext4 /dev/sdb
נערוך את קובץ ההגדרות
[root@localhost ~]# vi /etc/tgt/targets.conf
בסוף הקובץ נרשום
<target 192.168.1.112:target1>
backing-store /dev/sde
</target>
*backing-store /dev/sde אומר באיזה דיסק אנחנו משתמשים על מנת לתת גישה לשרת השני
*incominguser admin shushan חובה להזין שם משתמש וסיסמא על מנת להתחבר לשרת זה
*<target 192.168.1.112:target1> כתובת השרת
נעצור ונפעיל את השירות על מנת שההגדרות יכנסו לתוקף
[root@localhost ~]# service tgtd stop [root@localhost ~]# service tgtd start
כעת נראה את הדיסקים שניתן להתחבר אליהם מרחוק
[root@localhost ~]# tgtadm --mode target --op show
הראשון שהוא LUN0 הוא הController ואינו דיסק
LUN: 0 Type: controller
לעומת זאת LUN1 הוא דיסק
LUN: 1 Type: disk Size: 21475 MB, Block size: 512 Backing store path: /dev/sde
כעת נגדיר את ה Firewall שהפורט יהיה פתוח להתחברות
פורט 3260 הוא פורט iSCSI
[root@localhost ~]# firewall-cmd --zone=public --add-port=3260/tcp --permanent [root@localhost ~]# firewall-cmd --reload
כעת נעבור לשרת השני (כתובת השרת השני שלי הוא 192.168.1.117 וגם עליו מותקן CentOS 7)
נתקין בו
[root@localhost ~]# yum -y install iscsi-initiator-utils
זהו היוזם אם מקודם התקנו את ה Target שהוא השרת עם הדיסקים הקשיחים, כעת אנו מגדירים את הלקוח, זה שיתחבר אל הדיסקים
*אם הגדרתם שם משתמש וסיסמא להתחבר לTarget ב CHAP נערוך את ההגדרות, אם לא דלגו ל *נבצע לאחר מכן ריסטארט לשירות iscsid*
[root@localhost ~]# vi /etc/iscsi/iscsid.conf
באמצע קובץ ההגדרות קיים האזור הזה
# *************
# CHAP Settings
# *************
# To enable CHAP authentication set node.session.auth.authmethod
# to CHAP. The default is None.
#node.session.auth.authmethod = CHAP
# To set a CHAP username and password for initiator
# authentication by the target(s), uncomment the following lines:
#node.session.auth.username = admin
#node.session.auth.password = shushan
שנו את שם המשתמש והסיסמא שהגדרנו מקודם בשרת
נבצע לאחר מכן ריסטארט לשירות iscsid
[root@localhost ~]# systemctl stop iscsid [root@localhost ~]# systemctl start iscsid
כעת על מנת לאתר מול שרת מסוים את שירות ה iSCSI שלו נקיש
[root@localhost ~]# iscsiadm --mode discovery -t sendtargets --portal 192.168.1.112
כמובן שהכתובת IP היא של השרת ממול ואז Enter
[root@localhost ~]# iscsiadm --mode node --targetname 192.168.1.112:target1 --portal 192.168.1.112
לאחר מכן תקבלו הודעה שהצלחתם להתחבר, ואך נבדוק? נקיש את הפקודה
[root@localhost ~]# ls /dev/sd*
ואז נוכל לראות שהתווסף לנו כונן נוסף למערכת
/dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sdb
כעת עלינו לפרמט את הכונן על מנת לטעון אותו למכונה