热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux下的lvm软件制作过程演示-linux运维

之前一篇文章介绍了lvm,今天在这里演示制作lvm的过程。lvm的制作过程有以下几个步骤:磁盘分区使用分区制作pv以pv建立vg从vg分割出lv格式化lv并挂载到目录中使用接下来...
之前一篇文章介绍了lvm,今天在这里演示制作lvm的过程。lvm的制作过程有以下几个步骤:

  1. 磁盘分区

  2. 使用分区制作pv

  3. 以pv建立vg

  4. 从vg分割出lv

  5. 格式化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            &#39;/dev/vgwww/lvwww&#39; [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社区 其它相关文章!


推荐阅读
author-avatar
林筱杏-HA
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有