بانک آموزشی

بانک آموزشی

نرم افزار - سخت افزار - طراحی - برنامه نویسی _ ویروس شناسی ...
بانک آموزشی

بانک آموزشی

نرم افزار - سخت افزار - طراحی - برنامه نویسی _ ویروس شناسی ...

هشدار به دارندگان گوشی‌های اندروید

محققان امینتی موسسه Bitdefender به تازگی اعلام کرده‌اند که گوشی‌های هوشمند اندروید در معرض جاسوس‌افزار و بدافزار خطرناکی هستند که به هکرها و مجرم‌های سایبری اجازه دسترسی به اطلاعات این گوشی‌ها را می‌دهد.

هکرهای این گوشی‌های هوشمند، به اطلاعات تماس، پیام‌ها، گالری تصاویر و ویدئوهای کاربران دسترسی پیدا کرده و امکان ارسال و دریافت پیام را به دست آورده‌اند. آن‌ها هم‌چنین به مکان جغرافیایی گوشی‌های هک‌شده نیز دسترسی پیدا کرده‌اند.

 گوشی‌های اندروید به علت Open Source بودن و طراحی سیستم عامل آن‌ها بسیار مورد حمله قرار گرفته‌است. و هکرهای پرشماری توانسته‌اند از گوشی‌های قربانیان سوء استفاده کنند.

باج‌افزار گونه‌ای از بدافزار است که هکرها را قادر می‌سازد کنترل سیستم را به دست گرفته و اطلاعات کاربر را فاش می‌کند. باج‌افزارها معمولاً از قربانیان خود تقاضای پول می‌کنند.

57734110

‫ هشدارهای امنیتی مهم سیسکو

کمپانی سیسکو در جدیدترین اخبار منتشره از بخش امنیتی خود اعلام کرده است که 30 آسیب پذیری جدید در محصولات خود کشف کرده است که 16 آسیب پذیری دارای اهمیت بالایی هستند. حدود نیمی از این آسیب پذیری ها با درجه اخطار High مشخص شده است که نشان دهنده خطرناک بودن این آسیب پذیری ها می باشد.
سیسکو اعلام کرده است تمامی محصولاتی که از Apache Struts استفاده می کنند آسیب پذیر نبوده و تنها یکی از محصولات این کمپانی تحت تاثیر آسیب پذیری اخیر و خطرناک RCE بر روی Apache Struts می باشد. محصولاتی هم که از این آسیب پذیری رنج می برند، به زودی به روز رسانی شده و یا Patch های امنیتی برای آنها ارائه خواهد شد. لیست این محصولات را در تصویر زیر مشاهده می نمایید:

یکی دیگر از آسیب پذیری های منتشر شده، آسیب پذیری خطرناک بر روی Cisco Umbrella API می باشد که به نفوذگر این اجازه را می دهد پس از نفوذ، از راه دور توانایی مشاهده و اعمال تغییرات بر روی داده های محصولات آسیب پذیر را داشته باشد. همچنین محصولات Umbrella Enterprise Roaming Client و Enterprise Roaming Module آن دارای آسیب پذیری Privilege Escalation به شماره شناسایی های CVE-2018-0437 و CVE-2018-0438 هستند که این آسیب پذیری ها در سطح خطرناک طبقه بندی شده اند.
از دیگر آسیب پذیری های خطرناک اعلام شده توسط این کمپانی، سه آسیب پذیری مهم بر روی محصولات دیوارآتش و مسیریاب های سری RV-series می باشد. در این میان محصولات RV110W Wireless-N VPN Firewall و RV130W Wireless-N Multifunction VPN Router و RV215W Wireless-N VPN Router به صورت اختصاصی توسط سیسکو معرفی شده است. این آسیب پذیری ها که هم اکنون توسط مشخصه CVE-2018-0423 معرفی شده است به صورت Buffer Overflow بر روی Management Interface بوده است که اجازه ی حمله ی DoS و همچنین امکان اجرای کدهای مخرب را بر روی محصول آسیب پذیر را به نفوذگر می دهد. نفوذگر می تواند توسط ارسال درخواست های آلوده به Device های فوق، به صورت کامل عملیات Exploiting را انجام داده و به دستگاه دسترسی کامل را پیدا کند. همچنین روترها و دیوارآتش های مشابه در همان سری، دارای آسیب پذیری Directory Traversal با شماره شناسایی CVE-2018-0426 و آسیب پذیری Command Injection به شماره شناسایی CVE-2018-0424 و آسیب پذیری Information Disclosure به شماره شناسایی CVE-2018-0425 می باشند که همگی این آسیب پذیری ها دارای سطح آسیب پذیری خطرناک می باشند. در ادامه لیست Device های آسیب پذیر مهم را مشاهده می فرمائید:
• Cisco Webex Meetings client for Windows - privilege escalation (CVE-2018-0422 )
• Cisco Webex Teams - information disclosure and modification (CVE-2018-0436)
• Cisco SD-WAN Solution - certificate validation (CVE-2018-0434), command injection (CVE-2018-0433), privilege escalation (CVE-2018-0432)
• Cisco Prime Access Registrar - denial of service (CVE-2018-0421)
• Cisco Integrated Management Controller - command injection (CVE-2018-0430 and CVE-2018-0431)
• Cisco Data Center Network Manager - privilege escalation to the underlying operating system (CVE-2018-0440)

کشف بدافزار خطرناک اندرویدی با قابلیت سرقت اطلاعات بانکی، انتقال تماس و فعالیت‌های باج‌افزاری

محققان Quick Heal یک تروجان جدید اندروید را کشف کردند که شامل قابلیت‌های تروجان بانکداری، انتقال تماس، ضبط صدا، ثبت ضربات کلید و فعالیت‌های باج افزاری است. این بدافزار، برنامه‌های بانکی محبوب مانند HFC، ICICI، SBI، Axis Bank و دیگر کیف پول‌های الکترونیکی را هدف قرار داده است.
اپراتور این بدافزار برای موفقیت در حمله، نیاز به تعامل بیشتری با کاربر دارد و تا زمان دسترسی به مجوز "AccessibilityService"، صفحه‌ی تنظیمات دسترسی را به کاربر نمایش می‌دهد. داشتن قابلیت "AccessibilityService" به این بدافزار اجازه می‌دهد تا بدون نیاز به اجازه‌ی کاربر، به همه‌ی مجوزها دسترسی پیدا کند.

باج افزار PooleZoor

مشاهده و رصد فضای سایبری در زمینه باج افزار، از شروع فعالیت نمونه‌ جدیدی از خانواده‌ی HiddenTear به نام PooleZoor خبر می‌دهد. بررسی ها نشان می دهد که فعالیت این باج افزار در اوایل ماه آگوست سال 2018 میلادی شروع شده و به نظر می رسد تمرکز آن بیشتر بر روی کاربران ایرانی می باشد. این باج‌افزار از الگوریتم رمزنگاری AES در حالت CBC - 256 بیتی برای رمزگذاری استفاده می‌کند و تنها فایل‌هایی با پسوندهای مشخص که بر روی Desktop سیستم قربانیان موجود هستند را رمزگذاری می‌کند. باج افزار مورد اشاره پس از رمزگذاری فایل‌ها، پسوند آن‌ها را به ".PooleZoor" تغییر می‌دهد و از قربانیان تقاضای پرداخت مبلغ یک میلیون تومان به عنوان باج می‌کند که طبق گفته‌ی مهاجمان این مبلغ صرف امور خیریه خواهد شد. از آنجایی که با یک نسخه آفلاین از پروژه متن باز HiddenTear طرف هستیم و با توجه به تشابهات موجود در کد باج‌افزار با نسخه اصلی آن، به نظر می‌رسد مهاجمین صرفاً با اعمال تغییرات اندک در کد منبع این باج‌افزار نسبت به انتشار آن اقدام نموده اند. لذا با توجه به نقایص ذاتی موجود در پروژه HiddenTear ، فایل‌های رمزگذاری شده توسط این باج‌افزار براحتی قابل رمزگشایی می‌باشند.

فضای ذخیره سازی ابری کجا قرار دارد و آیا امن است؟

فضای ذخیره سازی ابری کجا قرار دارد و آیا امن است؟


 زمانی که شما ایمیل ارسال می‌کنید، متن ایمیل در چه محلی ذخیره می‌شود؟ پیوست‌های موجود در ایمیل در چه محلی ذخیره می‌شوند؟ چرا مردم در سراسر دنیا به نگهداری داده‌های خود در فضای ابری روی آورده‌اند و به‌عنوان مثال کمتر به سراغ موبایل‌هایی با ظرفیت داخلی بالا می‌روند؟ در ادامه به این موضوع پرداخته خواهد شد.

data center

 مرکز پردازش ابری در واش، کویینسی

کوئنتین هاردی، معاون سردبیر روزنامه تایمز به موضوع «محل قرارگیری داده‌ها در فضای ابری» پاسخ می‌دهد:

 «ذخیره‌سازی اَبری» روی هارد دیسک انجام می‌شود و از ذخیره‌سازی‌های معمول، امن‌تر است.

چه چیزی ذخیره‌سازی ابری را متفاوت می‌کند؟ برخلاف ذخیره‌سازی در دستگاه شخصی خود شما (همانند موبایل، یا هارد دیسک لپ‌تاپ)، داده‌های ابری روی محل دیگری «در سرورهایی که متعلق به شرکت‌های بزرگ است» ذخیره می‌شوند و شما می‌توانید از طریق اینترنت به آن داده‌ها دست‌یابی پیدا کنید.

هنگامی‌که مردم به پردازش ابری فکر می‌کنند، اغلب آن‌ها به یاد فضای ابری «متصل به اینترنت» همانند آمازون، مایکروسافت و گوگل می‌افتند. اگر شما از جیمیل، دراپ‌باکس یا آفیس 365 استفاده می‌کنید، در حقیقت از سرویس ابری استفاده می‌کنید. همچنین نوعی فضای ابری وجود دارد که به‌عنوان‌ مثال عکس‌های شما را در فضای مجازی نگهداری می‌کند (همانند فیس‌بوک یا توییتر) یا ایمیل‌ها و موسیقی‌های شما را نگه می‌دارند (همانند اپل یا گوگل).

هرکدام از این شرکت‌ها سیستم پردازش ابری «سرورهای کامپیوتری و دستگاه‌های ذخیره‌سازی متصل شده به شبکه‌های ارتباطی کامپیوتری» دارند و به تمام دنیا سرویس‌دهی می‌کنند. سرورهای فیس‌بوک می‌توانند به بیش از یک میلیارد نفر اجازه‌ی تعامل با یکدیگر بدهند. داده‌های شما معمولا در نزدیک‌ترین مرکز داده به محل زندگی شما ذخیره‌سازی و نگه‌داری می‌شود.

شرکت‌های مستقل نیز می‌توانند فضای ابری مختص به خود (که فضای ابری خصوصی نامیده می‌شود) داشته باشند و کارمندان و مشتریان آن شرکت از طریق اینترنت و از طریق شبکه خصوصی خود، می‌توانند به این فضا دسترسی داشته باشند.

پردازش ابری می‌تواند به گونه‌ی متفاوتی اطلاعات را پردازش کند. آن‌ها از نرم‌افزارهای مخصوصی استفاده می‌کنند که می‌توانند حجم کاری را با دستگاه‌های مختلف به اشتراک بگذارد. عکس‌های شما در فیس‌بوک محل ذخیره‌سازی ثابتی ندارند و روی یک چیپ خاص ذخیره نمی‌شوند، بلکه ممکن است بین کامپیوترها جابه‌جا شوند.

وقتی حجم کاری به اشتراک گذاشته می‌شود، کامپیوترها می‌توانند تقریبا با حداکثر ظرفیت کاری خود «با انجام چند کار هم‌زمان» کار کنند. این کار بسیار مؤثرتر از حالتی است که هر کامپیوتر در هرزمانی فقط یک کار را انجام بدهد.

برای کاربران اهمیتی ندارد که داده‌های آن‌ها در حال حاضر در چه مکانی ذخیره‌شده است. پردازش‌ها در بخش ابری انجام می‌پذیرد و حالت ایده‌آل این است که اگر یکی از پردازشگرها از کار بیافتد، بخش دیگری وظایف پردازشی را با کمترین تأخیر بر عهده می‌گیرد.

در حال حاضر پردازش ابری در همه‌جا وجود دارد که خود این موضوع یکی از دلایل اصلی نگرانی مردم در ارتباط با امنیت داده‌های آن‌ها است. ما بسیار شنیده‌ایم که هکرها از طریق اینترنت به داده‌های بسیاری از مردم دسترسی پیداکرده‌اند. بسیاری از این هک‌ها در سرورهای قدیمی انجام می‌شود. هیچ‌کدام از هک‌های مهم در فضای ابری عمومی انجام‌نشده‌اند.

همان‌گونه که نگه‌داشتن پول در خزانه بانک از نگه‌داشتن آن در کمد شما امن‌تر است، نگه‌داری داده‌های شما نیز در فضای ابری امن‌تر خواهد بود و از آن‌ها محافظت می‌شود.

حفاظت از فضای ابری بزرگ عمومی شغل تعدادی از بهترین دانشمندان کامپیوتر است که در محل‌هایی همانند آژانس امنیت ملی و دانشگاه استنفورد استخدام‌شده‌اند تا به‌سختی در ارتباط با امنیت، رمزنگاری داده‌ها و کلاه‌برداری آنلاین، فکر کنند. آن‌ها به‌خوبی از پس امن نگه‌داشتن این فضای آنلاین برآمده‌اند. البته حداقل تاکنون که چنین بوده است.

نحوه کار و آشنایی با IOmeter - بخش چهارم

این آخرین مقاله از این مجموعه درباره تست عملکرد SSD است و این که چطور باید نتایج این تست ها را تفسیر کرد.

امیدواریم مبانی تست عملکرد SSD را به طور کامل درک کرده باشید، بدون هیچ مشکلی نتایج این تست ها را تفسیر کنید و قابلیت SSDها را ارزیابی کنید. از آنجا که مطالب زیادی در این مورد بیان شد، در اینجا خلاصه ای از مطالب گفته شده را می آوریم:

  1. برای این که نتایج قابل اطمینان و قابل مقایسه ای در تست عملکرد SSD بگیریم، نیاز به صرف زمان و تلاش زیادی در این مورد داریم. دیسک برای رسیدن به حالت پایدار باید Precondition شود که در این حالت می توان آن را تست کرد.
  2. عملکرد یک دیسک کاملا نو که تازه تخلیه شده است همیشه بهتر است، چون نیازی به اجرای Garbage Collection ندارد.
  3. وقتی نیاز به انتخاب یک SSD با مقدار عملکرد خاصی داریم، باید بررسی شود که آیا این تست از راهنمای SNIA یا روش های مناسب دیگری برای تست SNIA تبعیت می کند یا نه (که شامل Preconditioning می شود).
  4. اگر تست خاصی از Preconditioning مخصوصِ به خود استفاده می کند بهتر است مطمئن شوید که مجموعه ای که نتایج تست را ارائه می دهد (مثلا یک مجله فناوری آنلاین یا شرکت فروشنده سخت افزار) مراحل مختلف تست را به طور کامل توضیح داده است. فقط دیسک هایی که مراحل تست آنها (از جمله Preconditioning) دقیقا یکسان بوده است این قابلیت را دارند که از نظر عملکرد باهم مقایسه شوند.
  5. اگر مجموعه ای که نتایج تست را منتشر می کند، چیزی درباره شرایط و مراحل انجام تست نگفته است، بهتر است فرض کنید که این تست در حالتی انجام شده است که دستگاه کاملا نو است و تازه از جعبه بیرون آورده شده است. در این صورت باید انتظار داشت که عملکرد آن در حالت واقعی به مقدار قابل ملاحظه ای افت خواهد کرد.
  6. باید توجه کنید که نتایج تست عملکرد بعضا ممکن است با گذر زمان به مقدار 90 درصد نسبت به تست اولیه کاهش یابد!
  7. ارزیابی تست های عملکرد دستگاه های ذخیره سازی به خصوص در جایی اهمیت می یابد که Storage Applianceها نیاز به نوعی ذخیرۀ بلادرنگ (Real-Time) داشته باشند. این مساله شامل اندازه گیری ها، ضبط ویدئو و صوت به صورت بلادرنگ می شود.
  8. اگر نیاز است که سیستم خاصی دارای حداقل خاصی از عملکرد باشد (چون در غیر این صورت به خوبی کار نخواهد کرد) بهتر است عملکردِ قدری بالاتر از آن را در نظر بگیرید.

نحوه کار و آشنایی با IOmeter - بخش چهارم

یک مساله دیگر را هم باید متذکر شویم: بعضا ممکن است با نتایج تست عملکردی روبرو شوید که عملکرد دستگاه ذخیره سازی را نیز در بر داشته باشد و از دستگاه ذخیره سازی SSD استفاده می کند. این نتایج لزوما فقط وابسته به عملکرد SSD نیستند بلکه بستگی به سایر اجزای سیستم هم دارند مثل Networking ،CPU و نرم افزارهایی که در آن سیستم استفاده می شود.
برای از بین بردن محدودیت های احتمالی در این تست می توانید از SSDهای نو استفاده کنید، چون SSD نو خیلی سریع تر کار می کند. این روش تست برای نشان دادن حداکثر عملکرد یک دستگاه در یک Storage Appliance به کار می رود. در این تست باید تاثیر دستگاهی که تست بر روی آن انجام می شود نیز در نظر داشت و نباید کل نتیجه را به طور مستقل به آن دستگاه ذخیره سازی اسناد داد. مثلا اگر از یک Network Adapter تست عملکرد می گیریم، نتیجه تست هایی که بر روی دستگاه های ذخیره سازی انجام شده است نیز باید در این تست که بر روی Network Adapter انجام شده است، در نظر گرفته شود.

نحوه کار و آشنایی با IOmeter - بخش سوم

تست عملکرد SSD خود را آسان کنید. این سومین قسمت از این مجموعه مقالات است. در این قسمت تست عملکرد را مطرح می کنیم و این که Purge کردن SSD یعنی چه و چرا Preconditioning و مراحل بعد از آن ضروری است.

برای مطالعه قسمت های قبل می توانید به لینک های زیر مراجعه نمایید:


عملکرد SSD را تست کنید 
همان طور که در مقاله قبل گفته شد SSDها از نظر تاریخچه نوشتن، سطوح عملکرد مختلفی دارند.
SSD دارای صفحات خالی، سرعت بیشتری دارد چون نیازی به انجام Garbage Collection ندارد. اگر این تست ها بر روی یک دستگاه کاملا جدید که تمام صفحات آن خالی هستند انجام شود نتایج عملکرد بسیار بهتر خواهند بود. همچنین این که الگوریتم Garbage Collection و مدیریت SSD Controller دقیقا به چه صورتی است، مساله ای است که فقط شرکت سازنده از آن خبر دارد. بنابراین به سختی می توان بدون انجام تست پیش بینی کرد که یک SSD چگونه عملکردی دارد. همچنین این بدین معنی است که برای تست عملکرد SSD اینکه مقداری دیتا بر روی SSD بنویسیم و سپس آن را تست کنیم کافی نخواهد بود، چون ما هیچ وقت از حالت درونی SSD و این که مجموعا آن SSD چطور کار می کند آگاه نیستیم. در این صورت تمام تاریخچه نوشتن می تواند در عملکرد دستگاه موثر باشد. به این دلیل مهم است که در انجام این تست ها تمام SSDها را در یک بار کاری یکسانی قرار دهیم. 
Storage Networking Industry Association (SNIA) سازمانی است که استانداردهای مختلفی برای صنعت ذخیره سازی وضع می کند. 
یکی از آنها Solid State Storage (SSS) Performance Test Specification (PTS) است. این مشخصات به ما می گوید که تست چطور باید انجام شود تا نتیجه ای دقیق و قابل اطمینان بدست آید. توضیحات گام به گام برای انجام تست هایی مثل تست خواندن و نوشتن تصادفی، خواندن و نوشتن ترتیبی و … ارائه شده است. در بسیاری از تست ها به این مشخصات ارجاع داده می شود؛ مثل تست هایی که توسط سازمان های پیشرو در فناوری اطلاعات انجام می شود مثل Tom’s Hardware. این مشخصات را در اینجا تکرار نمی کنیم، چون برای یک مقاله خیلی طولانی هستند و همچنین قدری پیچیده اند (البته خیلی هم پیچیده نیستند! بنابراین پیشنهاد می کنم نگاهی به آنها بیندازید). در اینجا مراحلی را که برای انجام تست عملکرد SSD باید انجام شود ذکر می کنیم. تمام این مراحل باید برای تمام تست ها انجام شود تا آن تست قابل اطمینان و قابل مقایسه باشد.

SSD_Test_filter_precondition_1

تخلیه و Preconditioning
قبل از این که یک تست عملکرد انجام شود، SSD باید تخلیه شود. یعنی نزدیک ترین وضعیت به حالتی که برای اولین بار از جعبه بیرون آورده شده است. در صورتی که اولین بار است که از SSD استفاده می کنید و دیتایی بر روی آن وجود ندارد نیازی به انجام این مرحله نیست. برای انجام این کار می توان از نرم افزاری استفاده کرد که چنین دستوری به SSD می فرستد: ATA SECURITY ERASE (به عنوان مثال با استفاده از hdparm روی لینوکس)، SCSI FORMAT UNIT، یا این که از ابزار یا نرم افزار مخصوصی استفاده کنیم که توسط شرکت خاصی ساخته شده باشد. 
وقتی SSD تخلیه شد، قبل از تست باید Preconditioning را انجام دهیم. Preconditioning عبارت است از اعمال بار کاری به دستگاه برای این که آن را از حالت استفاده نشده و تازه از جعبه بیرون آمده به حالتی تبدیل کنیم که به استفاده واقعی نزدیک تر است. این مرحله بیشترین زمان را از ما می گیرد چون نیاز است بار کاری چند بار به دستگاه اعمال شود. باید هر بار عملکرد دستگاه را ببینیم و توجه کنیم که هر بار چطور تغییر می کند. این کار را باید آنقدر تکرار کرد که نتایج بدست آمده از آن به پایداری نسبی رسیده و تغییر زیادی در نتایج تست های مختلف که پشت سر هم انجام می شوند دیده نشود. SNIA الگوی خاصی برای رسیدن به این پایداری تعریف کرده است ولی در حالت کلی اگر این اختلاف ها خیلی قابل ملاحظه نباشند می توان گفت نتیجه تست قابل قبول است. معمولا دیسک در یک تست عملکرد سریع تری داشته و در تست بعدی عملکرد کندتری دارد. اگر دستگاه چنین وضعی دارد و این الگو در حال تکرار است، یعنی دستگاه آماده انجام تست است. هر تست Preconditioning را باید بلافاصله بعد از دیگری انجام داد تا دستگاه در این میان فرصتی برای انجام Garbage Collection نداشته باشد که Preconditioning را تحت تاثیر قرار می دهد.


SSD_Test_filter_precondition_2

حالت پایدار 
SSD بعد از انجام Preconditioning بر روی آن، به حالت پایدار می رسد. همان طور که در پاراگراف قبل گفته شد، دستگاه بعد از اعمال مکرر بار کاری مشخص بر روی آن، نتایج بسیار شبیه به هم در تست های پشت سر هم دارد. در این مرحله SSD آماده انجام تست عملکرد واقعی است. این تست باید بلافاصله بعد از Preconditioning انجام شود تا دیسک فرصتی برای Garbage Collection نداشته باشد که روی تست تاثیر منفی می گذارد (مگر این که صد در صد مطمئن باشید که آن SSD در آن زمان Garbage Collection پس زمینه انجام نمی دهد). نتایج این مرحله از تست را می توان به عنوان عملکرد واقعی SSD در نظر گرفت و با استفاده از آن می توان این SSD را با SSD های دیگر مقایسه کرد. 

نحوه کار و آشنایی با IOmeter - بخش دوم

این دومین قسمت از مجموعه تست عملکرد SSD است.در قسمت قبل، از حافظه فلش به طور کلی صحبت کردیم.

این قسمت را به این موضوع اختصاص می دهیم که وقتی صفحات SSD شما برای ذخیره کردن در حال اتمام است باید چه کنید؟ پس شما را دعوت می کنیم که بخوانید و یاد بگیرید!


Garbage Collection
تغییر دادن داده هایی که بر روی SSDها ذخیره شده اند از تغییر این داده ها در صورتی که بر روی هارد درایو ذخیره هستند، سخت تر است. در هارد درایو به سادگی می توان داده ها را Overwrite کرد. اساسا وقتی می خواهیم دیتای یک صفحه را در SSD تغییر دهیم، دیتای آن صفحه تغییر نمی کند، چون باید ابتدا آن را پاک کنیم. این کار هم فقط با پاک کردن کل Block ممکن است. برای حل این مشکل، صفحه ای که تغییر یافته است، بر روی صفحه دیگری که خالی است ذخیره می شود، و صفحه ای که باید تغییر یابد، به عنوان "قدیمی" علامت گذاری می شود. تا زمانی که SSD صفحه ای خالی دارد این روش نوشتن و علامت گذاری یک صفحه به عنوان قدیمی ممکن است. ولی زمانی خواهد رسید که این صفحات خالی تمام می شوند. برای اجتناب از این وضعیت، فرآیندی به نام Garbage Collection در SSD انجام می شود. این کار سختی است که توسط SSD controller انجام می شود که خود به تنهایی یک کامپیوتر با CPU و حافظه مستقل است. این Controller مدیریت کل دیتای ذخیره شده بر روی SSD را بر عهده دارد. 
سیستم عامل از این که در بطن ماجرا چه می گذرد کاملا بی خبر است و فقط دستور می دهد که دیتایی بر روی یک قسمت logical خاص از دیسک نوشته شود. قرار دادن دیتا بر روی دیسک به صورت فیزیکی توسط SSD controller انجام می شود. تنها کاری که سیستم عامل های مدرن انجام می دهند این است که یک دستور TRIM به SSD می فرستند که به آن بگویند بخشی از دیتا حذف شد. این کار، فرآیند Garbage Collection را قدری ساده تر می کند چون SSD بیشتر در جریان این مساله قرار می گیرد که کدام صفحه ها دیگر معتبر نیستند. در طول فرآیند SSD Controller Block ،Garbage Collectionها را پاک می کند تا صفحه ها را خالی کند. ولی نمی توان هر Blockی را پاک کرد، چون برخی صفحات دیتای معتبری دارند که روی آنها ذخیره شده است. همچنین این امکان وجود ندارد که Block هایی را که فقط صفحات قدیمی دارند یافته و آنها را پاک کنیم. چون ممکن است تعداد این Blockها تمام شود، مثلا در صورتی که هر Block روی دیسک حداقل یک صفحه معتبر داشته باشد.

garbage_collection_1

کاری که SSD در طول فرآیند Carbage Collection انجام می دهد این است که تمام صفحات معتبر را از یک Block خاص به یک Block جدید بازنویسی می کند. Block بعدی که صفحات از روی آن کپی شدند می تواند پاک شده باشد. SSD معمولا Blockهایی را برای Garbage Collection انتخاب می کند که هیچ صفحه آزادی ندارند. می توان زمان معینی برای انجام Garbage Collection پیش بینی کرد چون این فرآیند بعضا فقط در زمان تغییر دیتا صورت می گیرد. در بعضی مواقع که از SSD استفاده نمی شود این فرآیند در پس زمینه انجام می شود. زمان انجام Carbage Collection به Controller بستگی دارد و این زمان را فقط سازنده Controller می داند. معمولا Enterprise SSDها Garbage Collection را فقط در زمان نوشتن انجام می دهند و Garbage Collection پس زمینه فقط برای SSDهای معمولی استفاده می شود. Enterprise SSDها از Garbage Collection پس زمینه پشتیبانی نمی کنند تا از نوشتن های غیر ضروری جلوگیری کنند (وقتی Block ها کپی می شوند) که باعث افزایش طول عمر دیسک می شود. طراحی به این صورت انجام شد چون حافظه فلش تعداد نوشتن محدودی دارد و بعد از آن دیگر قابل استفاده نیست. Garbage Collection پس زمینه در یک محیط Enterprise اصلا مناسب نیست چون دستگاه وقتی برای انجام این کار ندارد. اما SSDهای معمولی چنین بار کاری بالایی ندارند و معمولا سازندگان تصمیم می گیرند Garbage Collection پس زمینه را در این نوع SSDها تعبیه کنند تا دستگاه با سرعت بیشتری کار کند.

garbage_collection_2

فرآیند Garbage Collection در SSDها به اختصار توضیح داده شد چون تاثیر قابل ملاحظه ای بر عملکرد دارد. وقتی SSD فرآیند Garbage Collection را در طول نوشتن انجام می دهد سرعت آن به طور قابل ملاحظه ای کاهش می یابد مخصوصا زمانی که برای تکمیل نوشتن، Blockهای زیادی باید بازنویسی شوند. در بسیاری از موارد، دیسک باید دیتای بسیار زیادی نسبت به آنچه سیستم عامل برایش فرستاده است بنویسد چون Blockهای زیادی باید در طول Garbage Collection بازآرایی شوند.

نحوه کار و آشنایی با IOmeter - بخش اول

کی از مهم ترین ابزار جهت تست سرعت I/O در Storage نرم افزار رایگان IOmeter می باشد. اما برای اجرای آن و گرفتن تست مورد نظر باید تنظیمات مورد نظر بر روی این نرم افزار به درستی انجام شود تا نتایج ارایه شده، قابل استناد باشد.
در این مجموعه مقالات با کارکرد دیسک های SSD آشنا خواهیم شد و در ادامه خواهیم توانست خروجی مورد نیاز خود را از نرم افزار دریافت کنیم.

 

iometer1

درباره حافظه فلشدر اینجا به مجموعه ای از مقالات در مورد SSD می پردازیم که در آنها به توضیح مفاهیم تست SSD و چگونگی تفسیر نتایج تست ها، پرداخته شده است. مطالبی که در این مقالات گنجانده شده اند در ارزیابی بهتر نتایج تست SSD به کاربر نهایی کمک خواهند کرد.
اندازه گیری و ارزیابی تست عملکرد دستگاه های SSD کار آسانی نیست و نیازمند تلاش و زمان زیاد برای تهیه نتایج دقیق می باشد. این مساله اهمیت بسزایی دارد،چراکه مقایسه عملکرد دستگاه های مختلف موجود در بازار در به دنبال این نتایج دقیق حاصل خواهد شد.
مقاله ی پیش رو در راستای کمک به درک بهتر مجموعه محیط های ذخیره سازی دیتا تاثیر به سزایی خواهد داشت؛ به خصوص ذخیره سازیِ All-Flash که در آن، سرور فقط از دیسک های SSD استفاده می کند. 
در اینجا به اولین بخش از مجموعه مقالات SSD می پردازیم.

SSD flash memory

حافظه فلش چطور کار می کند؟ خلاصه ای از SSD
دستگاه های SSD بسته به دیتایی که از قبل روی آنها نوشته شده است عملکردهای مختلفی دارند. یعنی ممکن است یک دستگاه SSD در زمان انجام یک تست خاص، عملکردهای مختلفی را به نمایش بگذارد، چون ممکن است قبل از انجام تست، در معرض Workloadهای مختلفی قرار گرفته باشد. میتوان گفت که SSDها بعد از نوشته شدن مقدار خاصی دیتا روی آنها، کندتر می شوند. معمولا این مساله زمانی اتفاق می افتد که بیشتر یا تمام فضای دیسک پر باشد. البته این لزوما به معنی پر کردن تمام فضای دیسک نیست، بلکه می تواند آن تعداد Write باشد که برای پر کردن تمام فضای دیسک نیاز است.
سرعت SSD در تمامی موارد، مدتی بعد از استفاده نسبت به حالت اولیه کاهش خواهد یافت.
قبل از این که به مباحث اولیه تست عملکرد SSD بپردازیم بهتر است روش کار SSD را توضیح دهیم. دانستن روش کار SSD ضروری است، چون با علم به این مساله است که می توان فهمید که چرا بعد از مقداری نوشتن روی SSD عملکرد آن کاهش می یابد. 
قسمت سازندۀ ابتدایی در حافظه فلش، سلول دیتا است که در واقع یک ترانزیستور است. حافظه فلش روش کاری شبیه DRAM دارد، اما دیتا در آن ماندگار است. این ماندگاری را توسط Gate Transistorهای شناور (Floating Gate) ایجاد می کنند. این ترانزیستور نیازمند تامین ولتاژ خود توسط یک خازن نمی باشد (کاری که در DRAM انجام می شود)، بلکه می تواند مقداری بار در خود ذخیره کند که بر روی Gate ترانزیستور وجود دارد (ورودی ترانزیستور). نحوه عملکرد این ترانزیستور به صورتی است که اعمال مقدار کمی ولتاژ (ولتاژ خواندن) بر روی Gate (در صورتی که بار ذخیره نشود) باعث می شود جریان خاصی شارش کند. وقتی بار در Gate ذخیره شود، ولتاژ پایین برای شارش جریان کافی نیست. بنابراین می توان گفت این سلول یک حالت باینری داشته و وقتی بار در آن ذخیره نشده است 1 و وقتی بار در آن ذخیره شده است 0 را نشان می دهد. 
به علاوه، Gate Transistorهای شناور وقتی ولتاژی بیش از مقدار خاصی (مقدار آستانه) به آنها اعمال می شود، قادر هستند جریان را هدایت کنند (ترانزیستور فعال می شود). این ولتاژ بیش از ولتاژی است که برای خواندن آن سلول استفاده می شود.

SSD

اساسا حافظه فلش (سلول های ذخیره سازی داده) از همین Gate Transistorهای شناور ساخته شده است. این سلول ها در صفحاتی قرار می گیرند و هر یک از این صفحات معمولا شامل دو هزار، چهار هزار، هشت هزار یا شانزده هزار سلول هستند. این صفحات Blockهایی را می سازند که 128 یا 256 صفحه دارند. Block یک شبکه است که هر صفحه به عنوان یک سطر بر روی آن قرار گرفته است. در حافظه های فلشِ NAND که معمولا از آنها استفاده می شود، صفحات در یک Block به صورت سری به هم متصل می شوند. خروجی یک صفحه (Drain در ترانزیستورها) به ورودی ترانزیستور در صفحه بعدی متصل است. در این چینش صفحات، دیتا در هر زمان فقط بر روی یک صفحه نوشته و خوانده می شود (اما Overwrite نمی شود که بعدا در این مورد توضیح خواهیم داد). برای خواندن، ولتاژ کمی به Gate صفحه ای که باید خوانده شود و ولتاژ بالاتری به سلول های صفحات دیگر اعمال می شود. از آنجا که این ولتاژ بالا، سلول ها را روشن می کند، دیتایی که از آن صفحه خوانده می شود در این شبکه انتقال یافته و می توان به آن دسترسی داشت. نوشتن دیتا با اعمال ولتاژ بالا به Gate سلول های موجود در آن صفحه انجام می شود در حالی که خروجی تمام سلول های دیگر موجود در آن Block به ground متصل است. فقط ستون هایی که سلول های موجود در آنها باید شارژ شوند به ground متصل می شوند. به این صورت بار بر روی Gate شناور قرار گرفته و مقدار باینری صفر در آن ذخیره می شود. 
صفحه کوچک ترین قسمت حافظه فلش است که خوانده و نوشته می شود. Overwrite یک صفحه به تنهایی امکان پذیر نیست، بلکه باید کل Block را Overwrite کرد.
پاک کردن سلول ها نیاز به ولتاژ بالایی دارد. مقدار این ولتاژ آنقدر زیاد است که اگر بخواهیم فقط یک صفحه را پاک کنیم ممکن است صفحات مجاور نیز تحت تاثیر قرار گیرند. به بیان ساده تر، اقدام برای پاک کردن یک صفحه نیاز به اعمال ولتاژ بالا دارد که این مسئله ممکن است باعث تغییر در سطح ولتاژ سایر سلول ها شده که به وضوح می تواند باعث Corrupt شدن دیتا شود و به هیچ وجه قابل قبول نیست. به این دلیل است که خواندن و نوشتن می تواند روی یک صفحه انجام شود، اما پاک کردن (یا Overwrite کردن) فقط در مقیاس Block قابل انجام است. 
به طور خلاصه می توان گفت حافظه فلش دارای صفحاتی است که کل Block را می سازند. می توان دیتا را بر روی یک صفحه نوشت و خواند، اما نمی توان یک صفحه را به تنهایی Overwrite کرد، بلکه باید کل Block را Overwrite کرده و سپس دیتا را روی آن Block نوشت. 

10 ترفند برتر برای بهبود عملکرد VMware

با استفاده از VMware Server، شما یک سیستم عامل مجازی مهمان در داخل سیستم عامل میزبان اجرا می کنید.

vmware server

چون چند سیستم عامل را بر روی یک سرور اجرا می کنید، می توانید تصور کنید که عملکرد آن سیستم میزبان به مقدار حداکثر خود نزدیک می شود. شما مجبورید حداکثر عملکردی را که می توانید، از سیستم خود دریافت کنید. در این مقاله، 10 روش برای افزایش عملکرد سرور VMware بیان می شود. به یاد داشته باشید که این 10 روش ترتیب خاصی ندارند. 

10. از ابزارهای VMware استفاده کنید.
وقتی ابزارهای VMware را برای ویندوز یا لینوکس load می کنید، این کار چند مزیت دارد. اول این که از رزولوشن SVGA به جای یک رزولوشن استاندارد VGA بهره می برید و همچنین باعث بهبود عملکرد گرافیکی بر روی Virtual Machine می شود. مزیت بعدی این که ماوس بین میزبان و مهمان، همگام‌سازی (Synchronize) می شود. برای خروج از سیستم عامل مهمان، دیگر به فشردن Ctrl-Alt نیاز ندارید. عملکرد ماوس هم بهتر می شود. نهایتا شما می توانید بین دو سیستم عامل Cut و Paste کنید. نصب این ابزارها آسان است. در داخل رابط مدیریت VMware وقتی Virtual Machine بوت شد، به VM -> Install VMware Tools بروید مثل این تصویر:

virtual increase vmware system performance_01

9. دیسک های مجازی خود را Defrag کنید.
مثل هر سیستم عامل دیگر، به مرور زمان داده های روی دیسک پراکنده می شود و باید Defrag شود. Virtual Machineها هم از این قضیه مستثنی نیستند. این که Defrag کردن چقدر طول می کشد بستگی دارد که چه دیتایی به هارد درایو Virtual Machine اضافه شده و چه دیتایی از آن حذف شده است. شما باید به طور متناوب از برنامه هایی مثل Diskkeeper ،PerfectDisk یا Windows Disk Defragmenter استفاده کنید. شما می توانید برنامۀ Windows Disk Defragmenter را از این طریق اجرا کنید: به My Computer رفته و با کلیک راست بر روی درایو C گزینه Properties را انتخاب کنید سپس روی سربرگ Tools کلیک کرده و گزینه Defragment Now را انتخاب کنید.

virtual increase vmware system performance_02

به یاد داشته باشید که مثل هر عمل نگهداری دیگری که هر کامپیوتری نیاز دارد، یک کامپیوتر مجازی نیز به این اعمال نیاز دارد (راستی، آیا بر روی این Virtual Machine، آنتی ویروس نصب کرده اید؟)

8. Visual Effectها را در ویندوز غیرفعال کنید. 
در ویندوز، افکت های بصری (Visual Effectها) وجود دارد تا ویندوز را زیباتر نشان دهد، اما این افکت ها باعث می شوند که Virtual Machine کندتر کار کند. این به این دلیل است که Visual Effectها از منابع گرافیکی و پردازشی استفاده می کنند. توصیه می کنم این آثار بصری را غیرفعال کنید تا سیستم عملکرد بهتری داشته باشد. این مورد را می توانید با راست کلیک کردن بر روی Control Panel -> System -> Advanced Tab -> Performance Settings بیابید. سپس روی Adjust for Best Performance کلیک کرده و در انتها گزینه OK را انتخاب کنید.

virtual increase vmware system performance_03

همچنین توصیه می کنم Screen Saver را هم در Virtual Machine غیرفعال کنید، چون یک مانیتور واقعی ندارید که جای پیکسل ها روی آن بیفتد. با غیرفعال کردن Screensaver؛ مجبور نیستید برای استفاده مجدد از کامپیوتر، منتظر بمانید تا نمایش Screensaver تمام شده و به حالت عادی برگردد. 

7. VMware را در حالت Full Screen اجرا کنید.
بیشتر افراد از VMware در داخل پنجرۀ VMware Management Interface استفاده می کنند. این روش مشکلی ایجاد نمی کند، اما اگر از VMware در حالت Full Screen استفاده کنید عملکرد بهتری را تجربه خواهید کرد. برای تغییر به حالت Full Screen (وقتی در Virtual Machine هستید) Ctrl-Alt-Enter را فشار دهید. وقتی از حالت Full Screen استفاده می کنید متوجه تغییر عملکرد فوق العاده ای خواهید شد. برای خروج از حالت Full Screen می توانید Ctrl-Alt را بفشارید. 

6. CD-ROM را در VMware غیرفعال کنید. 
خوشبختانه وقتی می خواهید VMware را از روی CD-ROM نصب کنید، Auto-Run را غیرفعال می کنید. این به این دلیل است که وقتی یک CD-ROM را که یک فایل Auto-Run روی آن است در درایو مربوطه قرار می دهید، ماشین میزبان و تمام سیستم عامل های مهمان می خواهند کنترل آن را به دست گیرند و آن را بخوانند. برای این که مانع از این شوید که Virtual Machine، وقت خود را بر روی CD-ROM تلف کند، باید CD-ROM را برای تمام Virtual Machineها غیرفعال کنید. برای انجام این کار، بعد از انتخاب سربرگ مناسب برای آن Virtual Machine، به VM -> Settings بروید (یا Ctrl-D را فشار دهید). در داخل پنجرۀ تنظیمات، بر روی درایو CD-ROM کلیک کرده و در سمت راست، تیک گزینه های Connected و Connect at Power-On را بردارید که در شکل زیر نشان داده شده است.

virtual increase vmware system performance_04 

سپس روی OK کلیک کنید. 
5. Swap Fileهای مجزا را بر روی دیسک های مجزایی قرار دهید. 
یک راه دیگر برای بهبود عملکرد در Virtual Machine این است که Swap Fileها را جدا کرده و آنها را بر روی دیسک های مجزایی (دیسک های فیزیکی و مجازی میزبان) قرار دهید (Swap Fileها فضاهایی بر روی دیسک هستند که به عنوان حافظۀ مجازی از آنها استفاده می شود). به عبارت دیگر، در حال حاضر Swap Fileهای شما در همان دیسک مجازی قرار دارند که تمام Disk Fileهای شما در آنجا هستند. برای آن که عملکرد بهبود یابد، یک دیسک مجازی مجزا بر روی دیسک فیزیکی میزبان ایجاد کنید و سپس Swap File خود را به آن دیسک مجازیِ جدید انتقال دهید. اگر این دیسک مجازی را به یک دیسک حقیقی مجزا انتقال ندهید، تفاوتی در عملکرد ایجاد نخواهد شد. توضیح این مساله، بحث های پیچیده ای را می طلبد که خارج از موضوع این مقاله است. به هر حال برای تغییر مکان Swap File را تغییر دهید از مسیر زیر اقدام کنید:

Control Panel -> System -> Advanced Tab -> Performance Settings -> Advanced Tab -> Virtual Memory Change

البته امیدوارم نیاز به جابجایی های بیشتری نداشته باشید! برای این که بعدا مجبور به جابجایی فایل نباشید، باید اندازۀ حافظه ای را که به Virtual Machine تخصیص داده اید بیشتر کنید (کمتر از اندازۀ کلی RAM فیزیکی). می توانید به "RAM خود را ارتقا دهید" در زیر نگاهی بیندازید. 

4. دیسک های مجازی مختلف را روی دیسک های فیزیکی متفاوتی نگه دارید. 
هر وقت دیتا را طوری توزیع کنید که روی دیسک های مختلفی قرار گیرد و به طور همزمان از چند دیسک استفاده شود، عملکرد بهتری خواهید داشت. VMware نیز از این قاعده تبعیت می کند. فرض کنیم می خواهید Microsoft SQL server یا Exchange server را اجرا کنید. این نرم افزارها دارای Server Program ،Log File و Database هستند. این سه نوع دیتا را می توان روی سه دیسک مجازی مختلف قرار داد و آن سه دیسک مجازی را می توان بر روی سه دیسک فیزیکی قرار داد. یک روش دیگر برای قرار دادن دیتاهای مختلف بر روی دیسک های مختلف، استفاده از RAID است. مثلا می توانید یک دیسک مجازی داشته باشید و آن را با استفاده از RAID 5 روی 5 دیسک مختلف قرار دهید. با این کار دیتا را بر روی دیسک های مختلف قرار می دهید و عملکرد را برای Virtual Machine افزایش می دهید. 

3. هارد دیسک خود را ارتقا دهید. 
ارتقا دادن یک دیسک و جایگزین کردن آن با یک دیسک با سرعت بیشتر، یک روش دیگر برای بهبود عملکرد Virtual Machine است. وقتی این کار را می کنید، دیسک فیزیکی میزبان شما به طور خودکار Defrag می شود چون شما از آن دیتا Backup گرفته و آن را بازیابی (Restore) می کنید. علاوه بر داشتن یک دیسک با سرعت بالا، می توانید چند دیسک با سرعت بالا داشته باشید، اگر نحوه مدیریت آن را بدانید. می توانید این دیسک ها را به صورت آرایۀ RAID ببندید تا Redundancy و عملکرد بهبود یابد (بسته به نوع RAIDای که انتخاب می کنید). 

2. CPUی خود را ارتقا دهید.
قدرت CPUی شما در پردازش دیتای سیستم عامل میزبان و همچنین سیستم عامل مجازی بسیار مهم است. در کار با هر نرم افزاری، یک CPUی سریع تر، سرعت پردازش بالاتری را فراهم می کند.

1. RAM خود را ارتقا دهید. 
به نظر من، بهترین صرفۀ اقتصادی را در ارتقا دادن RAM سیستم میزبان خواهید داشت. RAM این روزها قیمت مناسبی دارد (نسبت به CPU یا دیسک) و این Virtual Machineها تشنۀ RAM هستند. با ارتقا دادن RAM می توانید به هر Virtual Machine مقدار RAM بیشتری اختصاص دهید. این کار باعث جلوگیری از Swap کردن بر روی سیستم عامل میزبان و سیستم عامل مهمان می شود. اگر به دلایل اقتصادی نمی توانید RAM دیگری بخرید، یک راه حل، بازتخصیص RAM از یک Virtual Machine به Virtual Machine دیگر است. ببینید هر Virtual Machine چقدر RAM مصرف می کند. اگر یک Virtual Machine خیلی Swap می کند و به RAM بیشتری نیاز دارد، احتمالا می توان این مقدار RAM را از یک Virtual Machine دیگر که کار زیادی انجام نمی دهد گرفت. این زیباییِ رایانش مجازی و اشتراک منابع است. 

خلاصه 
شما ده روش مختلف برای بهبود عملکرد Workstation یا سرور VMware یاد گرفته اید. برای این کار می توان تغییراتی در سخت افزار یا نرم افزار ایجاد کرد. به یاد داشته باشید که سیستم شما شکست‌ناپدیر نیست! و شبیه سازی چند کامپیوتر در داخل یک کامپیوتر می تواند فشار زیادی به سیستم وارد کند و مهم نیست که سرعت سیستم خیلی زیاد است. برای داشتن خاطری آسوده و آرامش کاربرانتان از هر ده روش برای بهبود عملکرد استفاده کنید.