CentOS 8 系统运行时增加磁盘分区和/var文件系统

CentOS 8 系统运行时增加磁盘分区和/var文件系统

我有 /dev/sdc1 磁盘的 /var 文件系统部分。我需要将该磁盘大小从 25GB 增加到 60GB。我已经增加了磁盘大小。现在我正在寻找正确的步骤来在系统运行时增加 sdc1 分区表并扩展文件系统。

# df -h /var
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdc1        25G   18G  7.8G  70% /var

# sgdisk -p /dev/sdc
Disk /dev/sdc: 125829120 sectors, 60.0 GiB
Model: Virtual disk
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): A7852C28-6258-451D-A2BD-9F5A7CB7DB40
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 52428766
Partitions will be aligned on 2048-sector boundaries
Total free space is 4029 sectors (2.0 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048        52426751   25.0 GiB    8300

系统运行时是否可以这样做,如果可以,我可以知道增加的步骤吗?

/var是xfs文件系统,我们可以使用xfs_grow来增加文件系统。我需要知道增加分区大小的正确步骤。

答案1

第一步,进行完整且充分的备份。意外时有发生,据您所知,您的 XFS 系统可能会轻微损坏,并且在调整大小时可能会完全崩溃。或者我可能是一个皇家混蛋,给你提供糟糕的建议,只是为了想象当文件系统扔掉水桶时你的表情。或者,很有可能,我可以真诚地相信这些说明会起作用,但实际上却不起作用。当你告诉我你丢失了所有宝贵的数据时,我会感到震惊,但我无法挽回损失

所以:备份

第二步,需要扩大分区。为此,只需调整分区大小(您甚至可以删除它并重新创建它)具有相同的起始扇区,当然前提是您在完成之前不保存并重新启动!)。

还有一些可以自动增长分区的工具,以及很多教程。这是。但只需搜索“无需重新启动即可增长根分区”,您应该会很好(是的,这不是您的根分区,但是/var- 但这样您将选择“更安全”的教程。适用于 / 的内容将适用更好的/var)。

完成此操作后(不需要重新启动,是的,但您确实需要重新读取分区 -fdisk自动执行此操作,否则使用partprobe),您将拥有一个像这样的分区(实际的结束扇区可能略有不同,“GB”大小这是一个品味问题)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         125824202  60.0 GiB   8300

但在这个 60 GB 分区上,文件系统中只剩下 25 GB。您可以安全地重新启动并正常使用系统,只是不会有任何额外的空间。

但在继续之前:你做过完整备份,是吗?

在这一点上,我可能会提到,您也可以通过以下方式以不同的方式完成此操作添加新分区/dev/sdc1独自离开。例如,您有大量数据/home(例如,旧 25 GB 中的 15 GB)?创建一个/dev/sdc2带有额外 35 GB 的分区,移到/home那里,您现在在 上有 15 GB 可用空间/dev/sdc1,在 上剩余 20 GB /sdc2,并且您的原始分区保持不变(您仍然应该做备份)!无需调整任何东西的大小,如果额外的空间/dev/sdc2足够你使用了。

但如果不是,并且您希望将所有内容都集中在一个块中,那么好吧,/dev/sdc1您必须成长。

# xfs_growfs -n /dev/sdc1

将为您提供有关现有 25GB 文件系统的信息。数据块数量可能约为六百万个半。

做这个没有-n选项然后 - 过了一会儿,我通常会窃窃私语“至少我做了备份……”- 你会看到类似的东西,

data blocks changed from 6553600 to 15728640

只是要确定,

# xfs_info /dev/sdc1

除其他外,应该说类似的话

data     = bsize=4096   blocks=15728640, imaxpct=25

如果您现在运行df,它应该显示新的 FS 大小 60GB。欢迎使用更大的磁盘!

答案2

这是不可能的,除非您杀死所有使用 的应用程序/var

要执行此操作,您需要使用 resize2fs,它将从内核读取分区数据,因此第一步是调整大小,/dev/sdc1但是 Linux 内核不允许更改磁盘分区(如果安装了任何磁盘分区)。

答案3

感谢您的每一项投入。

我使用下面的命令来调整文件系统的大小。growpart工具真的帮助了我。

基于此链接执行以下步骤。

https://www.cyberciti.biz/faq/linux-extend-file-system-after-resize-disk-volume/

1.
   # dnf install cloud-utils-growpart -y
  
2.  
  #  growpart --dry-run /dev/sdc 1
  #  growpart /dev/sdc 1

# sgdisk -p /dev/sdc
Disk /dev/sdc: 125829120 sectors, 60.0 GiB
Model: Virtual disk
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): A7852C28-6258-451D-A2BD-9F5A7CB7DB40
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 125829086
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048       125829086   60.0 GiB    8300


3.

  #  xfs_growfs -n /dev/sdc1
  #  xfs_growfs  /dev/sdc1
 
4.   
    # df -h /var
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sdc1        60G   17G   44G  27% /var

相关内容