روز دیگر مجبور شدم دیسک های سرور CentOS 6.7 را تغییر دهم. دیسک های قدیمی، اگرچه هنوز کار می کنند، نمی توانند با بار مقابله کنند. بنابراین، آنها درایوهای SSD با همان ظرفیت قبلی را بیرون کشیده و خریداری کردند. اما از آنجایی که هزینه 1 گیگابایت در درایو SSD بسیار گرانتر است، سپس با نگاه کردن به اندازه /var (180 گیگابایت) و / (پارتیشن ریشه) 300 گیگابایت، تصمیم به افزایش اندازه / با کاهش اندازه / var به طور طبیعی خود را پیشنهاد کرد. البته ایده خوبی است، اما من تا به حال چنین بازی نکرده ام، بنابراین آخر هفته را در انجمن ها گذراندم، ابتدا همه چیز را در یک ماشین مجازی بدون حمله بررسی کردم، سپس فکر کردم که یک Soft Raid1 روی سرور من در حال اجرا است و یک میز تست درست کردم (من CentOS 6.7 را روی رایانه قدیمی با دو دیسک در یک نرم افزار raid1 نصب کردم) و همه چیز را در آن بررسی کردم، سپس آن را دوباره روی یک سرور در حال اجرا اجرا کردم. اما با این وجود هیجان انگیز بود. پس بزن بریم!

نکته: اگر قبلاً هرگز با تغییرات پارتیشن لذت نبرده اید، هرگز آن را روی رایانه کاری امتحان نکنید.

بنابراین، یک سیستم از دو دیسک وجود دارد که در raid1 (آینه) متحد شده اند.

تفکیک چیزی شبیه به این است:

/dev/sda:
/dev/sda1 200 مگابایت، /dev/md0
/dev/sda2 480 گیگابایت، /dev/md1

/dev/sdb:
/dev/sdb1 200 مگابایت، /dev/md0
/dev/sdb2 480 گیگابایت، /dev/md1

/dev/md0 به /boot داده شده است

در /dev/md1 یک حجم LVM:
/dev/VolGroup/LogVol00 2 گیگابایت را تعویض کنید
/dev/VolGroup/LogVol01 /var 180 Gb، ext4
/dev/VolGroup/LogVol02 / 300 گیگابایت، ext4

چرا مثالی از خرابی زدم؟ فقط برای این که می توانید توجه داشته باشید که ما هرگز در آینده اندازه حجم ها را در دستگاه های /dev/sdXY تغییر نمی دهیم. ما تمام تغییرات پارتیشن را فقط با حجم های منطقی LVM انجام خواهیم داد!

یک وظیفه:اندازه /var را به 30 گیگابایت تغییر دهید و تمام فضای آزاد شده را به / (root) بدهید. سیستم فایل هر دو پارتیشن ext4 است. سیستم CentOS 6.7.

مرحله 1: /var را کاهش دهید

در مورد من (نرم افزار raid1) ابتدا بررسی کردم، فقط در صورت امکان، همه دیسک ها متصل هستند و هیچ خطایی وجود ندارد (cat /proc/mdstat).

من مطمئن نبودم که خارج کردن /var (umount /var) در حالت تولید ایده خوبی است یا نه، بنابراین از CentOS LiveCD در حالت Rescue بوت شدم (امکان ورود به حالت تک بدون LiveCD وجود داشت).

بررسی در دسترس بودن حجم فیزیکی LVM:

#pvscan
PV /dev/md1 VG VolGroup lvm2

بررسی در دسترس بودن گروه های حجم:

#vgscan
خواندن تمام حجم های فیزیکی این ممکن است مدتی طول بکشد...
گروه حجمی "VolGroup" با استفاده از ابرداده نوع lvm2 پیدا شد

فعال کردن حجم های منطقی:

ما به حجم های منطقی نگاه می کنیم:

#lvscan
ACTIVE "/dev/VolGroup/LogVol01" ارث می برد
ACTIVE "/dev/VolGroup/LogVol00" ارث می برد
ACTIVE "/dev/VolGroup/LogVol02" ارث می برد

می توانید جزئیات حجم /dev/VolGroup/LogVol01 را ببینید (ما آن را /var داریم):

# lvdisplay /dev/VolGroup/LogVol01

و شما ممکن است نگاه نکنید

تمام بررسی های بالا برای این است که مطمئن شوید حجم های LVM قابل مشاهده و فعال هستند و به این ترتیب که متوجه می شوید با کدام حجم باید ادامه دهید. حرکت کن.

حجمی که /var داریم و کاهش می‌یابد را از حالت نصب خارج کنید:

# umount /dev/VolGroup/LogVol01

ما سیستم فایل حجم را بررسی می کنیم:

# fsck.ext4 /dev/VolGroup/LogVol01

دستور باید بدون خطا بگذرد.

ما خطاها را بررسی می کنیم (-f - force):

# e2fsck -f /dev/VolGroup/LogVol01

ابتدا اندازه فایل سیستم حجم را کاهش دهید:

resize2fs -p /dev/VolGroup/LogVol01 30G

توجه: در اینجا "30G" اندازه ای است که می خواهیم برای سیستم فایل تنظیم کنیم، نه اینکه بخواهیم سیستم فایل را کاهش دهیم.

و تنها پس از آن اندازه حجم LVM را تغییر می دهیم:

# lvreduce -L 30G /dev/VolGroup/LogVol01

پیام موفقیت دریافت کرد.

حالا نمی توانید پارتیشن را دوباره سوار کنید، اما بلافاصله راه اندازی مجدد کنید و بررسی کنید که همه چیز درست است، سیستم بوت می شود، df -h اندازه /var برابر با 30 گیگابایت می دهد.

در CentOS، پس از بوت شدن قبل از ورود، پیامی از SELinux وجود داشت که باید تغییرات را دوباره فهرست کند. خوب. مدتی طول کشید و خود سیستم دوباره راه اندازی شد. بعد از آن وارد سیستم شدم و مطمئن شدم که همه چیز خوب است. فقط پس از آن به مرحله دوم رفتم (که معلوم شد بسیار سریعتر و آسانتر است) که این بود که پارتیشن ریشه را با اضافه کردن تمام فضای آزاد موجود در حجم فیزیکی LVM به آن افزایش دادم. pvscan را اجرا کنید و ببینید که آیا خروجی فرمان نشان می دهد که فضای موجود وجود دارد (این به علاوه یا منهای چیزی است که قبلاً در زیر /var استفاده می شد). حالا این فضای خالی را به / (root) اضافه می کنیم.

مرحله 2: حجم LVM (که داریم /) را بدون راه اندازی مجدد افزایش دهید

بله، شما آن را نخوانده اید. برای افزایش اندازه حجم LVM، لازم نیست در حالت تک (یا از طریق LiveCD در حالت Rescue) بوت شویم.

فقط برای اینکه اشتباه نگیرید به کدام حجم می خواهید فضای خالی بدهید، cat /etc/fstab و lvscan را اجرا کنید، مطمئن شوید که پارتیشن / (root) /dev/VolGroup/LogVol02 است و نه چیز دیگری. )

# lvextend -l+100%FREE -r

درست است، هیچ فاصله ای بین -l (که یک L کوچک است) و + 100% رایگان وجود ندارد. توجه داشته باشید که دقیقاً مشخص نکردم که چقدر می خواهم حجم صدا را افزایش دهم. در این شرایط، من به آن نیازی نداشتم، و برای اینکه حدس بزنم که چقدر به طور خاص نیاز به اضافه کردن GB دارم، به سادگی نشان دادم که هر چیزی که ممکن بود اضافه شده است. man lvexend برای تغییرات -L+100G ؛) گزینه -r به سیستم فایل می گوید که بعد از افزایش حجم منطقی اندازه آن تغییر کند. بدون این گزینه، دو دستور وجود دارد:

# lvexend -l+100%FREE /dev/VolGroup/LogVol02
# resize2fs /dev/VolGroup/LogVol02

پس از تکمیل موفقیت آمیز، من دوباره راه اندازی می کنم و بررسی می کنم که همه چیز درست است.

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

همه موارد فوق برای CentOS صادق است. برای اوبونتو، به نظر می رسد همه چیز یکسان است. من فکر می کنم (من نمی دانم) که برای تمام لینوکس های مدرن همه دستورات یکسان هستند.

1396/08/21 10:48 bzzz

Logical Volume Manager (LVM) یک سیستم مدیریت حجم داده بسیار قدرتمند برای لینوکس است. این به شما امکان می دهد حجم های منطقی را در بالای پارتیشن های فیزیکی (یا حتی هارد دیسک های بدون پارتیشن) ایجاد کنید که در خود سیستم به عنوان دستگاه های بلوک معمولی با داده ها (یعنی به عنوان پارتیشن های معمولی) قابل مشاهده است. مزایای اصلی LVM این است که اولاً می توان یک گروه حجم منطقی را روی هر تعداد پارتیشن فیزیکی ایجاد کرد و ثانیاً اندازه حجم های منطقی را می توان به راحتی درست در حین کار تغییر داد. علاوه بر این، LVM از مکانیسم عکس فوری، کپی کردن پارتیشن در حین پرواز و آینه‌سازی RAID-1 پشتیبانی می‌کند.

اگر قصد دارید کارهای زیادی با LVM انجام دهید، می توانید یک "شل" ویژه را با دستور sudo lvm اجرا کنید. دستور help لیستی از دستورات را نشان می دهد.

ایجاد و حذف کنید

همانطور که قبلاً اشاره شد ، LVM بر اساس پارتیشن های هارد دیسک و / یا کل هارد دیسک ساخته شده است. در هر یک از دیسک ها / پارتیشن ها باید ایجاد شود حجم فیزیکی(حجم فیزیکی). به عنوان مثال، ما از یک دیسک برای LVM استفاده می کنیم sdaو بخش sdb2:

pvcreate /dev/sda pvcreate /dev/sdb2

ما روی این حجم های فیزیکی ایجاد می کنیم گروه حجمی، که نامیده می شود، می گویند، vg1:

Vgcreate -s 32M vg1 /dev/sda /dev/sdb2

بیایید اطلاعات مربوط به گروه حجم خود را ببینیم:

vgdisplay vg1

می توانید چندین گروه ایجاد کنید که هر کدام مجموعه ای از حجم های خاص خود را دارند. اما معمولاً این مورد نیاز نیست.

اکنون در گروه حجم می توانید ایجاد کنید حجم های منطقی lv1و lv2 20 گیگابایت و 30 گیگابایت به ترتیب:

Lvcreate -n lv1 -L 20G vg1 lvcreate -n lv2 -L 30G vg1

ما اکنون دستگاه های بلوک را داریم /dev/vg1/lv1و /dev/vg1/lv2.

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

mkfs.ext4 /dev/vg1/lv1 mkfs.reiserfs /dev/vg1/lv2

حذف LVM (یا بخش های جداگانه آن، به عنوان مثال، حجم های منطقی یا گروه های حجم) به ترتیب معکوس انجام می شود - ابتدا باید پارتیشن ها را جدا کنید، سپس حجم های منطقی (lvremove) را حذف کنید، پس از آن می توانید گروه های حجم را حذف کنید (vgremove) ) و حجم های فیزیکی غیر ضروری (pvremove) .

افزودن حجم های فیزیکی

برای اضافه کردن هارد دیسک جدید sdcدر یک گروه حجم، یک حجم فیزیکی ایجاد کنید:

pvcreate /dev/sdc

و آن را به گروه خود اضافه کنید:

Vgextend vg1 /dev/sdc

اکنون می توانید دیسک منطقی دیگری ایجاد کنید (lvcreate) یا اندازه موجود را افزایش دهید (lvresize).

حذف حجم های فیزیکی

برای حذف یک دیسک سخت از یک گروه حجم در حال اجرا sdaابتدا تمام داده ها را از آن به دیسک های دیگر منتقل می کنیم:

pvmove /dev/sda

سپس آن را از گروه حجم حذف کنید:

Vgreduce vg1 /dev/sda

و در نهایت، حجم فیزیکی را حذف کنید:

/dev/sda را حذف کنید

در واقع دستور آخر فقط علامت عضویت دیسک lvm را حذف می کند و فایده چندانی ندارد. پس از حذف از LVM، دیسک برای استفاده بیشتر باید دوباره پارتیشن بندی/فرمت شود.

تغییر اندازه

LVM تغییر اندازه حجم های منطقی را آسان می کند. برای انجام این کار، ابتدا باید خود حجم منطقی را تغییر دهید:

Lvresize -L 40G vg1/lv2

و سپس فایل سیستم روی آن:

resize2fs /dev/vg1/lv2 resize_reiserfs /dev/vg1/lv2

تغییر اندازه حجم فیزیکی یک کار بسیار پیچیده است و معمولاً از آن استفاده نمی شود. حذف حجم فیزیکی، تغییر اندازه پارتیشن و ایجاد مجدد حجم معقول تر و ایمن تر است.

چقدر امتحانش آسان است

اگر LVM نه برای استفاده بیشتر، بلکه برای "نگاه کردن" نصب شده باشد، دیسک ها و پارتیشن ها را می توان با فایل ها جایگزین کرد. هیچ دیسک اضافی یا ماشین مجازی مورد نیاز نیست. ما درایوهای مجازی ایجاد می کنیم و با آنها کار می کنیم. به عنوان مثال، شما می توانید 4 دیسک 1 گیگابایتی ایجاد کنید، اما می توانید تعداد دیگری از اندازه های بزرگتر یا کوچکتر را به دلخواه ایجاد کنید. ما فایل ها را خودمان ایجاد می کنیم و دستگاه ها را شبیه سازی می کنیم:

Mkdir /mnt/sdc1/lvm cd /mnt/sdc1/lvm dd if=/dev/zero of=./d01 count=1 bs=1G dd if=/dev/zero of=./d02 count=1 bs=1G dd if=/dev/zero of=./d03 count=1 bs=1G dd if=/dev/zero of=./d04 count=1 bs=1G

ایجاد دستگاه های Loopback از فایل ها:

Losetup -f --show ./d01 losttup -f --show ./d02 losttup -f --show ./d03 losttup -f --show

pvcreate /dev/loop0 pvcreate /dev/loop1 pvcreate /dev/loop2 pvcreate /dev/loop3 vgcreate -s 32M vg /dev/loop0 /dev/loop1 /dev/loop2 /dev/loop3 lvcreate -n اول -L 2G vg lvcreate -n ثانیه -L 400M vg ...

عکس های فوری

یکی از مهمترین ویژگی های LVM پشتیبانی از مکانیزم عکس فوری است. عکس های فوری به شما این امکان را می دهد فورییک عکس فوری از حجم منطقی و استفاده از آن بعدا برای کار با داده ها.

نمونه هایی از استفاده

LVM به طور فعال در مواقعی که مکانیزم عکس فوری مورد نیاز است استفاده می شود. به عنوان مثال، این مکانیسم در هنگام پشتیبان گیری از فایل هایی که دائماً در حال تغییر هستند بسیار مهم است. LVM به شما امکان می دهد حالت خاصی از سیستم فایل را مسدود کنید و تمام داده های لازم را از آن کپی کنید، در حالی که نیازی به توقف ضبط در سیستم فایل اصلی ندارید.

همچنین، از عکس های فوری می توان برای سازماندهی پشتیبانی از مکانیسم کپی های بایگانی توسط یک سرور فایل با Samba استفاده کرد، در مورد این در مقاله مربوطه:

LVM با LiveCD

اگر نیاز به کار با LVM از Ubuntu LiveCD دارید، باید چند مرحله اضافی را انجام دهید، زیرا به طور پیش فرض هیچ ابزاری برای کار با LVM وجود ندارد.

ابتدا باید این ابزارها را نصب کنید:

sudo vgscan sudo vg نمایش YOUR_VGNAME

سودو vgchange -a y

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

مدیر حجم منطقی ( LVMانگلیسی. مدیر حجم منطقی ) - یک لایه اضافی از انتزاع بین دیسک های فیزیکی/منطقی (پارتیشن های معمولی که fdisk و برنامه های مشابه با آن کار می کنند) و سیستم فایل فراهم می کند. این با شکستن پارتیشن های اولیه به بلوک های کوچک به دست می آید ( گستره ها، معمولا 4-32 مگابایت( گروه حجمی) که بیشتر به حجم های منطقی تقسیم می شود ( حجم منطقی). برای سیستم فایل، یک حجم منطقی به عنوان یک دستگاه بلوک معمولی نشان داده می‌شود، اگرچه گستره‌های حجم مجزا می‌توانند در دستگاه‌های فیزیکی مختلف قرار داشته باشند (و حتی خود میزان می‌تواند مانند یک RAID توزیع شود). LVM انعطاف‌پذیری سیستم فایل را افزایش می‌دهد، با این حال، به عنوان یک لایه میانی، محدودیت‌ها و استفاده از لایه‌های دیگر را لغو نمی‌کند. یعنی هنوز باید پارتیشن ها را ایجاد و اصلاح کنید، آنها را قالب بندی کنید.

ایجاد.

# pvcreate /dev/sdb1 /dev/sdb2 //ایجاد یک حجم فیزیکی # vgcreate volgroup00 /dev/sdb1 //ایجاد یک گروه حجم # vgextend volgroup00 /dev/sdb2 //افزودن یک پارتیشن جدید به گروه حجم # pvdisplay /dev /sdb2 //نمایش ویژگی‌های حجم فیزیکی # lvcreate -L20G -ntest01 volgroup00 //ایجاد یک حجم منطقی 20 گیگابایتی به نام test

اندازه حجم را می توان با تعداد وسعت ها ایجاد کرد، تعداد آنها در گروه حجم با تعیین می شود vgdsplay :

# lvcreate -l 10000 volgroup00 -n test02

اکنون که حجم منطقی روی آن ایجاد شده است، می توانید همان اقداماتی را که با یک پارتیشن معمولی انجام می شود، یعنی. می توان آن را قالب بندی، نصب، انتقال اطلاعات و غیره کرد.

# mkreiserfs /dev/volgroup00/test01 // حجم منطقی را تحت ReiserFS فرمت کنید # mount /dev/volgroup00/test01 /mnt/lvmtest //حجم منطقی را سوار کنید # cp -a /etc/ /mnt/lvmtest //copy

تعمیر و نگهداری LVM.

افزایش اندازه یک حجم منطقی

پس از افزایش حجم منطقی، باید حجم فایل سیستم را افزایش دهید. برای هر FSروش شما و در هر مورد تفاوت های ظریف وجود دارد:
قبل از تغییر اندازه فایل سیستم ext2باید پارتیشن (اندازه Ext3/Ext4تغییرات در پرواز).
Ext4فقط با افزایش می یابد resize2fs. AT fsadmروش های آنها
افزایش حجم فایل سیستم ها ریزرفسممکن است به عنوان در نصب شده است، و همچنین در سوار نشدهوضعیت.
اندازه فایل سیستم XFSفقط قابل افزایش است نصب شده استوضعیت. علاوه بر این، ابزار باید نقطه نصب را به عنوان پارامتر ارسال کند، نه نام دستگاه.

# lvexend - L+ 4G / dev/ volgroup00/ test01 //حجم منطقی را 4 گیگابایت افزایش دهید# resize2fs /dev/volgroup00/ext پسوند //Ext2/Ext3/Ext4 یا گزینه دوم از طریق fsadm (بعضی منابع در مورد e2fsadm می نویسند، من خودم آن را پیدا نکردم).# fsadm - l تغییر اندازه / dev/ volgroup00/ ext 2G //افزایش حجم منطقی Ext2/Ext3، با پسوند FS. از سپتامبر 2009، Ext4 هنوز پشتیبانی نمی‌شود# resize_reiserfs - f / dev/ volgroup00/ reiser پسوند //reiserFS# xfs_growfs / mnt/ lvm/ xfs // پسوند XFS # btrfsctl - r + 2g / mnt/ lvm/ btrfs/ // پسوند Btrfs یا # btrfsctl - r + 2g - A / dev/ volgroup00/ btrfs // Btr

# lveextend -L+4G /dev/volgroup00/test01 //حجم منطقی را تا 4 گیگابایت افزایش دهید # resize2fs /dev/volgroup00/ext //Ext2/Ext3/Ext4 یا گزینه دوم از طریق fsadm (برخی منابع در مورد e2fsadm می نویسند، در خانه آن را پیدا نکرد). # fsadm -l تغییر اندازه /dev/volgroup00/ext 2G //حجم منطقی Ext2/Ext3 را با گسترش FS افزایش دهید. از سپتامبر 2009، Ext4 هنوز پشتیبانی نمی‌شود # resize_reiserfs -f /dev/volgroup00/reiser // پسوند ReiserFS # xfs_growfs /mnt/lvm/xfs // پسوند XFS # btrfsctl -r +2g /mnt/lvm// / برنامه افزودنی Btrfs یا # btrfsctl -r +2g -A /dev/volgroup00/btrfs //برنامه افزودنی btrfs

کاهش حجم یک حجم منطقی

حجم های منطقی را نیز می توان در اندازه کاهش داد. اول از همه، شما باید اندازه فایل سیستم را کاهش دهید و تنها پس از آن حجم منطقی را کاهش دهید. در جهت معکوس، می توانید داده ها را از دست بدهید. برخی تفاوت های ظریف نیز وجود دارد:
قبل از تغییر اندازه، فایل سیستم باید جدا شود.
هنگام تغییر اندازه ext2/ext3 resize2fs'y اندازه جدید آن را مشخص می کند.
نزول کردن XFSو JFSغیر ممکن
نزول کردن btrfsشما می توانید در پرواز، اما بهتر است آن را ریسک نکنید.

# resize2fs /dev/volgroup00/ext2 500m //مشخص کردن اندازه جدید برای Ext2/Ext3 FS # fsadm -l تغییر اندازه /dev/volgroup00/ext3 200M //مشخص کردن اندازه جدید برای Ext2/Ext3 FS # resize_reiserfs /s - dev/ volgroup00/reiserfs //reduce FS Reiserfs # btrfsctl -r -2g -A /dev/volgroup00/btrfs //reduce FS Btrfs # lvreduce -L-1G /dev/volgroup00/test01 //کاهش حجم منطقی

تغییر نام یک حجم منطقی

# vgchange -a n /dev/volgroup02 //غیرفعال کردن حجم های منطقی در گروه قربانی # vgmerge volgroup01 volgroup02 //ادغام volgroup02 در volgroup01

پارتیشن بندی یک گروه حجمی

# vgsplit volgroup01 volgroup02 /dev/sdb1 //تخصیص یک گروه حجم جدید volgroup02 که در حجم فیزیکی /dev/sdb1 قرار خواهد گرفت.

تغییر اندازه حجم فیزیکی چندین تفاوت ظریف وجود دارد:
افزایش اندازه حجم فیزیکی LVM پس از بزرگ شدن پارتیشن توسط برنامه هایی مانند cfdisk/fdisk
کاهش حجم باید پس از کاهش سیستم های فایل و حجم منطقی انجام شود، در غیر این صورت خرابی داده ها امکان پذیر است.

# [b]pvresize /dev/sda1 //افزایش حجم فیزیکی # [b]pvresize --setphysicalvolumesize 40G /dev/sda1 //کاهش حجم فیزیکی

عکس های فوری

یک عکس فوری یک کپی فقط خواندنی از یک جلد دیگر است. هنگام ایجاد عکس های فوری، باید مطمئن شوید که در حال اجرا است dmeventd. هنگام عکس گرفتن با XFSابتدا باید منجمد شود. xfs_freeze.

# lvcreate -L600M -s -n var-backup /dev/volgroup00/var //حجم نسخه پشتیبان var را به عنوان کپی از حجم ایجاد کنید var # mount /dev/volgroup00/var-backup /mnt/backup //سپس mount عکس فوری

ساختن آینه (آینه)

از آینه ها برای افزایش تحمل خطا و افزایش سطح امنیت اطلاعات استفاده می شود. برای ایجاد یک آینه به 3 جلد فیزیکی نیاز دارید، 2 جلد برای آینه و 1 جلد برای مجله. توصیه می شود از حجم های فیزیکی واقع در رسانه های مختلف استفاده کنید. استفاده از حجم های فیزیکی از یک رسانه، سودمندی استفاده از آینه را بی اثر می کند، زیرا در صورت خرابی سخت افزار، آینه بی استفاده می شود. هنگام ایجاد آینه، باید مطمئن شوید که در حال اجرا است dmeventd

# pvcreate /dev/sda5 /dev/sdb1 /dev/sdc1 //ایجاد یک حجم فیزیکی # vgcreate mirror00 /dev/sda5 /dev/sdb1 /dev/sdc1 //create a mirror00 group # lvcreate -L 5G -n volume00 - m 1 mirror00 //ایجاد حجم آینه 00

مشاهده اطلاعات در مورد حجم های منطقی، درصد کپی باید به 100٪ برسد

# lvs LV VG Attr LSize Origin Snap% Move Log کپی% تبدیل حجم00 mirror00 mwi- a- 5.00G volume00_mlog 6.17

# lvs LV VG Attr LSize Origin Snap% Move Log کپی% تبدیل volume00 mirror00 mwi-a- 5.00G volume00_mlog 6.17

بررسی استفاده از دستگاه در آینه ایجاد شده

# lvs - a - o + دستگاه های LV VG Attr LSize Origin Snap% Move Log کپی% تبدیل دستگاه ها volume00 mirror00 mwi- a- 5.00G volume00_mlog 100.00 volume00_mimage_0(0 ) , volume00_mimage_0(0 ) , volume00_mimage_0(0 ) , volume00_mimage_0(0 ) , volume00_mimage_0(0 ) , volume00_mimage_0(0 ) , volume00_mimage_0 (0 ) , volume00_mimage_0(0 ) , volume00_mimage_0 (0 ) , volume00_mimage_0/0. dev/ sda5(0) [volum00_mimage_1] mirror00 iwi-ao 5.00G / dev/ sdb1(0) [volum00_mlog] mirror00 lwi-ao 4.00M

# lvs -a -o +دستگاه‌ها LV VG Attr LSize مبدا Snap% Move Log کپی% تبدیل دستگاه‌ها volume00 mirror00 mwi-a- 5.00G volume00_mlog 100.00 volume00_mimage_0(0),volume00_mimage_0(0),volume00_mimage_0(0),volume00_mimage_0/da. (0) mirror00 iwi-ao 5.00G /dev/sdb1(0) mirror00 lwi-ao 4.00M

# vgextend volgroup01 /dev/sdc1 /dev/sdd1 //افزودن حجمهای فیزیکی جدید به گروه # lvconvert -m 1 /dev/volgroup01/volume-new //تبدیل یک حجم معمولی به یک آینه

حذف جلدها و گروه ها

ولوم های منطقی باید قبل از حذف شدن از حالت نصب خارج شوند.

# vgreduce volgroup00 /dev/sdb1 //حذف یک حجم فیزیکی از گروه # lvremove /dev/volgroup00/test01 //حذف یک حجم منطقی # vgremove volgroup00 //حذف یک گروه حجم # pvremove /dev/sdc1 //حذف فیزیکی جلد

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

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

3 سطح انتزاع وجود دارد:
1. PV (حجم فیزیکی) - حجم های فیزیکی (این ها می توانند پارتیشن ها یا کل دیسک های "تقسیم نشده" باشند)
2. VG (گروه حجم) - گروهی از حجم ها (ما حجم های فیزیکی (PV) را در یک گروه ترکیب می کنیم، یک دیسک واحد ایجاد می کنیم، که آن را به صورت دلخواه پارتیشن بندی می کنیم)
3. LV (حجم منطقی) - پارتیشن های منطقی، بخش واقعی "دیسک تک دیسک" جدید ما با نام گروه جلدها، که سپس آن را فرمت کرده و به عنوان یک پارتیشن معمولی، یک هارد دیسک معمولی استفاده می کنیم.
این احتمالاً کل نظریه است. :) حالا تمرین کن:
برای کار کردن، به بسته های lvm2 و توانایی کار با حقوق ریشه نیاز دارید، بنابراین:
$ sudo bash
# apt-get نصب lvm2

فرض کنید یک هارد دیسک 40 گیگابایتی در رایانه خود داریم و توانستیم مقداری پول جمع کنیم و در نهایت یک ترابایت برای خودمان بخریم! :))) سیستم از قبل آماده و در حال اجرا است، و دیسک اول به یک پارتیشن (/dev/sda1 به عنوان /) تقسیم شده است، دومی - بزرگترین پارتیشنی که به تازگی وصل کردیم - به هیچ وجه /dev/sdb تقسیم نشده است. ...
من پیشنهاد می کنم دیسک ریشه را کمی تخلیه کنید و در عین حال سرعت را افزایش دهید (دیسک جدید سریعتر از قدیمی کار می کند) و سیستم را با استفاده از lvm "ایمن کنید".
می توانید روی دیسک دوم پارتیشن بسازید و آنها را به گروه های حجم اضافه کنید (اگر به چندین گروه حجم نیاز داریم)،
یا اصلا نمی توانید روی دیسک پارتیشن بسازید و کل دستگاه را یک پارتیشن فیزیکی (PV) کنید.

[ایمیل محافظت شده]:~# pvcreate /dev/sdb
حجم فیزیکی "/dev/sdb" با موفقیت ایجاد شد

ما یک گروه حجمی با یک نام معنی دار، به عنوان مثال، با نام ماشین "ws" ایجاد می کنیم، به طوری که وقتی این دیسک را به دستگاه دیگری می کشیم، با نام گروه های حجم تداخلی نداشته باشد:

[ایمیل محافظت شده]:~# vgcreate ws /dev/sdb

توصیه می شود پوشه هایی مانند /usr/var/tmp/home را از پارتیشن ریشه اضافه کنید تا یک بار دیگر پارتیشن ریشه را یکپارچه نکنید و به هیچ وجه آن را سرریز نکنید، بنابراین پارتیشن ها را ایجاد می کنیم:

[ایمیل محافظت شده]:~# lvcreate -n usr -L10G ws # در اینجا ما یک پارتیشن 10 گیگابایتی به نام "usr" ایجاد می کنیم.
حجم منطقی "usr" ایجاد شد
بر اساس قیاس، ما همین کار را برای /var، /tmp، /home انجام می دهیم:
[ایمیل محافظت شده]:~# lvcreate -n var -L10G ws
[ایمیل محافظت شده]:~# lvcreate -n tmp -L2G ws
[ایمیل محافظت شده]:~# lvcreate -n home -L500G ws
ما هنوز مقداری فضای خالی در گروه حجم داریم (به عنوان مثال، برای یک پارتیشن آینده برای پشتیبان گیری)
ببینید دقیقا چقدر می توانید با دستور:
[ایمیل محافظت شده]:~# vgdisplay
اطلاعات مربوط به حجم های منطقی ایجاد شده
[ایمیل محافظت شده]:~# lvdisplay
اطلاعات در مورد حجم فیزیکی
[ایمیل محافظت شده]:~# pvdisplay

بخش‌هایی که ایجاد کرده‌ایم در پوشه /dev/[vg_name]/ ظاهر می‌شوند، یا بهتر بگوییم پیوندهایی به فایل‌ها وجود دارد.
lrwxrwxrwx 1 root root 22 2009-08-10 18:35 swap -> /dev/mapper/ws-swap
lrwxrwxrwx 1 root root 21 2009-08-10 18:35 tmp -> /dev/mapper/ws-tmp
lrwxrwxrwx 1 root root 21 2009-08-10 18:35 usr -> /dev/mapper/ws-usr
lrwxrwxrwx 1 root root 21 2009-08-10 18:35 var -> /dev/mapper/ws-var
و غیره…

سپس lvm تقریباً به پایان می رسد ... ما پارتیشن های خود را به سیستم های فایل مورد علاقه خود فرمت می کنیم:
[ایمیل محافظت شده]:~# mkfs.ext2 -L tmp /dev/ws/tmp
[ایمیل محافظت شده]:~# mkfs.ext4 -L usr /dev/ws/usr
[ایمیل محافظت شده]:~# mkfs.ext4 -L var /dev/ws/var
[ایمیل محافظت شده]:~# mkfs.ext4 -L home /dev/ws/home

به هر حال، بد نیست یک پارتیشن swap درست کنید:
[ایمیل محافظت شده]:~# lvcreate -n swap -L2G ws
[ایمیل محافظت شده]:~# mkswap -L swap /dev/ws/swap
[ایمیل محافظت شده]:~# swapon /dev/ws/swap

ما یک پوشه ایجاد می کنیم و حجم های تازه تشکیل شده را به نوبه خود متصل می کنیم، محتویات لازم را در آنها کپی می کنیم:
[ایمیل محافظت شده]:~# mkdir /mnt/target
[ایمیل محافظت شده]:~# mount /dev/ws/home /mnt/target
همه چیز را از پوشه /home در آنجا با مدیر فایل مورد علاقه خود کپی کنید (در حالی که حقوق دسترسی را حفظ می کنید)، مانند این ؛):
[ایمیل محافظت شده]:~# cp -a /home/* /mnt/target/
[ایمیل محافظت شده]:~# umount /mnt/target/
به هر حال، برای پوشه temp، فقط باید حقوق را اصلاح کنید، لازم نیست چیزی را در آنجا کپی کنید:
[ایمیل محافظت شده]:~# mount /dev/ws/tmp /mnt/target && chmod -R a+rwx /mnt/target && umount /mnt/target/
خطوط لازم را به /etc/fstab اضافه کنید، برای مثال:
/dev/mapper/ws-home /home ext4 relatime 0 2
/dev/mapper/ws-tmp /tmp ext2 noatime 0 2
/dev/mapper/ws-swap هیچکدام تعویض sw 0 0
و راه اندازی مجدد ... (آقایان پیشرفته می توانند بدون راه اندازی مجدد انجام دهند؛))

برای خوشمزه شدن، می خواهم چیز پیشرفته تری ارائه دهم:
فرض کنید یک سیستم با یک پارتیشن در LVM داریم، و هارد دیسک شروع به از کار می‌کند، سپس می‌توانیم کل سیستم را به هارد/پارتیشن دیگری بدون راه‌اندازی مجدد منتقل کنیم:

# افزودن/حذف هارد دیسک به صورت آنلاین با استفاده از LVM (مثال)

[ایمیل محافظت شده]:~# pvcreate /dev/sda1 # شبیه ساز دیسک شکست خورده ما
حجم فیزیکی "/dev/sda1" با موفقیت ایجاد شد

[ایمیل محافظت شده]:~# pvcreate /dev/sdb1 # شبیه ساز دیسک نجات ما
حجم فیزیکی "/dev/sdb1" با موفقیت ایجاد شد

[ایمیل محافظت شده]:~# vgcreate vg0 /dev/sda1 # group volume vg0 را ایجاد کنید
گروه حجم "vg0" با موفقیت ایجاد شد

[ایمیل محافظت شده]:~# lvcreate -n test -L10G vg0 #یک پارتیشن برای اطلاعات "مهم" ایجاد کنید
حجم منطقی "تست" ایجاد شد

[ایمیل محافظت شده]:~# mkfs.ext2 /dev/vg0/test # ایجاد سیستم فایل روی پارتیشن
[ایمیل محافظت شده]:~# mount /dev/mapper/vg0-test /mnt/tmp/ #mount partition
… # آن را با اطلاعات پر کنید، چندین فایل روی آن باز کنید و غیره.

[ایمیل محافظت شده]:~# vgextend vg0 /dev/sdb1 # گروه حجم خود را در یک درایو "rescue" گسترش دهید
گروه جلد "vg0" با موفقیت تمدید شد

[ایمیل محافظت شده]:~# pvmove /dev/sda1 /dev/sdb1 #انتقال محتوا از دیسک در حال مرگ به دیسک نجات
/dev/sda1: جابه‌جایی: 0.9%
/dev/sda1: جابجا شده: 1.8%

/dev/sda1: جابه‌جایی: 99.7%
/dev/sda1: جابجا شده: 100.0%

[ایمیل محافظت شده]:~# vgreduce vg0 /dev/sda1 # دیسک در حال مرگ را از گروه حجم حذف کنید.
"/dev/sda1" از گروه حجم "vg0" حذف شد

جمع:
من یک پارتیشن منطقی ایجاد کردم، آن را فرمت کردم، آن را مانت کردم و با داده های لازم پر کردم، سپس آن را از یک دستگاه به دستگاه دیگر منتقل کردم، در حالی که پارتیشن مونت شده بود و داده ها همیشه در دسترس بودند!
به روشی مشابه، من توانستم کل سیستم را از یک دیسک در حال مرگ به یک آرایه حمله بدون راه اندازی مجدد منتقل کنم. :)

P.S. بابت غلط املایی معذرت میخوام مدام حواسم پرت میشد =))

P.P.S. آه بله!!! مهم ترین و بزرگترین عیب LVM این است که توسط گراب قابل خواندن نیست
بنابراین پارتیشن /boot باید خارج از LVM در یک پارتیشن دیسک سخت جداگانه باشد،
در غیر این صورت سیستم بوت نمی شود.

سرور لینوکس خانگی من یک دیسک 250 گیگابایتی دارد. من به تازگی یک درایو 250 گیگابایتی SATA خریدم و می خواهم یک درایو جدید به حجم LVM موجود خود اضافه کنم تا آن را به 500 گیگابایت افزایش دهم. چگونه می توان دیسک را به LVM اضافه کرد و حجم LVM را در سیستم عامل لینوکس افزایش داد؟

مدیریت حجم لینوکس (LVM) یک لایه با کاربری آسان در بالای دیسک های فیزیکی ایجاد می کند. می توانید چندین دیسک را ترکیب کنید و حجم های ذخیره سازی منطقی ایجاد کنید. این کار مزایای خاصی از جمله:

  1. بدون محدودیت در اندازه دیسک؛
  2. افزایش پهنای باند دیسک
  3. انعکاس حجم برای داده های تجاری حیاتی؛
  4. عکس های فوری حجمی؛
  5. پشتیبان گیری و بازیابی آسان با استفاده از عکس های فوری.
  6. انتقال آسان داده ها؛
  7. تغییر اندازه حوضچه های ذخیره سازی (افزودن یا حذف دیسک ها) بدون نیاز به فرمت مجدد دیسک ها.
این آموزش به شما نحوه پارتیشن بندی، قالب بندی و افزودن یک درایو جدید به حجم LVM در لینوکس را نشان می دهد. برای هدف آزمایشی، من از اوبونتو VM استفاده می کنم، اما دستورات برای فلز خالی یا هر فناوری مجازی سازی دیگری مانند KVM، Xen، VMware و غیره یکسان باقی می مانند.

توجه: مراقب lvm / mkfs.ext4 و سایر دستورات و همچنین نام دستگاه ها باشید. اگر نام دستگاه به درستی تنظیم نشده باشد، ممکن است همه داده ها را از بین ببرد. مراقب باشید و همیشه نسخه پشتیبان کامل داشته باشید.

مرحله 1 - اطلاعات مربوط به LVM های موجود را بیابید

مدیریت ذخیره سازی LVM به سه بخش تقسیم می شود:

  1. حجم های فیزیکی (FT(PV))- واقعی (به عنوان مثال، /dev/sda، /dev،sdb، /dev/vdb، و غیره)
  2. گروه های حجم (GT(VG))- حجم های فیزیکی به گروه های حجمی گروه بندی می شوند. (به عنوان مثال my_vg = /dev/sda + /dev/sdb.)
  3. حجم های منطقی (LT(LV))- گروه حجم به نوبه خود به حجم های منطقی تقسیم می شود (به عنوان مثال، my_vg به my_vg/data، my_vg/backups، my_vg/home، my_vg/mysqldb و غیره تقسیم می شود)
دستورات زیر را وارد کنید تا اطلاعات مربوط به هر قسمت را بیابید.

نحوه نمایش اطلاعات در مورد حجم های فیزیکی (pv)

برای مشاهده اطلاعات مربوط به حجم های فیزیکی، دستور pvs زیر را وارد کنید:

بنابراین، در حال حاضر LVM من شامل یک حجم فیزیکی (دیسک واقعی) به نام /dev/vda5 است. برای مشاهده اطلاعات دقیق در مورد املاک، تایپ کنید:

$ sudo pvdisplay

نمونه هایی از خروجی داده های ممکن:

از خروجی بالا مشخص است که گروه حجم ما با نام ubuntu-box-1-vg از یک حجم فیزیکی به نام /dev/vda5 ساخته شده است.

نحوه نمایش اطلاعات در مورد گروه حجم LVM (vg)

هر یک از دستورات vgs/vgdisplay vgs زیر را تایپ کنید تا اطلاعات مربوط به گروه های حجم و ویژگی های آنها را مشاهده کنید:

$ sudo vgdisplay

نمونه هایی از خروجی داده های ممکن:

نحوه نمایش اطلاعات در مورد حجم منطقی LVM (lv)

هر یک از دستورات lvs / دستورات lvdisplay زیر را تایپ کنید تا اطلاعات مربوط به گروه های حجم و ویژگی های آنها را مشاهده کنید:

$ sudo lvdisplay

نمونه هایی از خروجی داده های ممکن:

گروه حجم ubuntu-box-1-vg من به دو جلد منطقی تقسیم می شود:

  1. /dev/ubuntu-box-1-vg/root - سیستم فایل ریشه.
  2. /dev/ubuntu-box-1-vg/swap_1 - جابجایی فضا.
بر اساس دستورات بالا، می‌توانید یک ایده اولیه از نحوه سازماندهی ذخیره‌سازی LVM به حجم‌های فیزیکی (PV)، گروه‌های حجمی (VGs) و حجم‌های منطقی (LVs) داشته باشید:

مرحله 2 - اطلاعات مربوط به درایو جدید را بیابید

شما باید یک درایو جدید به سرور خود اضافه کنید. در این مثال، برای اهداف نمایشی، من یک درایو جدید با اندازه 5 گیگابایت اضافه کرده ام. برای کسب اطلاعات در مورد راه اندازی دیسک های جدید:

$ sudo fdisk -l

$ sudo fdisk -l | grep "^Disk /dev/"

نمونه هایی از خروجی داده های ممکن:

گزینه دیگر اسکن تمام دستگاه های قابل مشاهده برای LVM2 است:

$ sudo lvmdiskscan

نمونه هایی از خروجی داده های ممکن:

/dev/ram0 [64.00 MiB] /dev/ubuntu-box-1-vg/root [37.49 گیگابایت] /dev/ram1 [64.00 MiB] /dev/ubuntu-box-1-vg/swap_1 [2.00 گیگابایت] /dev /vda1 [487.00 MiB] /dev/ram2 [64.00 MiB] /dev/ram3 [64.00 MiB] /dev/ram4 [64.00 MiB] /dev/ram5 [64.00 MiB] /dev/vda5 [39.52 گیگابایت] حجم فیزیکی LVM / dev/ram6 [64.00 MiB] /dev/ram7 [64.00 MiB] /dev/ram8 [64.00 MiB] /dev/ram9 [64.00 MiB] /dev/ram10 [64.00 MiB] /dev/ram11 [64.00 MiB] /dev/ ram12 [64.00 MiB] /dev/ram13 [64.00 MiB] /dev/ram14 [64.00 MiB] /dev/ram15 [64.00 MiB] /dev/vdb [5.00 گیگابایت] 2 دیسک 18 پارتیشن 0 LVM 1 حجم فیزیکی LV دیسک کامل جلد

مرحله 3 - حجم های فیزیکی (pv) را در یک درایو جدید به نام /dev/vdb ایجاد کنید

دستور زیر را وارد کنید:

$ sudo pvcreate /dev/vdb

نمونه هایی از خروجی داده های ممکن:

حجم فیزیکی "/dev/vdb" با موفقیت ایجاد شد

حالا دستور زیر را برای بررسی اجرا کنید:

$ sudo lvmdiskscan -l

نمونه هایی از خروجی داده های ممکن:

اخطار: فقط با در نظر گرفتن دستگاه های LVM /dev/vda5 [39.52 گیگابایت] LVM حجم فیزیکی /dev/vdb [5.00 گیگابایت] حجم فیزیکی LVM 1 حجم فیزیکی LVM کل دیسک 1 حجم فیزیکی LVM

مرحله 4 - افزودن یک حجم فیزیکی جدید (pv) به نام /dev/vdb به یک حجم منطقی موجود (lv)

دستور زیر را برای افزودن حجم فیزیکی /dev/vdb به گروه حجم "ubuntu-box-1-vg" وارد کنید.