ESC را فشار دهید تا بسته شود

زمیوس آموزش، یادگیری و سرگرمی

ASM در اوراکل چیست و چرا مدیریت Storage را ساده‌تر می‌کند؟

اگر با دیتابیس اوراکل سر و کار داشته باشی، احتمالاً بارها اسم ASM را شنیده‌ای.

مخصوصاً در پروژه‌هایی که نیاز به پایداری بالا، مدیریت راحت Storage، یا پیاده‌سازی RAC دارند.

اما واقعاً ASM چیست؟ چه مشکلاتی را حل می‌کند؟ و چرا تقریباً تمام محیط‌های حرفه‌ای اوراکل از آن استفاده می‌کنند؟

در این مقاله آموزش اوراکل، از بخش آموزش مدیریت اوراکل قرار است کامل و کاملاً کاربردی همه چیز را یاد بگیریم.

در بسیاری از سیستم‌های سازمانی، دانستن اینکه چه کسی، چه زمانی و دقیقاً کدام بخش از داده را تغییر داده یا مشاهده کرده، فقط یک مزیت نیست؛ بلکه یک الزام امنیتی و قانونی است.

در Oracle Database، یکی از پیشرفته‌ترین قابلیت‌ها در این زمینه، Auditing در سطح ستون (Column‑Level Auditing) است.

پیشنهاد می کنم این مقاله زیر رو حتما مطالعه کنی.

در این مقاله شما می خوانید

ASM چیست؟

ASM یا Automatic Storage Management یک فناوری اختصاصی اوراکل برای مدیریت Storage است.

به زبان ساده:

ASM یک Storage Manager هوشمند است که:

  • دیسک‌ها را مدیریت می‌کند
  • داده‌ها را بین دیسک‌ها پخش می‌کند (Striping)
  • افزونگی را خودش ایجاد می‌کند (Mirroring)
  • عملکرد I/O را بهینه می‌کند
  • و مدیریت Storage را شدیداً ساده‌تر می‌کند

مهم‌تر اینکه به‌جای سیستم‌عامل کار می‌کند و نیاز به LVM یا فایل‌سیستم‌های پیچیده را از بین می‌برد.

چرا اوراکل ASM را معرفی کرد؟

قبل از ASM، مدیریت Storage مشکلات زیادی داشت:

  • تنظیم جزئیات RAID یا LVM‌ها
  • سخت بودن اضافه یا حذف دیسک‌ها
  • احتمال خطای انسانی
  • دشواری مدیریت فضای دیتابیس در محیط‌های بزرگ
  • پیچیدگی در محیط‌های RAC

با آمدن ASM همه‌چیز تغییر کرد:

  • مدیریت دیسک‌ها ساده شد
  • Load Balancing خودکار ایجاد شد
  • Redundancy هوشمند به وجود آمد
  • حذف و اضافه دیسک بدون Downtime ممکن شد
  • هماهنگی با RAC و Clusterware بی‌نقص شد

به همین دلیل امروز ASM استاندارد اصلی برای Storage در دیتابیس‌های اوراکل است.

مفاهیم مهم در ASM

برای اینکه خوب متوجه عملکرد ASM شوی، باید چند مفهوم کلیدی را بشناسی.

۱) ASM Disk

هر دیسکی که به ASM معرفی شود (فیزیکی، LUN، SAN یا حتی NVMe) تبدیل به ASM Disk می‌شود.

مثال:

/dev/sdb

/dev/sdc

/dev/sdd

این‌ها مستقیماً در اختیار ASM قرار می‌گیرند.

۲) Disk Group

چند ASM Disk را کنار هم قرار بده → میشود Disk Group

دیتابیس‌ها فقط با Disk Group کار می‌کنند، نه با تک‌تک دیسک‌ها.

مثل:

DATA

FRA

REDO

این ساختار مدیریت Storage را بسیار ساده می‌کند.

۳) Allocation Unit (AU)

ASM داده‌ها را به قطعات ۱ مگابایتی (یا بیشتر) تقسیم می‌کند که به آن AU می‌گویند.

این AUها روی تمام دیسک‌ها پخش می‌شوند. همین پخش شدن باعث:

  • بهبود سرعت
  • توزیع بار I/O
  • استفاده بهینه از همه دیسک‌ها

می‌شود.

۴) Redundancy در ASM

ASM خودش Redundancy ایجاد می‌کند:

  • External → بدون Mirror (وقتی استوریج RAID دارد)
  • Normal → دو نسخه (Two-way mirroring)
  • High → سه نسخه (Three-way mirroring)

این یعنی دیگر به RAID نرم‌افزاری نیاز نیست.

چرا ASM مدیریت Storage را ساده‌تر می‌کند؟

۱. Load Balancing اتوماتیک

ASM خودش بار دیسک‌ها را تنظیم می‌کند.

هیچ دیسکی Overload نمی‌شود، سرعت I/O بالاتر می‌رود و مدیریت بهینه صورت می‌گیرد.

۲. اضافه کردن دیسک بدون Downtime

فرضا دیتابیس در حال کار است. تو فقط این دستور را می‌زنی:

				
					ALTER DISKGROUP DATA ADD DISK '/dev/sde','/dev/sdf';

				
			
  • دیسک‌ها را اضافه می‌کند
  • داده‌ها را دوباره پخش می‌کند
  • سرعت افزایش پیدا می‌کند
  • دیتابیس حتی یک ثانیه هم خاموش نمی‌شود

این ویژگی در دیتابیس‌های بزرگ یک نعمت است.

۳. حذف دیسک بدون اختلال

مثلاً دیسک خراب شده:

				
					ALTER DISKGROUP DATA DROP DISK DISK3;

				
			

ASM:

  • داده‌های DISK3 را به دیسک‌های سالم منتقل می‌کند
  • سپس آن را حذف می‌کند
  • بدون ایجاد خطا یا توقف سرویس

۴. مدیریت آسان فایل‌های دیتابیس

دیگر مسیر فیزیکی فایل نداریم.

به جای:

/u01/oradata/orcl/

از ساختار منطقی استفاده می‌شود:

+DATA/ORCL/DATAFILE/users.256.987654321

اسم‌گذاری و مسیر را ASM مدیریت می‌کند، نه سیستم‌عامل.

۵. بهترین انتخاب برای Oracle RAC

ASM به‌صورت ذاتی برای Shared Storage طراحی شده و با Clusterware کاملاً یکپارچه است.

برای همین تقریباً تمام پیاده‌سازی‌های RAC در دنیا از ASM استفاده می‌کنند.

مثال عملی: ساخت Disk Group

				
					CREATE DISKGROUP DATA NORMAL REDUNDANCY
  DISK 
    '/dev/oracleasm/disk1',
    '/dev/oracleasm/disk2',
    '/dev/oracleasm/disk3'
  ATTRIBUTE
    'au_size'='4M';

				
			

نتیجه:

  • Disk Group به نام DATA
  • Redundancy از نوع Normal
  • AU برابر ۴MB
  • داده‌ها اتوماتیک پخش می‌شوند

مثال عملی: اضافه کردن دیسک در حالت Online

				
					ALTER DISKGROUP DATA ADD DISK '/dev/oracleasm/disk4';

				
			

بدون وقفه و بدون خاموش شدن دیتابیس.

مثال عملی: حذف دیسک معیوب

				
					ALTER DISKGROUP DATA DROP DISK DISK2;

				
			

ASM داده‌های روی دیسک را منتقل و بعد حذف می‌کند.

				
					ALTER DISKGROUP DATA DROP DISK DISK3;

				
			

سوالات متداول درباره ASM در اوراکل

ASM برخلاف فایل‌سیستم‌های معمولی مثل EXT4 یا XFS، مخصوص دیتابیس اوراکل طراحی شده است.

در ASM داده‌ها به‌صورت هوشمند روی تمام دیسک‌ها پخش می‌شوند، Load Balancing خودکار انجام می‌شود و Redundancy در سطح دیتابیس مدیریت می‌گردد.

اگر از فایل‌سیستم معمولی استفاده شود، ذخیره‌سازی وابسته به سیستم‌عامل است و DBA کنترل کمتری روی توزیع داده‌ها و کارایی I/O دارد.

به همین دلیل اوراکل برای محیط‌های بزرگ یا RAC به‌شدت توصیه می‌کند از ASM استفاده شود.

خیر، یکی از مهم‌ترین مزیت‌های ASM این است که می‌توانی بدون هیچ‌گونه Downtime دیسک جدید اضافه کنی.

ASM به‌صورت خودکار داده‌ها را دوباره بین دیسک‌ها پخش می‌کند (Rebalance) و کاربران حتی یک ثانیه هم اختلال حس نمی‌کنند.

این ویژگی در دیتابیس‌های حساس و ۲۴/۷ یک مزیت بزرگ به شمار می‌رود.

بستگی به نوع Redundancy دارد:

اگر از External Redundancy استفاده کنی، یعنی استوریج خودش RAID دارد و ASM فقط مدیریت داده را انجام می‌دهد.

اما اگر استوریج RAID ندارد یا نمی‌خواهی وابسته به RAID سخت‌افزاری باشی، می‌توانی از Normal یا High Redundancy استفاده کنی تا ASM خودش Mirror را مدیریت کند.

بسیاری از شرکت‌ها از ASM Normal Redundancy استفاده می‌کنند تا هم کارایی بالا باشد و هم مدیریت ساده‌تر شود.

تقریباً در ۹۵٪ پیاده‌سازی‌های Oracle RAC، از ASM استفاده می‌شود و Oracle نیز آن را انتخاب پیش‌فرض و استاندارد معرفی کرده است.

چون ASM ذاتاً Shared است، با Clusterware یکپارچه کار می‌کند، Redundancy و Load Balancing خودکار دارد و مدیریت آن برای گره‌های RAC بسیار ساده‌تر است.

فایل‌سیستم معمولی معمولاً نیاز به راه‌اندازی پیچیده، قفل‌گذاری و هماهنگی دستی دارد و در محیط‌های بزرگ کارایی ASM را ندارد.

جمع‌بندی

ASM کاری می‌کند که Storage مدیریت‌پذیر، سریع، قابل‌اعتماد و بدون Downtime باشد.

به همین دلیل در محیط‌های حرفه‌ای اوراکل، استفاده از ASM یک استاندارد محسوب می‌شود.

سؤالی درباره این مقاله داری؟

اگر نکته‌ای در این مقاله برات مبهم بود یا خواستی بیشتر بدونی، همین حالا برام بنویس تا دقیق و صمیمی پاسخت رو بدم — مثل یه گفت‌وگوی واقعی 💬

برو به صفحه پرسش و پاسخ

میثم راد

من یه برنامه نویسم که حسابی با دیتابیس اوراکل رفیقم! از اونایی ام که تا چیزی رو کامل نفهمم،ول کن نیستم، یادگرفتن برام مثل بازیه، و نوشتن اینجا کمک می کنه تا چیزایی که یاد گرفتم رو با بقیه به شریک بشم، با هم پیشرفت کنیم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *