LVM 管理减少swap分区空间增加到根分区

简介

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现。

物理存储介质(PhysicalStorageMedia)

指系统的物理存储设备:磁盘,如:/dev/hda、/dev/sda等,是存储系统最底层的存储单元。

物理卷(Physical Volume,PV)

指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

卷组(Volume Group,VG)

类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。

逻辑卷(Logical Volume,LV)

类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)。

查看信息命令

pvdisplay   #查看PV信息

[[email protected] ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               VolGroup
  PV Size               18.51 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              4738
  Free PE               0
  Allocated PE          4738
  PV UUID               ARNJxr-gfcH-rW5H-X6I1-c2da-QhM1-BJ7ljo

vgdisplay   #查看VG信息

[[email protected] ~]# vgdisplay
  --- Volume group ---
  VG Name               VolGroup
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               18.51 GiB
  PE Size               4.00 MiB
  Total PE              4738
  Alloc PE / Size       4738 / 18.51 GiB
  Free  PE / Size       0 / 0
  VG UUID               gFkWoE-8AVZ-kbd5-Clge-6Tq3-gcFh-4iVr1x

lvdisplay   #查看LV信息

[[email protected] ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/VolGroup/LogVol01
  LV Name                LogVol01
  VG Name                VolGroup
  LV UUID                UeAMMJ-G6Ou-yMlJ-9Igz-pVBU-1HSy-jt6Trt
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2015-07-23 03:42:14 -0400
  LV Status              available
  # open                 1
  LV Size                4.05 GiB
  Current LE             1036
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/VolGroup/LogVol00
  LV Name                LogVol00
  VG Name                VolGroup
  LV UUID                OF62jU-eVGO-4Rtd-TycU-aoGC-0Rs0-nDRRhE
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2015-07-23 03:42:15 -0400
  LV Status              available
  # open                 1
  LV Size                14.46 GiB
  Current LE             3702
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

缩减和增加

减少swap分区空间前要取消挂载,使用 swapoff -a

[[email protected] ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1877        140       1737          0          6         39
-/+ buffers/cache:         93       1783
Swap:         4143          0       4143
[[email protected] ~]# swapoff -a
[[email protected] ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1877        136       1740          0          6         39
-/+ buffers/cache:         91       1786
Swap:            0          0          0

使用 lvreduce -L -xxx filename 或 lvreduce -L xxx filename 来减少swap分区空间,“-”代表减多少,不加“-”代表减剩多少。下图表示给swap分区留512M。

使用 mke2fs filename 格式化分区

使用 resize2fs filename 重写分区空间

[[email protected] ~]# lvreduce -L 512M /dev/VolGroup/LogVol01
  WARNING: Reducing active and open logical volume to 512.00 MiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce LogVol01? [y/n]: y
  Reducing logical volume LogVol01 to 512.00 MiB
  Logical volume LogVol01 successfully resized
[[email protected] ~]# mke2fs /dev/VolGroup/LogVol01
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
32768 inodes, 131072 blocks
6553 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=134217728
4 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
    32768, 98304

Writing inode tables: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 29 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[[email protected] ~]# resize2fs /dev/VolGroup/LogVol01
resize2fs 1.41.12 (17-May-2010)
The filesystem is already 131072 blocks long.  Nothing to do!

使用 lvextend -L +1G filename 为根分区增加空闲空间,用法同上。空闲空间可以使用vgdisplay查看,增加空间不需要格式化。

[[email protected] ~]# lvextend -L +3.54G /dev/VolGroup/LogVol00
  Rounding size to boundary between physical extents: 3.54 GiB
  Extending logical volume LogVol00 to 18.00 GiB
  Logical volume LogVol00 successfully resized
[[email protected] ~]# resize2fs /dev/VolGroup/LogVol00
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/VolGroup/LogVol00 is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/VolGroup/LogVol00 to 4719616 (4k) blocks.
The filesystem on /dev/VolGroup/LogVol00 is now 4719616 blocks long.

swap文件

新建2G的swap文件,挂载到swap,添加到开机启动项。

[[email protected] ~]# dd if=/dev/zero of=/www/swap bs=1024 count=2048000
2048000+0 records in
2048000+0 records out
2097152000 bytes (2.1 GB) copied, 12.0018 s, 175 MB/s
[[email protected] ~]# mkswap /www/swap
mkswap: /www/swap: warning: don‘t erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 2047996 KiB
no label, UUID=92ab4ed5-f301-4ba4-970f-9e5600610522
[[email protected] ~]# swapon /www/swap
[[email protected] ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1877       1796         80          0          7       1647
-/+ buffers/cache:        142       1735
Swap:         1999          0       1999
[[email protected] ~]# swapon -s
Filename                Type        Size    Used    Priority
/www/swap                               file        2047992    0    -1

修改启动项

编辑 /etc/fstab文件,去掉之前的swap分区挂载,在最末行增加swap文件的挂载

[[email protected] ~]# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Thu Jul 23 03:45:08 2015
#
# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/VolGroup-LogVol00 /                       ext4    defaults        1 1
UUID=4221a802-6ce2-4638-a3a5-7c17b961f291 /boot                   ext4    defaults        1 2
UUID=b720b68f-37b7-45ce-b4a2-40deeb9fa90f /www                    ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/www/swap               swap                    swap    defaults        0 0

重启后可以看到,根分区空间有增加, swap使用的是swap文件

[[email protected] ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-LogVol00
                       18G  716M   17G   5% /
tmpfs                 939M     0  939M   0% /dev/shm
/dev/sda1             485M   32M  429M   7% /boot
/dev/sda2              61G  2.2G   55G   4% /www
[[email protected] ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1877        135       1741          0          7         36
-/+ buffers/cache:         91       1786
Swap:         1999          0       1999
[[email protected] ~]# swapon -s
Filename                Type        Size    Used    Priority
/www/swap                               file        2047992    0    -1

注:之前有实验过直接删掉swap的LV,用文件代替,但是,删除swap的LV后,重启报错如图

按网上的解决办法,开机按“e”加“enforcing=0”神马的不管用。这个问题暂时木有解决,有解决过的老师,请告诉下学生。

时间: 2024-11-05 20:48:20

LVM 管理减少swap分区空间增加到根分区的相关文章

从yum提示空间不足到根分区扩容

记录一次安装软件的报错 --[email protected]         1.系统版本(VMware 虚拟机) [[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 2.当执行yum安装软件时报如下错 Error: Error writing to file /var/cache/yum/x86_64/7/epel/gen/filelists_db.sqlite: [Errno

vmware上给根分区增加空间以及创建逻辑卷

1.在vmware上给根分区增加空间 509  cd /sys/class/scsi_host/ 查看添加的硬盘信息是否在系统中 521  echo "- - -" > /sys/class/scsi_host/host0/scan加载硬盘信息 522  echo "- - -" > /sys/class/scsi_host/host1/scan 523  echo "- - -" > /sys/class/scsi_host/

Linux学习心得之 LVM管理与Linux系统安装

LVM管理与Linux系统安装 1.前言 2.LVM 简介与术语 3.LVM 使用 4.Linux 分区 5.Linux 安装注意事项 一.前言 本篇博文记录了Linux的学习心得,重点记录了 Logical Volume Manager(LVM,逻辑卷管理)技术的应用,以及安装Linux时的分区的基础方案. 本篇博文大部分内容基于以下文章,甚至于一些图片来自于以下一些博客,本文在一定程度上,可以说是对以下文章的转载和学习; http://www.cnblogs.com/gaojun/archi

调整home分区和根分区的大小

在使用linux的过程中, 有时会出现因为安装系统时分区不当导致有的分区空间不足,而有的分区空间过剩的情况.下面本文将讲述解决linux系统CentOS下调整home和根分区大小的方法,需要的朋友可以参考下owncloud的xxx/data/路径修改之后,没有web服务器写入权限,于是把多余的home分区的容量调整到了root文件夹下面,于是,解决了相关问题.下一个问题,解决外挂硬盘的问题. 目标:将VolGroup-lv_home缩小到20G,并将剩余的空间添加给VolGroup-lv_roo

centos7下在线扩容根分区

知识概要:在kvm那章,我们知道centos7默认是启用lvm的,vg组名为centos,根分区所在文件系统名为/dev/mapper/centos-root,默认根分区是分50G的 接下来进入正题 随着使用的深入,根分区总是不够用的,此时需要扩容,在线扩容无疑是最好的 一.先添加一块磁盘,你不重启,用fdisk -l是看不到的,此时需要执行下面脚本 #不关机使添加硬盘生效 numbers=`ls -l /sys/class/scsi_host/host* | wc -l` for ((i=0;

磁盘空间增加swap分区

1)创建一个swap文件. swap分区最适合的大小事物理内存的1-2倍 进入到一个大的磁盘空间中 dd if=/dev/zero of=swapfile bs=1024 count=1024000增加1G. 或者 dd if=/dev/zero of=swapfile bs=1G count=1 2)把分区变成swap分区 /sbin/mkswap swapfile 3)使其成为有效状态 /sbin/swapon swapfile 4)检查是否正确 free -m 或者 /sbin/swapo

Linux7/Centos7磁盘分区、格式化及LVM管理

RHEL7如何对磁盘进行分区和格式化以及如何配置LVM,与以前版本的RHEL区别不大,可以通过disk工具(在图形桌面中运行)或命令工具(如:fdisk.gdisk.parted)管理硬盘设备.fdisk可以配置MBR格式: gdisk配置gpt格式, parted可以自己选择.传统的硬盘分区都是MBR格式,MBR分区位于0扇区,他一共512字节,前446字节是grub引导程序,这个会在后面学习:中间64字节是分区表,每个分区需要16个字节表示,因此主分区和扩展分区一共只能有4个分区,超过4个的

linux基础学习-第十五天 磁盘管理(SWAP、dd、quota、RAID、LVM)

2016-08-26: 授课内容: 1.SWAP交换分区的创建 2.dd命令的使用 3.设定文件系统配额 4.设定和管理软RAID设备 5.配置逻辑卷 1.swap (1)SWAP分区:模拟内存,当物理内存不足时,进程需要内存资源是,内存会把一部分没有在用的进程分页挪到硬盘的模拟内存中,腾出空间被现在需要使用内存资源的进程 即其作用是可以允许内存过载使用,windows系统也有类似的机制,由于虚拟内存空间是建立在硬盘之上,所以其速度和性能会大打折扣,所以适合临时使用 (2)创建SWAP分区: 相

同一个磁盘中从根分区缩小空间到扩展SWAP分区空间实践步骤

操作背景: 公司中有一部分主机在开始设计的时候,并未考虑到SWAP的大小,只是分配了物理内存的2倍-4G,导致后期应用部署完成后对系统的SWAP分区要求达不到标准.因此经过部分和领导讨论后,决定在同一块磁盘上来减少根分区的大小,并使用缩减出来的大小去增加swap分区大小的操作,这中间要保障数据的完整和业务应用不丢失.这样做既可以保障数据盘不受影响,也保证应用系统在完成后可以正常使用,也减少了以后的一些风险(比如要使用额外的磁盘来增加swap空间大小需要考虑额外磁盘的稳定等). 操作分析: 由于根