اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

انتقال پارتیشن های LVM به Logical Volume جدید (Drive) بخش 6

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

    انتقال پارتیشن های LVM به Logical Volume جدید (Drive) بخش 6

    این پست بخش 6 از سری مطالب مربوط به LVM هست در این مطلب به شما نحوه جا به جایی logical volume های موجود به دیگر drive های جدید را بدون هیچ گونه قطعی (Down Time) نمایش خواهیم داد. قبل از اینکه شروع کنیم میخواهم درباره LVM Migration (مهاجرت یا جا به جایی LVM) و ویژگی هایش به شما توضیحاتی بدهم.
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: LVM-Migrations.png مشاهده: 1 حجم: 39.7 کیلو بایت




    LVM Migration چیست؟
    LVM migration یکی از ابزارهای بی نظیریست که با استفاده از آن میتوانیم از logical volume ها به یک دیسک جدید بدون هیچ data-loss (از دست دادن اطلاعات) و قطعی (Down Time) جا به جا و مهاجرت دهیم.

    هدف این ویژگی در حقیقت انتقال اطلاعات مان از یک دیسک قدیمی به یک دیسک جدید میباشد. معمولا این مهاجرت از یک disk به دیگر disk storage صورت میگیرد و تنها زمانی که یک error در دیسک ها رخ میدهد.


    ویژگی های Migration :
    - جا به جایی logical volume ها از یک دیسک به دیسک دیگر
    - میتوانیم هر نوعی از دیسک مانند SATA, SSD, SAN storage, iSCSI یا FC را استفاده کنیم.
    - مهاجرت دیسک ها بدون data-loss و downtime

    در lvm migration ما هر volume, file-system و اطلاعاتش را در storage موجود swap خواهیم کرد. برای مثال اگر ما یک logical volume مجزا داشته باشیم که به یکی از physical volume ها map شده باشد ان physical volume در حقیقت یک hard drive فیزیکال (physical) میباشد.

    اکنون اگر نیاز داشته باشیم سرورمان با هارد درایور SSD آپگرید (upgrade) کنیم معمولا در ابتدا به چه چیزی فکر میکنیم؟ reformat دیسک؟ نه! ما نباید سرور را دوباره reformat کنیم lvm قابلیت انتقال و یا مهاجرت از درایورهای sata قدیمی به درایورهای ssd جدید را دارد. LVM migration هر نوعی از دیسک ها چه local drive, san و یا همچنین کانال fiber (فیبر) را ساپورت خواهد کرد.


    تجهیزات :
    برای جابه جایی پارتیشن های LVM دو راه موجود است. یکی استفاده از روش miroring و دیگری استفاده از دستور pvmove میباشد. در اینجا من برای مثال centos 6.5 استفاده میکنم. اما بعضی از دستور العمل ها همچنین برای RHEL, Fedora, Oracle و سایر توزیع های دیگر نیز ساپورت میشود.

    تنظیمات سرور من :
    کد PHP:
    Operating System :    CentOS 6.5 Final
    IP Address     :    192.168.0.224
    System Hostname     
    :    lvmmig.linux-zone.org/forums 

    مرحله 1 بررسی برای درایوهای موجود :

    1 - فرض میکنیم که یک ویرچوال درایور به نام vdb داریم که به یک logical volume به نام tecmint_lv مپ (map) شده است. اکنون میخواهیم این logical volume را به storage جدید دیگر انتقال دهیم قبل از انتقال ابتدا نام virtual drive و logical volume را با استفاده از دستورهای fdisk و lvs بررسی میکنیم :
    کد PHP:
    # fdisk -l | grep vd
    # lvs

    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Check-Logical-Volume-Disk-linux-zone.org-forums.png مشاهده: 1 حجم: 30.7 کیلو بایت




    مرحله 2 چک کردن برای درایو جدید اضافه شده :

    2 - به محض بررسی درایوهای موجود زمان آن میرسد که درایور SSD جدیدمان را به سیستم متصل کنیم و با استفاده از دستور fdisk آن را مشاهده نمایید :
    کد PHP:
    # fdisk -l | grep dev 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Check-New-Added-Drive-linux-zone.org-forums.png مشاهده: 1 حجم: 26.2 کیلو بایت



    توجه : همانطور که در تصویر بالا میبینید درایور جدید با نام /dev/sda/ با موفقیت اضافه شده است.


    مرحله 3 چک کردن logical و physical volume جدید :

    3 - اکنون physical volume, volume group و logical volume را به منظور migration ایجاد میکنیم. قبل از ایجاد volume ها از دیتای موجود در logical volume فعلی و تحت mount point (مانت پوینت) /mnt/lvm/ مطمین شوید. با استفاده از دستور زیر mountها را لیست کنید و همچنین data را بررسی کنید :
    کد PHP:
    # df -h
    # cd /mnt/lvm
    # cat tecmint.txt 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Check-Logical-Volume-Data-linux-zone.org-forums.png مشاهده: 1 حجم: 33.9 کیلو بایت



    توجه : برای مثال ما در /mnt/lvm/ دو عدد فایل ایجاد کردیم و این دیتا را به یک درایور جدید بدون هیچگونه قطعی انتقال میدهیم.

    4 - قبل از migration (انتقال) از نام logical volume و volume group مربوطه به physical volume مطمین شوید و همچنین اینکه کدام physical volume برای ایجاد این volume group و logical volume استفاده شده است را بررسی میکنیم :
    کد PHP:
    # lvs
    # vgs -o+devices | grep tecmint_vg 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Confirm-Logical-Volume-Names-linux-zone.org-forums.png مشاهده: 1 حجم: 23.0 کیلو بایت




    مرحله 4 ایجاد physical volume جدید :

    5 - قبل از ایجاد physical volume در درایو SSD جدید اضافه شده ما نیاز داریم با استفاده از fdisk پارتیشن تعریف کنیم. فراموش نکنید که نوع پارتیشن را به LVM یا همان 8e تغییر دهید :
    کد PHP:
    # pvcreate /dev/sda1 -v # pvs 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Create-Physical-Volume-linux-zone.org-forums.png مشاهده: 1 حجم: 27.3 کیلو بایت



    6 - سپس physical volume جدید ایجاد شده را به volume group موجود به نام tecmint_vg با استفاده از دستور vgextend اضافه میکنیم :
    کد PHP:
    # vgextend tecmint_vg /dev/sda1
    # vgs 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Add-Physical-Volume-linux-zone.org-forums.png مشاهده: 1 حجم: 21.3 کیلو بایت



    7 - برای دریافت لیست کامل اطلاعات درباره volume group از کامند vgdisplay استفاده میکنیم :
    کد PHP:
    # vgdisplay tecmint_vg -v 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: List-Volume-Group-Info-linux-zone.org-forums.png مشاهده: 1 حجم: 23.8 کیلو بایت



    توجه : در تصویر بالا همانطور که مشاهده میکنید در پایان تصویر pv ما به volume group اضافه شده است :

    8 - اگر در مواقعی نیاز به اطلاعات بیشتری درباره اینکه کدام device ها map شده اند داشته باشیم از دستور dmsetup استفاده میکنیم :
    کد PHP:
    # lvs -o+devices
    # dmsetup deps /dev/tecmint_vg/tecmint_lv 
    در نتیجه بالا یک پیش نیاز (PV) یا (Drive) موجود است و اینجا 17 عدد لیست شده اند. برای اطمینان به device ها توجه کنید که کدام درایو ها با تعداد کمتر یا بیشتری متصل شده اند :
    کد PHP:
    # ls -l /dev | grep vd 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: List-Device-Information-linux-zone.org-forums.png مشاهده: 1 حجم: 30.6 کیلو بایت



    توجه : در دستور بالا همانطور که میبینید تعداد بالا 252 و تعداد پایین 17 به vdb1 مربوط میشود. امیدوارم از خروجی دستور بالا متوجه شده باشید.


    مرحله 5 روش LVM Mirroring :

    9 - اکنون میخواهیم migration را با استفاده از روش mirroring و دستور lvconvert برای انتقال اطلاعات از logical volume قدیمی به درایور جدید استفاده کنیم :
    کد PHP:
    # lvconvert -m 1 /dev/tecmint_vg/tecmint_lv /dev/sda1 
    آپشن m- = mirror
    1 = اضافه کردن تنها یک mirror
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Mirroring-Method-Migration-linux-zone.org-forums.png مشاهده: 1 حجم: 12.4 کیلو بایت



    توجه : پروسه migration بالا مدت زمان طولانی به طول خواهد انجامید (با توجه به سایز volume مان)

    10 - بعد از تکمیل پروسه انتقال mirror تبدیل شده را بررسی میکنیم :
    کد PHP:
    # lvs -o+devices 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Verify-Converted-Mirror-linux-zone.org-forums.png مشاهده: 1 حجم: 27.3 کیلو بایت



    11 - بعد از مطمین شدن از اینکه mirror تبدیل شده (convert) کامل و بدون نقص است میتوانیم virtual disk قدیمی (vdb1) را حذف کنیم. آپشن m- میرور (mirror) را حذف خواهد کرد و البته قبلا دیدیم که برای اضافه کردن 1 عدد mirror استفاده شد :
    کد PHP:
    # lvconvert -m 0 /dev/tecmint_vg/tecmint_lv /dev/vdb1 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Remove-Virtual-Disk-linux-zone.org-forums.png مشاهده: 1 حجم: 12.2 کیلو بایت



    12 - بعد از حذف virtual disk قدیمی میتوانیم device ها را برای logical volume دوباره چک کنیم :
    کد PHP:
    # lvs -o+devices
    # dmsetup deps /dev/tecmint_vg/tecmint_lv
    # ls -l /dev | grep sd 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Check-New-Mirrored-Device-linux-zone.org-forums.png مشاهده: 1 حجم: 47.7 کیلو بایت



    در تصویر بالا همانطور که مشاهده میکنید اکنون logical volume ما به 8,1 بستگی دارد و شامل sda1 میباشد. و این نشان میدهد که پروسه migration ما انجام شده است.

    13 - اکنون فایل هایی را که از drive قدیم به جدید انتقال یا اصطلاحا migrate کردیم را چک میکنیم. اگر اطلاعات در درایور جدید موجود باشند یعنی تمام مراحل را به درستی انجام داده ایم :
    کد PHP:
    # cd /mnt/lvm/
    # cat tecmin.txt 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Check-Mirrored-Data-linux-zone.org-forums.png مشاهده: 1 حجم: 60.5 کیلو بایت



    14 - بعد از اینکه همه چیز به درستی ایجاد شد زمان آن است که vdb1 را از volume group حذف کنیم و بعد از آن بررسی کنیم کدام device ها به volume group ما بستگی دارند :
    کد PHP:
    # vgreduce /dev/tecmint_vg /dev/vdb1
    # vgs -o+devices 
    15 - بعد از حذف vdb1 از volume group با نام tecmint_vg هنوز هم logical volume ما در آنجا موجود است زیرا ان را از vdb1 به sda1 انتقال دادیم :
    کد PHP:
    # lvs 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Delete-Virtual-Disk-linux-zone.org-forums.png مشاهده: 1 حجم: 30.5 کیلو بایت




    مرحله 6 روش LVM pvmove Mirroring :

    16 - به جای استفاده از دستور mirroring lvconvert از دستور pvmove به همراه اپشن n- که به نام logical volume مربوط است و روشی برای mirror اطلاعات بین 2 دیوایس میباشد استفاده میکنیم :
    کد PHP:
    # pvmove -n /dev/tecmint_vg/tecmint_lv /dev/vdb1 /dev/sda1 
    این کامند یکی از ساده ترین راه ها برای mirror اطلاعات بین 2 دیوایس میباشد اما در محیط واقعی اغلب بیشتر از mirroring استفاده میشود.

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

    بخش اول : آموزش کامل پارتیشن بندی هارد با 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

    بخش پنجم : Manage Multiple LVM Disks using Striping I/O



    نتیجه :
    در این پست نحوه انتقال یا اصطلاحا migrate لاجیکال ولوم ها (logical volume) از یک درایو به درایو دیگر را بررسی کردیم. امیدوارم ترفند های جدید درباره مدیریت logical volume آموخته باشید. برای این چنین تنظیماتی حتما باید پست های قبلی را مطالعه کرده باشید و از مفاهیم پایه درباره LVM و مدیریت آن مطلع باشید.

    موفق باشید
    معصومه وحید
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 10-21-2019, 07:05 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/

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

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

شبکه های اجتماعی
در حال انجام ...
X