环境:linode(16G磁盘) + centos 5.5
前些天一直收到 linode的 磁盘IO 警告的邮件,工作繁忙 , 也没有管它,殊不知 隔了一天 我的blog 不能访问了 , ssh进入linode跟踪log ,mysql报 Got error 28 from storage engine ,后来查出是磁盘已经用完的原因,解决过程如下:
1,查看磁盘占用情况
[root@li165-150 system]# df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda 16G 15G 0 100% /
发现磁盘已经占满 , 接下来需要找出谁占用了这么大的空间
[root@li165-150 system]# cd / [root@li165-150 /]# du -sh * 5.4M bin 4.0K boot 32K dev 13M etc 56M home 21M lib 16K lost+found 4.0K media 4.0K mnt 4.0K opt 15G var
发现 var 目录占用最大 ,继续跟踪 cd /var , du -sh * 最后跟踪到是 /var/log/maillog 占用最大 ,足足有 14G,删除之
>rm /var/log/maillog此时 使用 df -h 查看空间占用情况 还是 15G , 需要释放删除的空间
2,重启 centos ,释放空间
登入 linode.com reboot 你的centos , 就可以 释放删除文件的磁盘了 , 还有 就是发现 linode。com的显示的磁盘占用情况依然还是 100% ,实际我进入系统查看 , 空闲磁盘已经有 9G了
3,重启之前已经开启的服务
/etc/init.d/mysqld start # 启动mysql /usr/local/system/nginx/sbin/nginx # 启动nginx thin start -C /etc/thin/thin.yml # 启动thin /etc/init.d/httpd start # 启动 apache /etc/init.d/postfix start # 启动邮件相关服务 /etc/init.d/dovecot start /etc/init.d/saslauthd start cd /usr/local/system/www/short_url/lib nohup ruby mongoshort.rb -e production & # 启动sinatra cd /usr/local/system nohup mongodb/bin/mongod --dbpath=/usr/local/system/mongodb/data & # 启动mongodb cd /usr/local/system svnserve -d -r vcs # 启动svn server
在启mongodb的时候 , 报文件锁定 , 无法启动 , 需要 repair 一下
mongodb/bin/mongod --repair
4,ok,大功告成
See:
http://www.mongodb.org/display/DOCS/Durability+and+Repair
http://www.fufuok.com/mysql-got-error-28.html
Trackbacks
Use the following link to trackback from your own site:
http://wxianfeng.com/trackbacks?article_id=62
