打算给系统装一个oracle,发现磁盘空间不足。在安装系统的时候我选择的是自动分区,系统就会自动以LVM的方式分区。为了保证系统后期的可用性,建议所有新系统安装都采用LVM,之后生产上的设备我也打算这样做。

参于LVM基本介绍与常用命令请参考:http://www.cnblogs.com/jackruicao/p/6258812.html


LVM结构图

扩容之前的磁盘状况

[root@localhost ~]# df -h

文件系统             容量 已用 可用已用%%挂载点

/dev/mapper/VolGroup-lv_root 5.3G  2.5G  2.6G  50% /

tmpfs                 538M     0  538M   0% /dev/shm

/dev/sda1             485M   30M  430M   7% /boot

[root@localhost ~]# fdisk -l

Disk /dev/sda: 8589 MB, 8589934592 bytes

...............

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        1045     7875584   8e  Linux LVM

Disk /dev/mapper/VolGroup-lv_root: 5779 MB, 5779750912 bytes

........

Disk /dev/mapper/VolGroup-lv_swap: 2281 MB, 2281701376 bytes

.........

此次扩容的方案为:

1、加1个5G的空间给/

2、加1个10G的空间给/oracle

(一)   VM中加一个15G的磁盘

重启后#fdisk –l可以看到新的磁盘已经认出来了。

Disk /dev/sdb: 16.1 GB, 16106127360 bytes

............................

Disk /dev/sdb doesn't contain a valid partition table

(二)创建物理卷(PV)

#pvcreate /dev/sdb

查看系统PV的情况:

[root@localhost ~]# pvdisplay

--- Physical volume ---

PV Name               /dev/sda2  //原有硬盘上的PV

VG Name               VolGroup

PV Size               7.51 GiB / not usable 3.00 MiB

Allocatable           yes (but full)

PE Size               4.00 MiB

Total PE              1922

Free PE               0

Allocated PE          1922

PV UUID               SGH1dY-4tp2-Nr1a-w93Z-V4LA-pQBh-VGzzTH

"/dev/sdb" is a new physical volume of "15.00 GiB"

--- NEW Physical volume ---

PV Name               /dev/sdb

VG Name                //新建的PV的VG name是空的,下一步就是把PV加入VG

PV Size               15.00 GiB

Allocatable           NO

PE Size               0

Total PE              0

Free PE               0

Allocated PE          0

PV UUID               8TZUlz-YyUp-RBvf-lSzm-7MgG-DSZS-qNqX1Z

查看原VG的情况

[root@localhost ~]# vgdisplay

--- Volume group ---

VG Name               VolGroup //注意记录此名字,扩容时将新的pv加入指定的名字

System ID

Format                lvm2

Metadata Areas        1

Metadata Sequence No  3

VG Access             read/write

VG Status             resizable

MAX LV                0

Cur LV                2

Open LV               2

Max PV                0

Cur PV                1

Act PV                1

VG Size               7.51 GiB

PE Size               4.00 MiB

Total PE              1922

AllocPE / Size       1922 / 7.51 GiB

Free  PE / Size       0 / 0

VG UUID               FnUsmX-s284-GeRK-hJNJ-BbIG-Vpe7-OuFZE1

(三)#扩展卷组,/dev/sdb物理卷添加到VolGroup卷组中

[root@localhost ~]# vgextend VolGroup /dev/sdb

Volume group "VolGroup" successfully extended

再查看VG情况,可以看到VG大小变化,空余空间。

[root@localhost ~]# vgdisplay

--- Volume group ---

VG Name               VolGroup

System ID

Format                lvm2

Metadata Areas        2

Metadata Sequence No  4

VG Access             read/write

VG Status             resizable

MAX LV                0

Cur LV                2

Open LV               2

Max PV                0

Cur PV                2

Act PV                2

VG Size               22.50 GiB

PE Size               4.00 MiB

Total PE              5761

AllocPE / Size       1922 / 7.51 GiB

Free  PE / Size       3839 / 15.00 GiB

VG UUID               FnUsmX-s284-GeRK-hJNJ-BbIG-Vpe7-OuFZE1

(四)将新的VG空间划入LV(扩容lv_root

#直接扩展5G给/root分区,不用umount,也不需要重启

# lvextend -L +5G  /dev/mapper/VolGroup-lv_root

Extending logical volume lv_root to 10.38 GiB

Logical volume lv_root successfully resized

也可以使用命令

# lvextend -l +30%FREE /dev/mapper/VolGroup-lv_root

此时,如果有df命令查看的话,会发现root空间并没有增加的.还需要执行以下两步操作才可以.

#检查/root逻辑卷

#e2fsck -f /dev/mapper/VolGroup-lv_root

#重新定义分区大小

#resize2fs /dev/mapper/VolGroup-lv_root

 

查看/目录大小


可以看到/目录已经从原来的5.3G扩容到了11G。

(五)LV卷空间分配(新增lv_oracle

在VG中还有新增的10G没有用,可以将VG中的空余空间划分为LV,并将新的LV挂载在目录下。

# vgs

VG       #PV #LV #SN Attr   VSize  VFree

VolGroup   2   2   0 wz--n- 22.50g10.00g

//可以通过#vgs命令查看vg信息统计,可以看到VFree还有10G。

将VG空余的空间化分为LV

#lvcreate -L 10G -n lv_oracle VolGroup


图四

//少了一点点空间…

//可以用-l 分,它是按pv块数来分的。一个pv默认是4M,可是从vgdisplay中去查vg中还剩多少pv以及总数是多少。


图五

//查到剩余2559个PE,于是执行

# lvcreate -l 2559 -n lv_oracle VolGroup

Logical volume "lv_oracle" created

提示创建成功后,用vgs和lvs命令分别查看。

图六

 

(五)挂载LV到目录下

接下来就是要把lv_oracle挂到/oracle,目录下

#cd /
#mkdir oracle
#chmod 777 /oracle

创建/oracle目录并修改权限

# vi /etc/fstab

可以看到目前挂载分区的情况

图七

//我们可以参照/的分区把oracle的加上去。加入这行:

/dev/mapper/VolGroup-lv_oracle      /oracle    ext4 defaults  0 0

 然后把lv_oracle格式化成ext4

#mkfs.ext4 /dev/mapper/VolGroup-lv_oracle

图八

将lv_oracle  mount到目录/oracle上

# mount /dev/mapper/VolGroup-lv_oracle /oracle之后查看一下分区情况


图九

可以重启系统检查一下是否正常。


图十

#df –h

挂载正常,可以收工了。

linux下 lvm 磁盘扩容的更多相关文章

  1. CentOS 下lvm 磁盘扩容

    打算给系统装一个oracle,发现磁盘空间不足.在安装系统的时候我选择的是自动分区,系统就会自动以LVM的方式分区.为了保证系统后期的可用性,建议所有新系统安装都采用LVM,之后生产上的设备我也打算这 ...

  2. Linux下lvm在线扩容步骤

    转 :https://jingyan.baidu.com/article/25648fc18f22b29191fd0011.html 图片看不清可以看原文 LVM是逻辑盘卷管理(Logical Vol ...

  3. 【转载】CentOS LVM磁盘扩容

    转自:http://blog.sina.com.cn/s/blog_8882a6260101cpfs.html EXSI5.1主机有一个linux虚拟机,系统是centos运行httpd服务,因为是多 ...

  4. Linux下的磁盘分割和文件系统

    一.各硬件装置在Linux下的文件名 1.IDE硬盘机 在Linux内的文件名: /dev/hd[a-d]  (a-d 刚好是四个这个是有原因的具体如下) 解释:以 IDE 接口来说,由于一个 IDE ...

  5. linux下测试磁盘的读写IO速度-简易方法

    linux下测试磁盘的读写IO速度-简易方法 参考资料:https://blog.csdn.net/zqtsx/article/details/25487185 一:使用hdparm命令 这是一个是用 ...

  6. Linux下查看磁盘挂载的几种方法

    Linux下查看磁盘挂载的几种方法 第一种方法:df命令 # df -hT Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtm ...

  7. Linux下查看磁盘挂载的三种方法

    Linux下查看磁盘挂载的三种方法 2009-06-05 23:17 好久没有更新日志了,呵呵.不是没有要写的东东.实在抽不出时间来写,要准备公司的考试呢,C++考试.已经有七个月没有写C++代码了, ...

  8. Linux:lvm磁盘分区,动态扩容

    一.lvm磁盘分区: 1,查看新增的磁盘,需要使用root权限 fdisk -l 看到有一个新增的100G磁盘 2,对磁盘进行分区 fdisk /dev/xvdb 1,输入:n 表示创建一个新的分区( ...

  9. lvm 磁盘扩容

    LVM磁盘管理 一.LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现.LVM将一个或多个硬盘 ...

随机推荐

  1. 浅谈 Fragment 生命周期

    版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. Fragment 是在 Android 3.0 中 ...

  2. excel 日期/数字格式不生效需要但双击才会生效的解决办法

    原因: Excel2007设置过单元格格式后,并不能立即生效必须挨个双击单元格,才能生效.数据行很多.效率太低. 原因:主要是一些从网上拷贝过来的日期或数字excel默认为文本格式或特殊-中文数字格式 ...

  3. 46张PPT讲述JVM体系结构、GC算法和调优

    本PPT从JVM体系结构概述.GC算法.Hotspot内存管理.Hotspot垃圾回收器.调优和监控工具六大方面进行讲述.(内嵌iframe,建议使用电脑浏览) 好东西当然要分享,PPT已上传可供下载 ...

  4. Hive on Spark安装配置详解(都是坑啊)

    个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/p/a7f75b868568 简介 本文主要记录如何安装配置Hive on Sp ...

  5. Paypal开发中遇到请求被中止: 未能创建 SSL/TLS 安全通道及解决方案

    最近在基于ASP.NET上开发了Paypal支付平台,在ASP.NET开发的过程中没有遇到这个问题,但是引用到MVC开发模式中的时候就出现了"未能创建 SSL/TLS 安全通道及解决方案&q ...

  6. Redis的简单动态字符串实现

    Redis 没有直接使用 C 语言传统的字符串表示(以空字符结尾的字符数组,以下简称 C 字符串), 而是自己构建了一种名为简单动态字符串(simple dynamic string,sds)的抽象类 ...

  7. IIC驱动移植在linux3.14.78上的实现和在linux2.6.29上实现对比(deep dive)

    首先说明下为什么写这篇文章,网上有许多博客也是介绍I2C驱动在linux上移植的实现,但是笔者认为他们相当一部分没有分清所写的驱动时的驱动模型,是基于device tree, 还是基于传统的Platf ...

  8. Web安全相关(四):过多发布(Over Posting)

    简介 过多发布的内容相对比较简单,因此,我只打算把原文中的一些关键信息翻译一下.原文链接如下: http://www.asp.net/mvc/overview/getting-started/gett ...

  9. 最新的 cocoaPods 安装方法

    经过努力终于发现了最新的 解决cocoaPods安装的办法: taobao Gems 源已停止维护,现由 ruby-china 提供镜像服务 第一步:安装rvm, 不管需不需要升级ruby,rvm可以 ...

  10. JQuery阻止事件冒泡

    冒泡事件就是点击子节点,会向上触发父节点,祖先节点的点击事件. 我们在平时的开发过程中,肯定会遇到在一个div(这个div可以是元素)包裹一个div的情况,但是呢,在这两个div上都添加了事件,如果点 ...