From spinning platters to RAID, caching, storage access methods, and provisioning strategies.
A hard disk drive stores data magnetically on rotating platters. A read/write head accesses data organized into concentric tracks, each divided into sectors.
القرص الصلب الميكانيكي يخزن البيانات على أقراص دوارة (Platters) يقرأها رأس (Head). كل قرص مقسم إلى مسارات (Tracks) وكل مسار إلى قطاعات (Sectors).
Like a vinyl record: the platter spins, the needle (head) reads grooves (tracks) split into segments (sectors).
Rotating magnetic disk that stores data.
A 7200 RPM platter.
Reads/writes data on the platter surface.
One head per platter surface.
Concentric circle on a platter.
Outer tracks hold more sectors.
Smallest addressable storage unit on a track.
Traditionally 512 bytes.
SSDs use flash memory with no moving parts — faster, more durable, lower latency. HDDs use mechanical platters — cheaper per GB, higher capacity but slower.
SSD يستخدم ذاكرة فلاش بدون أجزاء متحركة فيكون أسرع وأكثر تحملاً، بينما HDD أرخص لكل جيجابايت لكنه أبطأ.
SSD is instant memory recall; HDD is fetching a book from a spinning shelf.
| Aspect | SSD | HDD |
|---|---|---|
| Moving parts | None | Yes (platters/heads) |
| Speed | Very fast | Slower |
| Latency | Low (microseconds) | Higher (milliseconds) |
| Cost per GB | Higher | Lower |
| Durability | More shock-resistant | Sensitive to shock |
RAID (Redundant Array of Independent Disks) combines multiple disks for performance and/or fault tolerance using striping, mirroring, and parity.
RAID يدمج عدة أقراص لتحسين الأداء أو الحماية. التقنيات الأساسية: التقسيم (Striping) للأداء، النسخ (Mirroring) للحماية، والتماثل (Parity) لاسترجاع البيانات.
Striping = splitting work among workers (fast); mirroring = a backup twin; parity = a clue card to rebuild lost data.
Spreads data across disks for speed (no redundancy).
RAID 0.
Duplicates data on a second disk for redundancy.
RAID 1.
Stores calculated data to rebuild a failed disk.
RAID 5/6.
| Level | Technique | Min Disks | Fault Tolerance | Note |
|---|---|---|---|---|
| RAID 0 | Striping | 2 | None | Fastest, no protection |
| RAID 1 | Mirroring | 2 | 1 disk | 50% usable capacity |
| RAID 3 | Striping + dedicated parity | 3+ | 1 disk | Single parity disk; parallel I/O |
| RAID 5 | Striping + distributed parity | 3 | 1 disk | Single distributed parity |
| RAID 6 | Striping + double parity | 4 | 2 disks | Double parity |
| RAID 1+0 | Mirror + stripe | 4 | 1 per mirror | Speed + redundancy (RAID 10) |
Cache is fast memory holding frequently accessed data. Read hit = data found in cache; read miss = must fetch from disk. Write policies and replacement algorithms manage it.
الكاش ذاكرة سريعة تخزن البيانات المتكررة لتسريع الوصول. عند الطلب: إذا وُجد في الكاش = Read Hit، وإلا = Read Miss.
Cache is your desk's top drawer: things you use often stay close; a 'miss' means walking to the storage room.
Requested data is already in cache.
Fast response, no disk access.
Data not in cache; fetched from disk.
Slower; then cached for next time.
Writes go to cache AND disk immediately.
Safer, but slower writes.
Writes go to cache first, disk later.
Faster, but risk on power loss.
Least Recently Used — evicts the oldest-used data.
Drops data not touched for longest time.
Most Recently Used — evicts the newest-used data.
Useful for streaming/sequential scans.
Flushes cache to disk when the system is idle.
Commits data during low activity.
Flushes when cache utilization hits high watermark (HWM).
Prevents cache from filling completely.
Immediately flushes all cache data to storage.
Used under critical cache pressure.
Duplicates cache to protect against controller failure.
Two controllers hold the same write cache.
Flushes cache to persistent storage on power loss.
Battery-backed cache dumped to disk.
Storage can be accessed at the block level (SAN — raw blocks over a network), file level (NAS — shared file system), or as objects (object storage with metadata and an API).
هناك ثلاث طرق للوصول للتخزين: على مستوى الكتل (SAN)، على مستوى الملفات (NAS)، والتخزين الكائني (Object).
Block = raw bricks you build with; File = an organized filing cabinet; Object = parcels with labels stored in a warehouse.
| Aspect | SAN (Block) | NAS (File) | Object |
|---|---|---|---|
| Access unit | Blocks | Files | Objects + metadata |
| Protocol | FC, iSCSI | NFS, SMB | HTTP/REST API |
| Performance | Highest | Moderate | Scalable, not low-latency |
| Best for | Databases, VMs | File sharing | Backups, media, cloud |
NAS deployment options: Traditional (scale-up) NAS upgrades a single system's capacity/performance; Scale-out NAS pools multiple processing and storage nodes in a cluster that works as a single NAS device, scaling without disruption.
NAS يمكن نشره بطريقتين: تقليدي (Scale-up) بتوسيع جهاز واحد، أو Scale-out بتجميع عدة عقد في Cluster يعمل كـ NAS واحد.
Scale-up = making one filing cabinet taller; scale-out = adding more cabinets managed as one library.
| Aspect | Traditional (Scale-up) | Scale-out |
|---|---|---|
| Scaling | Upgrade single system | Add nodes to cluster |
| Architecture | Single file server | Cluster of nodes |
| Disruption | May require downtime | Non-disruptive expansion |
Storage virtualization abstracts physical storage into logical pools. It can be implemented host-based, array-based, or network-based.
افتراضية التخزين تخفي تفاصيل الأقراص الفعلية وتقدمها كمورد موحد. يمكن أن تكون على المضيف، أو على المصفوفة، أو على الشبكة.
Like merging many hard drives so the user sees one big drive.
Virtualization done at the server/host level.
Logical Volume Manager (LVM).
Done within the storage array controller.
Storage array presenting LUNs.
Done in the SAN network (e.g. a switch/appliance).
Virtualization appliance in the fabric.
A LUN (Logical Unit Number) is a logical disk presented to a host. LUN masking controls which hosts can see which LUNs (access control). A storage pool aggregates physical disks to carve out LUNs.
LUN هو قرص منطقي يُقدَّم للمضيف من مخزن التخزين. LUN Masking يتحكم بأي مضيف يرى أي LUN. وStorage Pool هو تجميع للأقراص لإنشاء LUNs منها.
Storage pool = a shared water tank; LUNs = labeled bottles filled from it; LUN masking = who's allowed to take which bottle.
A logical unit (virtual disk) presented to a host.
A 500GB LUN for a database server.
Restricts which hosts can access specific LUNs.
Only the DB server sees the DB LUN.
Aggregated physical disks used to create LUNs.
A pool of 20 disks carved into many LUNs.
MetaLUN expands LUNs by combining two or more LUNs. Concatenated metaLUN provides additional capacity only (quick expansion, no restriping). Striped metaLUN provides capacity and performance but expansion is slow because data is restriped.
MetaLUN يوسّع LUN بدمج عدة LUNs. Concatenated يضيف سعة فقط، بينما Striped يضيف سعة وأداء لكنه أبطأ لأنه يعيد توزيع البيانات.
Concatenated = taping two notebooks end-to-end; striped = rewriting pages across both for speed.
| Aspect | Concatenated | Striped |
|---|---|---|
| Capacity | Yes | Yes |
| Performance | No gain | Improved |
| Expansion speed | Fast (no restripe) | Slow (restripe required) |
Traditional provisioning (thick) allocates full capacity upfront from a RAID set. Virtual provisioning (thin) allocates on demand from a storage pool as data is written. Thin LUNs can be expanded and the pool rebalanced as drives are added.
Traditional (Thick) provisioning يخصص كل المساحة مقدماً. Virtual (Thin) provisioning يخصص عند الحاجة فقط، مع إمكانية توسيع Thin LUNs وإعادة توازن الـ Storage Pool.
Thick = reserving a full water tank now; Thin = filling the tank only as you use water.
| Aspect | Traditional (Thick) | Virtual (Thin) |
|---|---|---|
| Allocation | Upfront from RAID set | On demand from pool |
| Utilization | Lower (unused allocated) | Higher (over-provisioning) |
| Expansion | Create new LUN | Expand thin LUN + pool rebalance |
| Risk | Wasted space | Over-commit / out of space |
| Aspect | Thin | Thick |
|---|---|---|
| Allocation | On demand | Upfront (full) |
| Utilization | Higher | Lower |
| Risk | Over-commit / out of space | Wasted space |
| Performance | Slight overhead | Predictable |
A storage system has a front end connecting to hosts (via SAN/NAS ports), a back end managing physical drives, and controllers with cache in between. The front end handles host I/O; the back end handles RAID, tiering, and drive management.
نظام التخزين له واجهة أمامية (Front End) تتصل بالسيرفرات عبر SAN/NAS، وواجهة خلفية (Back End) تدير الأقراص الفيزيائية، مع كاش وcontrollers في المنتصف.
Front end = store checkout counters; back end = warehouse shelves; cache = items kept at the counter for speed.
Host-facing ports and protocols (FC, iSCSI, NFS).
FC ports connecting to server HBAs.
Physical drive enclosure and RAID management.
Disk trays managed by the array controller.
Brain of the array — handles I/O, cache, RAID.
Dual controllers for high availability.
Each RAID level has a write penalty: RAID 1 requires two disk writes per write; RAID 5 requires 4 I/O operations (2 reads of old data/parity + 2 writes); RAID 6 requires 6 I/O operations (3 reads + 3 writes with double parity). Cache reduces disk reads on cache hits.
كل RAID level له 'غرامة كتابة': RAID 1 يكتب مرتين، RAID 5 يحتاج 4 عمليات I/O (2 reads + 2 writes)، RAID 6 يحتاج 6 (3 reads + 3 writes). الكاش يقلل قراءة الأقراص عند Read Hit.
Write penalty = extra bookkeeping — mirroring doubles work; parity triples or more.
| RAID Level | Writes per Host Write | I/O Operations |
|---|---|---|
| RAID 1 | 2 disk writes | 2 writes |
| RAID 5 | 1 host write | 4 I/O (2 read + 2 write) |
| RAID 6 | 1 host write | 6 I/O (3 read + 3 write) |