逻辑卷LVM小实验
LVM全名是 Logical Volume Manager,中文翻译作逡辑滚动条管理员,我还是喜欢叫逻辑卷。简单好记QWQ
逻辑卷里面有几个名词需要介绍一下!
1.PhysicalVolume,实体滚动条,简称PV。
2.Physical Extend,实体延伸区坑,简称PE。
3.VolumeGroup,滚动条群组,简称VG。
4.LogicalVolume,逻辑滚动条,简称LV。
举个简单的例子,如果三个人要吃两个苹果这要怎么分?那就是准备三个盘子。把苹果都切成块,均分放在盘上里然后三个人每人一个盘子。好!这里苹果就是PV,每一小块就是PE,所有苹果放在一起就是一个VG组,在分成三份而每一份就是一个LV。在linux中组成逻辑卷可以是分区,里面好像有个独立的单位就是PE,所有分区加起来组成VG组。这样接下来说到某些名词可能就不是那么陌生了。
好,那么就来实验看看怎么个用法。这里本人只用/dev/sdb5-8来试验,具体怎么分区那就自行百度吧!这里就不涉及了。
首先,第一个命令pvcreate跟分区,设置分区属性
[root@centos6~]# pvcreate /dev/sdb{5,6,7,8} Physical volume "/dev/sdb5"successfully created Physical volume "/dev/sdb6"successfully created Physical volume "/dev/sdb7"successfully created Physical volume "/dev/sdb8"successfully created [root@centos6~]#
然后用pvscan可以来查看具有PV的磁盘
[root@centos6~]# pvscan PV /dev/sdb5 lvm2 [10.00 GiB] PV /dev/sdb6 lvm2 [10.00 GiB] PV /dev/sdb7 lvm2 [10.00 GiB] PV /dev/sdb8 lvm2 [10.00 GiB] Total: 4 [40.00 GiB] / in use: 0 [0 ] / in no VG: 4 [40.00 GiB] [root@centos6~]#
设置完pv吧pv设置成一个vg,pe设置为4M,名字test随便自己指定
[root@centos6~]# vgcreate -s 4M test /dev/sdb{5,6,7,8} Volume group "test" successfullycreated [root@centos6~]#
这里也有查看VG的命令那就是vgscan
[root@centos6~]# vgscan Reading all physical volumes. This may take a while... Found volume group "test" usingmetadata type lvm2 [root@centos6~]# 有test字样
上面所介绍的lv可用来使用挂载,当空间不够可以从VG来扩容,但是VG空间不够这就要往里面加LV(分区)了增加VG的容量。命令为vgextend test /dev/sdb* (前提设置成pv也就是使用pvcreate)
看看下面的命令:
[root@centos6~]# pvscan PV /dev/sdb5 VG test lvm2 [10.00 GiB/ 10.00 GiB free] PV /dev/sdb6 VG test lvm2 [10.00 GiB/ 10.00 GiB free] PV /dev/sdb7 VG test lvm2 [10.00 GiB/ 10.00 GiB free] PV /dev/sdb8 VG test lvm2 [10.00 GiB/ 10.00 GiB free] PV /dev/sdb3 lvm2 [10.00 GiB] Total: 5 [49.98 GiB] / in use: 4 [39.98 GiB]/ in no VG: 1 [10.00 GiB] [root@centos6~]# vgex vgexport vgextend [root@centos6~]# vgextend test /dev/sdb3 Volume group "test" successfullyextended [root@centos6~]# pvscan PV /dev/sdb5 VG test lvm2 [10.00 GiB/ 10.00 GiB free] PV /dev/sdb6 VG test lvm2 [10.00 GiB/ 10.00 GiB free] PV /dev/sdb7 VG test lvm2 [10.00 GiB/ 10.00 GiB free] PV /dev/sdb8 VG test lvm2 [10.00 GiB/ 10.00 GiB free] PV /dev/sdb3 VG test lvm2 [10.00 GiB/ 10.00 GiB free] Total: 5 [49.98 GiB] / in use: 5 [49.98 GiB]/ in no VG: 0 [0 ] [root@centos6~]#
下面就来设置LV命令lvcreate(发现没有lv,vg,pv三个创建命令都是后跟上create也就是创建的意思,是不是很好记),LV的单位就是上面所设置的PE。
这里有两个选项一个小写l一个大写L,大写可以跟上MGT单位,直接设置容量,而小写就是设置pe个数,自己计算打消了。。。。。下面就来设置一下看看
[root@centos6~]# lvcreate -L 20G -n testlv test Logical volume "testlv" created. [root@centos6~]# 之后用来ls –l查看一下 lvdisplay查看lv的具体信息 [root@centos6~]# ll /dev/test/testlv lrwxrwxrwx.1 root root 7 Aug 23 19:16 /dev/test/testlv -> ../dm-0 [root@centos6~]# [root@centos6~]# lvdisplay --- Logical volume --- LV Path /dev/test/testlv LV Name testlv VG Name test LV UUID TVTd6G-SDbb-uIfS-7LAt-BNLR-iBas-pStuLG LV Write Access read/write LV Creation host, time centos6.magedu.com,2017-08-23 19:16:16 +0800 LV Status available # open 0 LV Size 20.00 GiB Current LE 5120 Segments 3 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 [root@centos6~]#
lv是创建完了,该给这个东西设置一下他的文件系统了,然后挂载
[root@centos6 ~]# mkfs.ext4 /dev/test/testlv mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 1310720 inodes, 5242880 blocks 262144 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 160 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 35 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@centos6 ~]# mount /dev/test/testlv /mnt/ [root@centos6 ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda2 51475068 5107900 43745728 11% / tmpfs 502056 76 501980 1% /dev/shm /dev/sda3 51475068 53088 48800540 1% /app /dev/sda1 999320 34952 911940 4% /boot /dev/sr0 3878870 3878870 0 100% /media/CentOS_6.9_Final /dev/mapper/test-testlv 20511356 44992 19417788 1% /mnt [root@centos6 ~]#
上面提到了怎么加VG的大小,但是LV不够了怎么从VG里面忘LV里面加呢。来我们就好好说说!
[root@centos6 ~]# lvscan 查看大小 ACTIVE '/dev/test/testlv' [20.00 GiB] inherit [root@centos6 ~]# lvresize -L +20G /dev/test/testlv Size of logical volume test/testlv changed from 20.00 GiB (5120 extents) to 40.00 GiB (10240 extents). Logical volume testlv successfully resized. [root@centos6 ~]# lvscan 成功加到40G ACTIVE '/dev/test/testlv' [40.00 GiB] inherit [root@centos6 ~]#
到这里差不多就设置完了,因为缩小一般也用不到,谁没事会缩小容量啊 !多数情况都是大小不够往上加。所以就不在提及了!