您的位置:首页 > 数据库 > MySQL

阿里云磁盘扩容踩坑总结

2017-02-08 16:44 323 查看
公司半年前上线一个新的项目,采购了一批阿里云主机,磁盘组成是40G系统盘+100G的数据盘,数据库采用MariaDB Galera Cluster集群部署,由于业务数据量快速增长,导致磁盘存储空间剩余量很少,急需要扩容,先总结整个项目规划中埋下的坑;
1、没有DBA对数据库的容量规划,而前期的运维人员采购时选用100G的SSD云盘;
2、数据库默认使用共享表空间,缺点是删除数据后不释放空间,当数据快速增长后,我们采取了先删除临时表数据的方式来尽量避免暴力扩容,争取在春节期间稳定,删除部分数据后,容量还是那么的大,只能考虑扩容;
3、整个项目的部署上存在弊端,当初为了更好的利用服务器资源采取了将redis和mysql交叉部署的方式,如示例:
序号服务器配置部署应用其他应用
1MariaDB Galera Cluster 18核16G 100G SSD云盘mysql 节点1 redis备
2MariaDB Galera Cluster 28核16G 100G SSD云盘mysql 节点2redis主
3MariaDB Galera Cluster 38核16G 100G 普通云盘mysql 节点3接口程序、短信、彩信程序
弊端:应用耦合性比较高,而采取的方式必须要重启服务器,由于耦合性太高,导致真个扩容难度太大,重启服务器期间不仅数据库受影响,应用程序也会受影响。
具体操作:
由于节点3是整个系统的 接口程序和登录程序的一个节点,在SLB后端切掉流量后,先用此设备扩容测试,测试成功后再扩容其他服务器。
(1)、在控制台找到示例的磁盘扩容,一般在产生快照的过程中不能扩容,等扩容订单完成后,在阿里云控制台重启服务器,不是远程连接客户端重启,此处踩坑 晚上12点多给阿里云打电话、提工单,最后发现是必须在控制台重启。
以下步骤和截图复制阿里云帮助文档
如果主机之前并未划分过分区,只是使用裸盘格式化使用,那么可以使用如下方法进行原地扩容。
查看当前挂载信息,可以看到是裸盘挂载,磁盘大小 5G。



运行 umount /dev/xvdb 取消挂载。



控制台进行磁盘扩容,然后重新挂载(按量付费的云盘);或者控制台重启服务器(普通云盘)。

系统内查看磁盘,已经是升级后的 6G 了。



依次运行如下命令。
e2fsck -f /dev/xvdb



resize2fs /dev/xvdb



mount /dev/xvdb/mnt 重新挂载磁盘。可以看到磁盘已经扩容成功。



在扩容SSD的时候,遇到了一部分问题,但是由于时间紧急并未截图,也过去好几周了忘记了整个过程,所以在此不做详细的描述,注意事项:
1、扩容前先做磁盘快照,2、扩容过程中不要格式化硬盘。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 数据库 阿里云