Storage Spaces Direct (S2D) Windows Server 2016-এ আসা একটি নতুন বিতরণযোগ্য ডেটা স্টোরেজ প্রযুক্তি। S2D-এর মাধ্যমে আপনি একাধিক সার্ভারের লোকাল ড্রাইভগুলোকে একটি ফল্ট-টলারেন্ট, স্কেলেবল স্টোরেজে রূপান্তর করতে পারেন যা পৃথক ডিস্ক এবং পুরো সার্ভার দুটির ব্যর্থতাতেও সুরক্ষিত। এই সফটওয়্যার স্টোরেজের খরচ SAN বা NAS-এর চেয়ে অনেক কম কারণ এটি সহজে স্কেল করা যায় (১৬টি সার্ভার এবং ৪০০টি ড্রাইভ পর্যন্ত) এবং বিভিন্ন ধরনের ড্রাইভ (SSD এবং NVMe সহ) ব্যবহার করে পারফরম্যান্স উল্লেখযোগ্যভাবে বাড়ানো যায়।
Storage Spaces Direct (S2D) কী?
S2D হল Storage Spaces প্রযুক্তির আরও উন্নত রূপ যা Hyper-V ক্লাস্টার নোডগুলোর লোকাল ড্রাইভগুলোকে স্টোরেজ পুলে একত্রিত করতে দেয়। এই ড্রাইভগুলোর ওপর ভার্চুয়াল ভলিউম (ডিস্ক) তৈরি করে সেগুলো সাধারণ Cluster Shared Volume (CSV) হিসেবে ব্যবহার করা যায় Hyper-V ভার্চুয়াল মেশিনের ফাইল এবং SOFS ফাইল শেয়ার সংরক্ষণ করতে। স্টোরেজের আকার বাড়াতে হলে শুধু S2D-এ নতুন সার্ভার বা ড্রাইভ যোগ করলেই হবে। সংক্ষেপে, Storage Spaces Direct হল VMware vSAN-এর مایক্রোসফ্টের জবাব।
Storage Spaces Direct-এর প্রয়োজনীয়তা
S2D নিচের স্টোরেজ ডিভাইস টাইপগুলিকে সাপোর্ট করে:
- সাধারণ HDD (SAS);
- SATA / SAS SSD;
- NVMe (Non-Volatile Memory Express) - ক্লাসিক SATA/SAS ইন্টারফেসের পরিবর্তে দ্রুত PCI Express বাসের মাধ্যমে সংযুক্ত SSD।
পরে ভিন্ন টাইপের ডিস্কগুলিকে স্পিড বা আকার অনুযায়ী বিভিন্ন অ্যারেতে একত্রিত করা যায়। উদাহরণস্বরূপ, ক্যাশ এবং অ্যাপ্লিকেশন ট্রানজ্যাকশন লগ দ্রুত NVMe SSD-এ রাখা যাক, আর বড় ফাইল जिन्हें হাই পারফরম্যান্স দরকার নেই সেগুলো সস্তা এবং ধীর ডিস্কে সংরক্ষণ করা যাক।
S2D কাজ করার জন্য নিচের প্রয়োজনীয়তাগুলো পূরণ করে একটি ফেইলওয়ার ক্লাস্টার তৈরি করতে হবে।
S2D ক্লাস্টার নোডের জন্য প্রয়োজনীয়তা:
- Windows Server 2016 Datacenter edition;
- সার্ভারগুলিতে নিচের কম্পোনেন্ট ইনস্টল থাকতে হবে: Hyper-V, File Services roles এবং Failover Clustering feature. নোট: SMB 1.0 ডিজেবল করুন:
Remove-WindowsFeature –Name FS-SMB1 -Verbose –Restart - ক্লাস্টারে কমপক্ষে দুইটি সার্ভার (আদর্শতayas কমপক্ষে ৪টি হোস্ট হাই ফল্ট টলারেন্সের জন্য);
- সিস্টেম ড্রাইভের বাইরে প্রতিটি নোডে কমপক্ষে একটি ফিজিক্যাল ড্রাইভ থাকতে হবে। Storage Spaces Direct-এ যোগ করার সব ড্রাইভ অবশ্যই আনফরম্যাটেড থাকতে হবে (অর্থাৎ পার্টিশনড না এবং কোনো পার্টিশন টেবিল থাকবে না)।
মান लीজিয়ে আপনি Windows Server 2016 চলে দুইটি সার্ভারের একটি ফেইলওয়ার ক্লাস্টার তৈরি করেছেন (এটি ওয়ার্কগ্রুপেও তৈরি করা যায়)।
নোট: যদি ক্লাস্টারে জোড় সংখ্যক নোড থাকে, তবে আপনাকে উইটনেস নোড কনফিগার করতে হবে। বিজোড় সংখ্যক নোড থাকলে উইটনেস দরকার নেই।
Storage Spaces Direct চালু করার আগে নিশ্চিত করুন যে আপনার ডিস্কগুলো এই পুলে যোগ করা যায়।
Get-PhysicalDisk –CanPool $True | Sort Model
Storage Spaces Direct কীভাবে সক্ষম করবেন
নিচের কমান্ড দিয়ে S2D সক্রিয় করুন:
Enable-ClusterStorageSpacesDirect
এই কমান্ড প্রসেস হতে কিছু সময় লাগে (প্রায় ১০ মিনিট), সমস্ত উপলব্ধ ডিস্ক এবং তাদের পারফরম্যান্স বিশ্লেষণ করা হয় এবং একটি ক্লাস্টার পুল স্বয়ংক্রিয়ভাবে তৈরি হয়। এছাড়া দুটি টিয়ার স্বয়ংক্রিয়ভাবে তৈরি হয়: Performance এবং Capacity, যাদের ফেইলওভার টাইপ যথাক্রমে mirror এবং parity।
ডেটা স্টোরেজের ফল্ট টলারেন্সের ৩টি পদ্ধতি সমর্থিত:
- Mirrored (3) – ডেটা ৩টি (ন্যূনতম কনফিগারেশনে ২টি) নোডের মধ্যে সিঙ্ক্রোনাসলি রিপ্লিকেট করা হয়। সব সার্ভারের মধ্যে অপারেশন বিতরণ করে হাই রিড স্পিড অর্জন করা হয়।
- Parity (2) – ডেটা প্যারিটি তথ্যের সাথে বিভিন্ন ডিস্কে বিতরণ করা হয়। একই ডেটার একাধিক কপি রাখতে না হলে স্টোরেজ আরও দক্ষ।
- Tiered (1) – উপরের দুটি পদ্ধতির সমন্বয়।
নোট ১: Enable-ClusterS2D কমান্ড চালালে "no disks with supported bus types found to be used for S2D" এরর আসলে, সম্ভবত আপনার ডিস্কগুলোর বাস টাইপ (BusType) RAID (S2D-এর জন্য অসমর্থিত কনফিগারেশন)। বাস টাইপ যাচাই করুন:
Get-Disk | select Number, FriendlyName, OperationalStatus, Size, PartitionStyle, BusType | sort Number | ft -AutoSize
সবকেই RAID দেখাচ্ছে। সমাধান: কন্ট্রোলারের ড্রাইভার বা ফার্মওয়্যার আপডেট করুন (HP সার্ভারের ক্ষেত্রে.latest HPE Support Pack ইনস্টল করুন)। আবার BusType চেক করুন (এখন SAS দেখাবে)।
এছাড়া একটি ছোট ট্রিক দিয়ে নির্দিষ্ট কন্ট্রোলারের জন্য বাস টাইপ SATA-এ পরিবর্তন করা যায়:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\arcsas\Parameters
"BusType"=dword:0000000b (বদলে 00000008)
নোট ২: অ্যারেতে SSD বা NVMe টাইপের ডিস্ক সনাক্ত হলে, সেটি অটোমেটিক্যালি ক্যাশ স্টোরেজ হিসেবে ব্যবহৃত হবে। এমন ডিস্ক না থাকলে S2D তৈরি করার সময় কিছু সতর্কতা আসবে। ক্যাশ ডিজেবল করতে -CacheState Disabled প্যারামিটার ব্যবহার করুন।
Failover Cluster Manager খুলুন এবং Storage সেকশনে Cluster Pool 1 আছে কিনা যাচাই করুন। পুল সিলেক্ট করলে এর ডিস্কগুলো দেখতে পারবেন।
প্রয়োজনে পুলের নাম পরিবর্তন করুন:
Set-StoragePool –FriendlyName “Cluster Pool 1” –NewFriendlyName “S2D”
নির্দিষ্ট ডিস্ক থেকে ভলিউম তৈরি করতে চাইলে এই কমান্ড ব্যবহার করুন। প্রথমে সব LUN 3 ডিস্ক সিলেক্ট করে পুলে যোগ করুন:
$HDDs = Get-PhysicalDisk | ? PhysicalLocation -like "*LUN 3"
New-StoragePool -StorageSubSystemFriendlyName *Cluster* -FriendlyName S2DPool -ProvisioningTypeDefault Fixed -PhysicalDisk $HDDs
পুলের ডিস্ক লিস্ট দেখুন:
Get-StoragePool -FriendlyName S2D | Get-PhysicalDisk | ft PhysicalLocation
নতুন ডিস্ক পুলে যোগ করুন:
$HDDs = Get-PhysicalDisk | ? PhysicalLocation -like "*LUN 4"
Add-PhysicalDisk -PhysicalDisks $HDDs -StoragePoolFriendlyName S2D
S2D হিসেবে চিহ্নিত ডিস্কগুলো Disk Management কনসোলে আর দেখা যাবে না, এটা স্বাভাবিক।
ভিন্ন টাইপের ড্রাইভ থাকলে স্টোরেজ টিয়ারিং ব্যবহার করতে পারেন (ঐচ্ছিক)। SSD-এর মিরর টাইপ টিয়ার:
New-StorageTier -StoragePoolFriendlyName S2D -FriendlyName "Mirror_Tier" -MediaType SSD -ResiliencySettingName Mirror
সাধারণ HDD-এর প্যারিটি টিয়ার:
New-StorageTier -StoragePoolFriendlyName S2D -FriendlyName "Parity_Tier" -MediaType HDD -ResiliencySettingName Parity
এখন CSV (Cluster Shared Volume) তৈরি করুন:
New-Volume –StoragePoolFriendlyName S2D –FriendlyName CSV001 –PhysicalDiskRedudancy 2 -FileSystem CSVFS_ReFS -Size 200GB
ভলিউম এবং তাদের রিডান্ডেন্সি টাইপ লিস্ট করুন:
Get-VirtualDisk | ft FriendlyName, ResiliencySettingName, PhysicalDiskRedundancy
Disk Management-এ নতুন CSV দেখা যাবে। এই ভলিউমটি Hyper-V ভার্চুয়াল মেশিন বা Scale-out File Server শেয়ার হোস্ট করতে ব্যবহার করা যায়।
সারসংক্ষেপে, Storage Spaces Direct ব্যবহার করে বেশ কিছু সার্ভারের লোকাল ডিস্ক দিয়ে সহজে একটি সফটওয়্যার নেটওয়ার্ক স্টোরেজ তৈরি করা যায়। S2D-র কারণে যেকোনো দুটি ডিস্ক বা সার্ভারের (৪+ নোড ক্লাস্টার) ফল্ট টলারেন্স নিশ্চিত হয়। ডিস্ক বা সার্ভারের কোনো সমস্যা সনাক্ত হলে S2D ক্লাস্টার অটোমেটিক্যালি বাকি ডিভাইসগুলোর মধ্যে ডেটা পুনর্বণ্টন শুরু করে। টেস্ট এনভায়রনমেন্টে যেকোনো দুটি ডিস্ক ডিসকানেক্ট করলেও স্টোরেজ উপলব্ধ থাকে এবং সেটার ওপর চলমান VM-গুলো রান করে। S2D স্টোরেজে ব্যর্থ ড্রাইভ কীভাবে প্রতিস্থাপন করতে হয় তা পরের নিবন্ধে বর্ণনা করব।