公司项目服务器是买的阿里的,原来的项目是外包出去别人做的,用户图片上传保存到了服务器上,500G的磁盘空间硬生生给用完了,怎么搞?扩容呗,大概思路就是从阿里那再买一块磁盘,添加到ESC实例上,然后挂载,然后格式化磁盘文件,然后把老图片mv过去,然后建立link。结果就是原来的磁盘空间够用了,服务飞起来了。今天就来讲解下我的处理过程。
第一步:从阿里那里买一块新的数据盘,挂载到ESC实例上
具体怎么挂载,可以参考阿里帮助文档,挂载云盘
第二步:将新买的数据盘创建单分区并挂载文件系统
1. SSH命令登陆到Linux系统
2. 执行命令:fdisk -l 查看系统磁盘信息,如下所示:
有两个,分别是/dev/vda,/dev/vdb。因为我已经把磁盘分区了,而且都是只分了一个区,所以会显示每个磁盘的分区情况
注:系统磁盘的命名依次为/dev/vda,/dev/vdb....../dev/vdz。执行命令后,如果不存在/dev/vdb,表示您的实例没有数据盘。确认数据盘是否已挂载。
3. 运行fdisk -u /dev/vdb
命令:分区数据盘
4. 输入p:查看数据盘的分区情况。本示例中,数据盘没有分区
5. 输入n:创建一个新分区。
6. 输入p:选择分区类型为主分区。
注:
7. 输入分区编号并按回车键。本示例中,仅创建一个分区,输入1。
8. 输入第一个可用的扇区编号:按回车键采用默认值2048。
9. 输入最后一个扇区编号。本示例中,仅创建一个分区,按回车键采用默认值。
10. 输入p:查看该数据盘的规划分区情况。
11. 输入w:开始分区,并在完成分区后退出。
12. 运行fdisk -lu /dev/vdb
命令查看该磁盘的新分区。如果出现以下信息,表示新分区已创建完成。
13. 运行mkfs.ext4 /dev/vdb1
命令在新分区上创建一个文件系统。14. 运行echo /dev/vdb1 /mnt ext4 defaults 0 0 >> /etc/fstab
命令向/etc/fstab写入新分区信息。15. 运行mount /dev/vdb1 /mnt
命令挂载文件系统。
如果想挂载到指定的文件路径,把/mnt换成你自己的路径就可以了
到此新买的数据盘,挂载云盘,分区,创建文件系统,挂载到文件系统就完成了。这里我给大家讲讲什么是分区。
磁盘物理结构简介:磁盘是由多个圆形的盘面组成,每个盘面上不通的圆圈代表一个磁道。每一个磁道被划分成多个片段称为扇区。所有盘面上的同一磁道构成一个圆柱,称为柱面(cylinders)。如下图所示:
所谓的磁盘分区指的是告诉操作系统『我这块磁盘在此分割槽可以存取的区域是由 A 磁柱到 B 磁柱之间的区块』,如此一来操作系统就能够知道他可以在所指定的区块内进行文件数据的读/写/搜寻等动作了。 也就是说,磁盘分区意即指定分割槽的启始与结束磁柱就是了。Linux分区是用设备名字加数字命名的,比如vda1代表vda这个硬盘上的第一个分区,其中vd是Linux对虚拟磁盘的命名,依次为vda,vdb,vdc等等。
扯了会题外话。到这里就结束了吗,不。上面做的事情仅仅是把新的数据盘弄到了我们的Linux系统上了,但是原来那500G的磁盘还是满的啊。接下来要讲解的就是如何把老的图片挪到数据盘,而且tomcat还能访问的到。
第三步:将/home/mapServer/mapedu/upload目录下500G老的图片挪到/home/mapServer/mapedu/uploadbak目录下,并利用Linux的ln命令建立软连接,命令如下:
ln -s /home/mapServer/mapedu/uploadbak* /home/mapServer/mapedu/upload/
如此以来,tomcat访问upload下的图片,就如同访问uploadbak下的图片一样。而且新的图片继续上传到upload目录下,而且也是能正常访问。
注:需要注意一点的是,需要在tomcat中配置,启动软连接,这样才能访问的到/home/mapServer/mapedu/uploadbak下的内容;并且要注意,tomcat6和8启用软链接的方式不一样。具体怎么配置,网上大把大把的资料,在此不多说了。
总结:
这篇文档主要有一下几点知识:
1. 如何把新买的数据盘挂载到ESC实例上
2. 磁盘的分区
3,磁盘创建文件系统
4,把磁盘挂载到某个目录下
5,Linux下两个目录建立软连接
6,配置tomcat以访问软连接的资源
好了,到此就真正的结束了。有什么问题欢迎大家指正,共同学习。