歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

在 Linux 下使用 fdisk 擴展分區容量

我們管理的服務器可能會隨著業務量的不斷增長造成磁盤空間不足的情況,比如:共享文件服務器硬盤空間不足,在這個時候我們就需要增加磁盤空間,來滿足線上的業務;又或者我們在使用linux的過程中, 有時會因為安裝系統時分區不當導致有的分區空間不足,而有的分區空間過剩的情況,都可以是使用fdisk分區工具來動態調整分區的大小。

擴展磁盤空間

硬盤空間為20G,使用vSphere Client增加磁盤大小,需要再增加10G空間;

擴展完後,重啟系統,再次使用fdisk -l查看,會發現硬盤空間變大了;

重新創建分區,調整分區信息

本次實驗主要對/dev/sda4這個分區擴展,如果是生產環境,請提前做好備份保存到其他分區,雖然擴展分區大小不會導致數據丟失,安全起見,請提前做好備份;

首先模擬出一些數據:

[root@linuxprobe data]# mkdir test
[root@linuxprobe data]# echo "we are Linuxer" > linuxprobe
[root@linuxprobe data]# ll
total 24
-rw-r--r--. 1 root root    15 May 23 21:59 linuxprobe
drwx------. 2 root root 16384 May 23 15:07 lost+found
drwxr-xr-x. 2 root root  4096 May 23 21:51 test
[root@linuxprobe ~]# umount /dev/sda4          ### 卸載磁盤分區
若提示磁盤忙,使用fuser找出將正在使用磁盤的程序並結束掉;

fuser -m -v /data
fuser -m -v -i -k /data
使用fdisk工具先刪除/dev/sda4分區,然後創建新分區,注意開始的磁柱號要和原來的一致(是保證數據不丟失的關鍵步驟),結束的磁柱號默認回車使用全部磁盤。

[root@linuxprobe ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It is strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): p        ### 查看分區表信息

Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005210c

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              26        1301    10240000   83  Linux
/dev/sda3            1301        1497     1572864   82  Linux swap / Solaris
/dev/sda4            1497        2611     8952832   83  Linux

Command (m for help): d           ### 刪除分區
Partition number (1-4): 4         ### 刪除第四個

Command (m for help): p       ### 再次查看分區信息,/dev/sda4已被刪除

Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005210c

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              26        1301    10240000   83  Linux
/dev/sda3            1301        1497     1572864   82  Linux swap / Solaris

Command (m for help): n      ### 創建新的分區
Command action
   e   extended
   p   primary partition (1-4)
p             #創建為主分區
Selected partition 4
First cylinder (1497-3916, default 1497):          ### 經對比,正好和上一個磁盤柱一致,默認即可
Using default value 1497
Last cylinder, +cylinders or +size{K,M,G} (1497-3916, default 3916): 
Using default value 3916              ### 直接默認就可以

Command (m for help): p               ### 查看分區表信息

Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005210c

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              26        1301    10240000   83  Linux
/dev/sda3            1301        1497     1572864   82  Linux swap / Solaris
/dev/sda4            1497        3916    19436582   83  Linux

Command (m for help): wp       ### 保存並退出,如果創建有誤,直接退出不要保存即可
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 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)
Syncing disks.

重新創建分區後,需要重啟一下;

[root@linuxprobe ~]# init 6
[root@linuxprobe ~]# e2fsck -f /dev/sda4                ### 檢查分區信息
[root@linuxprobe ~]# resize2fs -p /dev/sda4             ### 調整分區大小
重新掛載、查看分區大小、數據:

可見/dev/sda4分區的空間大小已經增加了。

Copyright © Linux教程網 All Rights Reserved