SWAP分区的扩容与挂载

本文详细介绍了在Linux系统中通过添加硬盘和创建文件两种方法来扩大swap交换分区的过程,包括硬盘分区、格式化、挂载及文件生成和格式化的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当某个时间内存不够用的时候,swap交换分区就很重要,本篇实现了swap交换分区的两种扩容方式,使用硬盘扩容和使用文件扩容。

一、将磁盘扩容到swap交换分区

1、添加硬盘

2、查看我们额外添加的磁盘

fdisk -l

3、创建swap分区

fdisk -cu /dev/sdb

4、重读分区表(可能会报错,不用管)

partx -a /dev/sdb

5、格式化swap文件系统

mkswap /dev/sdb1

6、挂载

挂载分为永久挂载和临时挂载

临时挂载:
swapon /dev/sdb1



永久挂载:
(挂载后需要重启生效)

vi /etc/fstab
按i进入编辑模式
/dev/sdb1               swap                    swap    defaults        0 0
按ESC输入 :wq保存退出

7、查看swap交换分区

swapon -s 

二、使用文件创建SWAP

1、生成swap文件

dd  if=  源文件 of=/输出目录/文件名  bs=大小 count=次数
dd if=/dev/zero of=/swap bs=1M count=1024

2、格式化

mkswap -f /swap

3、挂载并查看(这里使用的是临时挂载)

swapon /swap     临时挂载
swapon -s        查看

4、临时取消挂载

swapoff /swap     临时取消挂载
swapon -s         查看

<think>好的,我现在需要帮助用户找到关于Linux系统中如何进行分区扩容的方法或教程。用户已经提供了一些引用资料,我需要先仔细阅读这些引用内容,整理出主要的步骤和方法,然后根据系统级指令的要求来组织回答。 首先,查看用户提供的引用内容: 引用1提到分两种情况处理分区扩容,可能是指根分区和其他分区的情况。引用2具体说明了在Ubuntu 20.04下新增磁盘并挂载到/data和/var的例子,还提到了替换原有目录的方法。引用3提到了扩展根目录对应的卷组,使用vgextend和lvextend命令。引用4总结了方法一,使用fdisk分区、创建物理卷、扩展卷组、逻辑分区,最后调整文件系统。引用5则提到了MBR分区的限制,这可能影响到分区扩容的方法,尤其是当使用传统分区表时需要注意。 接下来,我需要将这些信息整合成一个结构清晰的回答,按照用户的要求分步骤说明。根据不同的扩容场景,可能需要分情况讨论,比如新增磁盘扩容原有分区扩容分区、扩展逻辑卷、或者处理swap分区等。 需要注意的是,用户要求使用中文回答,行内数学表达式用$...$,独立公式用$$...$$,但在这个问题中可能数学公式不多,但如果有涉及的地方需要正确应用。例如,在讨论磁盘空间计算时可能需要用到公式,但引用中没有提到,所以可能不需要。 另外,用户要求生成相关问题,需要根据内容提出三个相关问题,放在最后。 现在,按照步骤组织回答: 1. 确定扩容场景:比如是新增磁盘还是扩展原有分区。 2. 使用工具如fdisk或parted进行分区操作。 3. 处理物理卷、卷组和逻辑卷的扩展(如果是LVM的情况)。 4. 调整文件系统大小。 5. 处理特殊分区swap或根分区的情况。 6. 注意事项,比如备份数据,分区表类型的影响(MBR vs GPT)等。 需要确保每个步骤都有对应的引用支持,比如引用3和4提到了vgextend和lvextend,引用2提到了挂载分区为目录,引用5提到MBR的限制可能需要注意。 可能还需要指出不同方法的适用情况,例如直接扩容分区和使用新磁盘挂载的不同方法。同时,需要强调操作中的风险,如备份的重要性,避免数据丢失。 最后,生成相关问题,可能涉及不同分区扩容方法、LVM的具体操作步骤,或者扩容后的验证步骤等。</think>### Linux分区扩容方法详解 #### **一、确定扩容场景** 1. **直接扩容原有分区**:适用于LVM(逻辑卷管理)架构,可通过扩展卷组和逻辑卷实现[^3][^4]。 2. **新增磁盘并挂载为新分区**:适用于非LVM架构或需要独立目录扩容(如新增挂载点`/data`或替换`/var`)[^2][^4]。 --- #### **二、通用扩容步骤(以LVM扩容为例)** 1. **查看当前磁盘分区信息** 使用命令`lsblk`、`fdisk -l`或`pvdisplay`确认需扩容分区及卷组名称[^3]。 例如根分区对应卷组为`cs_node01`。 2. **创建新分区** - 对新磁盘使用`fdisk`或`parted`创建分区(注意MBR分区最大支持2TB,GPT无此限制)[^5]。 - 示例命令: ```bash fdisk /dev/nvme0n1 # 进入磁盘操作界面,创建新分区 partprobe # 重载分区表 ``` 3. **扩展物理卷卷组** - 将新分区初始化为物理卷: ```bash pvcreate /dev/nvme0n1p3 ``` - 扩展卷组: ```bash vgextend cs_node01 /dev/nvme0n1p3 # 将新分区加入卷组 ``` 4. **扩展逻辑卷文件系统** - 扩展逻辑卷: ```bash lvextend -l +100%FREE /dev/cs_node01/root # 将全部空间分配给根分区 ``` - 调整文件系统大小(以XFS为例): ```bash xfs_growfs / # 使扩展生效 ``` --- #### **三、特殊场景处理** 1. **扩容分区** - 若根分区使用LVM,按上述通用步骤操作即可。 - 非LVM架构需进入救援模式,操作风险较高,建议优先备份数据。 2. **挂载分区为独立目录** - 示例:将新磁盘挂载为`/data`: ```bash mkfs.ext4 /dev/sdb1 # 格式化 mount /dev/sdb1 /data # 临时挂载 echo "/dev/sdb1 /data ext4 defaults 0 0" >> /etc/fstab # 永久挂载 ``` 3. **SWAP分区扩容** - 创建新SWAP分区: ```bash mkswap /dev/sdc1 swapon /dev/sdc1 ``` - 更新`/etc/fstab`实现永久生效。 --- #### **四、注意事项** 1. **备份数据**:扩容操作可能导致数据丢失,建议提前备份[^4]。 2. **分区表类型**:MBR分区最大支持2TB,超过需使用GPT。 3. **文件系统兼容性**:`xfs_growfs`仅适用于XFS,EXT4使用`resize2fs`[^4]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值