音效素材网提供各类素材,打造精品素材网站!

站内导航 站长工具 投稿中心 手机访问

音效素材

Linux中的LVM之增加容量与删除卷的方法详解
日期:2015-10-20 11:25:27   来源:脚本之家

放大LV容量涉及到LVM管理中的命令lvresize,我们先创建一个卷组VG VolGroup02,它建立在磁盘/dev/sdc (大小为8G)上。创建逻辑卷LV时,我们故意只使用了一小部分。具体情况如下所示

复制代码
代码如下:

[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name VolGroup02
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 7.97 GiB
PE Size 32.00 MiB
Total PE 255
Alloc PE / Size 0 / 0
Free PE / Size 255 / 7.97 GiB
VG UUID SETgjx-dobd-Uayt-AWgN-HKID-hsYe-tEotIS
[root@localhost ~]# lvcreate -L7.97 -n LogVol00 VolGroup02
Rounding up size to full physical extent 32.00 MiB
Logical volume "LogVol00" created
[root@localhost ~]# mkfs -t ext4 /dev/VolGroup02/LogVol00
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
8192 inodes, 32768 blocks
1638 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=33554432
4 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
8193, 24577

Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 23 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@localhost ~]# cd /
[root@localhost /]# mkdir /u01
[root@localhost /]# mount /dev/VolGroup02/LogVol00 /u01
[root@localhost /]# vi /etc/fstab

#
# /etc/fstab
# Created by anaconda on Mon Aug 17 15:08:21 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
#
UUID=3440ad55-6486-45ed-876f-e942b08013bf / ext4 defaults 1 1
UUID=d3abb655-db70-4c42-967d-57c421abfda0 /boot ext4 defaults 1 2
UUID=660624ff-335d-42ca-b779-f130a80d9da8 /home ext4 defaults 1 2
UUID=6f534bf0-e486-4937-84ae-ed1221cf34f1 swap swap defaults 0 0
/dev/VolGroup02/LogVol00 /u01 ext4 defaults 1 1
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



此时,我们要放大文件系统/u01的大小,那么就需要使用到lvresize 放大LV容量

复制代码
代码如下:

[root@localhost ~]# lvscan
ACTIVE '/dev/VolGroup02/LogVol00' [32.00 MiB] inherit
[root@localhost ~]# lvdisplay /dev/VolGroup02/LogVol00
--- Logical volume ---
LV Path /dev/VolGroup02/LogVol00
LV Name LogVol00
VG Name VolGroup02
LV UUID OCHwx1-EL9P-6C5J-RNuz-2Xu5-4215-H3xt5s
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2015-09-01 10:50:10 +0800
LV Status available
# open 1
LV Size 32.00 MiB
Current LE 1
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0

[root@localhost ~]# lvresize -L +7.89G /dev/VolGroup02/LogVol00
Rounding size to boundary between physical extents: 7.91 GiB
Size of logical volume VolGroup02/LogVol00 changed from 32.00 MiB (1 extents) to 7.94 GiB (254 extents).
Logical volume LogVol00 successfully resized



复制代码
代码如下:

[root@localhost ~]# resize2fs -p /dev/VolGroup02/LogVol00
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/VolGroup02/LogVol00 is mounted on /u01; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 32
Performing an on-line resize of /dev/VolGroup02/LogVol00 to 8323072 (1k) blocks.
The filesystem on /dev/VolGroup02/LogVol00 is now 8323072 blocks long.

[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 27G 6.0G 20G 24% /
tmpfs 5.9G 0 5.9G 0% /dev/shm
/dev/sda1 477M 32M 420M 8% /boot
/dev/sdb1 99G 60M 94G 1% /home
/dev/mapper/VolGroup02-LogVol00
7.7G 2.7M 7.3G 1% /u01


如果我们此时在虚拟机上将磁盘从8G扩展为10G,那么要如何利用扩展的磁盘空间呢?


复制代码
代码如下:

[root@localhost u01]# fdisk -l

Disk /dev/sda: 42.9 GB, 42949672960 bytes
64 heads, 32 sectors/track, 40960 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000462cf

Device Boot Start End Blocks Id System
/dev/sda1 * 2 501 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 502 28672 28847104 83 Linux
Partition 2 does not end on cylinder boundary.
/dev/sda3 28673 40960 12582912 82 Linux swap / Solaris
Partition 3 does not end on cylinder boundary.

Disk /dev/sdc: 8589 MB, 8589934592 bytes
64 heads, 32 sectors/track, 8192 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x98c391fe

Device Boot Start End Blocks Id System
/dev/sdc1 1 8192 8388592 83 Linux

Disk /dev/sdb: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0002488e

Device Boot Start End Blocks Id System
/dev/sdb1 1 13055 104856576 83 Linux

Disk /dev/mapper/VolGroup02-LogVol00: 33 MB, 33554432 bytes
255 heads, 63 sectors/track, 4 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


重启过后才能看到/dev/sdc的空间变化情况。


删除物理卷
删除卷LVM管理中的命令vgreduce, pvremove:

   vgreduce:通过删除LVM卷组中的物理卷来减少卷组容量。注意:不能删除LVM卷组中剩余的最后一个物理卷

   pvremove: 用于删除一个存在的物理卷。使用pvremove指令删除物理卷时,它将LVM分区上的物理卷信息删除,使其不再被视为一个物理卷。

在删除物理卷PV之前,必须将服务器的分区信息、卷组信息、物理卷信息、逻辑卷信息都掌握清楚,避免出现失误或误操作。

复制代码
代码如下:

[root@localhost ~]# fdisk -l

Disk /dev/sda: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 10443 83778975 8e Linux LVM
/dev/sda3 10444 15665 41945715 83 Linux
[root@localhost ~]# vgscan
Reading all physical volumes. This may take a while...
Found volume group "VolGroup00" using metadata type lvm2
[root@localhost ~]# pvscan
PV /dev/sda2 VG VolGroup00 lvm2 [79.88 GB / 0 free]
PV /dev/sda3 VG VolGroup00 lvm2 [40.00 GB / 40.00 GB free]
Total: 2 [119.88 GB] / in use: 2 [119.88 GB] / in no VG: 0 [0 ]
[root@localhost ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name VolGroup00
PV Size 79.90 GB / not usable 23.41 MB
Allocatable yes (but full)
PE Size (KByte) 32768
Total PE 2556
Free PE 0
Allocated PE 2556
PV UUID YGtB2J-ZKJr-mV62-NluQ-2DGy-vuUT-cCc1lo

--- Physical volume ---
PV Name /dev/sda3
VG Name VolGroup00
PV Size 40.00 GB / not usable 2.61 MB
Allocatable yes
PE Size (KByte) 32768
Total PE 1280
Free PE 1280
Allocated PE 0
PV UUID wsnv13-7j1H-SH8q-hl6k-HpNc-x4WU-gM7LzW

[root@localhost ~]# lvscan
ACTIVE '/dev/VolGroup00/LogVol00' [77.91 GB] inherit
ACTIVE '/dev/VolGroup00/LogVol01' [1.97 GB] inherit
[root@localhost ~]# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
LogVol00 VolGroup00 -wi-ao 77.91G
LogVol01 VolGroup00 -wi-ao 1.97G

vgreduce参数:
-a:如果命令行中没有指定要删除的物理卷,则删除所有的空物理卷;

--removemissing:删除卷组中丢失的物理卷,使卷组恢复正常状态。

复制代码
代码如下:

[root@localhost ~]# vgreduce VolGroup00 /dev/sda3
Removed "/dev/sda3" from volume group "VolGroup00"
[root@localhost ~]#



复制代码
代码如下:

[root@localhost ~]# pvscan
PV /dev/sda2 VG VolGroup00 lvm2 [79.88 GB / 0 free]
PV /dev/sda3 lvm2 [40.00 GB]
Total: 2 [119.88 GB] / in use: 1 [79.88 GB] / in no VG: 1 [40.00 GB]
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 VolGroup00 lvm2 a- 79.88G 0
/dev/sda3 lvm2 a- 40.00G 40.00G
[root@localhost ~]# pvremove /dev/sda3
Labels on physical volume "/dev/sda3" successfully wiped
[root@localhost ~]# pvscan
PV /dev/sda2 VG VolGroup00 lvm2 [79.88 GB / 0 free]
Total: 1 [79.88 GB] / in use: 1 [79.88 GB] / in no VG: 0 [0 ]

    您感兴趣的教程

    在docker中安装mysql详解

    本篇文章主要介绍了在docker中安装mysql详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编...

    详解 安装 docker mysql

    win10中文输入法仅在桌面显示怎么办?

    win10中文输入法仅在桌面显示怎么办?

    win10系统使用搜狗,QQ输入法只有在显示桌面的时候才出来,在使用其他程序输入框里面却只能输入字母数字,win10中...

    win10 中文输入法

    一分钟掌握linux系统目录结构

    这篇文章主要介绍了linux系统目录结构,通过结构图和多张表格了解linux系统目录结构,感兴趣的小伙伴们可以参考一...

    结构 目录 系统 linux

    PHP程序员玩转Linux系列 Linux和Windows安装

    这篇文章主要为大家详细介绍了PHP程序员玩转Linux系列文章,Linux和Windows安装nginx教程,具有一定的参考价值,感兴趣...

    玩转 程序员 安装 系列 PHP

    win10怎么安装杜比音效Doby V4.1 win10安装杜

    第四代杜比®家庭影院®技术包含了一整套协同工作的技术,让PC 发出清晰的环绕声同时第四代杜比家庭影院技术...

    win10杜比音效

    纯CSS实现iOS风格打开关闭选择框功能

    这篇文章主要介绍了纯CSS实现iOS风格打开关闭选择框,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作...

    css ios c

    Win7如何给C盘扩容 Win7系统电脑C盘扩容的办法

    Win7如何给C盘扩容 Win7系统电脑C盘扩容的

    Win7给电脑C盘扩容的办法大家知道吗?当系统分区C盘空间不足时,就需要给它扩容了,如果不管,C盘没有足够的空间...

    Win7 C盘 扩容

    百度推广竞品词的投放策略

    SEM是基于关键词搜索的营销活动。作为推广人员,我们所做的工作,就是打理成千上万的关键词,关注它们的质量度...

    百度推广 竞品词

    Visual Studio Code(vscode) git的使用教程

    这篇文章主要介绍了详解Visual Studio Code(vscode) git的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。...

    教程 Studio Visual Code git

    七牛云储存创始人分享七牛的创立故事与

    这篇文章主要介绍了七牛云储存创始人分享七牛的创立故事与对Go语言的应用,七牛选用Go语言这门新兴的编程语言进行...

    七牛 Go语言

    Win10预览版Mobile 10547即将发布 9月19日上午

    微软副总裁Gabriel Aul的Twitter透露了 Win10 Mobile预览版10536即将发布,他表示该版本已进入内部慢速版阶段,发布时间目...

    Win10 预览版

    HTML标签meta总结,HTML5 head meta 属性整理

    移动前端开发中添加一些webkit专属的HTML5头部标签,帮助浏览器更好解析HTML代码,更好地将移动web前端页面表现出来...

    移动端html5模拟长按事件的实现方法

    这篇文章主要介绍了移动端html5模拟长按事件的实现方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家...

    移动端 html5 长按

    HTML常用meta大全(推荐)

    这篇文章主要介绍了HTML常用meta大全(推荐),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参...

    cdr怎么把图片转换成位图? cdr图片转换为位图的教程

    cdr怎么把图片转换成位图? cdr图片转换为

    cdr怎么把图片转换成位图?cdr中插入的图片想要转换成位图,该怎么转换呢?下面我们就来看看cdr图片转换为位图的...

    cdr 图片 位图

    win10系统怎么录屏?win10系统自带录屏详细教程

    win10系统怎么录屏?win10系统自带录屏详细

    当我们是使用win10系统的时候,想要录制电脑上的画面,这时候有人会想到下个第三方软件,其实可以用电脑上的自带...

    win10 系统自带录屏 详细教程

    + 更多教程 +
    Windows系统Linux系统苹果MACAndroidiOS系统鸿蒙系统