11赞
6939
当前位置:  开发笔记 > 编程语言 > 正文

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社区 其它相关文章!


推荐阅读
  • php教程|php手册ThinkPHP,添加,更新,标签php教程-php手册92game手机漫画源码,vscode死循环卡住了怎么办,ubuntu修改登录,上传到tomcat的文 ... [详细]
  • 2022第五空间web部分wp+复盘总结
    打了一天,麻了,大佬tql,这次get到了不少东西,一是一个不太常见的宽字节注入,我是真的没想到,而且后面也是看了wp理解了好一会才弄明白。0x01:题目是一个登录框,但是基本上是过滤掉了所有的常见注入的关键词。实在是没思路,后面看了大佬wp,才发现是宽字节注入,同时还要利用 ... [详细]
  • 如何用PHP实现网页截图?方法和步骤1如果是在linux下建议使用phantomjs进行截图十分简单,php应该不容易实现。2因为截图需要先有地方把整个页面解析后渲染出来才能够截图 ... [详细]
  • 201720181 20155311 《信息安全系统设计基础》第1周学习总结
    201720181 20155311 《信息安全系统设计基础》第1周学习总结 ... [详细]
  • 用户操作:mysql-uroot-p 登录root用户;SHOWDATABASES; 显示所有的数据库名称;USE linuxcast; 切入linuxcast数据库;CREATE ... [详细]
  • 文件归档压缩: 压缩、解压缩命令 压缩格式:gz、bz2、xz、zip、z 压缩算法:算法不同,压缩比也会不同 compress:FILENAME. ... [详细]
  • 某公司防火墙配置2
    好的,接着昨天的配置,我们需要发布公司的服务器供internet上的用户访问,拓扑图如下:由于为了防止病毒攻击,我们不能放开untrust区域和dmz区域之间的策略:[SRG]di ... [详细]
  • ?? 方法一: [root@vmrac1~]#su-grid [grid@vmrac1~]$sqlplusassysasm SQL*Plus:Release11 ... [详细]
  • 这篇文章主要介绍了iOS获取AppIconandLaunchImage'sname(app图标和启动图片名字)的相关资料,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习 ... [详细]
  • UIGrid+自适应
    如下图所示:一个Grid下面有六个Button,它们需要在不同的分辨下拉伸适应(Horizontal)宽度,以保证填充满底部首先有这两个要点:1、UIGrid中的CellWidth ... [详细]
  • EffectiveJava2对于所有对象都通用的方法
    EffectiveJava2对于所有对象都通用的方法 ... [详细]
  • android开发分享Android中Context 的理解
    这里记录Context的原因是新来的同事问我AndroidContext怎样理解,我是这样说的,Context英文是上下文,它是一个抽象的类,加入在MainActivity中,Co ... [详细]
  • 网站建设步骤操作详解
    企业为什么要建立网站,搭建网站的目的是什么,是通过网站提高企业产品销售渠道,需要量身制作一个符合搜索引擎要求的高品质网站,有利于获得网站关键词排名,不仅能带来流量与访问量,还能增强商品的转化率,普通的模板站、仿站是不具备营销力,面对如今激烈竞争的互联网,没有一个好的营销手段,企业 ... [详细]
  • php教程|php手册几个,好,用截取,字符串,php,函数,分享,分享,几个,好,用PHP,截取,字符串,函数,支持,gb231php教程-php手册分享几个好用的PHP截取字符 ... [详细]
  • 较新版本的linux系统都已经没有xorg.conf文件,但是有时候为了对显示做微调或为了支持多屏显示等原因,还需要手工生成一个xorg.conf,然后根据情况做些修改设置。这种情况下我们如何有一个基 ... [详细]
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社区 版权所有