如何扩展位于其他分区中间的分区(或创建新分区并迁移数据)

如何扩展位于其他分区中间的分区(或创建新分区并迁移数据)

因此我需要扩展系统上的分区(/tmp),但不明白具体如何进行(我最初没有设置分区)。

以下命令显示:

fdisk -l
Disk /dev/sda: 4798.6 GB, 4798552211456 bytes, 9372172288 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 label type: gpt

#         Start          End    Size  Type            Name
1         2048       411647    200M  EFI System      EFI System Partition
2       411648      1435647    500M  Microsoft basic
3      1435648    395407359  187.9G  Microsoft basic
4    395407360    446607359   24.4G  Microsoft basic
5    446607360    497807359   24.4G  Microsoft basic
6    497807360    549007359   24.4G  Microsoft basic
7    549007360    569487359    9.8G  Microsoft basic
8    569487360    585871359    7.8G  Linux swap
9    585871360   6585871360    2.8T  Linux filesyste

我创建的各个分区如下:

/dev/sda3 on / type xfs (rw,relatime,attr2,inode64,noquota)
/dev/sda4 on /var type xfs (rw,relatime,attr2,inode64,noquota)
/dev/sda9 on /home type ext4 (rw,relatime,data=ordered)
/dev/sda7 on /tmp type xfs (rw,relatime,attr2,inode64,noquota)
/dev/sda2 on /boot type xfs (rw,relatime,attr2,inode64,noquota)
/dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=winnt,errors=remount-ro)
/dev/sda5 on /var/log type xfs     (rw,relatime,attr2,inode64,noquota)
/dev/sda6 on /var/log/audit type xfs (rw,relatime,attr2,inode64,noquota)

我看到分配了以下大小:

Filesystem   Size  Used Avail Use% Mounted on
/dev/sda3    188G  123G   66G  66% /
/dev/sda4    25G  3.8G   21G  16% /var
/dev/sda9    2.8T  224G  2.4T   9% /home
/dev/sda7    9.8G   46M  9.8G   1% /tmp
/dev/sda2    497M  161M  337M  33% /boot
/dev/sda1    200M  9.8M  191M   5% /boot/efi
/dev/sda5    25G  151M   25G   1% /var/log
/dev/sda6    25G   71M   25G   1% /var/log/audit

据我所见,/dev/sda8 一定已被删除并从 XFS 到 EXT4 分区重新创建。

我需要扩展 /dev/sda7 以获得更多空间,从快速统计来看,/dev/sda 大约为 5TB,而 /dev/sda1 --> /dev/sda9 只使用了 3TB 多一点的空间。这让我相信 /dev/sda 上还剩下 1-2TB。我需要在不丢失数据的情况下增加它,最好不要停机。

我“认为”我需要创建另一个分区 (/dev/sda10) 并为其分配所需的空间。然后我将运行“mkfs -t ext4 /dev/sda10”为其分配文件系统。然后更新 /etc/fstab 以将 /dev/sda10 指向 /tmp(也许先挂载 /dev/sda10 并将所有 /tmp 复制过去?)。

我这样做对吗?谢谢

答案1

您的mountdf输出确认这/tmp是一个位于的已挂载文件系统/dev/sda7

您的fdisk输出显示/dev/sda7紧接着的是类型为“Linux Swap”的/dev/sda分区/dev/sda8。这个分区很可能被用作交换分区。(您可以使用命令来验证这一点swapon。)如果您想就地增加,/dev/sda7您必须/dev/sda8先删除。

您的fdisk输出还显示磁盘的总大小为 9372172288 个扇区,但最后一个分区/dev/sda9以扇区 6585871360 结束。因此,最后一个分区后有 9372172288 - 6585871360 = 2786300928 个扇区(或 1.3 TB)的未分区可用空间。

这给你提供了两种可能的途径:

a) 将交换分区移至未分区的空间,并将该/tmp分区扩展到交换分区以前占用的空间。您可以不停机执行此操作,方法是先从/dev/sda10扇区 6585871360 开始创建一个所需大小的新交换分区,使用 激活它swapon /dev/sda10,然后使用 停用旧交换分区swapoff /dev/sda7。在旧交换分区清空后,您可以删除分区 8 并将分区 7 扩展到该空间。这将为您提供/tmp最多 585871360 - 549007360 = 36864000 个扇区(或 17.6 GB)的分区。

b) 将/tmp分区移至未分区的空间。这样您就可以将其扩展到 1.3 TB。但是,这将需要(短暂的)停机时间,因为您需要卸载当前/tmp分区,而这在系统运行时是不可能的。

相关内容