LVM

LVM是一种源自Unix环境,在Linux上广泛应用的逻辑虚拟盘存储方案。借助LVM,可以在保证各个Linux目录分区稳定,又可以实现各目录存储资源灵活分配。

本文主要系统介绍Linux环境下,LVM实现资源扩容步骤方法。留待需要朋友待查。

1、环境介绍

笔者使用Linux 6.5进行测试,背景是一台用于测试搭建的数据库服务器,需要转换为正式投产,但是原有可用根节点空间只有50G左右。

[root@Testserver vg_li6]# df -h

Filesystem                          Size  Used Avail Use% Mounted on

/dev/mapper/vg_li6-lv_root  50G  20G  27G  43% /

tmpfs                                3.9G  232K  3.9G  1% /dev/shm

/dev/sda1                            485M  39M  421M  9% /boot

/dev/mapper/vg_li6-lv_home  26G  173M  24G  1% /home

目标是通过外围虚拟化环境,增加存储空间,并且将增加的空间转移到/目录下。也就是增加在vg_li6虚拟磁盘组的lv_root逻辑卷下面。

2、增加磁盘空间和分区

联系负责虚拟化的同事,为虚拟机增加虚拟磁盘sdb。通过fdisk命令,可以比较清晰的查看到。

[root@Testserver ~]# fdisk -l

Disk /dev/sda: 85.9 GB, 85899345920 bytes

255 heads, 63 sectors/track, 10443 cylinders

(篇幅原因,有省略……)

Disk /dev/sdb: 107.4 GB, 107374182400 bytes

255 heads, 63 sectors/track, 13054 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

使用fdisk命令进行格式化。

[root@Testserver ~]# fdisk /dev/sdb

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel

Building a new DOS disklabel with disk identifier 0x44e9daf0.

Changes will remain in memory only, until you decide to write them.

After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to

switch off the mode (command 'c') and change display units to

sectors (command 'u').

Command (m for help): n –创建新的磁盘组

Command action

e  extended

p  primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-13054, default 1):

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-13054, default 13054):

Using default value 13054

Command (m for help): w –写入磁盘分区信息

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

查看fdisk结果。

[root@Testserver ~]# fdisk -l

Disk /dev/sda: 85.9 GB, 85899345920 bytes

255 heads, 63 sectors/track, 10443 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00064fe0

Device Boot      Start        End      Blocks  Id  System

/dev/sda1  *          1          64      512000  83  Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2              64      10444    83373056  8e  Linux LVM

(篇幅原因,有省略……)

Disk /dev/sdb: 107.4 GB, 107374182400 bytes

255 heads, 63 sectors/track, 13054 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x44e9daf0

Device Boot      Start        End      Blocks  Id  System

/dev/sdb1              1      13054  104856223+  83  Linux

3、LVM管理设置

总的步骤应该是这样:首先需要让LVM认可/dev/sdb1是一个可用的PV(Physical Volume),之后将其加入到VG里面去,补充VG资源。最后拓展lv_root磁盘空间。

当前LVM情况如下:

lvm> vgs

VG              #PV #LV #SN Attr  VSize  VFree

vg_li6  1  3  0 wz--n- 79.51g    0

lvm> lvs

LV      VG              Attr      LSize  Pool Origin Data%  Move Log Cpy%Sync Convert

lv_home vg_li6 -wi-ao---- 25.63g

lv_root vg_li6 -wi-ao---- 50.00g

lv_swap vg_li6 -wi-ao----  3.88g

lvm> pvs

PV        VG              Fmt  Attr PSize  PFree

/dev/sda2  vg_li6 lvm2 a--  79.51g    0

此时的pv只有一个/dev/sda2,全部用满。首先创建/dev/sdb1作为PV。

[root@Testserver ~]# pvcreate /dev/sdb1

dev_is_mpath: failed to get device for 8:17

Physical volume "/dev/sdb1" successfully created

[root@Testserver ~]# pvs

PV        VG              Fmt  Attr PSize  PFree

/dev/sda2  vg_li6 lvm2 a--  79.51g      0

/dev/sdb1                  lvm2 a--  100.00g 100.00g

往VG里面增加PV,作为空间拓容。

lvm> vgs

VG              #PV #LV #SN Attr  VSize  VFree

vg_li6  1  3  0 wz--n- 79.51g    0

lvm> vgextend vg_li6 /dev/sdb1

Volume group "vg_li6" successfully extended

lvm> vgs

VG              #PV #LV #SN Attr  VSize  VFree

vg_li6  2  3  0 wz--n- 179.50g 100.00g –剩余空间增加

lvm> pvs

PV        VG              Fmt  Attr PSize  PFree

/dev/sda2  vg_li6 lvm2 a--  79.51g      0

/dev/sdb1  vg_li6 lvm2 a--  100.00g 100.00g

拓展lv_root空间。

[root@Testserver vg_li6]# lvextend -L +70G /dev/vg_li6/lv_root

Extending logical volume lv_root to 120.00 GiB

Logical volume lv_root successfully resized

4、文件系统识别

注意:此时文件系统并没有认可本次增加。

[root@Testserver vg_li6]# df -h

Filesystem                          Size  Used Avail Use% Mounted on

/dev/mapper/vg_li6-lv_root  50G  20G  27G  43% /

tmpfs                                3.9G  232K  3.9G  1% /dev/shm

/dev/sda1                            485M  39M  421M  9% /boot

/dev/mapper/vg_li6-lv_home  26G  173M  24G  1% /home

需要使用resize2fs命令进行刷新。

[root@Testserver vg_li6]# resize2fs /dev/vg_li6/lv_root

resize2fs 1.41.12 (17-May-2010)

Filesystem at /dev/vg_li6/lv_root is mounted on /; on-line resizing required

old desc_blocks = 4, new_desc_blocks = 8

Performing an on-line resize of /dev/vg_li6/lv_root to 31457280 (4k) blocks.

The filesystem on /dev/vg_li6/lv_root is now 31457280 blocks long.

[root@Testserver vg_li6]# df -h

Filesystem                          Size  Used Avail Use% Mounted on

/dev/mapper/vg_li6-lv_root  119G  20G  93G  18% /

tmpfs                                3.9G  232K  3.9G  1% /dev/shm

/dev/sda1                            485M  39M  421M  9% /boot

/dev/mapper/vg_li6-lv_home  26G  173M  24G  1% /home

LVM-扩容目录的更多相关文章

  1. [转载]Linux LVM硬盘管理及LVM扩容

    最近项目中一直在用Linux,其中涉及到了Linux的LVM,本来想自己写一篇关于LVM的文章,搜了一下,发现了一篇更好的,转载过来,也感谢作者gaojun 原文Linux LVM硬盘管理及LVM扩容 ...

  2. 虚拟机LVM扩容

    1.先在Vmware上,把虚拟机硬盘做扩展 2.现在打开虚拟机发现系统的磁盘空间已经扩了,但是硬盘分区可用空间没变,还是原来的30G [root@localhost ~]# fdisk -l Disk ...

  3. 003.LVM扩容

    一 LVM扩容步骤 创建分区 创建PV 扩容VG 扩容LV 载大小 二 创建分区 使用分区工具(如fdisk等)创建LVM分区,却将分区标识为LVM的分区类型8e. [root@kauai ~]# f ...

  4. 记一次阿里云LVM扩容与 LVM 相关知识学习

    一.lvm 扩容 问题: 我们阿里云服务器有一个磁盘容量为 1T ,但是最近由于业务的扩增,磁盘容量已经不够了,需要增大磁盘的容量.磁盘挂载在 /home,使用的是 LVM.我们现在需要对磁盘进行扩容 ...

  5. Centos7 LVM扩容实例

    Centos7 lvm 扩容与以往版本有所不同   1.插入硬盘,我是在虚拟机上做的测试  直接添加一块5G的硬盘   2.系统读取硬盘信息     # echo "- - -" ...

  6. Linux LVM硬盘管理及LVM扩容

    LVM磁盘管理 一.LVM简介... 1 二. LVM基本术语... 2 三. 安装LVM... 3 四. 创建和管理LVM... 4 2. 创建PV.. 6 3. 创建VG.. 7 4. 创建LV. ...

  7. centos 7添加硬盘及LVM扩容

    一堆概念 分区工具 fdisk:支持MBR,对GPT支持的不好 parted:支持GPT partprobe(centos 5/6).partx(centos 7)通知内核强制重读磁盘分区表 分区表 ...

  8. VirtualBox虚拟机增加CentOS根目录容量 LVM扩容

    对于目前的网络开发者来说,比较好的搭档就是Win7+VirtualBox+CentOS的组合,既可以发挥Linux强大的网络服务功能,也可以有效的隔离各项服务拖慢系统,影响系统的运行,对于新手来说可以 ...

  9. 逻辑卷管理LVM 扩容LV容量实例(一)

    实验环境: 一台Linux 服务器添加两块硬盘,一块硬盘容量30G,另一块硬盘容量50G,采用VMware Workstation虚拟机进行模拟实验. 30G硬盘先分成一个分区,分区大小为25G,再创 ...

  10. Linux LVM硬盘管理及LVM扩容【转】

    原文地址:http://www.cnblogs.com/gaojun/archive/2012/08/22/2650229.html 一.LVM简介 LVM是 Logical Volume Manag ...

随机推荐

  1. Learning OSG programing---osgScribe

    Learning OSG programing---osgScribe Scribe可以翻译为素描,抄写等.本例通过在模型表面添加一层素描,来显示模型的骨架. 关键代码: osg::ref_ptr&l ...

  2. Java常用的几个Json库,性能强势对比!

    作者:飞污熊 https://xncoding.com/2018/01/09/java/jsons.html 本篇通过JMH来测试一下Java中几种常见的JSON解析库的性能.每次都在网上看到别人说什 ...

  3. Java内存模型之happens-before原则

    我们无法就所有场景来规定某个线程修改的变量何时对其他线程可见,但是我们可以指定某些规则,这规则就是happens-before,从JDK 5 开始,JMM就使用happens-before的概念来阐述 ...

  4. JavaScript 盖尔-沙普利算法

    最近在学 JavaScript , 为了尽快熟悉语法,决定移植以前写的盖尔-沙普利算法. c# 下的代码:https://www.cnblogs.com/aitong/p/10973774.html ...

  5. js确认末尾字符算法挑战

    检查一个字符串(str)是否以指定的字符串(target)结尾. 如果是,返回true;如果不是,返回false. 这个挑战可以通过在ES2015中引入的.endsWith()方法来解决.但是出于这个 ...

  6. WordPress 页面点击显不同颜色爱心

    在主题的页脚添加以下js即可实现 <script type="text/javascript"> /* * https://www.xianjieo.cn */ !fu ...

  7. mysql中查看所有表、表字段、表注释、字段注释

    查看所有表和表注释 select TABLE_NAME, TABLE_COMMENT from INFORMATION_SCHEMA.Tables where table_schema = '某数据库 ...

  8. line vty 0 4的意义

    VTY是路由器的远程登陆的虚拟端口,0 4表示可以同时打开5个会话,line vty 0 4是进入VTY端口,对VTY端口进行配置,比如说配置密码,或者ACL. 进入VTY 0 0 好象没什么实际操作 ...

  9. 使用intellij的idea集成开发工具中的git插件(转)

    转自:https://blog.csdn.net/u012225679/article/details/71123171 注意:这里并没有介绍git客户端的安装,如果要安装客户端,大家可以参考如下的链 ...

  10. 【虚拟机】:"该虚拟机似乎正在使用中。 如果该虚拟机未在使用,请按“获取所有权(T)”按钮获取它的所有权。否则,请按“取消(C)”按钮以防损坏。"

    1.可能是由于上次使用虚拟机,没有正常关闭出现了这种情况,于是把问题复制粘贴搜了一下. 2.出现了如下可行的解决方法:把后缀名为.vmdk.lck的都删除掉. 3.然后再打开虚拟机就可以了.