我有 /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