
اگر با دیتابیس اوراکل سر و کار داشته باشی، احتمالاً بارها اسم 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 یک استاندارد محسوب میشود.
سؤالی درباره این مقاله داری؟
اگر نکتهای در این مقاله برات مبهم بود یا خواستی بیشتر بدونی، همین حالا برام بنویس تا دقیق و صمیمی پاسخت رو بدم — مثل یه گفتوگوی واقعی 💬
برو به صفحه پرسش و پاسخ
دیدگاهتان را بنویسید