اطلاعیه

بستن
No announcement yet.

مدیریت چندین Logical Volume با استفاده از Striping I/O (بخش 5)

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    مدیریت چندین Logical Volume با استفاده از Striping I/O (بخش 5)

    در این مقاله قصد داریم نحوه write کردن اطلاعات توسط logical volume ها روی disk و با استفاده از striping I/O را مورد بحث قرار دهیم. مدیریت logical volume دارای یکی از ابزارهای بی نظیری است که میتواند اطلاعات را روی چندین دیسک با استفاده از strip کردن I/O رایت (write) کند.
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: LVM-Striping.jpg مشاهده: 1 حجم: 34.0 کیلو بایت




    Strip کردن LVM یعنی چی ؟
    LVM Striping یکی از ابزارهایی است که data را به جای اینکه روی یک physical volume مجزا به صورت ثابت write شود روی چندین دیسک write خواهد کرد.

    ویژگی های striping :
    - performance دیسک (disk) را افزایش خواهد داد.
    - ذخیره از روی هارد و رایت روی یک دیسک مجزا به صورت متوالی
    - با استفاه از strip کردن روی چندین دیسک امکان پر شدن هارد کم خواهد شد

    در مدیریت logical volume اگر ما نیاز به ایجاد یک logical volume داشته باشیم extended volume به صورت کامل به volume group و physical volume مپ (map) خواهد شد در چنین شرایطی اگر یکی از PV ها پر شود ما نیاز داریم که فضاهای اضافه بیشتری از سایر physical volume ها اضافه کنیم. به جای افزودن فضای بیشتر به pv میتوانیم به logical volume مان بگوییم که از physical volume های خاصی برای write کردن I/O استفاده کنند.

    فرض میکنیم 4 دیسک درایو داریم که به 4 تا physical volume معطوف شدند اگر هر physical volume ظرفیت 100 عدد I/O را داشته باشند volume group ما جمعا 400 تا I/O را دریافت خواهد کرد.

    اگر ما از روش strip استفاده نکنیم فایل سیستم روی physical volume مربوطه write خواهد کرد. برای مثال بعضی اطلاعات که در physical volume رایت میشوند 100 عدد I/O تنها به اولین pv (مثلا sdb1) رایت خواهند شد. اگر ما logical volume را با گزینه strip در زمان write کردن ایجاد کنیم اطلاعات در هر 4 تا drive و با استفاده از تقسیم 100 عدد I/O رایت خواهند شد این بدان معنی است که هر کدام از 4 درایو 25 عدد I/O دریافت خواهند کرد.

    این پروسه به صورت round robin انجام خواهد شد. اگر هر کدام از logical volume ها نیاز به افزایش داشته باشند در این چنین شرایطی ما نمیتوانیم یک یا 2 تا pv اضافه کنیم. ما باید همه 4 تا pv برای افزایش سایز logical volume اضافه کنیم این مورد یکی از اشکالات و نکات منفی در ویژگی های strip میباشد. از این نکته ما در میابیم که به هنگام ایجاد logical volume ها نیاز داریم که سایز strip یکسانی به همه logical volume ها اختصاص دهیم.

    مدیریت logical volume ها قابلیت این را دارد که اطلاعات روی چندین pv در زمان یکسان strip کند. اگر شما با logical volume آشنا باشید میتوانید logical volume strip را هم راه اندازی کنید. در صورتی که آشنایی نداشته باشید باید پست شماره 1 و 2 را مطالعه بفرمایید.

    تنظیمات سرور من :
    سیستم عامل من cnetos 6.5 میباشد و مراحل یکسانی با آنچه که در زیر مشاهده میکنید برای REHL, Oracle Linux و اکثر توزیع های لینوکسی مورد استفاده قرار میگیرد :


    مدیریت Logical volume با استفاده از Strip کردن I/O :

    من 4 هارد درایو استفاده کردم و برای هر درایو 1 گیگابایت فضا در نظر گرفتم. در اینجا با دستور fdisk درایوها را مشاهده خواهیم کرد :
    کد PHP:
    # fdisk -l | grep sd 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: List-Hard-Drives-linux-zone.org-forums.png مشاهده: 1 حجم: 13.5 کیلو بایت



    اکنون برای این 4 هارد درایو (sdb, sdc, sdd, sde) با استفاده از دستور fdisk پارتیشن میسازیم. برای ایجاد پارتیشن لطفا مراحل مطرح شده در مرحله 4 از پست اول را دنبال کنید. دقت کنید که نوع پارتیشن را به LVM یعنی 8e تغییر دهید.

    بعد از اینکه پارتیشن ها با موفقیت ایجاد شد شروع به ایجاد physical volume با استفاده از این 4 درایو میکنیم.
    برای ایجاد pv از دستور pvcreate استفاده میکنیم :
    کد PHP:
    # pvcreate /dev/sd[b-e]1 -v 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Create-Physical-Volumes-in-LVM-linux-zone.org-forums.png مشاهده: 1 حجم: 53.8 کیلو بایت



    به محض اینکه pv ساخته شد با دستور pvs آن را لیست میکنیم :
    کد PHP:
    # pvs 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Verify-Physical-Volumes-linux-zone.org-forums.png مشاهده: 1 حجم: 11.6 کیلو بایت



    اکنون ما باید با استفاده از این 4 عدد physical volume باید volume group تعریف کنیم. در اینجا volume gorup که من میخواهم تعریف کنم با 16MB از physical extended size یا PE و نام vg_strip از طریق دستور زیر امکان پذیر میباشد :
    کد PHP:
    # vgcreate -s 16M vg_strip /dev/sd[b-e]1 -v 
    توضیح آپشن های دستور بالا به شرح زیر میباشد :
    - 1[b-e] مشخص کننده نام هارد درایوها از قبیل sdb1, sdc1, sdd1, sde1
    - آپشن s- تعریف اندازه physical extend یا PE
    - آپشن v- یا verbose

    سپس volume group جدید ایجاد شده را با استفاده از دستور زیر بررسی میکنیم :
    کد PHP:
    # vgs vg_strip 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Verify-Volume-Group-linux-zone.org-forums.png مشاهده: 1 حجم: 22.7 کیلو بایت



    برای دریافت اطلاعات بیشتر درباره VG در دستور vgdisplay از آپشن v- استفاده میکنیم. که به ما هر physical volume که در volume group مورد نظر استفاده شده است را نمایش خواهد داد :
    کد PHP:
    # vgdisplay vg_strip -v 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Volume-Group-Information-linux-zone.org-forums.png مشاهده: 1 حجم: 59.5 کیلو بایت



    به موضوع اصلی برمیگردیم اکنون زمان ایجاد logical volume میباشد و ما باید مقدار strip را تعریف کنیم و اینکه چگونه data باید با استفاده از روش strip در logical volume ها ما write شوند.

    در اینجا با دستور زیر logical volume با نام lv_tecmint_strp1 و با سایز 900MB ایجاد میکنیم که باید در volume group با نام vg_strip باشد همچنین 4 تا strip تعریف میکنیم این یعنی اطلاعاتی که در logical volume مان write میشود باید روی 4 تا pv استریپ (strip) شوند :
    کد PHP:
    # lvcreate -L 900M -n lv_tecmint_strp1 -i4 vg_strip 
    آپشن L- : سایز logical volume
    آپشن n- : نام logical volume
    آپشن i- : تعداد strip ها
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Create-Logical-Volumes-linux-zone.org-forums.png مشاهده: 1 حجم: 13.9 کیلو بایت



    در تصویر بالا میتوانیم ببینیم که اندازه پیشفرض strip-size برابر با 64KB بود اگر ما بخواهیم مقدار strip مورد نظر خودمان را تعریف کنیم باید از آپشن l- (ال کوچک) استفاده کنیم. برای بررسی و اطمینان حاصل کردن از logical volume ایجاد شده دستور زیر را اجرا کنید :
    کد PHP:
    # lvdisplay vg_strip/lv_tecmint_strp1 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Confirm-Logical-Volumes-linux-zone.org-forums.png مشاهده: 1 حجم: 34.8 کیلو بایت



    اکنون سوال بعدی این خواهد بود چگونه ما میفهمیم که strip ها در حال write شدن به 4 درایو هستند؟ در اینجا میتوانیم از دستور lvdisplay به همراه اپشن m- (برای نمایش maping مربوط به logical volume ها) استفاده کرد.
    کد PHP:
    # lvdisplay vg_strip/lv_tecmint_strp1 -m 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Check-Logical-Volumes-linux-zone.org-forums.png مشاهده: 1 حجم: 53.3 کیلو بایت



    برای ایجاد strip size تعریف شده مان نیاز به ایجاد یک logical volume با سایز 1GB و با استفاده از strip size تعریف شده برابر با 256KB خواهیم داشت. اکنون قصد داریم تنها روی 3 تا PV استریپ(strip) کنیم.

    با استفاده از دستور زیر میتوانیم تعریف کنیم که میخواهیم کدام یک از pv ها strip شود :
    کد PHP:
    # lvcreate -L 1G -i3 -I 256 -n lv_tecmint_strp2 vg_strip /dev/sdb1 /dev/sdc1 /dev/sdd1 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Define-Stripe-Size-linux-zone.org-forums.png مشاهده: 1 حجم: 15.9 کیلو بایت



    سپس سایز strip و اینکه کدام volume استریپ(strip) میشود را بررسی میکنیم :
    کد PHP:
    # lvdisplay vg_strip/lv_tecmint_strp2 -m 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Check-Stripe-Size-linux-zone.org-forums.png مشاهده: 1 حجم: 44.4 کیلو بایت



    اکنون زمان آن رسیده که از یک device maper استفاده کنیم برای این منظور از دستور dmsetup استفاده میکنیم که یک ابزار مدیریت logical volume در سطح پایین بوده و logical device ها را مدیریت میکند و از درایور device-maper استفاده میکند. با استفاده از کامند dmsetup میتوانیم اطلاعات lvm را مشاهده کنیم تا بدانیم کدام strip مربوط به کدام درایو میباشد :
    کد PHP:
    # dmsetup deps /dev/vg_strip/lv_tecmint_strp[1-2] 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Device-Mapper-linux-zone.org-forums.png مشاهده: 1 حجم: 16.2 کیلو بایت



    در تصویر بالا میتوانیم ببینیم که strp1 به 4 تا drive و strp2 به 3 تا device بستگی دارند.


    همچنین توصیه میشود مطالعه کنید :

    بخش اول : آموزش کامل پارتیشن بندی هارد با LVM

    بخش دوم : How to Extend/Reduce LVM’s in Linux

    بخش سوم : How to Take Snapshot of Logical Volume and Restore in LVM

    بخش چهارم : Setup 4hin Provisioning Volumes in LVM

    بخش ششم : Migrating LVM Partitions to New Logical Volume (Drive)



    امیدوارم چگونگی strip کردن از طریق logical volume ها برای write کردن data را متوجه شده باشید. به منظور این تنظیمات باید مفاهیم پایه مدیریت logical volume را بدانید. در مقاله بعد به شما نشان خواهم داد که چگونه میتوانید به مدیریت logical volume مهاجرت کنیم. همچنان با ما در ارتباط باشید تا از تمامی پست های جدید و با ارزش در این زمینه مطلع بمانید.

    موفق باشید
    معصومه وحید
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 10-21-2019, 07:02 AM.
    Instagram : https://www.instagram.com/iranlinuxforum

    Voip Trainer - Asterisk - Elastix - Agi Programming- NewRock

    Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
    Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
    Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
    LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

    Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

درباره انجمن منطقه لینوکسی ها

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

شبکه های اجتماعی

ایمیل مدیریت

Habili@linux-zone.org

در حال انجام ...
X