سناریوهای بک آپ گیری در SQL Server

اگر به عنوان یک SQL Server Administrator در یک مجموعه فعالیت می کنید. احتمالا از شما خواسته می شود تا از پایگاه داده شرکت Backup تهیه کنید.

عکس زیر به اندازه کافی گویا خواهد بود و در DBهای بزرگ که حجم تراکنش ها بسیار زیاد است روش Full+Differential+Transaction Log بهترین گزینه خواهد بود.

مثلا یک دیتابیس را در نظر بگیرید که اطلاعات معاملات معامله گران در بورس را ذخیره میکند. قطعا این دیتابیس علاوه بر حجم زیاد شامل تراکنش های زیادی خواهد بود.

 

sqlbackup

 

اتوماتیک کردن مدیریت زیرساخت های IT با Puppet

امروزه با گسترش زیرساخت های فناوری اطلات بر روی پلتفروم های مختلف مثل Linux و Microsoft و همچنین وجود کلی نرم افزار و تنظیمات مرتبط با آنها،فرآیند نگهداری و پشتیبانی این زیرساخت ها توسط مدیران سیستم ها (System Administrators)بسیار وقتگیر و هزینه بر هست. نرم افزاری به نام Puppet مدتی هست که با هدف اتوماتیک کردن فرآیندهای نگهداری زیرساخت های IT  تولید شده است.

Puppet

Puppet در چه مواردی کاربرد دارد:

  • اگر تعداد زیادی سرور دارید که میخواهید همه آنها را  Config کنید و یا مثلا یک Application روی همه  آنها نصب کنید.
  • وقتی نیاز دارید تا زیر ساخت شما به صورت Dynamic تنظیم بشود.
  • قبل از اینکه تنظیمات به صورت دائمی در سرورهای شما اعمال شود، ابتدا آنها را شبیه سازی و تست کنید تا بتوانید تغییرات را در زیر ساخت خود مدیریت کنید(Change Management).
  • وقتی که نیاز دارید تا کلیه تنظیمات مربوط به زیرساخت شما در یک مکان مرکزی (Centralized) وجود داشته باشد.
  • و …

نکات جالب در مورد Puppet

  • Puppet به صورت دو نسخه OpenSource و Enterprise وجود دارد که نسخه Enterprise آن توسط PuppetLabs فروخته می شود که  البته تا ۱۰ عدد Node را میتوانید به صورت رایگان مدیریت کنید و در واقع شامل ۴۰ محصول OpenSource دیگر میشود که شامل پیشتیبانی شرکت PuppetLabs هم می باشد. در اینجا میتوانید مقایسه ای بین امکانات نسخه OpenSource و Enterprise این محصول داشته باشید.
  • Puppet همه چیز را به صورت Object میبیند، مثلا سرور شما یک Object هست که Value و Property دارد.
  • اسکریپت های Puppet به صورت Declarative هستند  و شبیه کدهایی هستند که با Ruby نوشته میشود.تنظیمات Puppet را Manifest می گویند.
  • شما میتوانید این کد ها را با مدیران سیستم دیگر هم به اشتراک بگذارید و یا از کدهای آماده دیگران استفاده کنید. در حال حاضر حدود ۲۰۰۰ تنظیم قابل دانلود از مسیر Puppet Forge قابل دریافت است.
  • مدل کارکرد Puppet معمولا به صورت Client/Server است. Client به صورت دوره ای با استفاده از Puppet Agent که بر روی Client نصب شده است به Server که  Pupper Master Server نامیده میشود درخواست یا Fact میفرستد که در واقع آخرین وضعیت خودش است، سپس Pupper Master Server یک Catalog را تولید میکند و آن را به Puppet Agent میفرستد که به Client میگوید به چه صورتی باید تنظیم شود. در نهایت Client یک Report تولید میکند که مشخص میکند که تنظیمات با موفقیت اعمال شده است.  عکس زیر مراحل کاری Puppet را نشان می دهد.
  • puppet-dataflow

چند وقت پیش خبری منتشر شد مبنی بر اینکه Puppet و Microsoft با هم همکاری بیشتری دارند و محصولات این دو شرکت یکپارچه تر شدند. در حال حاضر بیشتر تمرکز بر روی Windows Azure هست و همینطور Plugin برای Visualstudio نوشته شده که امکان ایجاد ماژول های Puppet رو با استفاده از این IDE قدرتمند برای شما فراهم میکند.

ضبط مکالمات در Asterisk و تنظیم صدای طرفین

Asterisk یک بسته نرم افزاری OpenSource است که شما میتونید با کمترین هزینه یک IPPBX راه اندازی کنید.

asterisk

یکی از امکانات این نرم افزار ذخیره مکالمات تماس است. برای این منظور در Dialplan در Context که تماس تماس های ورودی و یا خروجی به آن وارد می شود میتوانیم از MixMonitor استفاده کنیم. این Application صدای تماس گیرنده (Calling Party) و پاسخ دهنده(Called Party) را باهم Mix میکند و در قالب یک فایل ذخیره میکند.

نمونه:

[Voice-Menu]

exten => 7000,1,Answer

exten => 7000,n,MixMonitor(/var/spool/asterisk/monitor/Call-${UNIQUEID}.wav,v(2)V(4))

exten =>7000,n,Playback(welcome)

exten => 7000,n,WaitExten(20)

exten => 7000,n,StopMixMonitor()

exten => 7000,n,Hangup

در Dialplan نوشته شده در بالا ابتدا یک تماس پاسخ داده می شود و سپس شروع به ضبط مکالمات میکنیم. همانطور که مشاهده می کنید ما هر فایل مکالمه باید در یک مسیر مشخص و با یک اسم یکتا ذخیره شود. برای این منظور ما از Channel Variable  به نام UNIQUEID در Asterisk استفاده کرده ایم. مسیر پیش فرض ضبط مکالمات در استریسک /var/spool/asterisk/monitor است و اگر نیازی به تغییر این مسیر نداریم میتوانیم آن را تعریف نکنیم.

سپس یک پیغام برای تماس گیرنده پخش می شود و ۲۰ ثانیه منتظر ورودی از کاربر می ماند و سپس ضبط مکالمات پایان می یابد و تماس قطع می شود

گاهی ممکن است نیاز باشد تا صدای یکی از طرفین بلند تر ضبط شود.به منظور تنظیم صدای هر کدام از طرفین میتوان از Option های MixMonitor استفاده کرد و به دلخواه آن را کم یا زیاد کرد.

v(<x>) – از -۴ تا ۴ قابل تنظیم است و صدای شنیده شده را تنظیم میکند.

V(<x>) – از -۴ تا ۴ قابل تنظیم است و صدای صحبت شده را تنظیم می کند.

W(<x>) – از -۴ تا ۴ قابل تنظیم است و صدای هر دو طرف را تنظیم میکند.

اتصال به سرورهای لینوکسی در ویندوز با PuTTy و Xming

فرض کنید در شرایطی هستید که یک سرور لینوکسی دارید و نیاز دارید تا با ابزارهایی که GUI  دارند یا اصطلاحا X Windows هستند وصل شوید. مثلا من در سرور لینوکسی خودم از ابزار Virtual Machine Manager برای ماشین های مجازی که با KVM ایجاد میکنم استفاده می کنم. خوب من اصلا تمایلی ندارم که مدیریت ماشین های مجازی خودم را از طریق Terminal انجام بدهم و استفاده از ابزار Virt-manager را ترجیح میدهم. اما چطور میتوانم زمانیکه که از PuTTY و از طریق SSH به سرور لینوکسی خودم وصل شده ام از این ابزار استفاده کنم؟

ابزارهای مورد نیاز:

۱- یک سرور لینوکسی

۲- نرم افزار PuTTY

3- نرم افزار Xming

1- ابتدا در نرم افزار PuTTY گرینه X11 Forwarding را فعال کنید.

xming-1

۲- پس از نصب نرم افزار Xming آن را اجرا کنید.

xming-3

۳- حالا به سرور خود SSH بزنید.

xming-2

۴- حالا کافی است تا دستور virt-manager را در ترمینال وارد کنید تا پنجره این نرم افزار به صورت گرافیکی در ویندوز شما نمایش داده شود.

xming-4

xming-5

به طور کلی از نرم افزار Xming در ویندوز برای باز کردن GUI بر روی سیستم های X Windows یا X11  استفاده می شود و درحقیقت یک پیاده سازی از X Windows Systemدر محیط MS Windows می باشد.

به طور دقیق تر با توجه به مدل Client-Server سیستم X Windows این ابزار یک X Windows Server در MS Windows محسوب میشود. مثلا میتوانید به جای مثال بالا عبارت Xclock را در ترمینال وارد کنید تا ساعت سرور لینوکسی شما به صورت گرافیکی و در محیط ویندوز نشان داده شود.

xming-6