linux LVM逻辑卷管理

这里写图片描述
一、磁盘分区
1 查看硬盘和磁盘分区情况
fdisk -l
2 分区等操作
fdisk /dev/sda
n:新建分区
t:修改分区类型,Linux LVM类型的代码是8e
p:查看分区情况
w:保存分区表并退出
q:不保存退出

二、创建pv、vg、lv
1 创建物理卷pv,将分区/转化成物理卷主要是添加LVM属性信息并划分PE存储单元
pvcreate /dev/sda1
2 创建卷组vg,默认PE大小为4MB,PE是卷组的最小存储单元.可以通过 –s参数修改大小。
vgcreate datavg /dev/sda1
3 创建逻辑卷lv
lvcreate -L 100G -n datalv /dev/datavg
或者lvcreate -l 100%VG -n datalv /dev/datavg
4 以ext4模式格式化dlv
mkfs.ext4 /dev/datavg/datalv
5 创建目录
mkdir /data
6 挂载lv,会在/dev/mapper/生成一个软连接名字为”卷组-逻辑卷”)
mount /dev/datavg/datalv /datalv
7 便于以后服务器重启自动挂载,需要将创建好的文件系统挂载信息添加到/etc/fstab里面.UUID可以通过 blkid命令查询.
vim /etc/fstab
8 为了查看/etc/fstab是否设置正确,可以先卸载逻辑卷/data,然后使用mount –a 使内核重新读取/etc/fstab,看是否能够自动挂载
PS: 查看pv/vg/lv
pvs或者pvdisplay,vg/lv类似

三、当卷组不够用的情况下,如何扩大卷组
1 重新从第二块硬盘上创建一个分区sdb3,具体操作步骤省略。
2 将创建好的分区加入到已经存在的卷组vgdata中
vgextend vgdata /dev/sdb3
3 通过pvs命令查看是否成功。

四、逻辑卷lvdata1不够用了,如何扩展。(PS:参考拓展1:LVM增大和减小ext4、xfs分区)
1 给lvdata1增加500M空间(lvdata1目前是2G空间),给逻辑卷增加空间并不会影响以前空间的使用,所以无需卸载文件系统,
lvextend –L +500M /dev/vgdata/lvdata1
或者lvextend –L 2.5G /dev/vgdata/lvdata1
2 记得使用resize2fs命令来同步文件系统
resize2fs /dev/vgdata/lvdata1

五、当硬盘空间不够用的情况下,如何减少逻辑卷的空间释放给其他逻辑卷使用。注意:文件系统大小和逻辑卷大小一定要保持一致才行。如果逻辑卷大于文件系统,由于部分区域未格式化成文件系统会造成空间的浪费。如果逻辑卷小于文件系统,哪数据就出问题了。(PS:参考拓展1:LVM增大和减小ext4、xfs分区)
1 先卸载逻辑卷data1
umount /data1
2 然后通过e2fsck命令检测逻辑卷上空余的空间。
e2fsck -f /dev/mapper/vgdata-lvdata1
3 使用resize2fs将文件系统减少到700M。
resize2fs /dev/mapper/vgdata-lvdata1 700M
4 再使用lvreduce命令将逻辑卷减少到700M。
lvresize -L 700M /dev/vgdata/lvdata1
5 完成之后,就可以通过mount命令挂载重新使用了。
mount /dev/vgdata/lvdata1 /data1

六、如果某一块磁盘或者分区故障了如何将数据快速转移到相同的卷组其他的空间去。
1、通过pvmove命令转移空间数据
pvmove /dev/sbd1 /dev/sdb2
2、通过vgreduce命令将即将坏的磁盘或者分区从卷组vgdata里面移除除去。
vgreduce vgdata /dev/sdb1
3、通过pvremove命令将即将坏的磁盘或者分区从系统中删除掉。
pvremove /dev/sdb1
4、手工拆除硬盘或者通过一些工具修复分区。

七、删除整个逻辑卷
1、先通过umount命令卸载掉逻辑卷lvdata1
2、修改/etc/fstab里面逻辑卷的挂载信息,否则系统有可能启动不起来。
3、通过lvremove 删除逻辑卷lvdata1
lvremove /dev/vgdata/lvdata1
4、通过vgremove 删除卷组vgdata
vgremove vgdata
5、通过pvremove 将物理卷转化成普通分区。
pvremove /dev/sbd1 /dev/sbd2 /dev/sdb3
6、删除完了,别忘了修改分区的id标识。修改成普通Linux分区即可。

总结:LVM逻辑卷是Linux里面一个很棒的空间使用机制,因为分区在没有格式化的情况下是没有办法加大或者放小的。通过LVM可以将你的磁盘空间做到灵活自如。

拓展1:LVM增大和减小ext4、xfs分区

一、ext4分区下LVM的动态调整
在使用lvresize调整大小时结常需要注意与resize2fs执行的顺序。缩小空间时,一定要先执行resize2fs再执行lvresize;而增大时一定要先执行lvextend再执行resize2fs 。

1、减小大小
减小LVM分区时,一定要先umount掉挂载点再进行操作。

[root@361way.com ~]# df -H /mnt/
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg-lvol0  805M  2.7M  760M   1% /mnt
[root@361way.com ~]# umount /mnt/
[root@361way.com ~]# resize2fs -f /dev/vg/lvol0 100M
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/vg/lvol0 to 102400 (1k) blocks.
The filesystem on /dev/vg/lvol0 is now 102400 blocks long.
[root@361way.com ~]# lvresize -L 100M /dev/vg/lvol0
  WARNING: Reducing active logical volume to 100.00 MiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lvol0? [y/n]: y
  Size of logical volume vg/lvol0 changed from 800.00 MiB (200 extents) to 100.00 MiB (25 extents).
  Logical volume lvol0 successfully resized
[root@361way.com ~]# mount /dev/vg/lvol0 /mnt/
[root@361way.com ~]# df -H /mnt/
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg-lvol0   94M  1.6M   87M   2% /mnt
[root@361way.com ~]# 

2、增大空间

[root@361way.com ~]# lvextend -L 800M /dev/vg/lvol0
  Size of logical volume vg/lvol0 changed from 100.00 MiB (25 extents) to 800.00 MiB (200 extents).
  Logical volume lvol0 successfully resized
[root@361way.com ~]# resize2fs -f /dev/vg/lvol0
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg/lvol0 is mounted on /mnt; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 4
Performing an on-line resize of /dev/vg/lvol0 to 819200 (1k) blocks.
The filesystem on /dev/vg/lvol0 is now 819200 blocks long.
[root@361way.com ~]# df -H /mnt/
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg-lvol0  805M  2.7M  761M   1% /mnt

3、一个命令搞定增大和减小
一会儿是增大,一会儿是减小,搞不好很容易搞错并造成分区损坏、数据受损,有没有不管增大减小一个命令全搞定的方法?当然有lvresize命令里有一个-r选项,该选项的作用是在执行lvresize命令的时候一并执行resize2fs ,强烈推荐该方法。

[root@361way.com ~]# df -H /mnt/
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg-lvol0  805M  2.7M  761M   1% /mnt
[root@361way.com ~]# lvresize -L 300M -r /dev/vg/lvol0   -->注意此处的指定,增大时同样使用该指令
Do you want to unmount "/mnt"? [Y|n] y
fsck from util-linux-ng 2.17.2
/dev/mapper/vg-lvol0: 11/203200 files (0.0% non-contiguous), 36387/819200 blocks
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/vg-lvol0 to 307200 (1k) blocks.
The filesystem on /dev/mapper/vg-lvol0 is now 307200 blocks long.
  Size of logical volume vg/lvol0 changed from 800.00 MiB (200 extents) to 300.00 MiB (75 extents).
  Logical volume lvol0 successfully resized
[root@361way.com ~]#
[root@361way.com ~]# df -H /mnt/
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg-lvol0  297M  2.2M  279M   1% /mnt

上面已经由800M 减小到了300M,而且更神奇的是,减小前我并没有umount分区,它自动提示让我们umount掉。此处使用同样的指令增大到500M 。

[root@361way.com ~]# lvresize -L 500M -r /dev/vg/lvol0
  Size of logical volume vg/lvol0 changed from 300.00 MiB (75 extents) to 500.00 MiB (125 extents).
  Logical volume lvol0 successfully resized
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/vg-lvol0 is mounted on /mnt; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 2
Performing an on-line resize of /dev/mapper/vg-lvol0 to 512000 (1k) blocks.
The filesystem on /dev/mapper/vg-lvol0 is now 512000 blocks long.
[root@361way.com ~]# df -H /mnt/
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg-lvol0  500M  2.4M  472M   1% /mnt

见证到奇迹了吧,就是这么任性。

二、XFS分区
xfs分区是不支持减小操作的,这点挺蛋疼。我们先当做不知道该特性,同lvresize -r 指定试下,结果如下:

# lvresize -L 50M /dev/vg2/xfstest -r
Phase 1 - find and verify superblock...
Phase 2 - using internal log
        - scan filesystem freespace and inode maps...
        - found root inode chunk
Phase 3 - for each AG...
        - scan (but don't clear) agi unlinked lists...
        - process known inodes and perform inode discovery...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
        - agno = 4
        - process newly discovered inodes...
Phase 4 - check for duplicate blocks...
        - setting up duplicate extent list...
        - check for inodes claiming duplicate blocks...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
        - agno = 4
No modify flag set, skipping phase 5
Phase 6 - check inode connectivity...
        - traversing filesystem ...
        - traversal finished ...
        - moving disconnected inodes to lost+found ...
Phase 7 - verify link counts...
No modify flag set, skipping filesystem flush and exiting.
fsadm: Xfs filesystem shrinking is unsupported   -->看到相关信息了,不好意思,xfs不支持
  fsadm failed: 1
  Filesystem resize failed.

增大看下:

# df -Th /mnt
Filesystem                 Type  Size  Used Avail Use% Mounted on
/dev/mapper/vg2-xfstest xfs    97M  5.3M   92M   6% /mnt
先使用lvextend增大LVM分区的大小
# lvextend -L 120M /dev/vg2/xfstest
  Extending logical volume vo to 120.00 MiB
  Logical volume vo successfully resized
再使用xfs_growfs在物理分区上调整
# xfs_growfs /dev/vg2/xfstest
meta-data=/dev/mapper/vg2-xfstest isize=256    agcount=5, agsize=5120 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=25600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 25600 to 30720
# df -Th /mnt
Filesystem                 Type  Size  Used Avail Use% Mounted on
/dev/mapper/vg2-xfstest xfs    117M  5.3M   92M   6% /mnt
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值