阿里云Linux下将网站内容从系统盘搬家到数据盘方法

作者:简简单单 2016-03-19
最开始一看,以为很难,毕竟没有操作过,后来走了一躺,感觉也就那么回事.
阿里云系统盘和数据盘的IO性能差别
部落在网上找了一段阿里云系统盘和数据盘的IO性能差别的数据,如下:
阿里云的系统盘(20G):Total transferred 901.56Mb (15.026Mb/sec) 961.64 Requests/sec executed
阿里云的数据盘(100G):Total transferred 550Mb (9.1664Mb/sec) 586.65 Requests/sec executed
结论:系统盘的IO比挂载的数据盘要快不少,读写频繁又不太大的数据建议放系统盘,如果您的网站数据不大,那么不建议更换了.
Linux系统下挂载数据盘
如果您之前已经购买过系统盘,并且已经挂载好,请无视这一步.这里部落直接引用阿里云官方的教程:
1.首先我们通过安装putty这一类工具,然后登录到您的服务器上.
在没有分区和格式化数据盘之前,使用 “df –h”命令,是无法看到数据盘的,可以使用“fdisk -l”命令查看。如下图:
alysjpbj1
若您执行fdisk -l命令,发现没有 /dev/xvdb 表明您的云服务无数据盘.
2.接下来,我们需要对购买来的数据盘进行分区操作
执行“fdisk /dev/xvdb”命令,对数据盘进行分区;
根据提示,依次输入“n”,“p”“1”,两次回车,“wq”,分区就开始了,很快就会完成.
alysjpbj2
3.查看新的分区
使用“fdisk -l”命令可以看到,新的分区xvdb1已经建立完成了.
alysjpbj3
4.格式化新分区
以ext3为例:使用“mkfs.ext3 /dev/xvdb1”命令对新分区进行格式化,格式化的时间根据硬盘大小有所不同.
alysjpbj4
5.添加分区信息
使用“echo '/dev/xvdb1 /mnt ext3 defaults 0 0' >> /etc/fstab”(不含引号)命令写入新分区信息。
然后使用“cat /etc/fstab”命令查看,出现以下信息就表示写入成功。
注:ubuntu12.04不支持barrier,所以正确写法是:echo '/dev/xvdb1 /mnt ext3 barrier=0 0 0' >> /etc/fstab
如果需要把数据盘单独挂载到某个文件夹,比如单独用来存放网页,可以修改以上命令中的/mnt部分.
alysjpbj5
这里部落需要补充一下,阿里云官方没有说明,我们只知道我们添加的数据盘,是加载到了mnt这个文件上.
6.挂载新分区
使用“mount -a”命令挂载新分区,然后用“df -h”命令查看,出现以下信息就说明挂载成功,可以开始使用新的分区了.
alysjpbj6
上面部落说了,默认为数据盘挂载到mnt目录,挂载自定义目录需要先创建目录,先进入根目录.命令如下:
cd /
创建文件夹xiedandan,我这是创建的xiedandan文件夹,你可以改名自己知道就行.命令如下:
mkdir xiedandan
ECS Linux系统盘数据转移操作过程
一般来说,我们可以先查看一下系统盘的使用情况,执行df -h 查询空间使用率接近100%,需要将数据转移至新购买的数据盘.
alysjpbj7
1、购买数据盘,创建好分区后,在系统内挂载数据盘到/mnt/shujupan目录。
2、创建好系统盘快照备份,以便操作失败回滚。
3、出于数据安全考虑,为保证转移顺利进行,停止正在运行的服务程序。参考示例:
#/etc/init.d/nginx stop
#/etc/init.d/httpd stop
#/etc/init.d/mysqld stop
#/etc/init.d/php-fpm stop
#/etc/init.d/vsftpd stop
4、假设当前系统盘/mnt/www目录是需要进行数据转移的目录,通过mv 命令将www目录内的所有文件移动到数据盘(xvdb1)。
#mv /mnt/www/* /mnt/shujupan/
5、修改fstab文件,指定数据盘挂载目录,实现开机自启动。
#vi /etc/fstab 最下面增加以下内容后,保存重启:
/dev/xvdb1 /mnt/www ext4 defaults 0 0
注意:其中 ext4为数据盘的文件系统类型,xvdb1为数据盘分区,请根据实际情况调整。
6、重启后检查系统内的程序服务是否运行正常,测试站点、数据库等是否可以正常连接访问。
如果没有异常,数据迁移成功。此时对于系统和程序,访问的还是/mnt/www目录没有变,但这时该目录是位于数据盘上的,执行df -h 系统盘空间使用率恢复正常。
alysjpbj8
到此,阿里云ECS Linux下将网站内容从系统盘搬家到数据盘的操作过程完成.
LNMP更改默认mysql数据存放到数据盘
如果您的使用的军哥的lnmp安装包,那么我们可以还会需要修改几个地方,
1.更改网站文件目录
如果你使用的是军哥的lnmp安装包,那默认的虚拟主机配置环境在 /usr/local/nginx/conf/vhost/ 目录里,修改:
vi /usr/local/nginx/conf/vhost/域名.conf
可以打开对应的虚拟主机配置,然后修改其中的网站目录。然后执行:
cp -a 老目录 新目录
chown www:www -R 新目录
2.更改MySQL数据存放目录
下面新目录以/storage/mysql/ 为例,然后复制旧目录的数据库到新目录:
cp -R /usr/local/mysql/var/* /storage/mysql/
3.将新目录赋权为mysql用户组:
chown mysql:mysql -R /storage/mysql/
4.再修改配置文件:
vi /etc/my.cnf
查找mysql数据原有目录 /usr/local/mysql/var 修改为:
datadir = /storage/mysql
innodb_data_home_dir = /storage/mysql
innodb_log_group_home_dir = /storage/mysql
5.启动mysql:
/etc/init.d/mysql start
到此完工.

相关文章

精彩推荐