转--Centos7创建LVM磁盘管理

转--https://www.jianshu.com/p/accff9ea7b15

环境介绍
在centos7下需要挂载两个新的磁盘。为了方便后续的扩容方便,决定将这其设置为LVM管理的方式。

查看一下当前有哪些新增的数据盘,如下:

[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 1.4G 36G 4% /
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 328K 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
tmpfs 1.6G 0 1.6G 0% /run/user/0
[[email protected] ~]# fdisk -l

Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0008d73a

Device Boot Start End Blocks Id System
/dev/vda1 * 2048 83884031 41940992 83 Linux

Disk /dev/vdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/vdc: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

[[email protected] ~]#
可以从上面看出,目前有三块硬盘。
系统盘:40G
另外还有两块50G的硬盘,需要挂载。我以其中一块硬盘作为示例。

LVM管理基本概念
LVM管理概念图
1、 物理卷-----PV(Physical Volume)
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个 物理硬盘。
2、 卷组--------VG(Volumne Group)
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可 动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以 拥有多个卷组。
3、 逻辑卷-----LV(Logical Volume)
逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立 后可以动态地扩展和缩小空间。系统中的多个逻辑卷要以属于同一个卷组,也可以 属于不同的多个卷组。
4、 物理区域--PE(Physical Extent)
物理区域是物理卷中可用于分配的最小存储单元,物理区域的大小可根据实际情况在 建立物理卷时指定。物理区域大小一旦确定将不能更改,同一卷组中的所有物理卷 的物理区域大小需要一致。
5、 逻辑区域—LE(Logical Extent)
逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在 卷组中的物理区域的大小。
6、 卷组描述区域-----(Volume Group Descriptor Area)
卷组描述区域存在于每个物理卷中,用于描述物理卷本身、物理卷所属卷组、卷组中的 逻辑卷及逻辑卷中物理区域的分配等所有信息,卷组描述区域是在使用pvcreate 建立物理卷时建立的。
目标 - LVM管理拓扑

本篇章以此拓扑进行逐步部署。

给硬盘分区
选择其中一块50G的数据盘进行分区,只要将50G都设置一个分区即可,无需考虑设置多个分区。
配置步骤如下:

使用命令:fdisk -l |grep dev,查看添加的硬盘是否存在。
[[email protected] ~]# fdisk -l | grep dev
Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors
/dev/vda1 * 2048 83884031 41940992 83 Linux
Disk /dev/vdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
Disk /dev/vdc: 53.7 GB, 53687091200 bytes, 104857600 sectors
[[email protected] ~]#
fdisk是分区工具:fdisk /dev/vdb,进入分区工具设置。
[[email protected] ~]# fdisk /dev/vdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x051e2cc7.

Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition‘s system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

Command (m for help):
输入m命令,则是查看有哪些命令可以使用。其中可以先看看这个数据盘有什么分区了。

输入p命令,查看该数据盘已经有哪些分区
Command (m for help): p

Disk /dev/vdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x051e2cc7

Device Boot Start End Blocks Id System

Command (m for help):
可以看出这块数据盘暂时还没有任何分区,那么下面我先来进行分区。

下面进入分区,‘n’选一个分区类型,如没有其他设置可按默认下到返回m for help处。最后按‘w‘保存设置。

Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-104857599, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-104857599, default 104857599):
Using default value 104857599
Partition 1 of type Linux and of size 50 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[[email protected] ~]#
此时,再次查看一下数据盘,应该已经有一个50G的分区了。那么下一步,将其改为Linux LVM格式分区。

设置磁盘分区为Linux LVM格式分区

Command (m for help): p

Disk /dev/vdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x051e2cc7

Device Boot Start End Blocks Id System
/dev/vdb1 2048 104857599 52427776 83 Linux

Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 8e
Changed type of partition ‘Linux‘ to ‘Linux LVM‘

Command (m for help): p

Disk /dev/vdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x051e2cc7

Device Boot Start End Blocks Id System
/dev/vdb1 2048 104857599 52427776 8e Linux LVM

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[[email protected] ~]#
根据上面的步骤,再对另一个数据盘进行分区,执行如下:
分区:

[[email protected] ~]# fdisk -l | grep dev
Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors
/dev/vda1 * 2048 83884031 41940992 83 Linux
Disk /dev/vdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
/dev/vdb1 2048 104857599 52427776 8e Linux LVM
Disk /dev/vdc: 53.7 GB, 53687091200 bytes, 104857600 sectors
[[email protected] ~]#
[[email protected] ~]# fdisk /dev/vdc
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x420d8007.

Command (m for help): p

Disk /dev/vdc: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x420d8007

Device Boot Start End Blocks Id System

Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-104857599, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-104857599, default 104857599):
Using default value 104857599
Partition 1 of type Linux and of size 50 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[[email protected] ~]#
设置为LVM

[[email protected] ~]# fdisk /dev/vdc
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): p

Disk /dev/vdc: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x420d8007

Device Boot Start End Blocks Id System
/dev/vdc1 2048 104857599 52427776 83 Linux

Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 8e
Changed type of partition ‘Linux‘ to ‘Linux LVM‘

Command (m for help): p

Disk /dev/vdc: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x420d8007

Device Boot Start End Blocks Id System
/dev/vdc1 2048 104857599 52427776 8e Linux LVM

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[[email protected] ~]#
创建物理卷 PV
安装pv系列命令, yum install lvm2 -y
阿里云的服务器默认没有安装pv的相关命令的。

[[email protected] ~]# pvcreate
-bash: pvcreate: command not found
[[email protected] ~]#
需要安装一下lvm2的工具如下:

[[email protected] ~]# rpm -qa | grep lvm
lvm2-2.02.171-8.el7.x86_64
lvm2-libs-2.02.171-8.el7.x86_64
[[email protected] ~]#
安装如下:

[[email protected] ~]# yum install lvm2 -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package lvm2.x86_64 7:2.02.180-10.el7_6.2 will be installed
.... 省略 ....

Installed:
lvm2.x86_64 7:2.02.180-10.el7_6.2

Dependency Installed:
device-mapper-event.x86_64 7:1.02.149-10.el7_6.2
device-mapper-event-libs.x86_64 7:1.02.149-10.el7_6.2
device-mapper-persistent-data.x86_64 0:0.7.3-3.el7
libaio.x86_64 0:0.3.109-13.el7
lvm2-libs.x86_64 7:2.02.180-10.el7_6.2

Dependency Updated:
device-mapper.x86_64 7:1.02.149-10.el7_6.2 device-mapper-libs.x86_64 7:1.02.149-10.el7_6.2

Complete!
[[email protected] ~]#
[[email protected] ~]# rpm -qa | grep lvm
lvm2-libs-2.02.180-10.el7_6.2.x86_64
lvm2-2.02.180-10.el7_6.2.x86_64
[[email protected] ~]#
[[email protected] ~]# pv
pv pvck pvdisplay pvremove pvs
pvchange pvcreate pvmove pvresize pvscan
[[email protected] ~]# pv
从上面可以看出已经安装好了lvm所需要的工具了。那么下面来继续配置。

创建物理卷:选择自己要创建的分区
[[email protected] ~]# fdisk -l | grep dev
Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors
/dev/vda1 * 2048 83884031 41940992 83 Linux
Disk /dev/vdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
/dev/vdb1 2048 104857599 52427776 8e Linux LVM
Disk /dev/vdc: 53.7 GB, 53687091200 bytes, 104857600 sectors
[[email protected] ~]#
[[email protected] ~]# pvcreate /dev/vdb
vdb vdb1
[[email protected] ~]# pvcreate /dev/vdb1
Physical volume "/dev/vdb1" successfully created.
[[email protected] ~]#
[[email protected] ~]#
查看创建好的物理卷
[[email protected] ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vdb1 lvm2 --- <50.00g <50.00g
[[email protected] ~]#
[[email protected] ~]# pvdisplay
"/dev/vdb1" is a new physical volume of "<50.00 GiB"
--- NEW Physical volume ---
PV Name /dev/vdb1
VG Name
PV Size <50.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID oMzorH-1mfB-0VEy-eZDB-HHU3-UM9C-0EoPTU

[[email protected] ~]#
PE(physical extent):物理区域是物理卷中可用于分配的最小存储单元,物理区域大小在建立卷组时指定,一旦确定不能更改,同一卷组所有物理卷的物理区域大小需一致,新的pv加入到vg后,pe的大小自动更改为vg中定义的pe大小。

LE(logical extent):逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。

卷组描述区域:卷组描述区域存在于每个物理卷中,用于描述物理卷本身、物理卷所属卷组、卷组中逻辑卷、逻辑卷中物理区域的分配等所有信息,它是在使用pvcreate建立物理卷时建立的。

根据上面的步骤,再给另一个数据盘创建PV
[[email protected] ~]# fdisk -l | grep dev
Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors
/dev/vda1 * 2048 83884031 41940992 83 Linux
Disk /dev/vdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
/dev/vdb1 2048 104857599 52427776 8e Linux LVM
Disk /dev/vdc: 53.7 GB, 53687091200 bytes, 104857600 sectors
/dev/vdc1 2048 104857599 52427776 8e Linux LVM
[[email protected] ~]#
[[email protected] ~]# pvcreate /dev/vdc1
Physical volume "/dev/vdc1" successfully created.
[[email protected] ~]#
[[email protected] ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vdb1 vgdocker lvm2 a-- <50.00g <50.00g
/dev/vdc1 lvm2 --- <50.00g <50.00g
[[email protected] ~]#
[[email protected] ~]# pvdisplay
--- Physical volume ---
PV Name /dev/vdb1
VG Name vgdocker
PV Size <50.00 GiB / not usable 3.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 12799
Free PE 12799
Allocated PE 0
PV UUID oMzorH-1mfB-0VEy-eZDB-HHU3-UM9C-0EoPTU

"/dev/vdc1" is a new physical volume of "<50.00 GiB"
--- NEW Physical volume ---
PV Name /dev/vdc1
VG Name
PV Size <50.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID nzkwWq-h4KK-2g64-aAqT-3Ugz-qvrj-bq4GR3

[[email protected] ~]#
创建卷组,用于管理PV以及LV
vg系列命令
[[email protected] ~]# vg
vgcfgbackup vgconvert vgextend vgmknodes vgs
vgcfgrestore vgcreate vgimport vgreduce vgscan
vgchange vgdisplay vgimportclone vgremove vgsplit
vgck vgexport vgmerge vgrename
[[email protected] ~]# vg
创建卷组VG,名字可以随意起
这个卷组我是专门给docker以及data存储数据使用的,那么就命名为vgdata。
下面就创建一个vgdata的卷组,然后使用vgs以及vgdisplay查看一下创建后的信息。

[[email protected] ~]# vgcreate vgdocker /dev/vdb1 ## 测试创建一下
Volume group "vgdocker" successfully created
[[email protected] ~]#
[[email protected] ~]# vgremove vgdocker ## 删除之前创建的
Volume group "vgdocker" successfully removed

将前面的两个PV创建到vgdata的逻辑组中。

[[email protected] ~]# vgcreate vgdata /dev/vdc1 /dev/vdb1
Volume group "vgdata" successfully created
[[email protected] ~]#

查看vg的信息

[[email protected] ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vgdata 2 0 0 wz--n- 99.99g 99.99g
[[email protected] ~]#

查看vg的详细信息

[[email protected] ~]# vgdisplay
--- Volume group ---
VG Name vgdata
System ID
Format lvm2
Metadata Areas 2
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 2
Act PV 2
VG Size 99.99 GiB
PE Size 4.00 MiB
Total PE 25598
Alloc PE / Size 0 / 0
Free PE / Size 25598 / 99.99 GiB
VG UUID 52PHwY-0a16-1yPo-EYNE-YUv0-4LJx-CWZsZS

[[email protected] ~]#
创建好了卷组之后,下面就要创建逻辑卷了。

创建逻辑卷LV
首先查看一下lvcreate的相关命令参数

[[email protected] ~]# lvcreate --help
lvcreate - Create a logical volume
现在我打算给docker使用的逻辑卷使用50G左右,data目录使用逻辑卷50G左右。那么就需要创建两个50G大小的逻辑卷。

创建大小50G名称docker的lv ,-L 指定大小,-n指定名称

[[email protected] ~]# lvcreate -L 50G -n docker vgdata
Logical volume "docker" created.
[[email protected] ~]#

再创建一个50G的data逻辑卷报错,提示空间不足了,因为逻辑组只有 < 99G 的大小

[[email protected] ~]# lvcreate -L 50G -n data vgdata
Volume group "vgdata" has insufficient free space (12798 extents): 12800 required.
[[email protected] ~]#

那么就创建一个49G的data逻辑卷LV

[[email protected] ~]# lvcreate -L 49G -n data vgdata
Logical volume "data" created.
[[email protected] ~]#
查看逻辑卷LV的信息
[[email protected] ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vgdata/docker
LV Name docker
VG Name vgdata
LV UUID XWcgud-iAYP-j2Mo-x8kq-SjQ2-edP2-Usa4RZ
LV Write Access read/write
LV Creation host, time runsdata-test-0004, 2018-12-10 13:57:01 +0800
LV Status available
# open 0
LV Size 50.00 GiB
Current LE 12800
Segments 2
Allocation inherit
Read ahead sectors auto

  • currently set to 8192
    Block device 252:0

--- Logical volume ---
LV Path /dev/vgdata/data
LV Name data
VG Name vgdata
LV UUID HVfQpR-Zs81-RFiZ-rAFC-lBMk-bMhe-MTB1zl
LV Write Access read/write
LV Creation host, time runsdata-test-0004, 2018-12-10 13:58:36 +0800
LV Status available
# open 0
LV Size 49.00 GiB
Current LE 12544
Segments 1
Allocation inherit
Read ahead sectors auto

  • currently set to 8192
    Block device 252:1

[[email protected] ~]#
那么这时候已经有docker、data两个逻辑卷了,下面就是进行格式化,目录的挂载了。

逻辑卷格式化
执行lvdisplay查看逻辑卷信息,获取逻辑卷LV的Path
对逻辑卷进行格式化mkfs.ext4 /dev/vgdata/docker

查看lv的详细信息

[[email protected] ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vgdata/docker
LV Name docker
VG Name vgdata
LV UUID XWcgud-iAYP-j2Mo-x8kq-SjQ2-edP2-Usa4RZ
LV Write Access read/write
LV Creation host, time runsdata-test-0004, 2018-12-10 13:57:01 +0800
LV Status available
# open 0
LV Size 50.00 GiB
Current LE 12800
Segments 2
Allocation inherit
Read ahead sectors auto

  • currently set to 8192
    Block device 252:0

--- Logical volume ---
LV Path /dev/vgdata/data
LV Name data
VG Name vgdata
LV UUID HVfQpR-Zs81-RFiZ-rAFC-lBMk-bMhe-MTB1zl
LV Write Access read/write
LV Creation host, time runsdata-test-0004, 2018-12-10 13:58:36 +0800
LV Status available
# open 0
LV Size 49.00 GiB
Current LE 12544
Segments 1
Allocation inherit
Read ahead sectors auto

  • currently set to 8192
    Block device 252:1

对逻辑卷进行ext4格式化

[[email protected] ~]# mkfs.ext4 /dev/vgdata/docker
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
3276800 inodes, 13107200 blocks
655360 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2162163712
400 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

对逻辑卷进行ext4格式化

[[email protected] ~]# mkfs.ext4 /dev/vgdata/data
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
3211264 inodes, 12845056 blocks
642252 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2162163712
392 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

[[email protected] ~]#
挂载文件目录
[[email protected] ~]# cd /
[[email protected] /]# ls
bin dev home lib64 media opt root sbin sys usr
boot etc lib lost+found mnt proc run srv tmp var
[[email protected] /]# mkdir docker
[[email protected] /]#
[[email protected] /]# mount /dev/vgdata/docker docker
[[email protected] /]#
[[email protected] /]# mkdir data
[[email protected] /]#
[[email protected] /]# mount /dev/vgdata/data data
[[email protected] /]#
[[email protected] /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 1.5G 36G 4% /
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 352K 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
tmpfs 1.6G 0 1.6G 0% /run/user/0
/dev/mapper/vgdata-docker 50G 53M 47G 1% /docker
/dev/mapper/vgdata-data 49G 53M 46G 1% /data
[[email protected] /]#
可以看到 /docker 和 /data 目录已经使用上了。

测试写入文件看看。

[[email protected] /]# cd /docker/
[[email protected] docker]# pwd
/docker
[[email protected] docker]# ls
lost+found
[[email protected] docker]#
[[email protected] docker]# echo 123 > 1.txt
[[email protected] docker]# ls
1.txt lost+found
[[email protected] docker]# cat 1.txt
123
[[email protected] docker]#
好了,写到这里基本上已经可以了,但是如果服务器重启的话,是无法自动挂载上/docker和/data目录的。

下面来设置一下磁盘开机的自动挂载。

设置磁盘开机自动挂载,配置/etc/fstab文件
需要让系统开机自动挂载,需要将挂载信息写入到/etc/fstab文件中。

[[email protected] docker]# vim /etc/fstab

/etc/fstab

Created by anaconda on Sun Oct 15 15:19:00 2017

Accessible filesystems, by reference, are maintained under ‘/dev/disk‘

See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

UUID=eb448ab..省略...6a31 / ext4 defaults 1 1
/dev/mapper/vgdata-docker /docker ext4 defaults 1 1
/dev/mapper/vgdata-data /data ext4 defaults 1 1
然后进行重启reboot测试一下。

reboot测试
LVM管理的好处就是灵活得扩容、管理磁盘,后续可以再写一个扩容磁盘的篇章。

参考文献
CentOS 7.2 添加磁盘并创建新区
CentOS7下LVM的简单创建
LVM基础详细说明及动态扩容lvm逻辑卷的操作记录

作者:DevOps海洋的渔夫
链接:https://www.jianshu.com/p/accff9ea7b15
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

原文地址:https://www.cnblogs.com/Qing-840/p/12264053.html

时间: 2024-10-21 20:35:59

转--Centos7创建LVM磁盘管理的相关文章

[CentOS 7系列]LVM磁盘管理

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现.LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性. 与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储.它使系统管理员可以更方便的为应用与用户分配存储空间.在LVM管理下的存储卷可以按需要随时改

LVM 磁盘管理器的应用

LVM磁盘管理器的应用 1.LVM简介 LVM(LogicalVolume Manager),中文翻译过来叫逻辑卷管理员,台湾的有些教材上翻译成逻辑滚动条管理员.最初由IBM在AIX实现,后来由Mauelshagen在Linux上实现,现在已经是Linux的一部分. LVM为系统中大容量分区提供了一种更有弹性的解决方案.一般来说,我们在安装系统的时候,会按照一定的比例,并结合自己的使用经验,给各个分区划分恰当的容量.但是,随着系统在实际生产环境中不断运行,我们发现某些分区的容量并不能满足我们的需

Linux两块磁盘挂载指向一个文件夹LVM磁盘管理(一)

注意:任何磁盘的操作有可能损坏里面数据,请提前备份数据,切记!切记!切记! 0x00:前言. 在Linux使用过程中,发现一个文件很大,比如5G,但是有两块物理磁盘一个剩下4G,一个剩3G,磁盘空间不够,这样肯定不能放进去.如果把5G文件分割了是可以放进去,但是如果有很多文件呢!这时候就可以用LVM来帮我们来管理文件是放到哪个磁盘里. 注意:LVM用于单块硬盘小于2TB的分区,如果超过2TB用part分区,不建议用LVM会识别不了. 0x01:文本对照. 物理磁盘:即你购买来能拿在手里的那一块磁

CentOS 6.5 LVM磁盘管理学习笔记

在系统运维和服务器管理过程中,经常遇到服务器磁盘容量不足,需要在线扩容的情况.普通磁盘分区的管理方式在逻辑分区划好之后就无法改变其大小.而LVM可以实现Linux服务器下面磁盘空间的在线扩容和动态管理,相对于普通的磁盘分区有很大的灵活性. 一.LVM简介 LVM是 Logical VolumeManager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现.LVM将一个或多个硬盘的分区在逻辑上进行组合,做为

LVM磁盘管理

http://www.cnblogs.com/gaojun/archive/2012/08/22/2650229.html Linux LVM硬盘管理及LVM扩容 一.LVM简介... 1 二. LVM基本术语... 2 三. 安装LVM... 3 四. 创建和管理LVM... 4 2. 创建PV.. 6 3. 创建VG.. 7 4. 创建LV.. 9 5.LV格式化及挂载... 10 一.LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz M

LVM磁盘管理实战案例

前言:这是关于centos/linux上的LVM磁盘上的扩容,缩减,磁盘类型等收集做的案例 至于ubuntu系统的磁盘扩容参考:https://www.jianshu.com/p/5dcfcec68748 +++++++++++++++++++++++++++++++++++++++++++++++ 1.创建一个名字为database的卷,属于datastore组,此卷包含50个PE,一个PE大小为16M.自动挂载到/mnt/share,格式化为ext4 效果: 2.由于/mnt/share空间

Linux LVM磁盘管理

场景描述: 安装操作系统的时候,做了LVM,应用软件基本装在了"/"目录下,服务器运行一段时间后,该目录下的存储空间使用紧张,现利用LVM对其进行磁盘空间扩容. 注:安装系统的时候需要做逻辑卷管理,保证系统要有VG,扩展或者添加完硬盘后需要重启服务器,添加的硬盘才能被发现. 另:这里需要搞清楚,是扩展了原有分区还是增加了新的硬盘: 例如:如果是在原有分区SDA上扩展了10G,则命令行fdisk -l 不会看到新的分区: 如果是新添加的硬盘,fdisk -l 可以看到 sdb sdc 等

Linux LVM 磁盘管理

Linxu LVM管理 一.            磁盘分区 1.1.   查看磁盘分区信息 fdisk-l 如图,有3块磁盘,分别为sda.sdb.sdc, 其中sda为系统安装时创建的分区结构,sdb.sdc没有分区. 1.2.   创建磁盘分区 fdisk/dev/sdb 1.3.   修改分区类型 将dev/sdb1分区类型修改为8e,即 Linux LVM类型. 同样的方法对sdc磁盘进行分区,并将/dev/sdc1分区类型修改为8e,即Linux LVM类型. 再fdisk -l查看

Linux两块磁盘挂载指向一个文件夹LVM磁盘管理(二)

注意:任何磁盘的操作有可能损坏里面数据,请提前备份数据,切记!切记!切记! 0x00:前言. VG卷组的总空间是受物理磁盘大小限制,本教程有3块物理磁盘分别是100M.200M.300M,那么VG卷组总空间就是600M:而VG下所有的LV累加的总空间又受限于VG. 使用过程中LV早晚会用完,那么上面的/LVM挂载点只能同时挂载一个,而有些程序不能支持有两个文件目录,比如WEB只有一个/,还有MySQL. 0x01:扩展VG卷组.缩小VG卷组. 1)扩展VG卷组. 上一章讲我看到添加了3块物理磁盘