در این آموزش سعی داریم طریقه افزایش پارتیشن روت را بدون آنکه آنرا unmount کنیم را به شما آموزش دهیم
اگر اطلاعات مهم و حساسی دارید حتما بک آپ تهیه نمایید تا در صورت خطاهای احتمالی مشکلی برای اطلاعات شما ایجاد نشود
همانطور که در دستور زیر میبنید پارتیشن روت ما 7.8 گیگابایت است
df -h . Filesystem Size Used Avail Use% Mounted on /dev/xvda1 7.8G 642M 6.8G 9% /
ولی اندازه دیسک ما 20 گیگابایت است با دستور fdisk دقت کنید
fdisk -l Disk /dev/xvda: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xd7f2e0e8 Device Boot Start End Sectors Size Id Type /dev/xvda1 * 4096 16773119 16769024 8G 83 Linux
پارتیشن فوق به عنوان ریشه تعریف شده و نمیشه unmount کرد به دستور زیر دقت کنید
umount / umount: /: target is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))
این مرحله مهم هست ما پارتیشن روت را پاک میکنیم و دقیقا در همان سکتور مرتبط به پارتیشن روت اقدام به ساختش میکنیم همانطور که در پارتیشن روت ما مشخص هست از سکتور ۴۰۹۶ شروع میشود پس با دستور زیر اقدام به فراخوانی پارتیشن توسط fdisk میکنیم
fdisk /dev/xvda Welcome to fdisk (util-linux 2.25.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): p Disk /dev/xvda: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xd7f2e0e8 Device Boot Start End Sectors Size Id Type /dev/xvda1 * 4096 16773119 16769024 8G 83 Linux
بازم تاکید میکنم که حتما سکتور شروع پارتیشن روت را یادداشت کنید که برای ما ۴۰۹۶ است پس با دستور زیر اقدام به حذف پارتیشن روت میکنیم
Command (m for help): d Selected partition 1 Partition 1 has been deleted.
در این مرحله یک پارتیشن جدید میسازیم و مجددا تاکید میکنم که شروع سکتور پارتیشن روت که برای من ۴۰۹۶ بود باشد
Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): First sector (2048-41943039, default 2048): 4096 Last sector, +sectors or +size{K,M,G,T,P} (4096-41943039, default 41943039): Created a new partition 1 of type 'Linux' and of size 20 GiB.
پارتیشن ۱ را بوتیبیل کنید و از پارتیشن ها خروجی بگیرید
Command (m for help): a Selected partition 1 The bootable flag on partition 1 is enabled now. Command (m for help): p Disk /dev/xvda: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xd7f2e0e8 Device Boot Start End Sectors Size Id Type /dev/xvda1 * 4096 41943039 41938944 20G 83 Linux
تغییرات را ذخیره کنید
Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Re-reading the partition table failed.: Device or resource busy The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).
در این مرحله باید سیستم را ریستارت کنید تا روت با فضای جدید شروع به کار کند قبل از ریستارت بهتر است fsck را فعال کنید تا بعد از ریستارت پارتیشن چک شود برای این منظور یک فایل خالی با اسم forcefsck
در روت / بسازید
touch /forcefsck
بعد از ریستارت مجددا اندازه پارتیشن روت را بررسی میکنیم
df -h . Filesystem Size Used Avail Use% Mounted on /dev/xvda1 20G 644M 19G 4% /
همانطور که در خروجی مشخص هست پارتیشن روت به ۲۰ گیگابایت تغییر کرده است و برای بار آخر توسط fsck پارتیشن را چک میکنیم
tune2fs -l /dev/xvda1