linux服务器新添加一块硬盘,可以直接将盘格式化挂载就能用,比如挂载在/usr/local目录,但是这样有一个弊端,就是如果这一块磁盘满了,后续想要扩容的话,不能继续挂载这个/usr/local挂载点上,对扩容造成一定的麻烦,为此我们建议采用lvm的方式,这样可以支持动态扩容磁盘。下面介绍详细的操作方式。

1,查看新增的磁盘,需要使用root权限

  fdisk -l

  看到有一个新增的100G磁盘

挂载lvm2_member 硬盘 mount挂载lvm硬盘_备份文件

2,对磁盘进行分区

  fdisk /dev/xvdb

  1,输入:n

  表示创建一个新的分区(new的意思)

  2,输入:p

  表示创建一个基本分区(p是基本分区,e是扩展分区)

  3,选择分区编号,1~4,默认使用1,直接按回车即可。

  4,选择分区起始点,使用默认即可,直接按回车。

  5,选择分区终点,使用默认即可,直接按回车。

  6,分区完成。

  

挂载lvm2_member 硬盘 mount挂载lvm硬盘_挂载lvm2_member 硬盘_02

3,更改分区编号

  我们需要将分区类型改成linux lvm卷才能创建lvm。

  输入:t

  输入t表示更改分区编号

  输入:L

  大写的L表示查看所有编号

挂载lvm2_member 硬盘 mount挂载lvm硬盘_挂载lvm2_member 硬盘_03

 

  这里我们选择8e

  输入:8e

挂载lvm2_member 硬盘 mount挂载lvm硬盘_自动挂载_04

 

  回车即可

4,保存退出

  输入:w

  表示写入磁盘(write)

在进行下一步之前,我们说明一下pv、vg、lv的关系。

一个硬盘f分区组成一个pv(物理卷)

一个或者多个pv组成一个vg(卷组)

一个vg可以划分出多个lv(逻辑卷)

5,创建pv

 输入:pvcreate /dev/xvdb1

此时的磁盘分区是xvdb1,而不是xvdb了。

挂载lvm2_member 硬盘 mount挂载lvm硬盘_开发工具_05

 

6,创建vg

输入:vgcreate vg_group /dev/xvdb1

此处的vg_group是vg组的名字,可以自定义。

挂载lvm2_member 硬盘 mount挂载lvm硬盘_文件类型_06

 

查看创建的vg

输入:vgdisplay

挂载lvm2_member 硬盘 mount挂载lvm硬盘_文件类型_07

 可以看到已经成功创建

7,创建lv

输入:lvcreate -L 60G -n vg_usr vg_group

-L后面是要分给lv的大小

-n新建一个名字为vg_usr的lv

使用的vg是vg_group

挂载lvm2_member 硬盘 mount挂载lvm硬盘_备份文件_08

8,格式化lv

查看系统的文件类型

输入:df -Th

挂载lvm2_member 硬盘 mount挂载lvm硬盘_自动挂载_09

文件类型是ext4

格式化lv

 输入:mkfs.ext4 /dev/vg_group/vg_usr

mkfs后面是文件类型。

挂载lvm2_member 硬盘 mount挂载lvm硬盘_开发工具_10

9,编辑/etc/fstab文件,创建磁盘开机自动挂载

vim /etc/fstab

在文件最后加入一行

第一列:要挂载的磁盘

第二列:挂载点

第三列:文件类型

第四列:挂载选项,详细参考man mount. 下面列出一些常用的选项: 
   auto: 系统自动挂载,fstab默认就是这个选项 

ro: read-only 
   rw: read-write 
   defaults: rw, suid, dev, exec, auto, nouser, and async.

第五列:为dump选项,设置是否让备份程序dump备份文件系统,0为忽略,1为备份。

第六列:为fsck选项,告诉fsck程序以什么顺序检查文件系统,0为忽略。

挂载lvm2_member 硬盘 mount挂载lvm硬盘_文件类型_11

10,重新挂载

mount -a

11,查看是否挂载成功

挂载lvm2_member 硬盘 mount挂载lvm硬盘_文件类型_12

 

 至此,新磁盘创建lvm已完成,后续可以随时扩容lvm。

 

 

 

20171220更新

扩容lvm

lvextend -L +100G /dev/mapper/vg_group-vg_user

之后使用resize2fs进行更新

resize2fs /dev/mapper/vg_group-vg_user

即可扩容完成

如果resize2fs出现错误:

resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block while trying to open /dev/mapper/vg_group-vg_user
Couldn't find valid filesystem superblock.

则使用下面的方式



xfs_growfs /dev/mapper/vg_group-vg_user