linux磁盘挂载,扩容原有目录,多个磁盘挂载到同一目录

本文详细介绍了如何在Linux系统中新增磁盘、创建分区、格式化、挂载,以及如何使用LVM进行物理卷、卷组和逻辑卷的管理,以及如何在MySQL数据迁移中应用这些技术。最后展示了磁盘扩容和开机自动挂载的方法。
摘要由CSDN通过智能技术生成

新增磁盘,整个目录数据复制

1、查看新加的磁盘 lsblk -f

uploading.4e448015.gif

正在上传…重新上传取消

fdisk -l 也可以查看

uploading.4e448015.gif

正在上传…重新上传取消

  1. 对磁盘进行分区设置

2T以下使用fdisk分区,2T以上使用parted 进行分区

fdisk分区

fdisk  /dev/sdb

[root@localhost ~]# fdisk  /dev/sdb

欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

Device does not contain a recognized partition table

使用磁盘标识符 0xa66df5f1 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n

Partition type:

   p   primary (0 primary, 0 extended, 4 free)

   e   extended

Select (default p): p

分区号 (1-4,默认 1):1

起始 扇区 (2048-10485759,默认为 2048):

将使用默认值 2048

Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):

将使用默认值 10485759

分区 1 已设置为 Linux 类型,大小设为 5 GiB

命令(输入 m 获取帮助):m

命令操作

   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)

命令(输入 m 获取帮助):w

The partition table has been altered!

Calling ioctl() to re-read partition table.

正在同步磁盘。

lsblk -f 查看sdb下已经有了sdb1节点,说明分区成功了。

uploading.4e448015.gif

正在上传…重新上传取消

fdisk  - l 也可以查看

uploading.4e448015.gif

正在上传…重新上传取消

3、分区格式化

ext4格式化

mkfs.ext4 /dev/sdb1

xfs格式化

mkfs.xfs /dev/sdb1

uploading.4e448015.gif

正在上传…重新上传取消

lsblk -f 查看已经有了UUID

uploading.4e448015.gif

正在上传…重新上传取消

4、挂载

将新的硬盘挂载到临时目录中

[root@localhost /]# mkdir datatemp

[root@localhost /]# mount /dev/sdb1 /datatemp

此时新的硬盘已经挂载到 /datatemp 目录下。

将挂载设置,保存到系统,否则,重启机器就没了

echo "/dev/sdb1 /datatemp ext4 defaults 0 0" >> /etc/fstab

5、替换mysql磁盘

如果要替换mysql的数据盘,执行下面操作。

停止数据库

service mysqld stop

将/data目录数据复制到datatemp目录下

[root@localhost /]# cd /data/

[root@localhost home]# cp -R * /datatemp/

删除原来的/data/目录

取消挂载

umount /datatemp/

挂载到/data目录下

mount /dev/sdb1 /data

将/data目录授权给mysql用户

chown -R mysql:mysql /data/

将挂载设置,保存到系统,否则,重启机器就没了

echo "/dev/sdb1 /data ext4 defaults 0 0" >> /etc/fstab

mount -a 验证一下配置是否正确

多个磁盘挂载到同一个目录

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

  1. 基本概念
  • PV(Physical Volume)- 物理卷

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

  • VG(Volumne Group)- 卷组

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

  • LV(Logical Volume)- 逻辑卷

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

2、对磁盘进行分区设置

磁盘分区创建

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查看磁盘列表

uploading.4e448015.gif

正在上传…重新上传取消

  • pvcreate /dev/sdb1 创建物理卷

uploading.4e448015.gif

正在上传…重新上传取消

  • pvdisplay 查看PV信息

uploading.4e448015.gif

正在上传…重新上传取消

创建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 # 添加一个新的物理卷

uploading.4e448015.gif

正在上传…重新上传取消

  • vgs 查看卷组

uploading.4e448015.gif

正在上传…重新上传取消

创建逻辑卷

lvcreate -L 2046G -n lvm_name vg_name

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

uploading.4e448015.gif

正在上传…重新上传取消

格式化逻辑卷

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

uploading.4e448015.gif

正在上传…重新上传取消

磁盘挂载

uploading.4e448015.gif

正在上传…重新上传取消

做开机自动挂载

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

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

uploading.4e448015.gif

正在上传…重新上传取消

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

  • lsblk查看磁盘信息

uploading.4e448015.gif

正在上传…重新上传取消

3、给根目录/分区扩容

1、查看新加的磁盘 lsblk -f

fdisk -l 也可以查看

2、对磁盘进行分区设置

2T以下使用fdisk分区,2T以上使用parted 进行分区

fdisk分区  

[root@localhost ~]# fdisk  /dev/sdb

欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

Device does not contain a recognized partition table

使用磁盘标识符 0xa66df5f1 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n

Partition type:

   p   primary (0 primary, 0 extended, 4 free)

   e   extended

Select (default p): p

分区号 (1-4,默认 1):1

起始 扇区 (2048-10485759,默认为 2048):

将使用默认值 2048

Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):

将使用默认值 10485759

分区 1 已设置为 Linux 类型,大小设为 5 GiB

命令(输入 m 获取帮助):m

命令操作

   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)

命令(输入 m 获取帮助):w

The partition table has been altered!

Calling ioctl() to re-read partition table.

正在同步磁盘。

parted 分区

[root@172.16.253.200-生产pg njdc]# parted /dev/vdf

GNU Parted 3.1

Using /dev/vde

Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) print

Model: Virtio Block Device (virtblk)

Disk /dev/vde: 2199GB

Sector size (logical/physical): 512B/512B

Partition Table: mklabel gpt  ##创建gpt分区

Disk Flags:

Number  Start  End  Size  File system  Name  Flags

(parted) unit GB  ##设置分区大小单位

(parted) mkpart primary 0 2199  ## 创建主分区,大小从0到2199,因为单位是GB,所以是总大小2199GB

(parted) print  ## 打印当前gpt分区信息

Model: Virtio Block Device (virtblk)

Disk /dev/vde: 2199GB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

Disk Flags:

Number  Start   End     Size    File system  Name     Flags

 1      0.00GB  2199GB  2199GB               primary

quit ##退出

lsblk -f 查看sdb下已经有了sdb1节点,说明分区成功了。

fdisk  - l 也可以查看

3、分区格式化

ext4格式化

mkfs.ext4 /dev/sdb1

xfs格式化

mkfs.xfs /dev/vdf1

4、创建物理卷

使用pvcreate /dev/vdf1  创建物理卷,pvdisplay 查看物理卷

上图中有两个pv卷,新的卷还没有卷组VG。

5、将pv卷添加到卷组中

使用vgextend centos /dev/vdf1 命令,卷组信息可通过 vgdisplay 查看

扩展 根目录/ 的大小,增加2048G,使用lvresize -L +2048G /dev/mapper/centos-root命令

重新识别根目录 / 分区的大小,

xfs格式使用 xfs_growfs /dev/mapper/centos-root

而ext4格式磁盘使用resize2fs /dev/mapper/centos-root

下图中/目录下空间扩容完成。

df -h

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值