Linux下将系统盘数据迁移到数据盘
在一次项目中,由于linux服务器中系统盘数据增长过快,需要将系统盘数据迁移到数据盘中,现以迁移mysql数据为例简述迁移过程。
一、创建分区
1、查看数据盘是否已经分区
命令如下:
fdisk -l
可以看到,目前服务器中有一块大小为2G的尚未分区的数据盘/dev/sdb。
2、对数据盘进行分区
命令如下:
fdisk /dev/sdb
输入m,查看命令操作。
输入p查看当前硬盘的分区信息,当前该硬盘没有分区
输入n新建分区,p为主分区,分别输入分区号以及起始扇区,这里起始扇区使用默认。
输入w保存分区
3、格式化分区
新创建的分区需要进行格式化才能进行使用,因为每种操作系统所设置的文件属性/权限并不相同,为了存放这些文件所需的数据,因此需要将分区进行格式化,已成为操作系统能够利用的文件系统格式。由此我们也能知道,每种操作系统的文件系统格式并不相同。比如Windows系统的文件系统格式是FAT/FAT16/NTFS,而CentOS 就是Ext2/Ext3/Ext3。
格式化命令:格式分区,并指定分区系统/dev/sdb1 ,我这里是格式化成 ext4
mkfs.ext4 /dev/sdb1
格式化完成
二、迁移数据
分区创建好之后需要将原系统盘中的数据迁移至数据盘,这里我们将原来mysql中的数据迁移到数据盘。
首先需要先将新分区挂载到一个临时目录下
接下来将系统盘mysql中的数据迁移到数据盘
迁移完成后,需要将数据盘挂载到系统盘相应的目录下
三、挂载分区
1、通知系统内核分区表的变化,不然内核不知道分区
命令如下:
partprobe /dev/sdb1
2、挂载分区
将数据盘挂载到原系统盘mysql的目录下,并查看是否挂载成功
3、设置开机自动挂载
挂载后需要设置开机自动挂载,否则重启服务器后挂载的分区就没了。
先查看分区UUID,命令如下:
blkid
修改/etc/fstab文件,添加新挂载的分区
vim /etc/fstab
添加上面红框中标注的语句,保存该文件
至此,数据迁移完毕,重启服务器查看数据盘是否正常挂载。