标签:逻辑 PV CentOS vg 创建 dev LV 64 LVM
本文环境:CentOS7
1.什么是逻辑卷(Logical Volume)?
逻辑卷是系统的一种磁盘管理方式,目的是把硬盘空间从物理硬盘的管理方式中跳出来,进行更方便的统一管理分配。
逻辑卷是由逻辑磁盘形成的虚拟盘,也可称为磁盘分区。每个卷可以看作一个逻辑盘,可以是一个物理硬盘的逻辑盘。
图片是网上引用的,
2.逻辑卷的特点和作用
逻辑卷由下层卷组(Physical Volume),物理卷(Volume Group)格式化组成
物理卷是将底层的硬盘划分为了一个一个的PE(Physical Extend),我们的LVM磁盘管理中PE的默认大小是4M大小,PE就是我们逻辑卷管理的最基本单位
允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小
允许在多个物理设备间重新组织文件系统
将设备指定为物理卷
物理卷是用固定大小的物理区域(Physical Extent,PE)来定义的
可以在逻辑卷上创建文件系统
3 .创建逻辑卷
3.1 创建逻辑卷,刚刚讲了,逻辑卷是由下层的卷组和物理卷格式化组成,所以先创建物理卷和卷组
3.1.1 创建物理卷(PV)使用pvcreate
我的磁盘情况如下
1 sda 8:0 0 200G 0 disk 2 ├─sda1 8:1 0 1G 0 part /boot 3 ├─sda2 8:2 0 100G 0 part / 4 ├─sda3 8:3 0 50G 0 part /data 5 ├─sda4 8:4 0 1K 0 part 6 └─sda5 8:5 0 2M 0 part [SWAP] 7 sdb 8:16 0 20G 0 disk 8 sdc 8:32 0 20G 0 disk 9 sdd 8:48 0 200G 0 disk 10 sde 8:64 0 10G 0 disk 11 sr0 11:0 1 10.3G 0 rom
物理卷可以使用磁盘和分区来创建,如果时间分区来创建,对磁盘分区之后在创建物理卷(PV)。
下面我使用sdb和sde两块磁盘来创建物理卷
pvcreate /dev/sd{b,e} #这样写就是两块一起创建了
1 [root@CentOS-7-64 ~]# pvcreate /dev/sd{b,e} 2 Physical volume "/dev/sdb" successfully created. 3 Physical volume "/dev/sde" successfully created. 4 [root@CentOS-7-64 ~]#
然后使用 pvs和lvdisplay 来查看创建好的(物理卷)PV
2 [root@CentOS-7-64 ~]# pvs #查看简单的信息 3 PV VG Fmt Attr PSize PFree 4 /dev/sdb lvm2 --- 20.00g 20.00g 5 /dev/sde lvm2 --- 10.00g 10.00g 6 [root@CentOS-7-64 ~]#
1 [root@CentOS-7-64 ~]# pvdisplay #查看详细的PV各个信息 2 "/dev/sdb" is a new physical volume of "20.00 GiB" 3 --- NEW Physical volume --- 4 PV Name /dev/sdb 5 VG Name 6 PV Size 20.00 GiB 7 Allocatable NO 8 PE Size 0 9 Total PE 0 10 Free PE 0 11 Allocated PE 0 12 PV UUID YW3kNy-jMFI-fTW0-2DmX-7KrK-NBP4-kYA0U8 13 14 "/dev/sde" is a new physical volume of "10.00 GiB" 15 --- NEW Physical volume --- 16 PV Name /dev/sde 17 VG Name 18 PV Size 10.00 GiB 19 Allocatable NO 20 PE Size 0 21 Total PE 0 22 Free PE 0 23 Allocated PE 0 24 PV UUID 1uiW6y-JQDQ-uA3q-Mryc-kG7R-NX1c-4P96AT 25 26 [root@CentOS-7-64 ~]#
3.2 如上物理卷创建成功了,下面把物理卷组成卷组(vg)使用命令 vgcreate
vgcreate 部分帮助信息如下
1 vgcreate - Create a volume group 2 3 vgcreate VG_new PV ... 4 [ -A|--autobackup y|n ] 5 [ -c|--clustered y|n ] 6 [ -l|--maxlogicalvolumes Number ] 7 [ -p|--maxphysicalvolumes Number ] 8 [ -M|--metadatatype lvm2|lvm1 ] 9 [ -s|--physicalextentsize Size[m|UNIT] ] 10 [ -f|--force ] 11 [ -Z|--zero y|n ]
创建vg
1 [root@CentOS-7-64 ~]# vgcreate -s 16M vg /dev/sdb #-s 指定每个PE(Physical Extend)的大小 默认为4M 2 Volume group "vg" successfully created
查看vg
vgs 和 vgdisplay 命令
1 [root@CentOS-7-64 ~]# vgs #vgs 查看的显示 2 VG #PV #LV #SN Attr VSize VFree 3 vg 1 0 0 wz--n- 19.98g 19.98g
1 [root@CentOS-7-64 ~]# vgdisplay #vgdisplay 查看的显示 2 --- Volume group --- 3 VG Name vg 4 System ID 5 Format lvm2 6 Metadata Areas 1 7 Metadata Sequence No 1 8 VG Access read/write 9 VG Status resizable 10 MAX LV 0 11 Cur LV 0 12 Open LV 0 13 Max PV 0 14 Cur PV 1 15 Act PV 1 16 VG Size 19.98 GiB 17 PE Size 16.00 MiB 18 Total PE 1279 19 Alloc PE / Size 0 / 0 20 Free PE / Size 1279 / 19.98 GiB 21 VG UUID OB7OIp-HK6l-VsN9-YmB0-vk10-vE0M-aL6CWR 22
3.3 扩展卷组的大小 vgextend
下面我把另一个磁盘sde也加入卷组vg中
1 [root@CentOS-7-64 ~]# vgextend vg /dev/sde 2 Volume group "vg" successfully extended
再次查看卷组vg的信息
1 [root@CentOS-7-64 ~]# vgdisplay 2 --- Volume group --- 3 VG Name vg 4 System ID 5 Format lvm2 6 Metadata Areas 2 7 Metadata Sequence No 2 8 VG Access read/write 9 VG Status resizable 10 MAX LV 0 11 Cur LV 0 12 Open LV 0 13 Max PV 0 14 Cur PV 2 15 Act PV 2 16 VG Size <29.97 GiB 17 PE Size 16.00 MiB 18 Total PE 1918 19 Alloc PE / Size 0 / 0 20 Free PE / Size 1918 / <29.97 GiB 21 VG UUID OB7OIp-HK6l-VsN9-YmB0-vk10-vE0M-aL6CWR
VG Size 已经改变了 说明已经扩展完成了
3.5 前面准备工作创建了物理卷(PV),卷组(VG),下面创建逻辑卷(LV)
使用lvcreate 命令
1 1 lvcreate - Create a logical volume 2 2 3 3 Create a linear LV. 4 4 lvcreate -L|--size Size[m|UNIT] VG 5 5 [ -l|--extents Number[PERCENT] ] 6 6 [ --type linear ] 7 7 [ COMMON_OPTIONS ] 8 8 [ PV ... ] 9 -------------------------常用选项--------------- 10 Common options for command: 11 147 [ -a|--activate y|n|ay ] 12 148 [ -A|--autobackup y|n ] 13 149 [ -C|--contiguous y|n ] 14 150 [ -M|--persistent y|n ] 15 151 [ -j|--major Number ] 16 152 [ -k|--setactivationskip y|n ] 17 153 [ -K|--ignoreactivationskip ] 18 154 [ -n|--name String ] 19 155 [ -p|--permission rw|r ] 20 156 [ -r|--readahead auto|none|Number ] 21 157 [ -W|--wipesignatures y|n ] 22 158 [ -Z|--zero y|n ]
lvcreate -n lv -L 5G vg
1 [root@CentOS-7-64 ~]# lvcreate -n lv -L 5G vg 2 WARNING: xfs signature detected on /dev/vg/lv at offset 0. Wipe it? [y/n]: y 3 Wiping xfs signature on /dev/vg/lv. 4 Logical volume "lv" created. 5 [root@CentOS-7-64 ~]#
使用 lvs 和lvdisplay查看
1 [root@CentOS-7-64 ~]# lvdisplay # lvdisplay 显示如下 2 --- Logical volume --- 3 LV Path /dev/vg/lv 4 LV Name lv 5 VG Name vg 6 LV UUID BFWlJL-qcFU-OWJk-A3Yb-xTLf-c3cg-utCrnl 7 LV Write Access read/write 8 LV Creation host, time CentOS-7-64, 2019-10-20 10:42:04 +0800 9 LV Status available 10 # open 0 11 LV Size 5.00 GiB 12 Current LE 320 13 Segments 1 14 Allocation inherit 15 Read ahead sectors auto 16 - currently set to 8192 17 Block device 253:0
3.6 既然逻辑卷做完了,下面需要个逻辑卷创建文件系统
我使用的是xte4 因为ext4创建的逻辑卷可以使用 resize2fs 缩减,而xfs文件系统不可缩减
1 [root@CentOS-7-64 ~]# mkfs -t ext4 /dev/vg/lv 2 mke2fs 1.42.9 (28-Dec-2013) 3 Filesystem label= 4 OS type: Linux 5 Block size=4096 (log=2) 6 Fragment size=4096 (log=2) 7 Stride=0 blocks, Stripe width=0 blocks 8 327680 inodes, 1310720 blocks 9 65536 blocks (5.00%) reserved for the super user 10 First data block=0 11 Maximum filesystem blocks=1342177280 12 40 block groups 13 32768 blocks per group, 32768 fragments per group 14 8192 inodes per group 15 Superblock backups stored on blocks: 16 32768, 98304, 163840, 229376, 294912, 819200, 884736 17 18 Allocating group tables: done 19 Writing inode tables: done 20 Creating journal (32768 blocks): done 21 Writing superblocks and filesystem accounting information: done
1 [root@CentOS-7-64 ~]# blkid -s TYPE #查看文件系统 2 /dev/sda1: TYPE="xfs" 3 /dev/sda2: TYPE="xfs" 4 /dev/sda3: TYPE="xfs" 5 /dev/sda5: TYPE="swap" 6 /dev/sde: TYPE="LVM2_member" 7 /dev/sdb: TYPE="LVM2_member" 8 /dev/mapper/vg-lv: TYPE="ext4" #文件系统创建成功了 9 [root@CentOS-7-64 ~]#
3.7 问价系统创建成功了挂载就能使用了
1 [root@CentOS-7-64 ~]# mount /dev/mapper/vg-lv /mnt # 挂载到/mnt
3.8 扩展逻辑卷
我的逻辑卷只分配5G,空间不大,和分区不一样的是逻辑卷可以扩展 使用 lvextent 或者 lvresize
扩展逻辑卷不需要取消挂载,可以在挂载状态扩展,而减少逻辑卷必须先取消挂载,不然直接取消挂载再去缩小会有莫名其实的错误。我已经趟过坑了
1 lvresize -L +5G /dev/vg/lv 2 Size of logical volume vg/lv changed from 5.00 GiB (64 extents) to 10.00 GiB (384 extents). 3 Logical volume vg/lv successfully resized.
1 [root@CentOS-7-64 ~]# lvdisplay 2 --- Logical volume --- 3 LV Path /dev/vg/lv 4 LV Name lv 5 VG Name vg 6 LV UUID BFWlJL-qcFU-OWJk-A3Yb-xTLf-c3cg-utCrnl 7 LV Write Access read/write 8 LV Creation host, time CentOS-7-64, 2019-10-20 10:42:04 +0800 9 LV Status available 10 # open 0 11 LV Size 10.00 GiB 12 Current LE 3840 13 Segments 2 14 Allocation inherit 15 Read ahead sectors auto 16 - currently set to 8192 17 Block device 253:0
这样逻辑卷的扩展就完成了 ,但是还有一个问题,那刚刚扩展的5G没有文件系统,所以还需要一个命令 resize2fs /dev/vg/lv (此命令只针对ext文件系统),如果扩展的是xfs文件系统需使用 xfs_growfs /dev/vg/lv
在刚刚扩展时 lvextend -r 选项可以自动同步文件系统。部分文件系统类型。
注意:文件系统大小和逻辑卷大小一定要保持一致才行。如果逻辑卷大于文件系统,由于部分区域未格式化成文件系统会造成空间的浪费。如果逻辑卷小于文件系统,哪数据就出问题了。
4.总结
逻辑卷相比分区可扩展,缩减,读取性能貌似还还好,而且linux系统中逻辑卷可以使用raid
逻辑卷可以做快照,可以移除,迁移(需要先禁用逻辑卷lvchange,然后导出lvexport)
假若硬盘或分区出现故障,逻辑卷还可以移动到相同的卷组中(使用pvmove移动空间,但是卷组中的空间必须不小于被移动的空间),
逻辑卷很方便灵活,可以自由扩展,但是/boot不可以使用逻辑卷。因为这里面是系统中的启动项,逻辑卷是虚拟的,所以把逻辑卷
放入/boot中系统都起不来。
标签:逻辑,PV,CentOS,vg,创建,dev,LV,64,LVM 来源: https://www.cnblogs.com/dreamfreedom/p/11707119.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。