Heartsuit's Simple Blog

A place to hold mainly reading notes, and some technical stuff occasionally. 这里主要是一些读书笔记、感悟;还有部分技术相关的内容。


Project maintained by heartsuit Hosted on GitHub Pages — Theme by mattgraham

挂载并初始化Linux数据盘,完成MySQL数据迁移

目录[-]

背景

开始建项目时,数据库存储放到了系统盘,如今磁盘空间快被占满了。。当云服务器挂载了一块新的数据盘时,这里以一块600G硬盘为例,使用fdisk分区工具将该数据盘设为主分区,分区形式默认设置为MBR,文件系统设为ext4格式,挂载在/mnt/sdc下,并设置开机启动自动挂载。

系统环境

2020-04-20-LinuxFdisk-OS.png

2020-04-20-LinuxFdisk-Before.png

划分分区并挂载磁盘

  1. 查看新增数据盘:fdisk -l

2020-04-20-LinuxFdisk-l.png

表示当前的云服务器有两块磁盘,“/dev/vda”是系统盘,“/dev/vdb”是新增数据盘。

  1. 进入fdisk分区工具,开始对新增数据盘执行分区操作:fdisk /dev/vdb

先键入m查看帮助

2020-04-20-LinuxFdisk-m.png

  1. 依次输入: n p 1 两次回车 p w

2020-04-20-LinuxFdisk-np1.png

n: 创建新分区 p: 主分区 1:主分区编号 两次回车:选择默认起始磁柱值与截止磁柱值 p: 查看新建分区的详细信息 w: 将分区结果写入分区表中

  1. 将新的分区表变更同步至操作系统:partprobe

2020-04-20-LinuxFdisk-partprobe.png

这里的警告表示已通知操作系统,下次重启生效。

  1. 将新建分区文件系统设为系统所需格式:mkfs -t ext4 /dev/vdb1

该过程需要一段时间,大概一两分钟,耐心等待。。

2020-04-20-LinuxFdisk-fs.png

这是执行完毕后的效果:

2020-04-20-LinuxFdisk-fs-ok.png

  1. 新建挂载目录:mkdir /mnt/sdc

  2. 将新建分区挂载到上一步创建的目录下:mount /dev/vdb1 /mnt/sdc

  3. 查看挂载后磁盘信息:df -TH

2020-04-20-LinuxFdisk-After.png

可以看到新增了一个635G的磁盘,挂载在/mnt/sdc。

设置开机自动挂载磁盘分区

云服务器重启后,挂载会失效。需要修改“/etc/fstab”文件,将新建磁盘分区设置为开机自动挂载。

设置云服务器系统启动时自动挂载磁盘分区,不能采用在“/etc/fstab”直接指定设备名(比如/dev/vdb1)的方法,因为云中设备的顺序编码在关闭或者开启云服务器过程中可能发生改变,例如/dev/vdb1可能会变成/dev/vdb2。推荐使用UUID来配置自动挂载磁盘分区。

  1. 查询磁盘分区的UUID:blkid /dev/vdb1

2020-04-20-LinuxFdisk-uuid.png

  1. 使用VI编辑器打开“fstab”文件:vi /etc/fstab

键入i,进入插入模式,添加如下一行:

UUID=34cffb31-e89c-4150-9dd2-cfe9dfe5a0f7 /mnt/sdc ext4 defaults 0 2

参数说明如下:

数据迁移:系统盘—>数据盘

不用改配置,实现MySQL数据库迁移

service mysqld stop

mv /var/lib/mysql /mnt/sdc

ln -s /mnt/sdc/mysql /var/lib

service mysqld start


If you have any questions or any bugs are found, please feel free to contact me.

Your comments and suggestions are welcome!


「说点什么吧😊~~😊」: