合并两个硬盘,挂载到一个文件夹下
https://www.cnblogs.com/wholj/p/10961705.html
注意最后开机自动挂载,文中用了echo > /etc/fstab
这个会覆盖,应该用>>
# 下面是原文
# 需求场景
将MySQL主机的2块18T的数据盘空间全部“合并”后挂载到**/mysql_data**目录下,要求文件系统格式化为xfs;已有关键信息梳理如下:
- 需要挂载的数据盘
- /dev/sdb:18T
- /dev/sdc:18T
- 文件系统:xfs
- 挂载目录:/mysql_data
# 操作系统环境
- OS版本:CentOS 7.5
- lvm版本:lvm2
# 实现方法
要想实现此需求,可使用LVM逻辑卷管理来做到。
# 实现步骤
# 磁盘分区--此步非必须
在将磁盘或者磁盘分区用作物理卷(PV)之前,需要对其进行初始化工作,即进行磁盘分区操作;因磁盘分区需求大于2T,所以fdisk无法实现管理,需要使用parted命令来做磁盘分区管理;parted的详细使用方法请参考博主之前的博客:使用parted命令对磁盘进行分区 (opens new window)
- /dev/sdb
# 新建/dev/sdb的磁盘标签类型为GPT
[root@MYSQL-SERVER ~]# parted /dev/sdb mklabel gpt
# 将/dev/sdb整个空间分给同一个分区
[root@MYSQL-SERVER ~]# parted /dev/sdb mkpart primary 0 100%
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I
Information: You may need to update /etc/fstab.
2
3
4
5
6
7
- /dev/sdc
# 新建/dev/sdc的磁盘标签类型为GPT
[root@MYSQL-SERVER ~]# parted /dev/sdc mklabel gpt
# 将/dev/sdc整个空间分给同一个分区
[root@MYSQL-SERVER ~]# parted /dev/sdc mkpart primary 0 100%
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I
Information: You may need to update /etc/fstab.
2
3
4
5
6
7
# 创建物理卷
创建物理卷的命令为pvcreate;利用该命令将希望添加到卷组的所有分区或磁盘创建为物理卷; 将分区**/dev/sdb1和/dev/sdc1**分区创建为物理卷:
[root@MYSQL-SERVER ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created.
[root@MYSQL-SERVER ~]# pvcreate /dev/sdc1
Physical volume "/dev/sdc1" successfully created.
2
3
4
# 创建卷组
创建卷组的命令为vgcreate;用此命令将使用pvcreate建立的物理卷创建为一个完整的卷组; 将物理卷**/dev/sdb1创建为一个名为vgmysql**的卷组:
[root@MYSQL-SERVER ~]# vgcreate vgmysql /dev/sdb1
Volume group "vgmysql" successfully created
2
# 添加新的物理卷到卷组中
此步即为将2块磁盘空间合二为一的关键步骤;当系统中新增了磁盘或新建了物理卷,而要将其添加到已有卷组时,就可使用vgextend命令; 将物理卷**/dev/sdc1添加到vgmysql**卷组中:
[root@MYSQL-SERVER ~]# vgextend vgmysql /dev/sdc1
Volume group "vgmysql" successfully extended
2
# 查看卷组
查看卷组用vgs:
[root@MYSQL-SERVER ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vgmysql 2 0 0 wz--n- 32.74t 32.74t
vgroot 1 4 0 wz--n- 264.00g 4.00m
2
3
4
从vgs命令的回显结果来看,卷组vgmysql成功添加,并且其总空间为两块物理磁盘的总大小(因换算单位不同,所以不是精确的38T)。
# 创建逻辑卷
创建逻辑卷的命令为lvcreate;用此命令将在使用vgcreate建立的卷组上创建逻辑卷; 在卷组vgmysql上创建一个名为lvmysql的逻辑卷,起大小为32.7T;
- -n:指定逻辑卷名
- -L:指定逻辑卷大小
[root@MYSQL-SERVER ~]# lvcreate -L 32.7T -n lvmysql vgmysql
Rounding up size to full physical extent 32.70 TiB
Logical volume "lvmysql" created.
2
3
# 格式化逻辑卷
将创建的lvmysql逻辑卷格式化为xfs
[root@MYSQL-SERVER ~]# mkfs -t xfs /dev/vgmysql/lvmysql
meta-data=/dev/vgmysql/lvmysql isize=512 agcount=33, agsize=268435328 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=0, rmapbt=0, reflink=0
data = bsize=4096 blocks=8777839616, imaxpct=5
= sunit=64 swidth=64 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=521728, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
2
3
4
5
6
7
8
9
10
# 创建挂载目录并挂载
- 创建挂载目录/mysql_data
[root@MYSQL-SERVER ~]# mkdir /mysql_data
- 挂载
[root@MYSQL-SERVER ~]# mount /dev/vgmysql/lvmysql /mysql_data/
- 做开机自动挂载
echo '
/dev/mapper/vgmysql-lvmysql /mysql_data xfs defaults 0 0' >/etc/fstab
2