iSCSI (Internet Small Computer System) হল একটি SCSI প্রোটোকল যা IP প্রোটোকল ব্যবহার করে স্টোরেজ ডিভাইস এক্সেস করতে দেয়। iSCSI ব্যবহার করে আপনি আপনার সার্ভারকে একটি শেয়ার্ড নেটওয়ার্ক স্টোরেজের সাথে সাধারণ TCP/IP নেটওয়ার্কের মাধ্যমে ফাইবার চ্যানেল (FC) ছাড়াই সংযোগ করতে পারেন। এই আর্টিকেলে আমরা দেখাব কিভাবে উইন্ডোজ সার্ভার ২০১৯ চলমান একটি সার্ভারে iSCSI টার্গেট (ভার্চুয়াল ডিস্ক) কনফিগার করতে হয় এবং অন্য সার্ভারগুলো (উইন্ডোজ সার্ভার ২০১৬ এবং ২০১২ R2-এ একইভাবে কনফিগার করা হয়) এই iSCSI LUN-এ সংযোগ করতে হয়। iSCSI ব্যবহারের প্রথম উদাহরণ: একটি ফাইল সার্ভারের অধিক স্টোরেজ স্পেস দরকার, এবং আমরা অন্য একটি স্টোরেজ সার্ভার থেকে ভার্চুয়াল ডিস্ক iSCSI経由 সংযোগ করি। অন্য একটি উদাহরণ হল ফেইলওভার ক্লাস্টার তৈরি করা, যেখানে একাধিক সার্ভার শেয়ার্ড স্টোরেজ এক্সেস করতে চায়।
iSCSI ডিস্ক ব্যবহার করতে হলে আপনাকে একটি স্টোরেজ সার্ভারে ভার্চুয়াল ডিস্ক (এটি একটি সাধারণ VHD/VHDX ফাইল) কনফিগার করে এটি iSCSI টার্গেট হিসেবে পাবলিশ করতে হবে, যেটি iSCSI ইনিশিয়েটর (অন্যান্য সার্ভার বা ডিভাইস) সংযোগ করবে।
সামগ্রী:
উইন্ডোজ সার্ভারে iSCSI টার্গেট কনফিগার করা
প্রথমে Server Manager খুলুন এবং File and Storage Services → File and iSCSI Services-এ iSCSI Target Server রোল সক্ষম করুন।

পাওয়ারশেল থেকে রোল ইনস্টল করতে পারেন:
Install-WindowsFeature -Name FS-iSCSITarget-Server
তারপর আপনার iSCSI সার্ভারে একটি ভার্চুয়াল ডিস্ক তৈরি করুন। Server Manager → File and Storage Services → iSCSI-এ যান এবং To create an iSCSI virtual disk, start the New iSCSI Virtual Disk Wizard ক্লিক করুন।

iSCSI ভার্চুয়াল ডিস্ক উইজার্ডে ভার্চুয়াল ডিস্ক ফাইল রাখার জন্য একটি ফিজিক্যাল পার্টিশন নির্বাচন করুন। তারপর নতুন iSCSI ডিস্কের নাম দিন, সাইজ, টাইপ (Fixed Size, Dynamically expanding বা Differencing) এবং iSCSI টার্গেটের নাম সেট করুন।
Access Servers ধাপে, iSCSI টার্গেটে সংযোগ করতে পারবে এমন সার্ভারগুলো (iSCSI ইনিশিয়েটর) নির্দিষ্ট করতে নিচের সংযোগ অপশনগুলো থেকে একটি নির্বাচন করুন:
- IQN (আপনার সার্ভারে iSCSI ইনিশিয়েটর সক্ষম করে এর IQN কপি করতে হবে);
- DNS Name;
- IP Address ;
- MAC Address।
আমরা IP address অপশন ব্যবহার করব।
উইজার্ডের পরবর্তী ধাপ হল CHAP প্রমাণীকরণ প্রোটোকল কনফিগার করা। ইনিশিয়েটরের সংযোগ প্রমাণীকরণের জন্য এটি ব্যবহার করতে হলে সক্ষম করুন, ইউজার নাম এবং ১২-অক্ষরের পাসওয়ার্ড (বা দীর্ঘতর) দিন এবং Next → Next → Finish ক্লিক করুন। নিশ্চিত করুন যে D:\iSCSIVirtualDisks ফোল্ডারে iscsiDisk2.vhdx তৈরি হয়েছে।
পাওয়ারশেল ব্যবহার করে iSCSI ডিস্ক তৈরি করতে পারুন। চলুন ২০০ GB ভার্চুয়াল ডিস্ক তৈরি করি:
New-IscsiVirtualDisk -Path c:\iSCSIVirtualDisks\iscsiDisk2.vhdx -Size 200GB
ডিফল্টলি একটি ৪,০৯৬ KB ডাইনামিক ডিস্ক তৈরি হয় Size প্যারামিটারের মান নির্বিশেষে। ডাইনামিক ডিস্ক প্রয়োজন অনুযায়ী বাড়বে।

যদি আপনি ফিক্সড-সাইজড ডিস্ক ব্যবহার করতে চান (এই ডিস্কগুলো তৈরি হওয়ার সাথে সাথে ফিজিক্যাল ড্রাইভে স্পেস রিজার্ভ করে), তবে UseFixed প্যারামিটার দিয়ে একই কমান্ড ব্যবহার করুন:
New-IscsiVirtualDisk -Path c:\iSCSIVirtualDisks\iscsiDisk2.vhdx -Size 200GB –UseFixed
উচ্চ এক্টিভিটি এবং উচ্চ IOPS প্রয়োজনীয় ডিস্কের জন্য ফিক্সড সাইজ VHDX ফাইল ব্যবহার করুন, কারণ ডাইনামিক ডিস্ক ইনক্রিমেন্টাল অপারেশনের জন্য অতিরিক্ত রিসোর্স ব্যবহার করে।
তারপর টার্গেটের নাম দিন। এই ধাপে আপনি ইনিশিয়েটর সার্ভারের IP ад্রেস থেকে এক্সেস অনুমতি দিতে পারেন:
New-IscsiServerTarget -TargetName "iscsiTarget33" -InitiatorId @("IPAddress:172.17.244.8")
আপনি IP অ্যাড্রেসের বদলে IQN নাম (iSCSI Qualified Name – নেটওয়ার্কে iSCSI ডিভাইসের অনন্য আইডি) ব্যবহার করতে পারেন:
New-IscsiServerTarget -TargetName iscsiTarget33 -InitiatorIds “IQN:1991-05.com.microsoft:win2019test.ddd.com”

তারপর ফলাফল যাচাই করার পরামর্শ দেওয়া হয়:
Get-IscsiServerTarget | fl TargetName, LunMappings

Get-IscsiTarget কমান্ডলেট ব্যবহার করে ফুল টার্গেট নাম পেয়ে তারপর টার্গেট সংযোগ করুন:
Connect-IscsiTarget -NodeAddress iqn.1991-05.com.microsoft:win2019test-iscsitarget33-target

উইন্ডোজ সার্ভারে iSCSI ইনিশিয়েটর ইনস্টল ও কনফিগার করা
পরবর্তী ধাপ হল তৈরি করা ভার্চুয়াল iSCSI ডিস্কে দ্বিতীয় (ইনিশিয়েটর) সার্ভার থেকে সংযোগ করা। Control Panel খুলুন এবং iSCSI initiator শুরু করুন (অথবা iscsicpl.exe রান করুন)।

Service Management Console (services.msc) এ Microsoft iSCSI Initiator Service-র অটোমেটিক স্টার্টআপ টাইপ সেট করুন বা এই কমান্ড ব্যবহার করুন:
Set-Service -Name MSiSCSI -StartupType Automatic
Discovery ট্যাবে যান, Discover Portal ক্লিক করুন এবং প্রথম সার্ভারের (iSCSI টার্গেট) IP অ্যাড্রেস দিন। স্টোরেজ ট্রাফিক নির্দিষ্ট নেটওয়ার্ক ইন্টারফেসের মাধ্যমে রাউট করার জন্য Advanced ক্লিক করুন এবং ড্রপডাউন লিস্টের ডিফল্ট মানগুলো নিচের মতো পরিবর্তন করুন: Local Adapter → Microsoft iSCSI Initiator, Initiator IP → 172.17.244.8।

iSCSI স্টোরেজের সাথে সংযোগের জন্য উইন্ডোজ ফায়ারওয়ালে TCP পোর্ট ৮৬০ এবং ৩২৬০ খুলুন।
তারপর Targets ট্যাবে যান এবং নতুন সংযোগটি দেখুন। এটি সক্ষম করতে Connect → Advanced ক্লিক করুন, ড্রপডাউন লিস্টে আপনার পছন্দের মান সিলেক্ট করুন, Enable CHAP log on চেক করুন এবং ইউজার নাম ও ১২-অক্ষরের পাসওয়ার্ড দিন।

তারপর iSCSI ডিস্কটি ইনিশিয়ালাইজ করুন, যা প্রাথমিকভাবে Offline অবস্থায় থাকে। Disk Management কনসোলে নতুন ডিস্কের কনটেক্সট মেনু থেকে Online সিলেক্ট করুন, তারপর Initialize Disk। নতুন ডিস্কে এক বা একাধিক পার্টিশন তৈরি করুন এবং ড্রাইভ লেটার ও লেবেল অ্যাসাইন করুন। ভলিউমগুলো NTFS-এ ফরম্যাট করুন।
নতুন ডিস্ক দ্রুত ইনিশিয়ালাইজ ও ফরম্যাট করার জন্য নিচের পাওয়ারশেল ওয়ান-লাইনার ব্যবহার করতে পারেন (ডিস্ক ও পার্টিশন ম্যানেজমেন্ট উইথ পাওয়ারশেল আর্টিকেলে উদাহরণ দেখুন):
Get-Disk |Where-Object PartitionStyle -eq 'RAW' |Initialize-Disk -PartitionStyle MBR -PassThru |New-Partition -AssignDriveLetter -UseMaximumSize |Format-Volume -FileSystem NTFS -Confirm:$false
নোট. iSCSI ডিস্ক ReFS সাপোর্ট করে না।
এখন আপনি অন্য সার্ভার থেকে iSCSI経由 সংযুক্ত ভার্চুয়াল ডিস্ককে একটি সাধারণ লোকাল ড্রাইভের মতো ব্যবহার করতে পারেন।

একইভাবে ভার্চুয়াল iSCSI ডিস্ক উইন্ডোজ সার্ভারে মেমরিতে ভার্চুয়াল RAM ড্রাইভ তৈরি করতে ব্যবহার করা যেতে পারে।
আপনি পাওয়ারশেল দিয়ে ইনিশিয়েটর হোস্টে iSCSI ডিস্ক সংযোগ করতে পারেন। টার্গেট IQN পেতে Get-iSCSITarget কমান্ডলেট ব্যবহার করুন।
iSCSI টার্গেটের সাথে সংযোগের কমান্ড:
Connect-IscsiTarget –IsPersistent $False and enter the IQN.

যদি অতিরিক্ত CHAP প্রমাণীকরণ ব্যবহার করেন, নিচের কমান্ড দিয়ে প্রমাণীকরণ শংসাপত্র দিন:
Get-iScsiTarget | Connect-iScsitarget –AuthenticationType ONEWAYCHAP –ChapUserName <username> -ChapSecret <secret>
আপনি যদি iSCSI ডিস্কের জন্য হাই অভেইলাবিলিটি এবং লোড ব্যালেন্সিং চান, তবে একাধিক রিডান্ডান্ট নেটওয়ার্ক কম্পোনেন্ট (নেটওয়ার্ক অ্যাডাপ্টার, নেটওয়ার্ক স্যুইচ) এবং MPIO মডিউল ব্যবহার করতে পারেন।