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

王朝学院·作者佚名  2016-05-26
窄屏简体版  字體: 小  |  中  |  大  |  超大  

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信息

[root@localhost ~]# 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信息

[root@localhost ~]# 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信息

[root@localhost ~]# 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

[root@localhost ~]# free -m total used free shared buffers cachedMem: 1877 140 1737 0 6 39-/+ buffers/cache: 93 1783Swap: 4143 0 4143[root@localhost ~]# swapoff -a[root@localhost ~]# free -m total used free shared buffers cachedMem: 1877 136 1740 0 6 39-/+ buffers/cache: 91 1786Swap: 0 0 0

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

使用 mke2fs filename格式化分区

使用 resize2fs filename重写分区空间

[root@localhost ~]# 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[root@localhost ~]# mke2fs /dev/VolGroup/LogVol01mke2fs 1.41.12 (17-May-2010)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks32768 inodes, 131072 blocks6553 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=1342177284 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks: 32768, 98304Writing inode tables: done Writing superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 29 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.[root@localhost ~]# resize2fs /dev/VolGroup/LogVol01resize2fs 1.41.12 (17-May-2010)The filesystem is already 131072 blocks long. Nothing to do!

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

[root@localhost ~]# 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[root@localhost ~]# resize2fs /dev/VolGroup/LogVol00resize2fs 1.41.12 (17-May-2010)Filesystem at /dev/VolGroup/LogVol00 is mounted on /; on-line resizing requiredold desc_blocks = 1, new_desc_blocks = 2Performing 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,添加到开机启动项。

[root@localhost ~]# dd if=/dev/zero of=/www/swap bs=1024 count=20480002048000+0 records in2048000+0 records out2097152000 bytes (2.1 GB) copied, 12.0018 s, 175 MB/s[root@localhost ~]# 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 KiBno label, UUID=92ab4ed5-f301-4ba4-970f-9e5600610522[root@localhost ~]# swapon /www/swap [root@localhost ~]# free -m total used free shared buffers cachedMem: 1877 1796 80 0 7 1647-/+ buffers/cache: 142 1735Swap: 1999 0 1999[root@localhost ~]# swapon -sFilename Type Size Used PRiority/www/swap file 2047992 0 -1

修改启动项

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

[root@localhost ~]# 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 1UUID=4221a802-6ce2-4638-a3a5-7c17b961f291 /boot ext4 defaults 1 2UUID=b720b68f-37b7-45ce-b4a2-40deeb9fa90f /www ext3 defaults 1 2tmpfs /dev/shm tmpfs defaults 0 0devpts /dev/pts devpts gid=5,mode=620 0 0sysfs /sys sysfs defaults 0 0proc /proc proc defaults 0 0/www/swap swap swap defaults 0 0

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

[root@localhost ~]# df -hFilesystem 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[root@localhost ~]# free -m total used free shared buffers cachedMem: 1877 135 1741 0 7 36-/+ buffers/cache: 91 1786Swap: 1999 0 1999[root@localhost ~]# swapon -sFilename Type Size Used Priority/www/swap file 2047992 0 -1

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

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

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航