| SG_START(8) | SG3_UTILS | SG_START(8) |
نام (NAME)
sg_start - ارسال دستور SCSI START STOP UNIT: راهاندازی، متوقفسازی، بارگذاری یا خروج رسانه
خلاصه دستور (SYNOPSIS)
sg_start [0] [1] [--eject] [--help] [--fl=FL] [--immed] [--load] [--loej] [--mod=PC_MOD] [--noflush] [--pc=PC] [--readonly] [--start] [--stop] [--verbose] [--version] DEVICE
sg_start [--eject] [--fl=FL] [-i] [--imm=0|1] [--load] [--loej] [--mod=PC_MOD] [--noflush] [--pc=PC] [-r] [--start] [--stop] [-v] [-V] [0|1] DEVICE
توضیحات (DESCRIPTION)
دستور sg_start دستور SCSI START STOP UNIT را به همراه گزینههای انتخابشده به DEVICE ارسال میکند. پرکاربردترین گزینهها عبارتند از --stop برای متوقف کردن چرخش دیسک (spin down) و --start برای چرخاندن و راهاندازی دیسک (spin up). استفاده از --start روی دیسکی که در حال حاضر میچرخد بیضرر است. همچنین کنترل دقیقتری با «وضعیت مصرف انرژی» (power condition) وجود دارد: فعال (active)، آمادهبهکار (idle) یا حالت انتظار (standby). این حالت با گزینه --pc=PC تنظیم میشود. در برخی زمینهها وضعیت «stop» را نیز میتوان به عنوان یک وضعیت مصرف انرژی اضافی در نظر گرفت.
دستگاههایی که شامل رسانههای جداشدنی مانند CD/DVD هستند میتوانند از گزینه --loej همراه با --start برای بارگذاری رسانه استفاده کنند (یعنی بارگذاری رسانه و سپس شروع چرخش). همچنین میتوان از --loej همراه با --stop برای بیرون دادن رسانه استفاده کرد (یعنی توقف چرخش و سپس خروج رسانه). به شکلی سادهتر، بارگذاری یا بیرون دادن رسانه جداشدنی را میتوان با گزینههای --load یا --eject درخواست کرد.
اگر هیچ گزینه یا آرگومانی مشخص نشود، همانطور که از نام ابزار پیداست، فرض بر اعمال --start خواهد بود.
این ابزار از دو نحو خط فرمان پشتیبانی میکند؛ نحو ترجیحی ابتدا در خلاصه دستور نشان داده شده و در این بخش توضیح داده میشود. در بخش بعدی درباره نحو قدیمی خط فرمان، گروه دوم گزینهها شرح داده شده است.
نکته لینوکس: بهتر است برای گزینه --stop از نامهای استاندارد دستگاه بلوکی (مانند /dev/sdc) استفاده نکنید. در عوض از یک گره دستگاه sg یا bsg استفاده نمایید (به lsscsi(8) مراجعه کنید). لایه بلوکی گاهی متوجه متوقف شدن چرخش دیسک میشود و با تصور اینکه «این وضعیت درست نیست»، دوباره دیسک را به چرخش درمیآورد!
گزینهها (OPTIONS)
آرگومانهای گزینههای طولانی برای گزینههای کوتاه نیز الزامی هستند.
- 0
- همان عملکرد --stop.
- 1
- همان عملکرد --start.
- -e, --eject
- متوقف کردن رسانه و بیرون دادن آن از درایو. تنها برای دستگاههای دارای رسانه جداشدنی مناسب است. ممکن است نادیده گرفته شود (جلوگیری شود)، به توضیحات زیر مراجعه کنید. توجه داشته باشید که این عملیات برای درایوهای نوار مغناطیسی (tape) یا پخشکنندههای CD/DVD/BD قابل انجام است، نه برای دیسکهای سخت یا SSD!
- -h, --help
- نمایش پیام راهنمای استفاده و خروج.
- -f, --fl=FL
- شماره لایه فرمت دیسک را برای «پرش» به آن تنظیم میکند (تعریفشده در MMC-5). مقادیر FL میتوانند بین 0 تا 3 باشند. هنگامی که این گزینه انتخاب میشود، بیتهای FL ،LoEj و Start در cdb همانگونه که توسط MMC-5 الزامی شده تنظیم میشوند؛ بنابراین نیازی نیست کاربر گزینههای --start و/یا --load را تنظیم کند.
- -i, --immed
- بیت IMM را در دستور START STOP UNIT فعال میکند تا این ابزار بیدرنگ بازگردد و منتظر تکمیل عمل درخواستی توسط رسانه نماند. حالت پیشفرض این است که تا زمان اتمام عمل درخواستی توسط رسانه منتظر بماند و سپس بازگردد.
- -l, --load
- بارگذاری رسانه در درایو و شروع آن. تنها برای رسانههای جداشدنی مناسب است.
- -L, --loej
- بیت LOEJ را در دستور START STOP UNIT تنظیم میکند. این کار هنگام راهاندازی واحد باعث بارگذاری رسانه، یا هنگام توقف واحد باعث خروج رسانه میشود (یعنی هماهنگ با بیت START در cdb کار میکند). این گزینه در صورتی که «pc > 0» باشد نادیده گرفته میشود. حالت پیشفرض غیرفعال است (یعنی تلاشی برای بارگذاری یا خروج رسانه انجام نمیشود). اگر نشانهای از شروع یا توقف داده نشده باشد (یعنی نه --start و نه --stop) و این گزینه داده شود، عملیات بارگذاری و شروع فرض میشود.
- -m, --mod=PC_MOD
- که در آن PC_MOD مقدار «تعدیلکننده وضعیت مصرف انرژی» (power condition modifier) است. مقادیر معتبر بین 0 تا 15 (شامل خودشان) هستند و پیشفرض 0 است. این فیلد در cdb پس از sbc3r13 افزوده شد.
- -n, --noflush
- پیش از اجرای نگارشی از این ابزار که دسترسی به رسانه را محدود میکند، عمل تخلیه بافر به رسانه (مانند کاری که SYNCHRONIZE CACHE انجام میدهد) را انجام ندهد. استفاده از گزینه --stop نمونهای از اعمال محدودیت بر دسترسی به رسانه است. این فیلد 'noflush' در cdb پس از sbc3r13 اضافه شد.
- -O, --old
- جابهجایی به گزینههای به سبک قدیمیتر. لطفاً به عنوان اولین گزینه استفاده شود.
- -p, --pc=PC
- که در آن PC مقدار «وضعیتهای مصرف انرژی» (power conditions) است. مقادیر 0 تا 15 (شامل خودشان) معتبر هستند. مقدار پیشفرض 0 است. هنگامی که «--pc=0» باشد، گزینههای --eject، --load، --loej، --start و --stop فعال هستند. برخی مقادیر متداول عبارتند از: 1 برای وضعیت مصرف انرژی «active» در SBC؛ 2 برای وضعیت انرژی «idle»؛ 3 برای وضعیت انرژی «standby»؛ 5 برای وضعیت انرژی «sleep» در MMC؛ 7 برای LU_CONTROL در SBC؛ مقدار 0xa (عدد 10 دهدهی) برای FORCE_IDLE_0 در SBC؛ و 0xb (عدد 11 دهدهی) برای FORCE_STANDBY_0 در SBC. برای اطلاعات بیشتر به پیشنویسهای اخیر SBC-3 ،MMC-5 و SAS در www.t10.org مراجعه کنید.
- -r, --readonly
- باز کردن DEVICE در حالت فقطخواندنی. ممکن است در لینوکس برای جلوگیری از چرخش ناخواسته مجدد در صورتی که DEVICE یک دیسک ATA باشد لازم باشد. این چرخش ناخواسته ممکن است در پایان این دستور رخ داده و اثر گزینه --stop را خنثی کند.
- -s, --start
- راهاندازی و چرخاندن (spin-up) دستگاه DEVICE. این گزینه بیت START را در cdb تنظیم میکند. استفاده از این گزینه روی دستگاهی که از قبل شروع به کار کرده بیضرر است. در غیاب سایر گزینهها، این گزینه به صورت پیشفرض انتخاب میشود (یعنی تنظیم بیت START در cdb).
- -S, --stop
- متوقف کردن چرخش (spin-down) دستگاه DEVICE. این گزینه بیت START را در cdb پاک میکند. این عملیات معمولاً بر روی دیسک سخت یا SSD انجام میشود. در مورد SSD، آن را در حالت مصرف انرژی کم قرار میدهد و ممکن است بعداً پیش از امکان ازسرگیری مجدد ورودی/خروجی عادی، نیاز به یک عملیات شروع (start) باشد.
- -v, --verbose
- افزایش سطح جزئیات خروجی. میتواند چندین بار استفاده شود.
- -V, --version
- نمایش اطلاعات نسخه و خروج.
نکات (NOTES)
برای جلوگیری از سردرگمی، تنها باید یکی از گزینههای 0، 1، --eject، --load، --start یا --stop مشخص شود.
یک صفحه حالت (mode page) مرتبط با «وضعیت مصرف انرژی» (0x1a) وجود دارد که در آن میتوان مقادیر تایمر را برای انتقال به حالت آمادهبهکار (idle) یا انتظار (standby) پس از مدتی عدم فعالیت تنظیم کرد. از ابزار sdparm میتوان برای مشاهده این صفحه حالت وضعیت انرژی و در صورت نیاز تغییر آن استفاده کرد. اگر یک DEVICE در وضعیت انرژی idle یا standby باشد، دستور REQUEST SENSE (ابزار sg_requests را ببینید) در دستگاههای SCSI جدید باید sense key با مقدار «no sense» و یک sense code اضافی با عنوان «Low power condition on» بازگرداند.
بیرون دادن رسانه جداشدنی (مانند 'sg_start --eject /dev/hdd' که در آن DEVICE یک درایو ATAPI cd/dvd است) ممکن است توسط یک دستور قبلی SCSI PREVENT ALLOW MEDIUM REMOVAL مهار شده باشد (به sg_prevent مراجعه کنید). در این حالت، این ابزار با خطایی که توسط دستگاه تولید میشود شکست خواهد خورد: illegal request / medium removal prevented. این محدودیت را میتوان با استفاده از sg_prevent یا مثلاً با دستور 'sdparm --command=unlock /dev/hdd' لغو کرد.
دستور SCSI TEST UNIT READY میتواند برای آگاهی از اینکه آیا یک DEVICE برای انتقال داده آماده است یا خیر استفاده شود. اگر رسانه چرخشی متوقف شده باشد یا هنوز به سرعت نامی نرسیده باشد، دستور TEST UNIT READY کلید sense با مقدار «not ready» و یک کد sense اضافی با اطلاعات بیشتر بازخواهد گرداند. ابزار sg_turs را ببینید.
در سری ۲.۴ هسته لینوکس، DEVICE باید یک دستگاه عمومی اسکازی (sg) باشد. در سری ۲.۶ دستگاههای بلوکی (مانند دیسکهای SCSI و درایوهای DVD) نیز میتوانند مشخص شوند. برای نمونه "sg_start 0 /dev/sda" در هستههای سری ۲.۶ کار خواهد کرد.
در سری ۲.۶ لینوکس، به ویژه با دیسکهای ATA، استفاده از این ابزار برای متوقف کردن (spin down) دیسک ممکن است کافی نباشد و سازوکارهای دیگر پس از مدتی دیسک را مجدداً راهاندازی کنند. کاربر میتواند علاوه بر این، دیسک را با دستور 'echo offline > /sys/block/sda/device/state' به عنوان "offline" نشانهگذاری کند که در آن sda نام بلوکی دیسک است. برای شروع مجدد دیسک، میتوان "offline" را با "running" جایگزین کرد. توجه داشته باشید که با تنظیم 'state' به offline، هیچ دستور SCSI نمیتواند به دستگاه ارسال شود تا زمانی که مجدداً روی running تنظیم گردد. همچنین متوقف کردن دیسک از طریق یک رابط عبورمستقیم (pass-through) (مانند /dev/sg1 یا /dev/bsg/1:0:0:0) ممکن است اثرات جانبی ناخواسته (مانند راهاندازی مجدد آن پس از اتمام این ابزار) را کاهش دهد.
وضعیت خروج (EXIT STATUS)
وضعیت خروج sg_start در صورت موفقیت 0 است. در غیر این صورت به صفحه راهنمای sg3_utils(8) مراجعه کنید.
گزینههای قدیمی خط فرمان (OLDER COMMAND LINE OPTIONS)
گزینههای این بخش تنها مواردی بودند که پیش از نسخه 1.23 بسته sg3_utils در دسترس بودند. از آن زمان این ابزار به صورت پیشفرض از گزینههای جدیدتر خط فرمان استفاده میکند که میتوان با استفاده از --old (یا -O) به عنوان اولین گزینه، این رفتار را تغییر داد. برای راهکار دیگر جهت اجبار به استفاده از این گزینههای قدیمی خط فرمان، به بخش «متغیرهای محیطی» مراجعه فرمایید.
توجه داشته باشید که عملکرد --loej در رابط قدیمیتر اندکی متفاوت است: هنگامی که نه --start و نه --stop (و نه معادلهای آنها) داده نشده باشند، --loej عملیات خروج رسانه (eject) را انجام میدهد. در موقعیت مشابه، رابط جدیدتر عملیات بارگذاری (load) را اجرا میکند.
نسخههای پیشین sg_start دارای گزینه '-s' برای اجرای دستور SYNCHRONIZE CACHE پیش از صدور دستور START STOP UNIT بودند. بر اساس پیشنویسهای اخیر SBC-2، این کار در صورت نیاز به طور خودکار انجام میشود؛ از این رو گزینه '-s' حذف شده است.
تمامی گزینهها به جز '-v' و '-V' میتوانند با یک علامت تک "-" وارد شوند. برای نمونه: "sg_start -stop /dev/sda" و "sg_start --stop /dev/sda" با یکدیگر معادل هستند. فرم تک "-" برای سازگاری رو به عقب در نظر گرفته شده است.
- 0
- متوقف کردن چرخش (spin-down) دستگاه DEVICE.
- 1
- راهاندازی و چرخاندن (spin-up) دستگاه DEVICE.
- --eject
- متوقف کردن رسانه و بیرون دادن آن از درایو.
- --fl=FL
- شماره لایه فرمت دیسک را برای «پرش» به آن تنظیم میکند (تعریفشده در MMC-5).
- -i
- بیت IMM را در دستور START STOP UNIT تنظیم میکند تا این ابزار بیدرنگ بازگردد و منتظر توقف چرخش رسانه نماند. اثری مشابه با '--imm=1' دارد. عمل پیشفرض (بدون این گزینه یا گزینه '--imm=1') این است که پیش از بازگشت، منتظر بماند تا چرخش رسانه متوقف شود.
- --imm=0|1
- هنگامی که بیت immediate برابر با 1 باشد، این ابزار بلافاصله پس از دریافت دستور توسط DEVICE بازمیگردد. هنگامی که این گزینه 0 باشد (پیشفرض)، ابزار پس از تکمیل عمل دستور بازمیگردد (یعنی منتظر میماند تا دستگاه راهاندازی یا متوقف شود).
- --load
- بارگذاری رسانه در درایو و راهاندازی آن.
- --loej
- بیت LOEJ را در cdb دستور START STOP UNIT تنظیم میکند. هنگامی که عملیات "start" مشخص شده باشد، بارگذاری و شروع انجام میشود. هنگامی که عملیات "stop" مشخص شده باشد، توقف و خروج صورت میپذیرد. هنگامی که نه عملیات "start" و نه "stop" مشخص نشده باشد، توقف و خروج انجام میدهد. [توجه داشته باشید که این اقدام آخر با رابط جدید تفاوت دارد که در آن این گزینه به صورت پیشفرض بارگذاری و راهاندازی میکند.]
- -N, --new
- جابهجایی به گزینهها به سبک جدیدتر.
- --mod=PC_MOD
- که در آن PC_MOD مقدار «تعدیلکننده وضعیت مصرف انرژی» است. مقادیر 0 تا 15 (شامل خودشان) معتبر بوده و 0 مقدار پیشفرض است. این فیلد پس از sbc3r13 اضافه شد.
- --noflush
- پیش از نگارشی از این ابزار که دسترسی به رسانه را محدود میکند، عمل تخلیه بافر به رسانه (مانند عملکرد SYNCHRONIZE CACHE) را انجام ندهد. استفاده از گزینه --stop نمونهای از اعمال محدودیت بر دسترسی به رسانه است. این فیلد پس از sbc3r13 اضافه شد.
- --pc=PC
- که در آن PC مقدار «وضعیت مصرف انرژی» (در مبنای ۱۶ یا هگزادسیمال) است. مقادیر 0 تا f (شامل خودشان) معتبر هستند. مقدار پیشفرض 0 است.
- -r
- گزینه --readonly در بالا را ببینید. ممکن است برای دیسکهای ATA مفید باشد.
- --start
- راهاندازی و چرخاندن (spin-up) دستگاه DEVICE.
- --stop
- متوقف کردن چرخش (spin-down) دستگاه DEVICE. همانند آرگومان "0".
- -v
- پرگویی: دستور SCSI را به صورت هگزادسیمال پیش از اجرای آن در کنسول خروجی میدهد. '-vv' و '-vvv' نیز پذیرفته میشوند که موجب نمایش جزئیات بیشتری میگردند.
- -V
- نمایش اطلاعات نسخه و خروج.
متغیرهای محیطی (ENVIRONMENT VARIABLES)
از نسخه 1.23 بسته sg3_utils متغیر محیطی SG3_UTILS_OLD_OPTS میتواند تعریف شود. در صورت وجود، این ابزار انتظار گزینههای قدیمی خط فرمان را خواهد داشت. بنابراین وجود این متغیر محیطی معادل استفاده از --old (یا -O) به عنوان نخستین گزینه خط فرمان است.
نویسندگان (AUTHORS)
نوشته شده توسط K. Garloff و D. Gilbert
گزارش اشکالات (REPORTING BUGS)
گزارش اشکالات به <dgilbert at interlog dot com>.
حق نشر (COPYRIGHT)
حق نشر © 2002-2021 Kurt
Garloff, Douglas Gilbert
این
نرمافزار
تحت مجوز GPL
نسخه ۲
توزیع شده
است.
هیچگونه
ضمانتی
وجود
ندارد؛ حتی
برای
قابلیت
فروش یا
تناسب با یک
هدف خاص.
همچنین ببینید (SEE ALSO)
sg_prevent(sg3_utils), sg_requests(sg3_utils), sg_turs(sg3_utils) sdparm(sdparm), lsscsi(lsscsi)
| April 2021 | sg3_utils-1.47 |