linux之LVM管理

Linux LVM(Logical Volume Manager)是Linux内核的一部分,用于管理磁盘分区和卷。LVM的主要目标是提高磁盘分区和卷的管理灵活性。LVM基于Linux内核的硬盘和分区系统,使得用户可以更加容易地分配和管理磁盘空间。

在LVM中,有两个主要的概念:

Volume(卷):卷是LVM中的基本单位,它是一个逻辑设备,可以包含多个分区或者一个分区。卷可以被挂载到文件系统中,从而扩展了磁盘的空间。
LV(逻辑卷):LV是Volume的缩写,是卷的一种特殊形式。LV中包含了一个或多个分区,可以被挂载到文件系统中。LV的大小是由它所包含的分区或者磁盘组成的。
LVM通过在物理硬盘上创建多个卷,然后将这些卷挂载到文件系统中,实现了对磁盘空间的动态管理。用户可以将一个或多个卷组合在一起,形成一个大的卷,从而扩展了磁盘的空间。LVM还支持跨卷的读写操作,从而提高了文件系统的性能。

在LVM中,卷和LV之间使用一个虚拟接口进行管理。这个接口由称为“抽象I/O”的系统调用提供支持。通过这个接口,LVM可以实现对卷和LV的管理,从而提高了磁盘管理的效率。

总的来说,LVM是Linux内核的一部分,用于管理磁盘分区和卷。它通过在物理硬盘上创建多个卷,然后将这些卷挂载到文件系统中,实现了对磁盘空间的动态管理。LVM支持跨卷的读写操作,从而提高了文件系统的性能。用户可以将一个或多个卷组合在一起,形成一个大的卷,从而扩展了磁盘的空间。

  • 当前磁盘
[root@localhost ~]# lsblk
# NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
# sda               8:0    0   20G  0 disk 
# ├─sda1            8:1    0  200M  0 part /boot/efi
# ├─sda2            8:2    0    1G  0 part /boot
# └─sda3            8:3    0 18.8G  0 part 
#   ├─centos-root 253:0    0 16.8G  0 lvm  /
#   └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
# sr0              11:0    1 1024M  0 rom 
  • 增加一块5G的硬盘后,可以看到新增sdb disk
[root@localhost ~]# lsblk
# NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
# sda               8:0    0   20G  0 disk 
# ├─sda1            8:1    0  200M  0 part /boot/efi
# ├─sda2            8:2    0    1G  0 part /boot
# └─sda3            8:3    0 18.8G  0 part 
#   ├─centos-root 253:0    0 16.8G  0 lvm  /
#   └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
# sdb               8:16   0    5G  0 disk 
# sr0              11:0    1 1024M  0 rom  
  • 创建pv
[root@localhost ~]# pvcreate /dev/sdb
#   Physical volume "/dev/sdb" successfully created.
  • 查看pv详情
[root@localhost ~]# pvdisplay /dev/sdb
#   "/dev/sdb" is a new physical volume of "5.00 GiB"
#   --- NEW Physical volume ---
#   PV Name               /dev/sdb
#   VG Name               
#   PV Size               5.00 GiB
#   Allocatable           NO
#   PE Size               0   
#   Total PE              0
#   Free PE               0
#   Allocated PE          0
#   PV UUID               fJPhwR-jNC2-2e95-O2HN-E2Bo-TGmB-2Mq0o1
  • 创建vg
[root@localhost ~]# vgcreate vg01 /dev/sdb
#   Volume group "vg01" successfully created
  • 查看vg详情
[root@localhost ~]# vgdisplay vg01
#   --- Volume group ---
#   VG Name               vg01
#   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               <5.00 GiB
#   PE Size               4.00 MiB
#   Total PE              1279
#   Alloc PE / Size       0 / 0   
#   Free  PE / Size       1279 / <5.00 GiB
#   VG UUID               6i5Kjt-S1LL-ClTZ-lloi-SVly-yRTJ-lq6DSB
  • 创建lv

创建lv之前,需要先创建磁盘分区,再创建pv,再创建vg,最后在vg中才能创建lv。

# -L lv size
# -n lv name

[root@localhost ~]# lvcreate -L 100M -n lv01 vg01
#   Logical volume "lv01" created.
  • 查看lv详情
[root@localhost ~]# lvdisplay vg01
#   --- Logical volume ---
#   LV Path                /dev/vg01/lv01
#   LV Name                lv01
#   VG Name                vg01
#   LV UUID                9WYRY2-eiqI-e2Kz-ov07-hw3q-FZNN-ZQeT4S
#   LV Write Access        read/write
#   LV Creation host, time localhost.localdomain, 2023-08-16 03:00:37 -0400
#   LV Status              available
#   # open                 0
#   LV Size                100.00 MiB
#   Current LE             25
#   Segments               1
#   Allocation             inherit
#   Read ahead sectors     auto
#   - currently set to     8192
#   Block device           253:2
  • 简单命令
# 查看pv
pvs
# 查看vg
vgs
# 查看lv
lvs
  • 在lv上格式化文件系统
[root@localhost ~]# mkfs.ext4 /dev/vg01/lv01 
# mke2fs 1.42.9 (28-Dec-2013)
# Discarding device blocks: done                            
# Filesystem label=
# OS type: Linux
# Block size=1024 (log=0)
# Fragment size=1024 (log=0)
# Stride=4 blocks, Stripe width=4 blocks
# 25688 inodes, 102400 blocks
# 5120 blocks (5.00%) reserved for the super user
# First data block=1
# Maximum filesystem blocks=33685504
# 13 block groups
# 8192 blocks per group, 8192 fragments per group
# 1976 inodes per group
# Superblock backups stored on blocks: 
#         8193, 24577, 40961, 57345, 73729

# Allocating group tables: done                            
# Writing inode tables: done                            
# Creating journal (4096 blocks): done
# Writing superblocks and filesystem accounting information: done 
  • 挂载
[root@localhost ~]# mkdir /media/lv01
[root@localhost ~]# mount /dev/vg01/lv01 /media/lv01/
  • 挂载结果
[root@localhost ~]# mount | grep /media/lv01
# /dev/mapper/vg01-lv01 on /media/lv01 type ext4 (rw,relatime,seclabel,stripe=4,data=ordered)

[root@localhost ~]# df -h
# Filesystem               Size  Used Avail Use% Mounted on
# /dev/mapper/centos-root   17G  979M   16G   6% /
# devtmpfs                 876M     0  876M   0% /dev
# tmpfs                    887M     0  887M   0% /dev/shm
# tmpfs                    887M  8.4M  879M   1% /run
# tmpfs                    887M     0  887M   0% /sys/fs/cgroup
# /dev/sda2               1014M  134M  881M  14% /boot
# /dev/sda1                200M  9.8M  191M   5% /boot/efi
# tmpfs                    178M     0  178M   0% /run/user/0
# /dev/mapper/vg01-lv01     93M  1.6M   85M   2% /media/lv01
  • 设置开机自动挂载
echo "/dev/vg01/lv01 /media/lv01 ext4 defaults 0 0" >> /etc/fstab
  • lv快照
[root@localhost lv01]# lvcreate -L 10M -s -n snap-lv01 -p r /dev/vg01/lv01
#   Rounding up size to full physical extent 12.00 MiB
#   Logical volume "snap-lv01" created.
  • 环境清理
umount /media/lv01
lvremove /dev/vg01/lv01 -y
vgremove /dev/vg01 -y
pvremove /dev/sdb
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值