AWS服务器挂载新硬盘,并将项目文件迁移
一、查看当前硬盘的挂载信息
lsblk
假如旧的硬盘 名字为 nvme1 挂载在/export目录下
新的硬盘 名字叫nvme2 还未进行挂载
二、进行新硬盘挂载
1.首先对新硬盘进行分区
sudo fdisk /dev/nvme2
按照提示依次输入 g、n、回车、回车、回车、w
详情如下
Command (m for help): g # 创建 GPT 分区表 Created a new GPT disklabel (GUID Partition Table). Command (m for help): n # 新建分区 Partition number (1-128, default 1): [回车] First sector (xxx-xxx, default xxx): [回车] Last sector, +sectors or +size{K,M,G,T,P} (xxx-xxx, default xxx): [回车] Command (m for help): w # 写入分区表 The partition table has been altered.
2.格式化新分区
sudo mkfs.ext4 /dev/nvme2p1
nvme2p1是新硬盘nvme2刚刚创建的分区名字,可以通过lsblk指令确认下名字是什么。
ext4是硬盘采用的格式,还有别的格式,按照具体情况自行选择。
3.创建临时目录用于挂载新硬盘
sudo mkdir -p /exportNew
4.挂载硬盘
sudo mount /dev/nvme2p1 /exportNew
到此新硬盘已经完成挂载。
三、从旧硬盘同步文件到新硬盘
sudo rsync -a --exclude='要忽略的目录' /export/ /exportNew/
--exclude是设置不同步过来的目录,如果要全部同步,就不需要加。
rsync是自动的增量同步,如果不小心中断了,直接再次执行相同的指令就可以继续。
同步时间比较长,可以在docker里执行,防止服务器指令窗口关闭后指令自动终止执行。
四、互换新旧硬盘的挂载目录
1.查看旧硬盘上运行的进程
lsof /export
2.根据进程号,把所有运行的进程关掉,否则会因为硬盘正在使用而无法卸载硬盘
sudo kill -9 进程号
3.卸载新旧硬盘
sudo umount /export sudo umount /exportNew
如果有进程杀掉也会自动重启,导致旧硬盘一直提示被占用或卸载不成功,那就根据实际情况自行查找关闭进程的方案
4.新硬盘挂载到旧的目录上
sudo mount /dev/nvme2p1 /export
到这里旧的目录已经换成了新硬盘的内容,并且目录没有发生变化,所以不会影响项目启动,可以起一下项目试试。
五、配置/etc/fstab文件实现开机自动挂载
1.查看新硬盘uuid
sudo blkid /dev/nvme2p1
2.编辑/etc/fstab文件
sudo vim /etc/fstab
3.写入新硬盘的配置,并保存
UUID=abc12345-6789-xxxx-yyyy-zzzzzzzzzzzz /export ext4 defaults,nofail
到此全部完成。

浙公网安备 33010602011771号