Linux使用lvresize扩展或缩减LV大小

本文详细介绍了如何使用LVM进行磁盘分区管理,包括创建、挂载目录、LV的扩容与缩减操作步骤,并提供了实际操作案例。
一、新建并挂载目录 /u01 和 /data
1.创建目录挂节点/u01,/data
mkdir -p /{u01,data}
2.创建lv,名称是lv_u01,大小10g,从vg_linuxidc中划分空间,这里的vg_linuxidc是vg的名称。
lvcreate -L 10g -n lv_u01 vg_linuxidc
3.格式化为ext4文件系统
mkfs.ext4 /dev/mapper/vg_linuxidc-lv_u01
4.同样的,创建lv_data
lvcreate -L 10g -n lv_data vg_linuxidc
mkfs.ext4 /dev/mapper/vg_linuxidc-lv_data
5.在/etc/fstab中添加挂载信息,实现开机自动挂载
vi /etc/fstab/dev/mapper/vg_linuxidc-lv_u01      /u01                    ext4    defaults        1 1/dev/mapper/vg_linuxidc-lv_data      /data                    ext4    defaults        1 1
二、lv扩容:
第一种方法:直接增大5G,写“+5G”
1.lv扩容5G
lvresize -L +5G /dev/mapper/vg_linuxidc-lv_root
2.文件系统大小变更
resize2fs /dev/mapper/vg_linuxidc-lv_root
第二种方法:原来是10G,增大5G就是“15G”
1.lv扩容到15G
lvresize -L 15G /dev/mapper/vg_linuxidc-lv_u01
2.文件系统大小变更
resize2fs  /dev/mapper/vg_linuxidc-lv_u01
注:以上的lvresize命令操作也可以通过lvextend命令实现。
三、lv缩减:
1.需要先卸载目录
umount /u01
2.这一步是否有根据执行下一步的执行返回决定,看下面的例子
e2fsck -f /dev/mapper/vg_linuxidc-lv_u01
3.文件系统大小变更
resize2fs  /dev/mapper/vg_linuxidc-lv_u01 10G
4.lv缩减
lvresize -L 10G /dev/mapper/vg_linuxidc-lv_u01
5.挂载所有/etc/fstab中记录的目录
mount -a
附:lv缩减的一个实际操作过程:
[root@LINUXIDC-DB ~]# umount /u01
[root@LINUXIDC-DB ~]# resize2fs  /dev/mapper/vg_linuxidc-lv_u01 10G
resize2fs 1.41.12 (17-May-2010)
Please run 'e2fsck -f /dev/mapper/vg_linuxidc-lv_u01' first.

[root@LINUXIDC-DB ~]# e2fsck -f /dev/mapper/vg_linuxidc-lv_u01
e2fsck 1.41.12 (17-May-2010)
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/mapper/vg_linuxidc-lv_u01: 12/983040 files (0.0% non-contiguous), 100865/3932160 blocks
[root@LINUXIDC-DB ~]# resize2fs  /dev/mapper/vg_linuxidc-lv_u01 10G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/vg_linuxidc-lv_u01 to 2621440 (4k) blocks.
The filesystem on /dev/mapper/vg_linuxidc-lv_u01 is now 2621440 blocks long.

[root@LINUXIDC-DB ~]# lvresize -L 10G /dev/mapper/vg_linuxidc-lv_u01
  WARNING: Reducing active logical volume to 10.00 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)Do you really want to reduce lv_u01? [y/n]: y  Size of logical volume vg_linuxidc/lv_u01 changed from 15.00 GiB (3840 extents) to 10.00 GiB (2560 extents).  Logical volume lv_u01 successfully resized
[root@LINUXIDC-DB ~]# mount -a
[root@LINUXIDC-DB ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on/dev/mapper/vg_linuxidc-lv_root                       15G  1.8G   13G  13% /
tmpfs                 499M     0  499M   0% /dev/shm
/dev/sda1             190M   36M  145M  20% /boot
/dev/mapper/vg_linuxidc-lv_data                      9.8G   23M  9.2G   1% /data/dev/mapper/vg_linuxidc-lv_u01                      9.8G   23M  9.2G   1% /u01
[root@LINUXIDC-DB ~]#
同样lvreduce命令也可以实现lv的缩减。
lvresize命令实际上是包含了lvextend和lvreduce的功能。
--LVM管理的swap扩展,比如增大1024M:
[root@linuxidc-DB ~]# swapoff /dev/mapper/vg_linuxidc-lv_swap
[root@linuxidc-DB ~]# lvextend -L +1024m /dev/mapper/vg_linuxidc-lv_swap
[root@linuxidc-DB ~]# mkswap /dev/mapper/vg_linuxidc-lv_swap
[root@linuxidc-DB ~]# swapon /dev/mapper/vg_linuxidc-lv_swap





转载地址:http://blog.51cto.com/xiaocao13140/2114480







<think>好的,我现在需要帮助用户解决如何检查系统是否使用LVM存储,以及如何调整SWAP逻辑卷的大小的问题。首先,我得理清楚用户的需求。用户可能对LVM不太熟悉,所以需要详细的步骤说明,同时要确保命令的正确性,避免操作失误导致系统问题。 首先,用户需要确认系统是否使用LVM。我记得LVM管理的存储通常会有物理卷(PV)、卷组(VG)和逻辑卷(LV)。所以第一步应该是检查是否存在这些组件。常用的命令有`pvscan`、`vgscan`和`lvscan`,这些命令可以列出系统中的LVM组件。另外,`lsblk`和`blkid`也能帮助查看块设备的信息,特别是文件系统类型是否为LVM的LVM2_member。 接下来,用户需要调整SWAP逻辑卷的大小。这里需要注意,调整SWAP涉及到几个步骤:首先确认当前的SWAP信息,可以使用`swapon --show`找到对应的逻辑卷。然后需要关闭SWAP,使用`swapoff`命令,否则无法调整。调整逻辑卷的大小要用`lvresize`,可能需要先扩展卷组,如果卷组空间不足的话,可以通过`vgextend`添加新的物理卷。调整完逻辑卷后,要使用`mkswap`重新创建SWAP区域,再启用SWAP。最后,验证新的SWAP大小是否生效。 需要提醒用户注意备份数据,特别是在操作磁盘分区时,避免数据丢失。另外,调整逻辑卷大小前确保卷组有足够的空间,者准备好添加新的物理卷。使用`lvresize`时,-L参数指定新的大小,比如+5G表示增加5GB,而直接写5G则是设置绝对大小。用户可能会混淆这两个参数,需要特别说明。 还有可能遇到的问题,比如调整逻辑卷后文件系统是否需要调整。但SWAP区域是直接格式化的,不需要像ext4那样调整文件系统,所以这里可能不需要`resize2fs`之类的命令。但如果是调整其他类型的逻辑卷,比如根目录,可能需要额外的步骤,但用户的问题集中在SWAP,所以这部分可以省略。 另外,用户可能需要知道如何扩展卷组,如果现有卷组空间不足的话。这涉及到添加新的磁盘分区作为物理卷,然后将其加入卷组。这部分内用户虽然没有直接问,但可能需要作为预备步骤,所以应该简要提及。 最后,确保所有命令都需要root权限,提醒用户使用sudo者切换到root用户执行。命令的顺序也很重要,比如必须先关闭SWAP才能调整,调整后重新格式化并启用。 现在,我需要将这些步骤整理成清晰的中文回答,分步骤说明,确保用户能够按照步骤操作,同时注意命令的正确性和注意事项,防止系统出现问题。可能还需要生成相关问题,比如如何扩展卷组,如何创建新的逻辑卷,LVM的其他基本操作,这些可以作为相关问题推荐给用户,帮助他们进一步学习。</think>### 确认系统是否使用LVM存储的方法 1. **检查物理卷(PV)信息** 执行命令 `pvscan`,若输出包含物理卷路径(如 `/dev/sda2`)且状态为 `LVM2_member`,则说明系统使用LVM存储。 ```bash sudo pvscan ``` 2. **查看卷组(VG)和逻辑卷(LV)** 通过 `vgscan` 和 `lvscan` 命令分别列出卷组和逻辑卷。若存在LV类型为 `swap`,则SWAP由LVM管理。 ```bash sudo vgscan sudo lvscan ``` 3. **验证块设备类型** 使用 `lsblk` `blkid` 查看设备详细信息。若SWAP分区的 `TYPE` 字段显示为 `lvm`,则说明基于LVM。 ```bash sudo lsblk -f sudo blkid ``` --- ### 使用lvresize调整SWAP逻辑卷的步骤 1. **确认当前SWAP信息** 执行 `swapon --show` 获取SWAP逻辑卷路径(如 `/dev/vg0/swap`)[^1]。 ```bash sudo swapon --show ``` 2. **关闭SWAP分区** 必须禁用SWAP才能调整大小: ```bash sudo swapoff /dev/vg0/swap ``` 3. **扩展逻辑卷** 使用 `lvresize` 调整量,例如增加5GB: ```bash sudo lvresize -L +5G /dev/vg0/swap ``` **注意**:若卷组空间不足,需先通过 `vgextend` 扩展卷组。 4. **重新初始化SWAP区域** 格式化逻辑卷为SWAP格式: ```bash sudo mkswap /dev/vg0/swap ``` 5. **重新启用SWAP** ```bash sudo swapon /dev/vg0/swap ``` 6. **验证调整结果** 通过 `free -h` `swapon --show` 确认新量是否生效。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值