linux多磁盘挂载至同一目录linux 挂载一个目录到另一个目录

由于业务需要,需要把多块磁盘挂载至同一目录下,通常情况下一个目录只能挂载一块磁盘,否则会覆盖之前的挂载。要想实现多磁盘挂载同一目录,则需要通过卷组的方式进行解决。

工具安装

yum install lvm2 # lvm用于pv,vg,lv管理

基本概念

  • PV(Physical Volume)- 物理卷

物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。

  • VG(Volumne Group)- 卷组

卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。

  • LV(Logical Volume)- 逻辑卷

逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。

磁盘分区创建

fdisk -l # 查看磁盘列表/dev/vdb
fdisk /dev/vdb # 创建磁盘分区
创建: n
主分区: p
选择空间大小
输入t, 修改分区类型
输入L,查看所有类型
输入8e, Linux LVMw类型
保存w,fdisk -l查看

与挂载单块磁盘不同,创建分区后需要修改分区类型。连续敲以下命令即可:n p 1 enter enter t l 8e w

命令详解:
n:创建分区
p:扩展分区
1:分区号(1-4)
t:修改分区类型
:列出所有分区类型8e:指Linux LVM
w:保存并退出

创建PV物理卷

  • fdisk -l查看磁盘列表

  • pvcreate /dev/sdb1 创建物理卷

WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it?

警告:在/dev/sdb1上的偏移1080处检测到ext4签名。擦吗?,选择y;

  • pvdisplay 查看PV信息

  • 创建VG卷组
  1. vgcreate lvm_data /dev/sdb1 # lvm_data为vg组的名字,可自定义
  2. vgcreate lvm_data /dev/sdb1 /dev/sdc1
  3. 如果是有多块盘,可以在/dev/sdb1 后面继续加,/dev/sdc…/dev/sdd…等等
  4. 或者创建后再添加;

vgcreate vgmysql /dev/sdb1 # 创建

vgextend vgmysql /dev/sdc1 # 添加一个新的物理卷

  • vgs 查看卷组

  • 创建逻辑卷

lvcreate -L 2046G -n lvm_name vg_name

-L是指定大小、-n是自定义lv的名称,lv_name: 指的是lvm名称,vg_name指vg名称

  • 格式化逻辑卷

mkfs -t ext4 /dev/mapper/lvm_data-lvmdata

  • 磁盘挂载

  • 做开机自动挂载

方法一:echo ‘/dev/mapper/vgmysql-lvmysql /mysql_data ext4 defaults 1 2’ >/etc/fstab

方法二:vim /etc/fstab,添加磁盘信息

第1字段:需要挂载的设备文件名。
第2字段:挂载点,必须是一个目录,而且必须用绝对路径。对于交换分区,这个字段定义为swap。
第3字段:文件系统的类型。如果是ext3文件系统,则写成ext3;如果是FAT32文件系统,则写成vfat;
如果是光盘,可以写成auto由系统自动检测或iso9660。
第4字段:挂载选项。一般都是采用“defaults”。
第5字段:文件系统是否需要dump备份,1表示需要,0表示忽略。
第6字段:在系统启动时是否检查这个文件系统以及检查的顺序,0表示不检查,1表示优先检查,
2表示其次检查。

  • lsblk查看磁盘信息

磁盘目录软连接

ln -s [源文件或目录] [目标文件或目录]

1.文件软连接,源文件应该为已有文件; 目标文件为将要设置的路径文件,如python软连接:

建立软连接,让系统识别python3时调用python3.7.0版本

ln -s /usr/local/python3/bin/python3 /usr/bin/python3

2.目录软连接,通常是为了解决磁盘空间问题;

源文件或目录则应该是新增的磁盘目录,或者说是空间比较大的磁盘目录;

目标文件或目录则是旧的磁盘目录,或者说是空间比较紧张的磁盘目录;

如图:

软连接设置:

ln -s /data/mnt/bak1/ /mnt/bak/bak1 # 当文件拷贝到/mnt/bak/bak1时,实际文件占用空间为/data/mnt/bak1

总结

多磁盘合并挂载同一目录,通过卷组方式处理,简单实用!

#学习打卡##学习##linux#

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注