VMware vSphere में, आप अपने ESXi होस्ट के लिए शेयर्ड डेटास्टोर के रूप में iSCSI डिस्क का उपयोग कर सकते हैं। ESXi होस्ट TCP प्रोटोकॉल का उपयोग करके अपने लोकल नेटवर्क पर iSCSI स्टोरेज तक पहुंचता है। इस लेख में, हम देखेंगे कि VMware ESXi होस्ट पर iSCSI LUN कैसे जोड़ें और उस पर शेयर्ड VMFS डेटास्टोर कैसे बनाएं।
मान लीजिए कि आपने पहले ही अपने स्टोरेज डिवाइस (ऐरे) पर iSCSI टारगेट (डिस्क) बना, कॉन्फ़िगर और पब्लिश कर लिया है। साथ ही, आप Windows सर्वर पर होस्ट किए गए वर्चुअल डिस्क (VHDX) का उपयोग iSCSI टारगेट के रूप में कर सकते हैं।
सुनिश्चित करें कि आपने अपने स्टोरेज कॉन्फ़िगरेशन में अपने ESXi होस्ट (iSCSI इनिशिएटर्स) को iSCSI टारगेट से कनेक्ट करने की अनुमति दी है। आप iSCSI टारगेट को IQN का उपयोग करके एड्रेस कर सकते हैं (ESXi में iSCSI एडाप्टर का IQN कैसे प्राप्त करें नीचे दिखाया गया है), DNS नाम, IP, या MAC पता।
इस उदाहरण में, हम VMware ESXi 6.7 चलाने वाले स्टैंडअलोन होस्ट का उपयोग कर रहे हैं (आप मुफ़्त ESXi हाइपरवाइज़र का भी उपयोग कर सकते हैं)। यह एक भौतिक होस्ट या वर्चुअल मशीन हो सकती है (यहां हाइपर-V VM में ESXi चलाने का उदाहरण है)। होस्ट में दो नेटवर्क इंटरफेस हैं (पहला मैनेजमेंट के लिए और दूसरा iSCSI ट्रैफिक के लिए)।
VMware ESXi पर iSCSI ट्रैफिक के लिए नेटवर्क कॉन्फ़िगर करें
अपने ESXi होस्ट को प्रबंधित करने के लिए वेब इंटरफ़ेस खोलें (_https://YOUR_ESXI_HOST/ui/#/login)।
सबसे पहले, एक अलग VMkernel नेटवर्क इंटरफ़ेस बनाएं जिसका उपयोग ESXi होस्ट iSCSI स्टोरेज तक पहुंचने के लिए करेगा। Networking → VMkernel NICs → Add VMkernel NIC खोलें।

vmk पोर्ट के अलावा, एक नया पोर्ट ग्रुप बनाएं (New port group)। ग्रुप नाम निर्दिष्ट करें (iSCSI) और अपने vmkernel इंटरफ़ेस के लिए स्टैटिक IP पता असाइन करें।

फिर अपने डिफ़ॉल्ट vSwitch0 की सेटिंग्स खोलें (Networking → Virtual Switches)। सुनिश्चित करें कि आपके होस्ट का दूसरा भौतिक इंटरफ़ेस (vmnic1) कॉन्फ़िगरेशन में जोड़ा गया है और सक्रिय है (अन्यथा, इसे जोड़ने के लिए Add uplink पर क्लिक करें)।

NIC Teaming सेक्शन में, सुनिश्चित करें कि दोनों भौतिक इंटरफेस Active हैं।

फिर iSCSI पोर्ट ग्रुप सेटिंग्स में, आपको केवल दूसरे इंटरफ़ेस को iSCSI ट्रैफिक के लिए उपयोग करने की अनुमति देनी होगी। Networking → Port groups → iSCSI → Edit settings पर जाएं। NIC teaming सेक्शन का विस्तार करें और Override failover order = Yes चुनें। vmnic1 को सक्रिय छोड़ें और vmnic0 पोर्ट के लिए Unused सेट करें।

परिणामस्वरूप, आपका ESXi होस्ट आपके iSCSI LUN तक पहुंचने के लिए केवल एक नेटवर्क इंटरफ़ेस का उपयोग करेगा।
VMware ESXi पर iSCSI सॉफ्टवेयर कॉन्फ़िगर करना
iSCSI सॉफ्टवेयर एडाप्टर ESXi में डिफ़ॉल्ट रूप से अक्षम होता है। इसे सक्षम करने के लिए, Storage → Adapters खोलें। Software iSCSi पर क्लिक करें।

iSCSI enable को Enabled पर बदलें।
ध्यान दें कि यहां आप अपने iSCSI एडाप्टर (इनिशिएटर) का IQN प्राप्त कर सकते हैं। आप इसका उपयोग स्टोरेज ऐरे सेटिंग्स में अपने iSCSI LUN तक पहुंच कॉन्फ़िगर करने के लिए कर सकते हैं।
फिर Dynamic targets सेक्शन में अपने iSCSI स्टोरेज का IP पता और कनेक्शन पोर्ट (डिफ़ॉल्ट रूप से, iSCSI ट्रैफिक के लिए TCP पोर्ट 3260 उपयोग किया जाता है) जोड़ें। ESXi स्टोरेज पर सभी iSCSI टारगेट्स को स्कैन करेगा और उन्हें Static Targets सूची में प्रदर्शित करेगा।

यहां आप CHAP प्रमाणीकरण कॉन्फ़िगर कर सकते हैं, लेकिन यह टेस्ट वातावरण में वैकल्पिक है।
सेटिंग्स सेव करें। ध्यान दें कि Storage → Adapters टैब में एक नया iSCSI सॉफ्टवेयर एडाप्टर HBA vmhba65 दिखाई दिया।

यदि आपका ESXi होस्ट vCenter से जुड़ा है, तो Configure → Storage → Storage Adapters खोलकर iSCSI LUN जोड़ें। Software iSCSI adapter चुनें और Dynamic Discovery टैब में अपने iSCSI स्टोरेज का नाम या IP पता निर्दिष्ट करें। Rescan पर क्लिक करें। उपलब्ध iSCSI टारगेट्स की सूची Static Discovery टैब में दिखाई देगी।

यदि आपको अपनी स्टोरेज में iSCSI टारगेट्स की सूची नहीं दिखाई देती है, तो आप ESXi कंसोल का उपयोग करके iSCSI डिस्क उपलब्धता का निदान कर सकते हैं।
अपने ESXi होस्ट पर SSH सक्षम करें और किसी भी SSH क्लाइंट का उपयोग करके इससे कनेक्ट करें (मैं बिल्ट-इन Windows 10 SSH क्लाइंट का उपयोग करता हूं):
ssh root@192.168.113.50
नीचे दी गई कमांड का उपयोग करके, आप निर्दिष्ट vmkernel पोर्ट (vmk1) से अपने iSCSI स्टोरेज (192.168.113.10) की उपलब्धता की जांच कर सकते हैं:
# vmkping -I vmk1 192.168.113.10

इस उदाहरण में, iSCSI स्टोरेज पिंग का जवाब देता है।
फिर netcat का उपयोग करके जांचें कि स्टोरेज पर iSCSI TCP पोर्ट 3260 उपलब्ध है (इस उदाहरण में, 192.168.113.60 vmk1 इंटरफ़ेस का IP पता है):
# nc -s 192.168.113.60 -z 192.168.113.10 3260
Connection to 192.168.113.10 3260 port [tcp/*] succeeded!

सुनिश्चित करें कि आपके ESXi होस्ट पर सॉफ्टवेयर iSCSI सक्षम है:
# esxcli iscsi software get
true
यदि आवश्यक हो तो सक्षम करें:
# esxcli iscsi software set -e true
Software iSCSI Enabled
आप सॉफ्टवेयर iSCSI HBA एडाप्टर की वर्तमान सेटिंग्स इस प्रकार भी प्राप्त कर सकते हैं:
# esxcli iscsi adapter get -A vmhba65

vmhba65 Name: iqn.1998-01.com.vmware:srv-esx1-1234abcd Alias: Vendor: VMware Model: iSCSI Software Adapter Description: iSCSI Software Adapter Serial Number: Hardware Version: Asic Version: Firmware Version: Option Rom Version: Driver Name: iscsi_vmk Driver Version: TCP Protocol Supported: false Bidirectional Transfers Supported: false Maximum Cdb Length: 64 Can Be NIC: false Is NIC: false Is Initiator: true Is Target: false Using TCP Offload Engine: false Using ISCSI Offload Engine: false
VMware ESXi में iSCSI LUN पर VMFS डेटास्टोर बनाएं
फिर आप कनेक्टेड iSCSI LUN पर वर्चुअल मशीन फाइलों को स्टोर करने के लिए VMFS (वर्चुअल मशीन फाइल सिस्टम) डेटास्टोर बना सकते हैं।
Storage → Datastores → New datastore खोलें।

अपने VMFS डेटास्टोर का नाम दर्ज करें और इसे बनाने के लिए iSCSI LUN चुनें।

VMFS 6 को फाइल सिस्टम के रूप में चुनें और निर्दिष्ट करें कि आप डेटास्टोर के लिए iSCSI डिस्क के पूरे वॉल्यूम का उपयोग करना चाहते हैं। कुछ सेकंड में, आपका नया VMFS डेटास्टोर ESXi पर उपलब्ध होगा।

यदि इस LUN पर VMFS डेटास्टोर पहले ही बनाया जा चुका है, तो यह तुरंत आपके होस्ट पर उपलब्ध स्टोरेज डिवाइस की सूची में दिखाई देगा।

तो, आपने iSCSI डिस्क को अपने ESXi होस्ट से जोड़ा है और उस पर VMFS डेटास्टोर बनाया है। कई ESXi सर्वर इस डेटास्टोर को एक साथ एक्सेस कर सकते हैं। अब आपके पास शेयर्ड स्टोरेज है, और यदि आप VMware vCenter सर्वर कॉन्फ़िगर करते हैं, तो आप vMotion का उपयोग करके चल रही VMs को होस्ट के बीच ले जा सकेंगे।