阿里云Linux系统硬盘分区不够大,转到大一点的分区操作方法

2014-05-03 10:48:44  雅事达网络 我有话说(184人参与)

阿里云Linux默认数据安装在/alidata目录中,而该目录是在系统盘下,一旦系统盘容量用完,就面临着要把/alidata转移到新的数据盘的问题。

通过百度和本人亲自实践,总结出一套非常简单的方法如下:


假设新增加的硬盘为/dev/xvdb
前且已经分好了区并格式化了,为/dev/xvdb1

首先,创建一个临时加载点
mkdir /data
将新分区加载进来,如下
mount /dev/xvdb1 /data

先停止所有的服务
service mysqld stop
service httpd stop

移动数据
mv /alidata/* /data/

卸载新加载的分区
umount /dev/xvdb1

然后重新加载到/www目录下,如
mount /dev/xvdb1 /alidata

启动服务
service mysqld start
service httpd start

到此,就完成了
但还要修改/etc/fstab这个文件,否则重起后,会找不到数据导致错误的发生
在/etc/fstab增加一行,大概如下
/dev/xvdb1                  /alidata ext3    defaults        0 0
保存退出,这样再次重起也没问题了

如果顺利,上面基本就完成了迁移。

 

但是,天有不测风云,以下是迁移过程中遇到的几个问题:

1)mysql 报错:MYSQL:The server quit without updating PID file

参考:http://www.jb51.net/article/33810.htm

http://blog.sina.com.cn/s/blog_637e04c9010117ri.html

我的解决方法:

a)去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉。

b)用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!

c)看看mysql安装目录的权限,特别是data目录的权限

给予权限,执行 “chown -R mysql.mysql /alidata/server/mysql-5.5.37” “chmod -R 755 /alidata/server/server/mysql/data” 然后重新启动mysqld!

 

2)umount /dev/xvdb1 出现 umount.nfs: /dev/xvdb1: device is busy

解决:

通过这条命令查看:

[root@localhost /]# fuser -m -v /dev/xvdb1
                               用户     进程号 权限   命令
/dev/xvdb1:              root       2798 ..c.. bash
                                root       2996 ..c.. su

 

如上所示,有两个进程占用了,将其kill掉,再重新取消挂载。

[root@localhost /]# kill -9 2798

[root@localhost /]# kill -9 2996

[root@localhost /]# umount /dev/xvdb1

参考:http://www.cnblogs.com/jankie/archive/2012/11/27/2790529.html

 

 


 

分享到:

已有37条评论,共184人参与

还没有评论
最新评论刷新
建海666
这里是博客评论区,请登录
32分钟前
果果明赫
这里是博客评论区,请登录
60分钟前