一般情况,我们新购买VPS主机都会以默认的硬盘基准,但是随着网站数据的增加,我们后面会需要升级和添加数据盘配置。比如阿里云服务器ECS默认的系统盘是20GB,基本上初始项目需求还是能够满足大部分用户的,我们或许在之后的项目运营中需要增加挂载硬盘。
因为考虑到阿里云ECS服务器的用户需求在国内还是比较多的,所以老左在上周的时候也真实的购买一台+20GB数据盘,这样在演练教程的时候能够确保真实性。在以前的博文中,有分享过"阿里云服务器ECS数据盘挂载过程"文章,这个是针对新开通服务器没有安装网站环境和网站的挂载,这样即便我们安装错误了也不要紧。
但是,今天这篇文章就和以往不同,因为我们开始不确定是否需要增加数据硬盘,项目已经在使用,且数据盘不够,需要挂载添加数据盘的操作,在可能存在的需求中还是比较多的,所以有必要演练一篇这样的教程。
代码如下 | 复制代码 |
阿里云官网网站地址:www .aliyun.com |
第一、挂载前的准备工作
在操作任何项目的时候,都需要有一个计划和准备工作,这篇文章中执行有数据网站的挂载数据盘我们需要做以下准备。
1、购买数据盘。我们需要新添加和购买数据盘,这个我们自己在后台操作就可以,根据我们项目的需要购买数据盘的大小。
2、备份数据。我们这里可以通过手工将网站数据和数据库备份到其他服务器或者打包备份到本地,以防止出现意外。同时,我们也可以使用阿里云自带的快照备份,这样可以连带数据和环境一起备份。如果出现错误,我们还可以恢复全部。即便我们很有把握,也需要备份数据。
3、暂停网站环境,如果我们使用的面板或者环境包,我们在备份数据之后,可以先暂停网站环境,因为在转移数据过程中会出现数据差异问题。
第二、查看当前数据盘
代码如下 | 复制代码 |
fdisk -l |
因为这里老左仅仅是演示挂载的过程,所以我数据盘只购买到20GB,通过命令我们可以看到当前还有21GB没有挂载。
第三、分区数据盘
代码如下 | 复制代码 |
fdisk /dev/xvdb |
依次操作 n p 1 回车 回车 wq保存退出。
第四、检查分区是否完毕
代码如下 | 复制代码 |
fdisk -l |
我们检查分区是否完毕,可以看到上图,有多了一行/dev/xvdb1 有就对了。
第五、格式化分区
代码如下 | 复制代码 |
mkfs.ext3 /dev/xvdb1 |
格式化分区有一个写入过程,稍微等一会。
第六、备份迁移临时数据
1、创建临时目录用于迁移数据
代码如下 | 复制代码 |
mkdir /mnt/data |
2、临时挂载
代码如下 | 复制代码 |
mount /dev/xvdb1 /mnt/data |
3、迁移数据
mv /www/* /mnt/data
我们需要迁移数据到挂载的目录中。这里如果我们用的是WDCP面板环境,或者其他是用到www目录的都这样写,如果是AMH面板或者LNMP等环境则是home目录的,则需要将home目录中的文件迁移。迁移的过程中稍微有一个过程,根据数据的大小迁移时间不同。
4、修改启动项
代码如下 | 复制代码 |
echo '/dev/xvdb1 /www ext3 defaults 1 2' >> /etc/fstab |
5、还原数据
代码如下 | 复制代码 |
mv /mnt/data /www/ |
最后,检查是否完整
我们将数据还原之后可以检查网站是否正常,最好是我们重启VPS或者开启Apache或者Nginx等环境之后,看看网站是否没有问题。
我们可以看到www目录就是我们所在的目录也是挂载盘的目录,因为这里我只买了20GB,所以看到的是20GB,系统盘也是20GB,一般我们会买的较多一些,已有20GB,再买20GB,一般真的闲的。
总结,这样老左就完成了利用阿里云服务器ECS已有环境和站点进行挂载和迁移数据,还可以确保网站正常运行。需要注意的几个问题就是查看数据盘的盘符,不要弄错了,每个人是不同的,但需要检查。以及需要挂载的路径是根据我们环境来定的,比如我们是amh面板或者lnmp环境,就是home目录,如果是WDCP面板等则是WWW目录,这个不能搞错。