LVM卷管理工具学习

机制概述

Linux 磁盘分区大小分配一般难以准确评估,而且分区大小确定之后无法更改,当数据占满分区时,就需要使用磁盘分区工具进行数据的备份以便重新规划分区大小,同时也需要冲洗引导操作系统,因此这不能满足服务器服务的可持续性特性,会造成业务数据的中断。LVM的出现解决的这个难题,LVM 是Linux 下对磁盘分区进行管理的一种机制。通过在物理设备层和文件系统之间增加抽象层,屏蔽下层物理设备(可以是磁盘、磁盘分区、raid)的布局,提供一个抽象的存储卷,在存储卷上建立操作系统。

架构

  • 物理存储介质:可以是硬盘分区、整个硬盘、raid阵列或SAN硬盘。物理存储介质需初始化为LVM物理卷,才能和LVM结合使用。
  • 物理卷PV:LVM 的基本存储逻辑块,包含了与LVM相关的管理参数。
  • 卷组VG:一个VG 由一个或者多个PV组成,在VG 上建立LV。
  • 逻辑卷LV:LV 建立在VG 上,在LV 之上再建立文件系统。
  • 物理块PE:PV 上可分配的最小的存储单元。默认大小是4MB,但是大小可以调整。
    LVM架构

卷管理

卷管理命令一览表:
卷管理命令一览表

物理卷管理

  1. 查看系统装载的磁盘,并使用sdb做测试。
[root@linuxde dev]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 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: 0x0000783f

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        2611    20458496   8e  Linux LVM

Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 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


Disk /dev/mapper/VolGroup-lv_root: 18.9 GB, 18865979392 bytes
255 heads, 63 sectors/track, 2293 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


Disk /dev/mapper/VolGroup-lv_swap: 2080 MB, 2080374784 bytes
255 heads, 63 sectors/track, 252 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
  1. 初始化sdb磁盘为PV。
[root@linuxde dev]# pvcreate /dev/sdb 
  Physical volume "/dev/sdb" successfully created
[root@linuxde dev]# pvs
  PV         VG       Fmt  Attr PSize  PFree 
  /dev/sda2  VolGroup lvm2 a--  19.51g     0 
  /dev/sdb            lvm2 ---  10.00g 10.00g

卷组管理

添加PV 到卷组

[root@linuxde dev]# vgcreate datavg /dev/sdb 
  Volume group "datavg" successfully created
[root@linuxde dev]# vgs
  VG       #PV #LV #SN Attr   VSize  VFree 
  VolGroup   1   2   0 wz--n- 19.51g     0 
  datavg     1   0   0 wz--n- 10.00g 10.00g

逻辑卷管理

在卷组上建立LV

[root@linuxde dev]# lvcreate -n lv1 -L 200M datavg
  Logical volume "lv1" created
[root@linuxde dev]# lvs
  LV      VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv_root VolGroup -wi-ao----  17.57g                                                    
  lv_swap VolGroup -wi-ao----   1.94g                                                    
  lv1     datavg   -wi-a----- 200.00m

挂载文件系统

格式化文件系统并挂载文件系统

[root@linuxde dev]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       18G  4.1G   13G  25% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             477M   28M  424M   7% /boot
[root@linuxde dev]# mount /dev/datavg/lv1 /mnt
mount: you must specify the filesystem type
[root@linuxde dev]# mkf
mkfifo        mkfontscale   mkfs.cramfs   mkfs.ext3     mkfs.ext4dev  mkfs.vfat     
mkfontdir     mkfs          mkfs.ext2     mkfs.ext4     mkfs.msdos    
[root@linuxde dev]# mkfs.ext4 /dev/datavg/lv1 
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
51200 inodes, 204800 blocks
10240 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
25 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks: 
        8193, 24577, 40961, 57345, 73729

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

This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@linuxde dev]# mount /dev/datavg/lv1 /mnt
[root@linuxde dev]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       18G  4.1G   13G  25% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             477M   28M  424M   7% /boot
/dev/mapper/datavg-lv1
                      190M  1.6M  179M   1% /mnt

到此为止,我们就可以操作该文件系统了。

扩展逻辑卷

扩展完LV 后还需要使用resize2fs扩容ext4文件系统。xfs文件系统需要使用xfs_growfs命令,使用方式“xfs_growfs {monit_ponit}”

[root@linuxde dev]# lvextend -L +100M /dev/datavg/lv1 
  Size of logical volume datavg/lv1 changed from 200.00 MiB (50 extents) to 300.00 MiB (75 extents).
  Logical volume lv1 successfully resized
[root@linuxde dev]# lvs
  LV      VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv_root VolGroup -wi-ao----  17.57g                                                    
  lv_swap VolGroup -wi-ao----   1.94g                                                    
  lv1     datavg   -wi-ao---- 300.00m                                                    
[root@linuxde dev]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       18G  4.1G   13G  25% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             477M   28M  424M   7% /boot
/dev/mapper/datavg-lv1
                      190M  1.6M  179M   1% /mnt
[root@linuxde dev]# resize2fs /dev/datavg/lv1 
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/datavg/lv1 is mounted on /mnt; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/datavg/lv1 to 307200 (1k) blocks.
The filesystem on /dev/datavg/lv1 is now 307200 blocks long.

[root@linuxde dev]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       18G  4.1G   13G  25% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             477M   28M  424M   7% /boot
/dev/mapper/datavg-lv1
                      287M  2.1M  270M   1% /mnt
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值