之前一篇文章介绍了lvm,今天在这里演示制作lvm的过程。lvm的制作过程有以下几个步骤:
磁盘分区
使用分区制作pv
以pv建立vg
从vg分割出lv
格式化lv并挂载到目录中使用
接下来,我们来完成上面的流程吧。
分区
首先,我们看看磁盘的分区情况。
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 40G 0 disk ├─sda1 8:1 0 2M 0 part ├─sda2 8:2 0 1G 0 part /boot ├─sda3 8:3 0 1G 0 part [SWAP] ├─sda4 8:4 0 10G 0 part / └─sda5 8:5 0 100M 0 part sdb 8:16 0 1G 0 disk sdc 8:32 0 1G 0 disk sdd 8:48 0 1G 0 disk sde 8:64 0 1G 0 disk
可以看到,我的主机上面有5块磁盘,除了sda这块磁盘,其他的磁盘还没有分区,另外sda这块磁盘也还有剩余空间。现在,把另外4块磁盘也分区。分区使用fdisk或gdisk工具,具体过程这里就省略了。分完区后信息如下:
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 40G 0 disk ├─sda1 8:1 0 2M 0 part ├─sda2 8:2 0 1G 0 part /boot ├─sda3 8:3 0 1G 0 part [SWAP] ├─sda4 8:4 0 10G 0 part / └─sda5 8:5 0 100M 0 part sdb 8:16 0 1G 0 disk └─sdb1 8:17 0 1023M 0 part sdc 8:32 0 1G 0 disk └─sdc1 8:33 0 1023M 0 part sdd 8:48 0 1G 0 disk └─sdd1 8:49 0 1023M 0 part sde 8:64 0 1G 0 disk └─sde1 8:65 0 1023M 0 part
制作pv
首先,我们需要安装lvm2这个软件。
yum install lvm2
关于pv有几个相关的命令:
pvscan 查看系统上的pv
pvdisplay 列出pv的使用情况
pvcreate 制作pv
pvremove 删除该pv,即使某分区没有了pv属性
现在我们来使用分区来制作pv。
用法:pvcreate 分区 ……
# pvcreate /dev/sdb1 /dev/sdc1 Physical volume "/dev/sdb1" successfully created. Physical volume "/dev/sdc1" successfully created. # 这样就制作好了两个pv
下面通过pvscan查看系统上所有的pv
# pvscan PV /dev/sdc1 lvm2 [1023.00 MiB] PV /dev/sdb1 lvm2 [1023.00 MiB] Total: 2 [<2.00 GiB] / in use: 0 [0 ] / in no VG: 2 [<2.00 GiB] # 共有2个pv,总大小2G左右,0个pv被使用
查看某个pv的使用情况:pvdispaly [分区名]
# pvdisplay /dev/sdb1 "/dev/sdb1" is a new physical volume of "1023.00 MiB" --- NEW Physical volume --- PV Name /dev/sdb1 VG Name PV Size 1023.00 MiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 6sl1Eg-S6BJ-1QYX-NAFs-9dIB-zEKN-jz7lYM
然后,我们再将这两个pv给删除掉
# pvremove /dev/sd{b,c}1 Labels on physical volume "/dev/sdb1" successfully wiped. Labels on physical volume "/dev/sdc1" successfully wiped.
最后,我们还是制作3个pv吧
# pvcreate /dev/sd{b,c,d}1 Physical volume "/dev/sdb1" successfully created. Physical volume "/dev/sdc1" successfully created. Physical volume "/dev/sdd1" successfully created.
制作vg
vg也有几个相关的命令,如下:
vgcreate 制作vg,这个命令是这些命令中最复杂的。
vgscan 浏览系统上的vg
vgremove 删除一个vg
vgdisplay 查看vg的使用情况
vgextend 对vg扩容,即增加pv
vgreduce 从vg移除pv
首先看制作vg的命令使用:
vgcreate [-s N[m|g|t]] vg名称 pv名称
选项与参数:
-s 后接大小,m、g、t大小写均可,用来设置pe大小。省略该参数,则使用默认大小,一般为4M
vg名称: 和pv过程不一样,这里需要自定义vg的名称,
pv名称, 由哪几个pv制作vg。
下面来制作vg
# vgcreate vgwww /dev/sd{b,c,d}1 Volume group "vgwww" successfully created
浏览vg有哪些
# vgscan Reading volume groups from cache. Found volume group "vgwww" using metadata type lvm2
查看vg的相关信息
# vgdisplay --- Volume group --- VG Name vgwww System ID Format lvm2 Metadata Areas 3 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 3 Act PV 3 VG Size <2.99 GiB PE Size 4.00 MiB Total PE 765 Alloc PE / Size 0 / 0 Free PE / Size 765 / <2.99 GiB VG UUID pd3HIi-NnES-DsdO-d35L-qoJB-OrwI-vkhfqV
现在我们对vgwww进行扩容操作
# vgextend vgwww /dev/sde1 Volume group "vgwww" successfully extended
制作lv
关于lv也有一些相关命令,分别如下:
lvcreate :制作lv
lvscan :查询系统上的lv
lvdisplay :显示lv的状况
lvextend :增加lv容量
lvreduce :减少lv容量
lvremove :删除一个lv
lvresize :对lv容量大小进行调整
下面我们来看制作lv的命令
lvcreate [-L N[m/g/t]] [-n lv名称] vg名称
lvcreate [-l N] [-n lv名称] vg名称
选项参数:
-L 后接容量,设置lv的大小
-l 后接使用多少个pe的数量
可以不设置lv名称,那么系统会自动设置lv名称
# lvcreate -L 1G -n lvwww vgwww Logical volume "lvwww" created. # lvscan ACTIVE '/dev/vgwww/lvwww' [1.00 GiB] inherit
下面再来演示如何给lv进行扩容增大1G,扩容要使用lvresize命令了。首先,确定vg剩余空间大于1G,然后进行扩容
# vgdisplay vgwww --- Volume group --- VG Name vgwww System ID Format lvm2 Metadata Areas 4 Metadata Sequence No 5 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 0 Max PV 0 Cur PV 4 Act PV 4 VG Size 3.98 GiB PE Size 4.00 MiB Total PE 1020 Alloc PE / Size 256 / 1.00 GiB Free PE / Size 764 / 2.98 GiB <=== 还有剩余3G的空间 VG UUID pd3HIi-NnES-DsdO-d35L-qoJB-OrwI-vkhfqV # lvresize -L +1G /dev/vgwww/lvwww Size of logical volume vgwww/lvwww changed from 1.00 GiB (256 extents) to 2.00 GiB (512 extents). Logical volume vgwww/lvwww successfully resized.
格式化、挂载
这个/dev/vgwww/lvwww就相当于一个分区,想要使用该分区就需要先进行格式化,然后挂载使用
# mkfs.xfs /dev/vgwww/lvwww # blkid …… /dev/mapper/vgwww-lvwww: UUID="fcbff612-a169-4542-ad92-6d53abe7b982" TYPE="xfs" # mount /dev/vgwww/lvwww /www [root@localhost ~]# df -h …… /dev/mapper/vgwww-lvwww 2.0G 33M 2.0G 2% /www
到此,整个流程就结束了,新的文件系统已经创建完毕了。
更多相关技术文章,请访问linux系统教程栏目!
以上是linux下的lvm软件制作过程演示的详细内容。更多信息请关注PHP中文网其他相关文章!