文档章节

Centos LVM扩展磁盘实例

静夜听风
 静夜听风
发布于 2015/04/05 22:39
字数 2139
阅读 2481
收藏 13

环境: centos

前期了解:

最大磁盘问题

1,对lvm2创建的LVM卷来说,容量大小取决于kernel的限制 (当然,还有你的磁盘空间)。
对lvm1创建的LVM卷来说,LVM逻辑卷最大可能容量取决于所用扩展大小。  计算公式是:
65534 * 扩展大小 = 最大逻辑卷大小,默认pe是为4M,范围是8K-16G,lvm1最大扩展到1PB

65534 * 16GB = 1,048,544 GB

2,对于大于2TB的磁盘,应该用parted来分区(下篇文章将会讲解),fdisk只能支持2TB以下的磁盘分区

3,系统所使用的文件系统需要对你的逻辑卷大小提供支持。  Linux缺省文件系统为Reiserfs,它最大支持16TB空间。

ok,问题已经很清楚了, 由于环境的原因,磁盘并没有超过2TB,我们这里将使用fdisk来分区

========================

1,查看系统是否支持LVM, 是否存在PV

[root@localhost ~]# rpm -qa |grep lvm
lvm2-2.02.46-8.el5
[root@localhost ~]# pvdisplay 
[root@localhost ~]#

2,查看磁盘信息

[root@localhost ~]# fdisk -l
======
Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

3,分区

[root@localhost ~]# fdisk /dev/sdb #选择磁盘

The number of cylinders for this disk is set to 2610.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): n  #创建分区
Command action
   e   extended
   p   primary partition (1-4)
p   #选择创建主分区
Partition number (1-4): 1 #第一个分区
First cylinder (1-2610, default 1): 
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-2610, default 2610): +10G #分区大小

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2 #第2个分区
First cylinder (1218-2610, default 1218): 
Using default value 1218
Last cylinder or +size or +sizeM or +sizeK (1218-2610, default 2610): 
Using default value 2610


Command (m for help): p  #查看分区信息

Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1217     9775521   83  Linux     #id类型为83,我们需要修改成LVM类型id
/dev/sdb2            1218        2610    11189272+  83  Linux


Command (m for help): l  #查看类型代码

 0  Empty           1e  Hidden W95 FAT1 80  Old Minix       bf  Solaris        
 1  FAT12           24  NEC DOS         81  Minix / old Lin c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          82  Linux swap / So c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  83  Linux           c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     84  OS/2 hidden C:  c7  Syrinx         
 5  Extended        41  PPC PReP Boot   85  Linux extended  da  Non-FS data    
 6  FAT16           42  SFS             86  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS       4d  QNX4.x          87  NTFS volume set de  Dell Utility   
 8  AIX             4e  QNX4.x 2nd part 88  Linux plaintext df  BootIt         
 9  AIX bootable    4f  QNX4.x 3rd part 8e  Linux LVM       e1  DOS access     
 a  OS/2 Boot Manag 50  OnTrack DM      93  Amoeba          e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 94  Amoeba BBT      e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            9f  BSD/OS          eb  BeOS fs        
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi ee  EFI GPT        
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a5  FreeBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a6  OpenBSD         f0  Linux/PA-RISC b
11  Hidden FAT12    56  Golden Bow      a7  NeXTSTEP        f1  SpeedStor      
12  Compaq diagnost 5c  Priam Edisk     a8  Darwin UFS      f4  SpeedStor      
14  Hidden FAT16 <3 61  SpeedStor       a9  NetBSD          f2  DOS secondary  
16  Hidden FAT16    63  GNU HURD or Sys ab  Darwin boot     fb  VMware VMFS    
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep        
1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT   

Command (m for help): t  #修改类型id
Partition number (1-4): 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 8e  
Changed system type of partition 2 to 8e (Linux LVM)

Command (m for help): p  #再次查看

Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1217     9775521   8e  Linux LVM  #已经更改
/dev/sdb2            1218        2610    11189272+  8e  Linux LVM

Command (m for help): w  #保存退出
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

上面我们把磁盘sdb分成2个主分区,如果不需要创建lvm,只是挂载一个新磁盘使用,就不需要修改成lvm的id,fdisk后,格式化分区后,直接挂载就可以使用了, 用fdisk -l查看下磁盘

[root@localhost ~]# fdisk -l
======
Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1217     9775521   8e  Linux LVM
/dev/sdb2            1218        2610    11189272+  8e  Linux LVM

2,创建PV,开头我们已经查过了, 系统中并不存在pv,直接创建pv

[root@localhost ~]# pvcreate /dev/sdb1 /dev/sdb2
  Physical volume "/dev/sdb1" successfully created
  Physical volume "/dev/sdb2" successfully created
[root@localhost ~]# pvscan 
  PV /dev/sdb1                      lvm2 [9.32 GB]
  PV /dev/sdb2                      lvm2 [10.67 GB]
  Total: 2 [19.99 GB] / in use: 0 [0   ] / in no VG: 2 [19.99 GB]

3,创建VG(卷组)

[root@localhost ~]# vgcreate date_vg /dev/sdb1 /dev/sdb2
  Volume group "date_vg" successfully created
[root@localhost ~]# vgscan 
  Reading all physical volumes.  This may take a while...
  Found volume group "date_vg" using metadata type lvm2
[root@localhost ~]# vgdisplay -v date_vg #查看卷组信息
[root@localhost ~]# vgreduce date_vg /dev/sdb2 #从vg删除pv
[root@localhost ~]# vgextend date_vg /dev/sdb2 #重新添加
  Volume group "date_vg" successfully extended

4,创建LV

创建卷组之后,就可以使用lvcreate命令在其基础上创建逻辑卷了。在创建逻辑卷之前,还需要规划逻辑卷的大小(按实际需要划分)、逻辑卷的模式等。

1、逻辑卷模式

按写入的方式不同,逻辑卷有如下两种模式:

线性模式:先写满组成线性逻辑卷的第一个物理卷,再向第2个物理卷中写入数据,以此类推。

交错模式:写入数据时交错地将数据写入组成逻辑卷的多个物理卷中(写入方式类似于RAID 0)。采用这种方式建立的逻辑卷将不能在它们所在的物理卷中扩展。速度是快,安全性不高,如果其中一个物理卷出问题, 那就是大麻烦

创建交错逻辑卷,可以使用如下命令
#选项i表示交错值为2,小于物理卷的个数
#选项I(大写字母i)表示指定逻辑卷的块大小,本例中为4MB
#选项l(小写字母L)表示块数量,本例中表示块数量为100个
[root@localhost ~]# lvcreate -i 2 -I 4 -l 100 -n date01_lv date_vg
#选项L用于指定逻辑卷的大小
#选项n用于指定逻辑卷的名称
[root@localhost ~]# lvcreate -L 10G -n date01_lv date_vg

扩充逻辑卷

#1,扩充到多少G
[root@localhost ~]# lvextend -L 18G /dev/date_vg/date01_lv 
#2,扩充多少G
[root@localhost ~]# lvextend -L +5G /dev/date_vg/date01_lv 
#注意,扩充的大小应该小于卷组的大小

创建文件系统

[root@localhost ~]# mkfs.ext3 /dev/date_vg/date01_lv/
[root@localhost ~]# mkdir /webdate/
[root@localhost ~]# mount /dev/date_vg/date01_lv/ /webdate/
为了能在系统启动时自动挂载逻辑卷,可以在配置文件/etc/fstab的最后加入以下内容:
/dev/date_vg/date01_lv/ /webdate/    ext3    defaults    0 2

在线扩充文件系统

如果使用lvextend改变了磁盘大小,应该用resize2fs进行在线扩充

注意:命令resize2fs只能用于调整ext2、ext3文件系统,如果逻辑卷使用的是其他文件系统,就需要参阅相关文档了解具体的命令

[root@localhost ~]# lvextend -L +2G /dev/date_vg/date01_lv 
[root@localhost ~]# resize2fs /dev/date_vg/date01_lv 
[root@localhost ~]# df -lh
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              48G  2.3G   43G   6% /
/dev/sda1             289M   16M  258M   6% /boot
tmpfs                 252M     0  252M   0% /dev/shm
/dev/mapper/date_vg-date01_lv
                       17G  170M   16G   2% /webdate

逻辑卷快照

对数据库文件进行备份时,由于数据库处于工作状态,因此不停地写入、删除数据库中的信息,会造成备份后的数据前后不一致。这时可以使用快照(snapshot)。

创建逻辑卷快照与创建逻辑卷一样,都使用lvcreate命令。

(1)创建快照卷之前,需要确认原始卷的大小,因为创建的快照卷通常都应该比原始卷大(1.1倍至1.2倍之间即可)。

#使用lvcreate命令创建名为db_snapshot的快照卷
#选项L用于指定快照卷的大小
#选项s表示要创建的是快照卷
#选项n用于指定快照卷的名称
[root@localhost ~]# lvcreate -L 2G -s -n datebak /dev/date_vg/date01_lv/

快照卷创建完成后,就可以挂载并备份其中的数据文件了。

(2)完成备份之后,可以使用以下命令卸载并删除快照卷:

[root@localhost ~]# umount /dev/date_vg/datebak/

[root@localhost ~]# lvremove /dev/date_vg/datebak/


© 著作权归作者所有

静夜听风
粉丝 12
博文 24
码字总数 13019
作品 0
系统管理员
私信 提问
XenServer 虚拟机(centos7.2)扩容LVM磁盘分区的方法

XenServer 虚拟机(centos7.2)扩容LVM磁盘分区的方法 说明:XenServer(6.2)里面安装的虚拟机(centos7),分区的时候采用的是LVM磁盘分区,文件系统格式为xfs 需求:现在需要扩容虚拟机根分区/...

yikayi
2017/02/14
0
0
Centos7.3,mysql5.7环境,数据存储空间加大调整方案。

Centos7.3 Mysql 5.7 分区信息如下 df -h Filesystem Size Used Avail Use% Mounted on/dev/mapper/cl_gr61-root 50G 6.6G 44G 14% /devtmpfs 3.9G 0 3.9G 0% /devtmpfs 3.9G 0 3.9G 0% /dev......

titandeng
2017/06/08
0
0
VMware虚拟机中CentOS 7的硬盘空间扩容

查看centos7系统挂载点信息 扩展VMWare-centos7硬盘空间 对新增加的硬盘进行分区、格式化 添加新LVM到已有的LVM组,实现扩容 1.查看centos7系统挂载点信息 df -h查看挂载点信息 2.扩展VMWar...

kim_o
2018/08/16
0
0
Linux LVM扩展文件系统

最近发现接手的服务器磁盘空间颇有浪费,大部分空间闲置未分配,而系统刚好使用的lvm故可以方便拓展。 简单说下LVM增加的时候先创建磁盘,然后创建pv,扩展vg,扩展lv,最后文件系统 使用fdi...

aaronchou0
2017/02/15
0
0
VMware虚拟机扩展Linux根目录磁盘空间(Centos)

最近在VMware虚拟机上使用Centos,用着用着,发现虚拟机的磁盘空间不够了。通过以下步骤成功扩展了根目录的磁盘空间 1、Centos 关机,选择编辑虚拟机设置,硬盘,在实用工具那里选择“扩展”...

雪饼
2017/06/15
165
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring系列教程八: Spring实现事务的两种方式

一、 Spring事务概念: 事务是一系列的动作,它们综合在一起才是一个完整的工作单元,这些动作必须全部完成,如果有一个失败的话,那么事务就会回滚到最开始的状态,仿佛什么都没发生过一样。...

我叫小糖主
46分钟前
4
0
CentOS 的基本使用

1. 使用 sudo 命令, 可以以 root 身份执行命令, 必须要在 /etc/sudoers 中定义普通用户 2. 设置 阿里云 yum 镜像, 参考 https://opsx.alibaba.com/mirror # 备份mv /etc/yum.repos.d/CentO...

北漂的我
昨天
2
0
Proxmox VE技巧 移除PVE “没有有效订阅” 的弹窗提示

登陆的时候提示没有有效的订阅You do not have a valid subscription for this server. Please visit www.proxmox.com to get a list of available options. 用的是免费版的,所以每次都提示......

以谁为师
昨天
3
0
Java设计模式之外观模式(门面模式)

什么是外观模式   外观模式(Facade),他隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口。这种类型的设计模式属于结构性模式。为子系统中的一组接口提供了一个统一的访问接口...

须臾之余
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部