Academy and Foundation unixmens | Your skills, Your future
2.28K subscribers
6.66K photos
1.37K videos
1.23K files
6.01K links
@unixmens_support
@yashar_esm
[email protected]
یک کانال علمی تکنولوژی
فلسفه متن باز-گنو/لینوکس-امنیت - اقتصاد
دیجیتال
Technology-driven -بیزینس های مبتنی بر تکنولوژی
Enterprise open source
ارایه دهنده راهکارهای ارتقای سازمانی - فردی - تیمی
Download Telegram
مقدمه

در واقعASR قابلیتی است که به صورت دائم یک سیستم را از جنبه‌های مختلف مورد ارزیابی قرار می‌دهد تا در صورت بروز مشکل و خطا، جهت تشخیص و رفع آن به صورت خودکار اقدام نماید.این ویژگی توسط شرکت hp، در سرورهای تولید خود به کار گرفته شده است تا در صورت بروز مشکل در عمل‌کرد سخت‌افزار و سیستم عامل، سیستم را به یک وضعیت مناسب برگرداند.


2 معرفی ASR

تکنولوژی ASR یا Automatic System Recovery این امکان را به سیستم می دهد تا در صورت بروز مشکلات حاد در سیستم عامل نظیر (Blue Screen of death ، ABEND (abnormal end و یاKernel panic سیستم را restart نماید، عمل repair خودکار memory را انجام دهد و یا در صورت fail شدن یک process سیستم را recover کند. در هنگام load شدن سیستم عامل، درایور خاصی تحت عنوان System Management Driver یا همان Health Driver همراه با آن load می شود. هنگامی که سیستم عامل بدون مشکل در حال کار کردن است timer خاصی به نام ASR timer ، که زمان پیش فرض آن10 دقیقه است، به طور مداوم توسط این driverدر فاصله زمانی مشخصی restart می شود. در صورتی که سیستم عامل به درستی عمل نکند و یا به شکلی قفل نماید، این timer پس از اتمام دوره چک کردن، expire شده و سیستم restart می شود. همزمان با restart شدن سیستم یک پیغام log در قسمت login نرم افزار Insight Manager در ویندوز و همچنین در IML در لینوکس درج خواهد شد. به طور پیش‌فرض قابلیتASR در سرور های hp فعال است و می توان آنرا از طریق نرم افزار Insight Manager در ویندوز و یا(RBSU (ROM-Based Setup Utility در BIOS غیر فعال نمود و زمان پیش‌فرض مربوط به Timer را تغییر داد.


3 تنظیم ASR در منوی RBSU(Rom-Based Setup Utility)

تنظیم ASR علاوه بر نرم‌افزارInsight Manager از طریق BIOS سیستم نیز قابل انجام می باشد.برای این کار بایستی در زمان بوت شدن سرور از طریق کلید F9 وارد BIOS سرور شویم.تنظیمات ASR درگزینه Server Availability در منویRBSU در دسترس است.
تصویر 1: صفحه ابتدای لود شدن سرورهای hp
تصویر 2:منوی RBSU
تصویر 3: تنظیمات مربوط به ASR
در واقعServer Avalability شامل دو گزینه برای تنظیم ASR می باشد:

در واقع ASR Status :جهت فعال و غیر فعال کردن ویژگیASR.

در واقع ASR Timeout: تنظیم زمان تایمر ASR که به صورت پیش‌فرض 10 دقیقه می باشد.

زمانی که سیستم عامل در وضعیت مناسبی قرار داشته باشد،Health Driver به صورت پیوسته تایمر ASR را ریست می‌کند تا از صفر شدن تایمر جلوگیری کند. در صورتی که سیستم عامل نتواند جواب دهد و به دلایلی که بعداً ذکر می شود سیستم عامل قفل کرده باشد این تایمر بعد از گذشت زمان تعیین شده صفر شده و Health Driver فرض را بر قفل کردن سیستم عامل گرفته و سرور را reboot خواهد نمود.در اغلب مواردی که ASR عمل می کند یک Log به IML سیستم نیز ارسال می شود.


4 دلایل قفل شدن سیستم عامل

خطای یکی از اجزای سخت افزاری سیستم

نرم افزار سطح بالا یا Process ای که تمام منابعCPU سیستم را اشغال کرده و اجازه نمی‌دهد تا CPU به Health Driver تخصیص داده شود تا بتواند تایمر ASR را ریست نماید.

نرم‌افزار یا Process ای که تمام منابع Swape,RAM سیستم را اشغال کرده واجازه تخصیص Memory به Health Driver را نمی دهد.

خرابی یکی از اجرای سیستم عامل، مانند خرابی فایل سیستم یا درایور یکی از اجزا

و هر اتفاقی که باعث ایجاد وقفه در عمل‌کرد سیستم عامل شود.


5 عیب یابی جهت رفع و تشخیص نوع خطا

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

مراحل عیب یابی جهت رفع و تشخیص نوع خطای اتفاق افتاده(سخت‌افزار – نرم‌افزار).

به موارد زیردر مواقع اتفاق افتادن ASR توجه نماید:

آیاASR بعد از اضافه کردن یک سخت‌افزار جدید اتفاق افتاده هست؟

آیاASR بعد از نصب Patch جدید سیستم عامل،درایور یا Firmware جدید اتفاق افتاده است؟

در صورت امکان سخت‌افزار جدید نصب شده،درایور جدید و یا Patch جدید سیستم عامل را حذف کنید.

در صورت امکان iLO , Firmware , BIOS سرور را بروزرسانی نمایید.

در واقع ( SPP (Support Pack for Proliant ) ,PSP (Proliant Support Pack را بسته به مدل سرور بروزرسانی نمایید.

در واقع NVRAM سرور را از طریق BRSU (همان BIOS سرور) پاک نمایید.

عیب یابی و Log ها:

اجرا کردن نرم‌افزار Insight Diagnostics از CD همراه سرور برای سرورهای G7 و پایین تر.

در سرورهای G8 , G9 از iLO سرور استفاده نمایید یا Health System را از iLO فعال نمایید.

در واقع IML ،Integrated Management Log را از طریق رابط کاربری iLO یا Insight Diagnostics چک نمایید.

برای سرورهای ویندوزی می‌توان از نرم‌افزار HPS Report جهت گزارش گیری از تمام قسمت‌های سیستم استفاده نمود.

برای سرورهای لینوکسی از ابزار Cfg2html برای گزارش گیری کامل استفاده می شود.
تا حالا شده بخواین ترمینال خودتون را شیر کنید در واقع anydesk یا teamviewer نسخه cli داشته باشین ?!!!!
با برنامه teleconsole میتونید
کافیه دستور زیر را اجرا کنید تا برنامه نصب بشه
curl https://www.teleconsole.com/get.sh | sh
سپس با اجرای برنامه teleconsole شما یک سیشن میده ، حتی میتونید تحت وب هم در لینکی که میده وصل بشیم
$ teleconsole
Requesting a disposable SSH proxy for you...
Checking status of the SSH tunnel...

Your Teleconsole ID: 4bc2b5138360d343379b9043083c48eb7084c3b8
WebUI for this session: https://teleconsole.com/s/4bc2b5138360d343379b9043083c48eb7084c3b8
برای خروج هم کافی هست exit را اجرا کنید
سورس برنامه هم بصورت آزاد موجود است
https://github.com/gravitational/teleconsole
#terminal #ssh #cli #teleconsole @unixmens
شاخه dev/ در فایل سیستم لینوکس
در فایل سیستم لینوکس، شاخه‌ای به نام dev/ وجود دارد که در آن تمامی ابزارهای سخت افزاری سیستم لیست شده‌اند. برای مثال پارتیشن‌های دیسک سخت یا درایوهای CD-ROM با نشانی dev/hdX/ در این شاخه وجود دارند. حتما هنگام استفاده از دستوری مانند mount از گره‌های موجود در این شاخه برای اتصال ابزارها به فایل سیستم استفاده کرده‌اید.



udev

در واقع udev مسئول ایجاد گره ها و فایلهای ابزارهای سخت افزاری در شاخه /dev می باشد که این عملکرد بصورت پویا انجام می شود. ساختار udev بسیار جمع و جور و کوچک می‌باشد. udev تنها گره‌های ابزارهایی را که بر روی سیستم حاضر هستند و ماژول آنها در حافظه بارگذاری شده است را نمایش می‌دهد. این ویژگی باعث می‌شود تا یک ساختار تمیز و مرتب در dev/ داشته باشیم.



در واقع udev قابلیتهای فراوانی نسبت به ابزارهای مشابه قدیمی خود دارد.از جمله این قابلیت ها ایجاد نام های سفارشی برای ابزارهای خاص در شاخه /dev می باشد. برای مثال ممکن است شما یک درایو usb و یک دوربین دیجیتال داشته باشید که از dev/sda1/ استفاده می‌کنند، می‌توانید کاری کنید که هرگاه دوربین به سیستم متصل می‌شود با نام Camera و وقتی درایو usb به سیستم متصل می‌شود به نام usbdrive شناخته شود. برای این کار لازم است تا تعدادی قانون (rule) به سیستم udev خود اضافه کنید. محل تعریف این قوانین در مسیر etc/udev/udev.rules/ می‌باشد.



می‌توانید نام ابزاری را که به درگاه usb متصل کرده‌اید با استفاده از دستور زیر بدست آورده:
# udevinfo -a -p $(udevinfo -q path -n /dev/sda1)
...
looking at the device chain at '/sys/devices/pci0000:00/0000:00:07.2/usb1/1-2':
BUS="usb"
ID="1-2"
DRIVER="usb"
SYSFS{bConfigurationValue}="1"
SYSFS{bDeviceClass}="00"
SYSFS{bDeviceProtocol}="00"
SYSFS{bDeviceSubClass}="00"
SYSFS{bMaxPower}="100mA"
SYSFS{bNumConfigurations}="1"
SYSFS{bNumInterfaces}=" 1"
SYSFS{bcdDevice}="0100"
SYSFS{bmAttributes}="c0"
SYSFS{detach_state}="0"
SYSFS{devnum}="2"
SYSFS{idProduct}="0102"
SYSFS{idVendor}="07b4"
SYSFS{manufacturer}="OLYMPUS"
SYSFS{maxchild}="0"
SYSFS{product}="C160,D395"
SYSFS{serial}="SW01103804 "
SYSFS{speed}="12"
SYSFS{version}=" 1.10"
...
یا
# udevinfo -a -p /sys/block/sda
و سپس با ویرایش فایل etc/udev/udev.rules/ خطی مانند زیر را به آن اضافه کنید:
BUS="usb", SYSFS{product}="C160,D395", KERNEL="sd?1", NAME="%k", SYMLINK="camera"
از این پس دوربین شما پس از اتصال به سیستم در dev/camera/ قابل دسترسی خواهد بود. برای ابزارهای ذخیره سازی داده usb که به درایوهای usb یا usb mass storage نیز موسوم هستند، خط فایل etc/udev/udev.rules/ مانند زیر خواهد بود:

BUS="usb", KERNEL="sd*", SYSFS{product}="USB 2.0 Storage Device", NAME="%k", SYMLINK="usbhd%n"
این خط ابزارهایی مانند dev/usbhd/، /dev/usbhd1 و dev/usbhd2/ را ایجاد خواهد کرد که usbhd1 و usbhd2 قابل اتصال (mount) بوده و usbhd را نیز می‌توان در ابزارهای پارتیشن‌بندی مانند cfdisk بکار گرفت.


از جمله قابلیت های دیگر udev، اجرای فرآیند و یا اسکریپت خاص هنگام اتصال یک سخت افزار یا قطع آن می باشد. بعنوان مثال قصد دارید یک اسکریپت خاص را هنگام اتصال حافظه usb flash اجرا نمایید. با استفاده از قوانینی که در مسیر etc/udev/udev.rules/ تعریف مینمایید به راحتی می توانید از این قابلیت استفاده نمایید.



با ایجاد یک فایل در مسیر /etc/udev/udev.rules/ و وارد نمودن خط زیر، به سیستم عامل اعلام می نمایید که هنگام اتصال یک دیوایس usb که vendorId=238b و productId=0a12 دارد، اسکریپتusr/local/test.sh را فراخوانی نماید.
<span class="pln">ACTION</span><span class="pun">==</span><span class="str">"add"</span><span class="pun">,</span><span class="pln"> ATTRS</span><span class="pun">{</span><span class="pln">idVendor</span><span class="pun">}==</span><span class="str">"238b"</span><span class="pun">,</span><span class="pln"> ATTRS</span><span class="pun">{</span><span class="pln">idProduct</span><span class="pun">}==</span><span class="str">"0a12"</span><span class="pun">,</span><span class="pln"> RUN</span><span class="pun">+=</span><span class="str">"/usr/local/test.sh"</span>
iproute2 is a collection of userspace utilities for controlling and monitoring various aspects of networking in the Linux kernel, including routing, network interfaces, tunnels, traffic control, and network-related device drivers.

iproute2 is an open-source project released under the terms of version 2 of the GNU GPL license. Its development is closely tied to the development of networking components of the Linux kernel. As of December 2013, iproute2 is maintained by Stephen Hemminger. The original author, Alexey Kuznetsov, was responsible for the Quality of Service (QoS) implementation in the Linux kernel
در واقع iproute ابزار قدرتمندی جهت مدیریت و مشاهده ساختارهای شبکه از جمله روتینگ ، ای پی ،qos و ... می باشد که میتوانید با آن حتی سیاست های خاصی را پی ریزی کنبد
#iproute2 #ip #qos @unixmens
در واقع cgroups (محفف control groups به معنی گروه‌های کنترلی) یک قابلیت هستهٔ لینوکس است که منابع مجموعه‌ای از فرایندها را مدیریت و مجزاسازی می‌کند. که در مجازی سازی بیشترین کاربرد را دارد ، که میتوانید روی منابع سخت افزاری مانند ، شبکه ، رم ، سی پی یو و ... مدیریت کنید و نسبت به نیاز اختصاص دهید