وقتی صحبت از زیرساخت یک کسبوکار میشود، یکی از اولین مفاهیمی که با آن مواجه میشویم Server یا سرور است. اما سرور فقط یک کامپیوتر قدرتمندتر از کامپیوترهای معمولی نیست. انتخاب Server مناسب به مجموعهای از عوامل مانند CPU، RAM، Storage، نوع Disk، RAID، Network، Redundancy، قابلیت مدیریت و حتی معماری کلی Data Center وابسته است.
از طرف دیگر، تنوع بسیار زیاد سرورها و تجهیزات سختافزاری باعث شده انتخاب یک Server مناسب برای بسیاری از افراد پیچیده باشد. برندهایی مانند Dell Technologies، HPE، Lenovo و Supermicro مدلهای مختلفی برای Workloadهای متفاوت تولید میکنند و هر نسل نیز امکانات و Platform سختافزاری متفاوتی دارد.
در بخش Storage نیز تنها انتخاب بین HDD و SSD مطرح نیست. نوع Interface، Form Factor، SAS، SATA، NVMe، Enterprise SSD، RAID، Storage Controller و حتی معماریهایی مانند Ceph میتوانند تأثیر بسیار زیادی بر Performance، Availability و هزینه زیرساخت داشته باشند.
در این راهنما قصد داریم یک تصویر جامع از دنیای Server Hardware داشته باشیم؛ از شناخت برندها و مدلهای معروف سرور گرفته تا CPU، RAM، Disk، RAID، Storage و معماریهای Distributed Storage.
سرور چیست؟
Server در سادهترین تعریف، سیستمی است که برای ارائه یک یا چند سرویس به سیستمهای دیگر طراحی شده است.
اما یک Server سختافزاری Enterprise معمولاً تفاوتهای مهمی با یک PC معمولی دارد:
- پشتیبانی از CPUهای قدرتمند و چندسوکته
- ظرفیت بالاتر RAM
- ECC Memory
- Diskهای Enterprise
- Hot-Swap برای برخی قطعات
- Redundant Power Supply
- مدیریت Remote
- RAID Controller یا HBA
- Network Interfaceهای سریعتر
- قابلیت کارکرد 24/7
- پشتیبانی از قطعات و Firmwareهای Enterprise
هدف اصلی طراحی چنین سیستمی این است که Server بتواند برای مدت طولانی و با قابلیت اطمینان بالا Workloadهای سازمانی را اجرا کند.
انواع Server از نظر فرم فاکتور
سرورها از نظر فیزیکی نیز انواع مختلفی دارند.
Rack Server
رایجترین نوع سرور در Data Centerها، Rack Server است.
این سرورها برای قرار گرفتن در Rack طراحی شدهاند و معمولاً با اندازههایی مانند 1U، 2U و 4U شناخته میشوند.
19" Rack
│
├── 1U Server
├── 1U Server
├── 2U Server
├── 2U Server
└── Storage
سرورهای 1U فضای کمی اشغال میکنند، در حالی که مدلهای 2U و 4U معمولاً فضای بیشتری برای Disk، GPU، PCIe Card و سایر Expansionها دارند.
Tower Server
Tower Server از نظر ظاهری بیشتر شبیه Workstation یا PCهای بزرگ است و معمولاً برای شرکتهایی مناسب است که Rack یا Data Center کامل ندارند.
Blade Server
در معماری Blade، چند Server Node به شکل ماژولار داخل یک Chassis قرار میگیرند.
در این معماری برخی اجزای مشترک مانند Power و Networking میتوانند در سطح Chassis مدیریت شوند.
Blade Architecture میتواند Density بالایی ایجاد کند، اما Infrastructure و Management آن معمولاً پیچیدهتر از Rack Server است.
برندهای معروف سرور
در بازار Enterprise چند برند نقش مهمی در تولید Server Hardware دارند. از شناختهشدهترین نامها میتوان به موارد زیر اشاره کرد:
- Dell Technologies
- HPE
- Lenovo
- Supermicro
- Cisco
این فهرست به معنی رتبهبندی برندها نیست؛ هرکدام Platform، مدل، قابلیت و بازار هدف متفاوتی دارند.
سرورهای Dell
یکی از شناختهشدهترین خانوادههای سرور Dell، PowerEdge است.
در این خانواده مدلهایی مانند:
- PowerEdge R640
- PowerEdge R740
- PowerEdge R740xd
- PowerEdge R750
- PowerEdge R750xd
- PowerEdge R760
- PowerEdge R760xd
دیده میشوند.
در نامگذاری Dell، حرف R معمولاً نشاندهنده Rack Server است و عدد مدل، نسل و جایگاه محصول را مشخص میکند.
پس عبارتی مانند Dell PowerEdge R760 با عبارتی مانند HPE DL380 Gen11 دقیقاً از یک سیستم نامگذاری استفاده نمیکنند.
سرورهای HPE
HPE یا Hewlett Packard Enterprise نیز یکی از مهمترین تولیدکنندگان Server Hardware در بازار Enterprise است.
خانواده معروف HPE برای سرورهای Rack، ProLiant است.
مدلهایی مانند:
- HPE ProLiant DL360
- HPE ProLiant DL380
- HPE ProLiant DL560
- HPE ProLiant DL580
در محیطهای مختلف مورد استفاده قرار گرفتهاند.
G9، G10 و G11 در سرورها یعنی چه؟
این یکی از مهمترین نکاتی است که هنگام خرید Server باید بدانیم.
عبارتهایی مانند:
- HPE DL380 Gen9
- HPE DL380 Gen10
- HPE DL380 Gen10 Plus
- HPE DL380 Gen11
به نسل Platform سرور اشاره دارند، نه نسل CPU.
هر Generation میتواند تغییرات مختلفی در موارد زیر داشته باشد:
- CPU Support
- Memory Technology
- PCIe Generation
- Storage Interface
- Network Capability
- Management Features
- Power Efficiency
- Firmware
- Storage Controller
بنابراین Gen10 الزاماً به این معنی نیست که CPU آن «نسل 10» است؛ چنین چیزی در نامگذاری CPUهای Intel و AMD معنا ندارد.
نسل سرور با نسل CPU چه تفاوتی دارد؟
این دو مفهوم باید کاملاً از یکدیگر جدا شوند.
| مفهوم | مثال | به چه چیزی اشاره دارد؟ |
|---|---|---|
| Server Generation | HPE Gen10 / Gen11 | نسل Platform سرور |
| Server Model | Dell R760 | مدل سرور |
| CPU Generation | Intel Xeon Scalable Gen 4 | نسل معماری CPU |
| CPU Family | Intel Xeon / AMD EPYC | خانواده پردازنده |
| CPU SKU | یک مدل مشخص CPU | مدل دقیق پردازنده |
CPU در Server
CPU یکی از مهمترین اجزای Server است، اما انتخاب CPU صرفاً بر اساس تعداد Core یا فرکانس Clock انجام نمیشود.
موارد مهم شامل:
- تعداد Core
- تعداد Thread
- Base Frequency
- Turbo Frequency
- Cache
- TDP
- Memory Channels
- Memory Capacity
- PCIe Lanes
- CPU Socket
- Virtualization Features
- نسل معماری
استفاده از CPU با Core بیشتر برای همه Workloadها لزوماً به معنی Performance بیشتر نیست. نوع Application و الگوی مصرف منابع اهمیت زیادی دارد.
Intel Xeon در سرورها
یکی از شناختهشدهترین خانوادههای CPU برای Server، Intel Xeon است.
در خانواده Intel Xeon Scalable، نسلهای مختلفی در طول زمان عرضه شدهاند و هر نسل تغییرات قابل توجهی در Architecture، Memory، PCIe، تعداد Core و امکانات Platform ایجاد کرده است.
بنابراین هنگام خرید یک Server باید هم مدل CPU و هم نسل CPU بررسی شود.
برای مثال یک Server ممکن است از نظر نسل Platform جدید باشد، اما CPU نصبشده روی آن برای نسل قدیمیتری باشد یا برعکس، بسته به Compatibility Platform.
AMD EPYC در سرورها
AMD EPYC نیز یکی از خانوادههای مهم CPUهای Server است.
EPYC در نسلهای مختلف با Platformهای متفاوت عرضه شده و در بسیاری از Workloadهای Enterprise، Virtualization، Cloud، Database و Compute مورد استفاده قرار میگیرد.
در معماریهای جدید، مقایسه Intel Xeon و AMD EPYC باید بر اساس Workload واقعی، تعداد Core، Memory Capacity، PCIe، توان مصرفی، Licensing و قیمت انجام شود؛ نه صرفاً نام برند.
چند CPU یا چند Socket؟
برخی Serverها از دو یا تعداد بیشتری CPU Socket پشتیبانی میکنند.
این موضوع برای Workloadهای سنگین مانند:
- Virtualization
- Database
- High Performance Computing
- Large-scale Analytics
- Enterprise Applications
میتواند اهمیت داشته باشد.
البته افزایش تعداد Socket همیشه بهترین راه افزایش Performance نیست و باید Memory Architecture، NUMA و نوع Application نیز در نظر گرفته شود.
RAM در سرور
RAM سرور معمولاً از ECC Memory استفاده میکند.
ECC میتواند برخی خطاهای Memory را تشخیص و در شرایط مشخص اصلاح کند و به همین دلیل در سیستمهای حساس Enterprise اهمیت بالایی دارد.
در Serverهای مدرن، علاوه بر Capacity باید موارد زیر را نیز بررسی کرد:
- Memory Generation
- ECC
- Registered / Buffered Memory
- Memory Speed
- تعداد Memory Channel
- Maximum Supported Capacity
- Population Rules
نحوه نصب RAM نیز مهم است. پر کردن Slotها بدون توجه به Memory Channel میتواند باعث شود سیستم بهینهترین Bandwidth ممکن را دریافت نکند.
Storage در Server چیست؟
Storage در Server را میتوان از دو منظر بررسی کرد:
- Diskهایی که مستقیماً داخل Server قرار دارند.
- Storage مستقلی که از طریق Network در اختیار Server قرار میگیرد.
در حالت اول با Local Storage یا DAS مواجه هستیم و در حالت دوم معماریهایی مانند NAS، SAN و Distributed Storage مطرح میشوند.
HDD چیست؟
Hard Disk Drive یا HDD از دیسکهای مکانیکی برای ذخیره داده استفاده میکند.
مزیت اصلی HDD معمولاً ظرفیت بالا با هزینه کمتر به ازای هر TB است.
HDD برای Workloadهایی که به ظرفیت زیاد و IOPS بسیار بالا نیاز ندارند میتواند گزینه مناسبی باشد.
برخی کاربردهای رایج:
- Backup
- Archive
- Object Storage با ظرفیت بالا
- Cold Data
- Storageهای ظرفیتمحور
SSD چیست؟
Solid State Drive برخلاف HDD از حافظه Flash برای ذخیره داده استفاده میکند و قطعات مکانیکی متحرک ندارد.
SSD معمولاً Latency بسیار پایینتر و IOPS بالاتری نسبت به HDD ارائه میدهد.
اما SSDها نیز یکسان نیستند.
SATA SSD
SATA SSD از Interface و پروتکل SATA استفاده میکند.
این SSDها نسبت به HDD سریعتر هستند، اما Performance آنها به محدودیتهای Interface SATA وابسته است.
برای بسیاری از Workloadهای عمومی، SATA SSD میتواند گزینه مناسبی باشد.
SAS SSD
SAS یا Serial Attached SCSI یکی از Interfaceهای رایج در Storageهای Enterprise است.
SAS در Server و Storageهای Enterprise مزایایی مانند:
- قابلیت اطمینان بالا
- Enterprise Features
- Dual Port در برخی مدلها
- مدیریت بهتر در محیطهای Storage
را ارائه میکند.
NVMe چیست؟
NVMe یا Non-Volatile Memory Express پروتکلی است که برای استفاده از حافظههای سریع Flash روی PCIe طراحی شده است.
NVMe برخلاف SATA محدود به معماری قدیمی SATA نیست و میتواند از Parallelism و Queueهای بسیار بیشتری استفاده کند.
به همین دلیل NVMe برای Workloadهایی که به Latency پایین و IOPS بالا نیاز دارند بسیار جذاب است.
تفاوت SATA، SAS و NVMe
| ویژگی | SATA | SAS | NVMe |
|---|---|---|---|
| Interface | SATA | SAS | PCIe |
| Latency | بیشتر | متوسط | بسیار پایینتر |
| Performance | متوسط | بالا | بسیار بالا |
| Enterprise Usage | رایج | بسیار رایج | رایج و رو به رشد |
| مناسب برای | ظرفیت و Workload عمومی | Enterprise Storage | Database، VM و Workloadهای I/O intensive |
Enterprise SSD چیست؟
عبارت Enterprise SSD صرفاً به معنی «SSD سریع» نیست.
SSDهای Enterprise معمولاً برای Workloadهای سنگین و Continuous Write/Read طراحی میشوند و ممکن است ویژگیهایی مانند:
- DWPD بالاتر
- Endurance بیشتر
- Power Loss Protection
- Firmware مخصوص Enterprise
- Performance پایدارتر
- تحمل Workloadهای 24/7
داشته باشند.
DWPD چیست؟
DWPD یا Drive Writes Per Day معیاری برای بیان Endurance یک SSD است.
برای مثال اگر SSD ظرفیت 3.84TB داشته باشد و Rating آن 1 DWPD باشد، بهصورت مفهومی برای نوشتن معادل ظرفیت کامل خود در هر روز در طول دوره مشخصی از عمر طراحی شده است.
برای Workloadهای Write-heavy مانند Database، Log، Storage و برخی Virtualization Platformها، Endurance اهمیت زیادی دارد.
Form Factorهای SSD
SSD فقط از نظر Interface متفاوت نیست و Form Factorهای مختلفی نیز دارد.
برخی نمونههای رایج عبارتاند از:
- 2.5-inch SSD
- M.2
- U.2
- U.3
- E1.S
- E3.S
در Serverهای Enterprise باید بررسی شود که Chassis، Backplane، Controller و Motherboard از چه Form Factorهایی پشتیبانی میکنند.
RAID چیست؟
RAID یا Redundant Array of Independent Disks روشی برای ترکیب چند Disk در یک Logical Storage است.
RAID میتواند برای اهدافی مانند:
- افزایش Performance
- افزایش Redundancy
- افزایش Availability
- ترکیبی از موارد بالا
استفاده شود.
اما RAID را نباید با Backup اشتباه گرفت.
RAID از شما در برابر بسیاری از خرابیهای Disk محافظت میکند؛ Backup برای بازیابی داده در برابر سناریوهایی مانند حذف اشتباه، خرابی گسترده، Ransomware یا از دست رفتن داده استفاده میشود.
RAID 0
در RAID 0 دادهها بین چند Disk توزیع میشوند و Performance افزایش پیدا میکند.
اما هیچ Redundancy وجود ندارد.
اگر یکی از Diskها خراب شود، کل Array از دست میرود.
بنابراین RAID 0 برای دادههای حیاتی انتخاب مناسبی نیست.
RAID 1
در RAID 1 دادهها روی دو Disk Mirror میشوند.
اگر یک Disk خراب شود، نسخه دیگر داده همچنان وجود دارد.
مزیت اصلی RAID 1 سادگی و Redundancy است، اما ظرفیت قابل استفاده تقریباً برابر ظرفیت یک Disk خواهد بود.
RAID 5
RAID 5 از Parity استفاده میکند و میتواند خرابی یک Disk را تحمل کند.
در مقابل، Write Performance و فرآیند Rebuild باید با دقت بررسی شوند.
برای Arrayهای بسیار بزرگ و Diskهای با ظرفیت بالا، مدت و ریسک Rebuild اهمیت بیشتری پیدا میکند.
RAID 6
RAID 6 از دو مجموعه Parity استفاده میکند و میتواند خرابی دو Disk را تحمل کند.
به همین دلیل در برخی Storageهای ظرفیتمحور که تعداد Disk زیاد است، مورد استفاده قرار میگیرد.
RAID 10
RAID 10 ترکیبی از Mirroring و Striping است.
این RAID معمولاً Performance و Redundancy مناسبی ارائه میکند و برای Workloadهایی مانند Database و Virtualization میتواند گزینه جذابی باشد.
| RAID | Redundancy | Performance | ظرفیت قابل استفاده |
|---|---|---|---|
| RAID 0 | ندارد | بالا | بالا |
| RAID 1 | یک Disk | خوب | حدود 50% |
| RAID 5 | یک Disk | متوسط | ظرفیت منهای یک Disk |
| RAID 6 | دو Disk | متوسط | ظرفیت منهای دو Disk |
| RAID 10 | بسته به Layout | بالا | حدود 50% |
Hardware RAID یا Software RAID؟
RAID میتواند توسط یک Hardware RAID Controller یا توسط Software مدیریت شود.
Hardware RAID
در Hardware RAID یک Controller اختصاصی مسئول مدیریت Diskها و Array است.
مزایای احتمالی:
- Cache اختصاصی
- مدیریت مرکزی Diskها
- Integration با Server
- Enterprise Monitoring
- قابلیتهای Redundancy
Software RAID
در Software RAID، سیستمعامل یا Software Storage مسئول مدیریت Array است.
راهکارهایی مانند Linux MD RAID و ZFS میتوانند در این دسته قرار بگیرند.
در معماریهای مدرن، انتخاب بین Hardware RAID، Software RAID، HBA و Storageهای Distributed باید بر اساس کل Architecture انجام شود.
Storage Controller و HBA چیست؟
سرور ممکن است برای اتصال و مدیریت Diskها از Storage Controller استفاده کند.
دو مفهوم مهم عبارتاند از:
- RAID Controller: مدیریت RAID و Logical Volumeها
- HBA: ارائه دسترسی مستقیمتر به Diskها برای Software Storage
این تفاوت در معماریهایی مانند ZFS و Ceph اهمیت زیادی دارد؛ زیرا ممکن است بخواهیم Software مستقیماً وضعیت Disk را مشاهده کند.
DAS، NAS و SAN چیستند؟
Storage فقط به Disk داخل Server محدود نمیشود.
DAS
Direct Attached Storage مستقیماً به Server متصل میشود.
Diskهای داخلی Server نمونهای از Local/DAS Storage هستند.
NAS
Network Attached Storage Storage را از طریق Network و معمولاً در قالب File Service در اختیار Clientها قرار میدهد.
SAN
Storage Area Network برای ارائه Storage در سطح Block طراحی شده و در محیطهای Enterprise کاربرد زیادی دارد.
| نوع | سطح دسترسی | نمونه کاربرد |
|---|---|---|
| DAS | Local / Direct | Storage داخل Server |
| NAS | File | File Sharing و Repository |
| SAN | Block | Enterprise Virtualization و Database |
| Distributed Storage | Block / File / Object | Cloud و Infrastructureهای بزرگ |
Ceph چیست؟
Ceph یک Distributed Storage Platform و Open Source است که میتواند Storage را روی مجموعهای از Serverها و Diskها توزیع کند.
در معماری Ceph، بهجای اینکه یک Server تنها مالک Storage باشد، چندین Node میتوانند در یک Storage Cluster مشارکت کنند.
Ceph Storage Cluster
│
┌─────────────┼─────────────┐
▼ ▼ ▼
Node 1 Node 2 Node 3
SSD/HDD SSD/HDD SSD/HDD
│ │ │
└─────────────┼─────────────┘
▼
Distributed Data
Ceph میتواند سرویسهای مختلف Storage را ارائه کند:
- RBD: Block Storage
- CephFS: File Storage
- RGW: Object Storage با APIهای سازگار با S3
Ceph چگونه داده را محافظت میکند؟
Ceph میتواند دادهها را با روشهایی مانند Replication یا Erasure Coding در چند Failure Domain توزیع کند.
در Replication، یک Object یا Block میتواند چند Replica داشته باشد.
Data
│
├── Replica 1 → Node A
├── Replica 2 → Node B
└── Replica 3 → Node C
در صورت Failure یک Node، Replicaهای دیگر میتوانند امکان دسترسی به داده را حفظ کنند.
در مقابل، Erasure Coding میتواند برای برخی Workloadهای ظرفیتمحور، نسبت Storage Efficiency متفاوتی نسبت به Replication ایجاد کند.
Ceph چه تفاوتی با RAID دارد؟
RAID معمولاً در سطح مجموعهای از Diskهای یک Server یا یک Storage Controller کار میکند، در حالی که Ceph یک معماری Distributed Storage در سطح چند Node است.
| ویژگی | RAID | Ceph |
|---|---|---|
| Scope | Disk / Server | چند Node |
| Redundancy | Parity / Mirror | Replication / Erasure Coding |
| Scale | محدودتر | Scale-out |
| مدیریت | Controller یا Software | Distributed Cluster |
| Failure Domain | معمولاً Disk | Disk، Node و در معماری مناسب Failure Domainهای بزرگتر |
به همین دلیل Ceph را نباید صرفاً «RAID روی چند Server» در نظر گرفت. Ceph یک Storage Architecture کامل است.
آیا Ceph روی HDD بهتر است یا SSD؟
Ceph میتواند با HDD، SSD و NVMe طراحی شود؛ اما انتخاب Disk باید با نوع Workload هماهنگ باشد.
برای مثال:
- HDD → ظرفیت بالا و Workloadهای کمIOPS
- SATA/SAS SSD → Workloadهای عمومیتر و متعادل
- NVMe → IOPS بالا و Latency پایین
در معماری Ceph باید علاوه بر Media اصلی، نقشهای مختلف Storage و Metadata/DB/WAL در طراحی Performance نیز در نظر گرفته شوند.
Storage در Virtualization
یکی از مهمترین کاربردهای Server و Storage، Virtualization است.
در یک Virtualization Platform ممکن است دهها یا صدها VM روی مجموعهای از Serverها اجرا شوند.
در این حالت Storage Performance اهمیت بسیار زیادی پیدا میکند؛ زیرا بسیاری از VMها همزمان عملیات Read و Write انجام میدهند.
در چنین محیطی مواردی مانند:
- IOPS
- Latency
- Throughput
- Queue Depth
- Network Bandwidth
- Storage Redundancy
باید در کنار CPU و RAM بررسی شوند.
CPU، RAM یا Storage؛ کدام مهمتر است؟
پاسخ واحدی وجود ندارد.
برای یک Database ممکن است Storage Latency بسیار مهم باشد. برای یک Compute Workload تعداد Core اهمیت بیشتری دارد. برای یک Virtualization Host ممکن است CPU، RAM و Storage همزمان محدودکننده باشند.
بنابراین طراحی Server باید براساس Workload انجام شود.
| Workload | منابع مهم |
|---|---|
| Virtualization | CPU + RAM + Storage |
| Database | CPU + RAM + Low Latency Storage |
| Backup | Capacity + Throughput |
| Object Storage | Capacity + Network + Disk |
| AI / GPU Computing | GPU + PCIe + CPU + Network |
| Web Server | CPU + RAM + Network |
| Log Platform | CPU + RAM + Storage I/O |
Network در Server
یکی دیگر از اجزای مهم Server، Network Interface است.
در سرورهای مدرن بسته به Workload ممکن است از Networkهای:
- 1GbE
- 10GbE
- 25GbE
- 40GbE
- 100GbE
- و بالاتر
استفاده شود.
در Storage Clusterهایی مانند Ceph، Network میتواند به اندازه خود Diskها روی Performance تأثیر داشته باشد.
برای مثال اگر چند Node دارای NVMeهای بسیار سریع باشند اما Network بین آنها ظرفیت یا Latency مناسبی نداشته باشد، Performance نهایی Storage ممکن است به Network محدود شود.
Redundant Power Supply چیست؟
بسیاری از Serverهای Enterprise از چند Power Supply استفاده میکنند.
برای مثال:
Power Supply A ── PDU A
│
▼
Server
▲
│
Power Supply B ── PDU B
در این حالت خرابی یک Power Supply یا حتی یک مسیر برق میتواند بدون خاموش شدن Server مدیریت شود؛ البته به شرط اینکه کل مسیر برق و طراحی Redundancy نیز درست باشد.
Remote Management در Server
یکی از ویژگیهای مهم Serverهای Enterprise، امکان مدیریت خارج از سیستمعامل است.
برای مثال:
- Dell iDRAC
- HPE iLO
- Lenovo XClarity Controller
این سیستمها امکان انجام عملیاتهایی مانند:
- Remote Console
- Power Control
- Hardware Monitoring
- Firmware Management
- Hardware Inventory
- Alerting
را فراهم میکنند.
در Data Centerهای بزرگ، Remote Management یکی از قابلیتهای بسیار مهم برای کاهش نیاز به دسترسی فیزیکی به Server است.
Hot-Swap چیست؟
برخی قطعات Server بهصورت Hot-Swap طراحی میشوند؛ یعنی میتوان در شرایط مشخص بدون خاموش کردن کل سیستم آنها را تعویض کرد.
رایجترین نمونهها:
- Hot-Swap Drive
- Hot-Swap Power Supply
- برخی Fanها
این قابلیت برای کاهش Downtime اهمیت زیادی دارد.
چگونه یک Server مناسب انتخاب کنیم؟
انتخاب Server نباید با پرسش «کدام مدل بهتر است؟» شروع شود.
بهتر است ابتدا Workload را مشخص کنیم.
۱. Workload را مشخص کنید
آیا Server قرار است Web Server باشد؟ Virtualization Host؟ Database Server؟ Storage Node؟ Backup Server؟ Kubernetes Worker؟
۲. CPU را تعیین کنید
تعداد Core، Frequency، نسل CPU، تعداد Socket و Memory Support را بررسی کنید.
۳. RAM را تعیین کنید
ظرفیت فعلی و رشد مورد انتظار را مشخص کنید.
۴. Storage را طراحی کنید
ظرفیت، IOPS، Latency، Throughput، Redundancy و Growth را در نظر بگیرید.
۵. RAID یا Storage Architecture را انتخاب کنید
برای Local Storage ممکن است RAID مناسب باشد؛ برای Infrastructure بزرگتر شاید SAN، Ceph یا Storage Platform دیگری منطقیتر باشد.
۶. Network را بررسی کنید
بهخصوص برای Virtualization، Distributed Storage و Kubernetes، Network باید براساس Throughput و Latency مورد نیاز طراحی شود.
۷. Redundancy را مشخص کنید
- Dual PSU
- Redundant Network
- RAID
- Multiple Server
- Multiple Data Center
باید براساس سطح Availability مورد نیاز بررسی شوند.
یک Server خوب لزوماً Server جدید نیست
در پروژههای Infrastructure، خرید جدیدترین Server همیشه به معنی طراحی بهتر نیست.
گاهی یک Server نسل قبلی با CPU و Storage مناسب میتواند برای Workload مشخصی کاملاً کافی باشد.
در مقابل، برای Workloadهای جدید ممکن است استفاده از Platformهای قدیمی باعث محدودیت در:
- CPU
- Memory
- PCIe
- NVMe
- Network
- Power Efficiency
شود.
بنابراین تصمیم باید براساس Total Cost of Ownership، Performance مورد نیاز، Availability و مسیر رشد گرفته شود.
نسل Server را چگونه بررسی کنیم؟
هنگام مقایسه دو Server، صرفاً به نام Gen یا سال تولید نگاه نکنید.
این موارد را بررسی کنید:
- CPUهای قابل پشتیبانی
- Maximum RAM
- نوع RAM
- تعداد DIMM Slot
- PCIe Generation
- تعداد PCIe Slot
- پشتیبانی از NVMe
- نوع Backplane
- Storage Controller
- Network Interface
- Remote Management
- Power Consumption
- Firmware Support
سرور و Storage در معماری Private Cloud
در یک Private Cloud، معمولاً سرورهای فیزیکی تنها بخشی از معماری هستند.
برای مثال یک معماری میتواند شامل:
Private Cloud
│
┌───────────┼───────────┐
▼ ▼ ▼
Compute Network Storage
│ │
│ Ceph
│ │
└───────────┬───────────┘
▼
Applications
در چنین معماریهایی Server Hardware، Virtualization، Network و Storage باید بهعنوان یک سیستم واحد طراحی شوند.
برای آشنایی بیشتر با این موضوع میتوانید مقاله Private Cloud و پیادهسازی آن با OpenStack را مطالعه کنید و همچنین صفحه خدمات Private Cloud آلتیمیت کلاد را ببینید.
Server Hardware و Kubernetes
در معماری Kubernetes نیز انتخاب Server اهمیت دارد، اما Kubernetes باعث نمیشود نیاز به طراحی صحیح Hardware از بین برود.
برای مثال در یک Kubernetes Cluster میتوان Serverها را به نقشهای مختلف تقسیم کرد:
- Control Plane
- Worker
- Storage Node
- GPU Node
اگر Storage خارج از Kubernetes و روی Ceph یا Storage Platform دیگری قرار داشته باشد، Network بین Kubernetes Nodeها و Storage Cluster نیز به بخش مهمی از Architecture تبدیل میشود.
برای آشنایی با Kubernetes میتوانید مقاله Kubernetes چیست؟ را مطالعه کنید.
جمعبندی
دنیای Server Hardware بسیار گستردهتر از انتخاب یک CPU و چند Disk است. یک Server Enterprise مجموعهای از CPU، RAM، Storage، Network، Power، Management و قابلیتهای Redundancy است که باید متناسب با Workload واقعی سازمان طراحی شود.
برندهایی مانند Dell، HPE، Lenovo، Supermicro و Cisco هرکدام خانوادهها و Platformهای مختلفی ارائه میکنند. در این میان باید تفاوت بین Server Generation و CPU Generation را بهخوبی درک کرد؛ برای مثال Gen10 یا Gen11 در HPE به نسل Server Platform اشاره دارد و نباید با نسل پردازنده اشتباه گرفته شود.
در بخش Storage نیز انتخاب بین HDD، SATA SSD، SAS SSD و NVMe به Performance، Capacity، Endurance و هزینه بستگی دارد. مفاهیمی مانند RAID برای Redundancy و Performance در سطح Disk مهم هستند، اما در معماریهای بزرگتر ممکن است راهکارهایی مانند SAN، Distributed Storage و Ceph انتخاب شوند.
در نهایت، هیچ Server یا Storageای بهصورت مطلق برای همه Workloadها مناسب نیست. طراحی صحیح زمانی اتفاق میافتد که CPU، RAM، Storage، Network، Redundancy و رشد آینده در کنار نیاز واقعی Application بررسی شوند.
چکلیست سریع انتخاب Server
| مولفه | سؤالات مهم |
|---|---|
| Server | چه برند و چه Platformی برای Workload مناسب است؟ |
| CPU | چند Core، چه نسل و چند Socket نیاز داریم؟ |
| RAM | چه ظرفیتی و با چه Memory Architectureای نیاز است؟ |
| Disk | HDD، SATA SSD، SAS یا NVMe؟ |
| Endurance | SSD چه DWPD و Workload Ratingای دارد؟ |
| RAID | RAID 1، 5، 6، 10 یا Storage Architecture دیگری؟ |
| Storage | Local، NAS، SAN یا Distributed Storage؟ |
| Network | چه Throughput و Latencyای نیاز است؟ |
| Availability | چه سطحی از Redundancy لازم است؟ |
| Growth | نیاز Server در یک تا سه سال آینده چقدر خواهد بود؟ |
| Management | Remote Management و Monitoring چگونه انجام میشود؟ |
سؤالات متداول
بهترین برند سرور چیست؟
پاسخ واحدی برای همه پروژهها وجود ندارد. Dell، HPE، Lenovo، Supermicro و سایر تولیدکنندگان، Platformهای متفاوتی دارند و انتخاب باید بر اساس CPU، RAM، Storage، Network، قابلیت مدیریت، Availability، هزینه و نیاز Workload انجام شود.
G9، G10 و G11 در سرور یعنی چه؟
این عبارات در محصولاتی مانند HPE ProLiant به نسل Server Platform اشاره میکنند و با نسل CPU یکسان نیستند.
آیا NVMe از SSD سریعتر است؟
NVMe خودش یک نوع SSD از نظر حافظه نیست؛ یک پروتکل و Interface برای دسترسی به Storage روی PCIe است. بسیاری از NVMe SSDها نسبت به SATA SSDها Latency پایینتر و Performance بالاتری دارند.
SSD Enterprise چه تفاوتی با SSD معمولی دارد؟
SSDهای Enterprise برای Workloadهای سنگینتر طراحی میشوند و میتوانند Endurance، Power Loss Protection، Firmware و Performance پایدارتر و مشخصات مناسبتری برای کارکرد مداوم داشته باشند.
آیا RAID جایگزین Backup است؟
خیر. RAID برای افزایش Availability و تحمل برخی خرابیهای Disk طراحی شده است و جایگزین Backup نیست.
RAID 5 بهتر است یا RAID 10؟
این انتخاب به Workload، تعداد Disk، ظرفیت، Write Pattern، Performance مورد نیاز و تحمل خرابی بستگی دارد. برای Database و Workloadهای I/O-intensive معمولاً باید RAID Level را با دقت بیشتری انتخاب کرد.
Ceph چیست و چرا در سرورها استفاده میشود؟
Ceph یک Distributed Storage Platform است که میتواند Storage را روی چندین Node توزیع کند و سرویسهای Block، File و Object ارائه دهد. از Replication و Erasure Coding نیز برای حفاظت و توزیع داده استفاده میکند.
آیا Ceph همان RAID است؟
خیر. RAID عمدتاً در سطح مجموعه Diskها کار میکند، در حالی که Ceph یک Distributed Storage Architecture در سطح چند Node است.
برای Server، HDD بهتر است یا SSD؟
به Workload بستگی دارد. HDD معمولاً برای Capacity بالا و هزینه کمتر مناسب است، در حالی که SSD برای Latency و IOPS بالاتر استفاده میشود.
برای Database چه نوع Diskی مناسب است؟
Databaseهای I/O-intensive معمولاً از Storage با Latency پایین و IOPS بالا سود میبرند و در بسیاری از سناریوها SSDهای Enterprise یا NVMe میتوانند گزینه مناسبی باشند. انتخاب نهایی باید با Benchmark و Workload واقعی انجام شود.
طراحی زیرساخت سرور و Storage
انتخاب Server تنها خرید یک دستگاه سختافزاری نیست؛ بلکه بخشی از طراحی کل زیرساخت است. CPU، RAM، Disk، RAID، Network، Storage، Backup و Availability باید در کنار Application و نیاز کسبوکار بررسی شوند.
آلتیمیت کلاد میتواند در طراحی و پیادهسازی زیرساختهای Server، Virtualization، Private Cloud، Distributed Storage، Kubernetes، Backup و High Availability به سازمانها کمک کند.
اگر در حال طراحی یا بازطراحی زیرساخت سرور و Storage خود هستید، میتوانید برای بررسی معماری و نیازمندیهای پروژه از طریق آلتیمیت کلاد با ما در ارتباط باشید.