linux nondestructive expansion method

  • 2020-12-21 18:18:03
  • OfStack

An overview of the

The server of cloud platform client may cause insufficient disk space along with the continuous growth of business volume. For example, the disk space of shared file server is insufficient. At this time, disk space needs to be increased to meet the online business. Or we in the process of using linux, sometimes due to the installation of the system partition improper leading to some of the insufficient partition space, and some of the partition space surplus, can be used fdisk partition tool to dynamically adjust the size of the partition;

steps

1. Backup

Even lossless expansion, but it is hard to avoid what accident, backup is essential, 1 general cloud platform have backup function, can directly do a full backup to the disk.

2. Repartition with fdisk

The default partition is shown below


root@i-abnawjwo:/# df
Filesystem  1K-blocks Used Available Use% Mounted on
udev    497752  4 497748 1% /dev
tmpfs    101700  440 101260 1% /run
/dev/sda1  20509308 1337636 18106816 7% /
none     4  0   4 0% /sys/fs/cgroup
none    5120  0  5120 0% /run/lock
none    508488  0 508488 0% /run/shm
none    102400  0 102400 0% /run/user
/dev/sdc1  10190136 23032 9626432 1% /data
root@i-abnawjwo:/data# cat hello
test1

Unmount the current partition umount /dev/sdc1

If you can't uninstall it, there may be a process for reuse. You can use fuser or lsof to check


fuser -m -v /data
fuser -m -v -i -k /data
lsof /data

After uninstalling fdisk, delete the original partition and repartition it. Note that the magnetic column number at the beginning should be the same as the original one (this is the key step to ensure that the data will not be lost).


root@i-abnawjwo:/# umount /data
root@i-abnawjwo:/# fdisk /dev/sdc

Command (m for help): d
Selected partition 1

Command (m for help): n
Partition type:
 p primary (0 primary, 0 extended, 4 free)
 e extended
Select (default p):
Using default response p
Partition number (1-4, default 1):
Using default value 1
First sector (2048-104857599, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-104857599, default 104857599):
Using default value 104857599

Command (m for help): p

Disk /dev/sdc: 53.7 GB, 53687091200 bytes
64 heads, 32 sectors/track, 51200 cylinders, total 104857600 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
Disk identifier: 0x305cddae

 Device Boot  Start   End  Blocks Id System
/dev/sdc1   2048 104857599 52427776 83 Linux

Command (m for help): wq
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

Restart the system

3. Detect the partition and expand its size


root@i-abnawjwo:~# e2fsck -f /dev/sdb1
e2fsck 1.42.9 (4-Feb-2014)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 12/655360 files (0.0% non-contiguous), 79664/2621440 blocks
root@i-abnawjwo:~# resize2fs -p /dev/sdb1
resize2fs 1.42.9 (4-Feb-2014)
Resizing the filesystem on /dev/sdb1 to 13106944 (4k) blocks.
The filesystem on /dev/sdb1 is now 13106944 blocks long.

4. Remount, view partition size, and check data


root@i-abnawjwo:~# mount /dev/sdb1 /data/
root@i-abnawjwo:/data# cat hello
acasdcacsa
root@i-abnawjwo:/data# df
Filesystem  1K-blocks Used Available Use% Mounted on
udev    497752  4 497748 1% /dev
tmpfs    101700  428 101272 1% /run
/dev/sda1  20509308 1337768 18106684 7% /
none     4  0   4 0% /sys/fs/cgroup
none    5120  0  5120 0% /run/lock
none    508488  0 508488 0% /run/shm
none    102400  0 102400 0% /run/user
/dev/sdb1  51474044 33100 48803172 1% /data

Related articles: