اتصال یک نقطه به دیسک (mount)
مفهوم Mount کردن به معنای اتصال یک دستگاه ذخیرهسازی (مانند دیسک سخت، پارتیشن یا درایو USB) به سیستم فایل لینوکس است. وقتی یک دیسک یا پارتیشن را mount میکنید، سیستم عامل آن را در دایرکتوری خاصی (که به آن "mount point" گفته میشود) در دسترس قرار میدهد تا شما بتوانید به دادههای ذخیرهشده روی آن دسترسی پیدا کنید. به عبارت دیگر، با mount کردن یک دیسک، آن دیسک به بخشی از ساختار فایل سیستم لینوکس تبدیل میشود و شما میتوانید با دستورات معمول سیستمعامل، به فایلها و پوشههای آن دسترسی داشته باشید.
هنگام ساخت سرور مجازی ابری جدید، به طور پیشفرض دو دیسک اولیه و ثانویه، به صورت LVM پیکربندی میشوند. این امر باعث میشود که مدیریت فضای دیسک بسیار منعطف باشد و شما قادر به گسترش یا کاهش فضای ذخیرهسازی به راحتی باشید. به صورت کلی، تمام دیسکهای موجود، پس از ساخت سرور مجازی، به مسیر / متصل میشوند. بنابراین نیاز به انجام کار خاصی نیست و میتوانید به راحتی از فضای دیسکها استفاده کنید.
اما در صورتی که پلن سرور مجازی خود را، ارتقا دادهاید و دیسکهای جدیدی را به سرور خود، اضافه کردهاید، میتوانید به دو صورت عمل کنید. یا فضای دیسک جدید را به گروه LVM در مسیر / یا هر مسیر دیگری، اضافه کنید و یا بهصورت سنتی، دیسک را پارتیشنبندی کرده و آن را به مسیر موردنظر خود، mount کنید.
برای اتصال دیسک، با استفاده از سیستم LVM به مسیر /، گامهای زیر را دنبال کنید:
مشاهده دیسکهای موجود
با استفاده از دستور lsblk دیسکهای موجود و پارتیشنهای آنها را مشاهده کنید.
lsblkهمانطور که در خروجی دستور فوق مشاهده میکنید، یک دیسک به نام sdc به سرور متصل است که پیکربندی نشده است و فاقد پارتیشن است. این دیسک، در واقع دیسکی است که توسط کاربر به سرور اضافه میشود.
ایجاد Physical Volume یا PV
پس از شناسایی دیسک جدید، باید با اجرای دستور زیر، دیسک را به عنوان یک Physical Volume یا PV برای LVM آماده کنید:
pvcreate /dev/<disk-name>دستور فوق، دیسک جدید را به عنوان یک PV شناسایی کرده و آن را آماده اضافه شدن به Volume Group میکند.
افزودن PV به Volume Group (VG)
در این مرحله، باید دیسک جدید را به Volume Group موجود اضافه کنید. برای این کار، ابتدا باید نام Volume Group (VG) را بدانید. میتوانید با استفاده از دستور vgdisplay، نام VG را مشاهده کنید.
vgdisplayخروجی مانند زیر است:
--- Volume group ---
VG Name ubuntu-vg
System ID
Format lvm2
....طبق خروجی فوق، در این مثال، نام VG برابر با ubuntu-vg است. حالا میتوانید با اجرای دستور زیر، دیسک جدید را به VG اضافه کنید:
vgextend <vg-group-name> /dev/<disk-name>افزایش فضای Logical Volume (LV)
بعد از اینکه دیسک جدید به Volume Group افزوده شد، حالا میتوانید فضای جدید را به Logical Volume موجود اضافه کنید. برای پیدا کردن نام LV، میتوانید از دستور lvdisplay استفاده کنید.
lvdisplayخروجی مانند زیر است:
--- Logical volume ---
LV Path /dev/ubuntu-vg/ubuntu-lv
LV Name ubuntu-lv
VG Name ubuntu-vg
....طبق خروجی فوق، در این مثال، نام LV برابر با ubuntu-lv است. حالا میتوانید با اجرای دستور زیر، فضای جدید را به LV اضافه کنید:
lvextend -l +100%FREE /dev/<vg-group-name>/<lv-group-name>دستور فوق، تمام فضای آزاد در Volume Group را به Logical Volume اضافه میکند.
گسترش سیستم فایل
پس از اینکه حجم Logical Volume افزایش یافت، باید سیستم فایل را گسترش دهید تا از فضای جدید استفاده کند. برای اینکار، دستور زیر را، اجرا کنید:
resize2fs /dev/<vg-group-name>/<lv-group-name>تمامی کارها، انجام شده است و شما، اکنون میتوانید از فضای جدید، در سیستمعامل خود استفاده کنید. برای اطمینان از اتصال دیسک جدید، میتوانید دستور lsblk را اجرا کنید.
برای اتصال دیسک، با استفاده از سیستم LVM به مسیر دلخواه (مثلاً path/to/myDir/)، گامهای زیر را دنبال کنید:
مشاهده دیسکهای موجود
با استفاده از دستور lsblk دیسکهای موجود و پارتیشنهای آنها را مشاهده کنید.
lsblkهمانطور که در خروجی دستور فوق مشاهده میکنید، یک دیسک به نام sdc به سرور متصل است که پیکربندی نشده است و فاقد پارتیشن است. این دیسک، در واقع دیسکی است که توسط کاربر به سرور اضافه میشود.
ایجاد Physical Volume یا PV
پس از شناسایی دیسک جدید، باید با اجرای دستور زیر، دیسک را به عنوان یک Physical Volume یا PV برای LVM آماده کنید:
pvcreate /dev/<disk-name>دستور فوق، دیسک جدید را به عنوان یک PV شناسایی کرده و آن را آماده اضافه شدن به Volume Group میکند.
ایجاد Volume Group (VG) جدید (در صورت نیاز)
اگر میخواهید دیسک جدید را به یک Volume Group جدید اضافه کنید، میتوانید با استفاده از دستور زیر یک VG جدید ایجاد کنید:
vgcreate <new-vg-name> /dev/<disk-name>دستور فوق، یک VG جدید ایجاد و دیسک جدید را به آن اضافه میکند.
ایجاد Logical Volume (LV) جدید
حالا میتوانید یک Logical Volume جدید در VG جدید ایجاد کنید. برای این کار، از دستور زیر استفاده کنید:
lvcreate -n <lv-name> -l 100%FREE <new-vg-name>دستور فوق، یک LV جدید ایجاد میکند و تمام فضای آزاد VG جدید را به آن اختصاص میدهد.
فرمت کردن LV جدید
پس از ایجاد LV جدید، باید آن را فرمت کنید تا بتوانید از آن استفاده کنید. برای این کار، از دستور زیر استفاده کنید:
mkfs.ext4 /dev/<new-vg-name>/<lv-name>اتصال LV جدید به مسیر دلخواه
حالا میتوانید LV جدید را به مسیر دلخواه خود mount کنید. برای این کار، از دستور زیر استفاده کنید:
mount /dev/<new-vg-name>/<lv-name> /path/to/myDirدستور فوق، LV جدید را به مسیر path/to/myDir/ متصل میکند.
اضافه کردن mount point به fstab
برای اینکه mount point جدید به صورت دائمی باشد، باید آن را به فایل etc/fstab/ اضافه کنید. برای این کار، فایل fstab را با یک ویرایشگر متن باز کنید و خط زیر را به آن اضافه کنید:
/dev/<new-vg-name>/<lv-name> /path/to/myDir ext4 defaults 0 0دستور فوق، mount point جدید را به فایل fstab اضافه میکند تا در هر بار راهاندازی سیستم، به صورت خودکار mount شود.
بررسی اتصال دیسک
پس از mount کردن دیسک، دستور زیر را اجرا کنید تا مطمئن شوید که دیسک به درستی، mount شده است یا خیر.
mount -aدر صورتی که دستور فوق، هیچ پیامی نمایش ندهد، به این معنی است که دیسک به درستی، mount شده است.
در صورتی که دیسک به مسیر مدنظرتان به درستی متصل شده باشد. فایلهای جدید را در خودش ذخیره میکند و این فایلها در دیسکی که به مسیر / متصل شده است، ذخیره نمیشوند.
برای اتصال دیسک به مسیر دلخواه (مثلاً path/to/myDir/) با استفاده از پارتیشنبندی سنتی، مراحل زیر را دنبال کنید:
مشاهده دیسکهای موجود
با استفاده از دستور lsblk دیسکهای موجود و پارتیشنهای آنها را مشاهده کنید.
lsblkایجاد پارتیشن جدید
برای ایجاد پارتیشن روی دیسک جدید، از ابزار fdisk استفاده کنید:
fdisk /dev/<disk-name>پس از اجرای دستور فوق، وارد ترمینال fdisk میشوید. برای ایجاد پارتیشن جدید، باید در ابتدا n را و سپس p را انتخاب کنید. در ادامه، باید شماره پارتیشن را وارد کنید و بعد از آن، اندازه پارتیشن را وارد کنید. در نهایت، با زدن w تغییرات را ذخیره کنید و از حالت fdisk، خارج شوید.
فرمت کردن پارتیشن جدید
بعد از ایجاد پارتیشن، آن را با استفاده از فایلسیستم ext4 فرمت کنید:
mkfs.ext4 /dev/<disk-name>پس از اجرای دستور فوق، ممکن است پیامی نمایش داده شود که از شما تاییدیه میگیرد. برای تایید، y را وارد کنید تا عملیات فرمت کردن پارتیشن انجام شود.
اتصال دیسک به دایرکتوری (mount)
پارتیشن را به دایرکتوری ایجادشده mount کنید:
mount /dev/<disk-name> /path/to/myDirاضافه کردن mount point به fstab
برای اینکه پارتیشن جدید در هر بار راهاندازی سیستم mount شود، آن را به فایل etc/fstab/ اضافه کنید:
echo "/dev/<disk-name> /path/to/myDir ext4 defaults 0 0" >> /etc/fstabبررسی اتصال دیسک
پس از mount کردن دیسک، دستور زیر را اجرا کنید تا مطمئن شوید که دیسک به درستی، mount شده است یا خیر.
mount -aدر صورتی که دستور فوق، هیچ پیامی نمایش ندهد، به این معنی است که دیسک به درستی، mount شده است.
در صورتی که دیسک به مسیر مدنظرتان به درستی متصل شده باشد. فایلهای جدید را در خودش ذخیره میکند و این فایلها در دیسکی که به مسیر / متصل شده است، ذخیره نمیشوند.
نکات قابل توجه
در صورت اتصال یک دیسک LV جدید به یک مسیر، دادههای قبلی موجود در مسیر، تا زمان unmount شدن LV جدید، موقتاً پنهان میشوند.
در صورت اتصال یک دیسک بهصورت سنتی به یک مسیر، دادههای قبلی موجود در مسیر، بهصورت موقتی و تا زمان unmount شدن دیسک جدید، پنهان میشوند.
در صورت اتصال دیسک جدید بهصورت سنتی به مسیری که از قبل یک دیسک سنتی به آن متصل شده، دادههای جدید در دیسک جدید ذخیره شده و دادههای قدیمی ذخیرهشده در دیسک قدیمی، هصورت موقتی و تا زمان unmount شدن دیسک جدید، پنهان میشوند.