说到分区方案,不得不提虚拟机的资源分配特性
VMware vSphere管理虚拟机资源特性:
1.cpu和内存可以随意调整大小,只要关机调整即可
2.硬盘容量只能往大了调整,不能缩小(有缩容方案,不过操作起来比较复杂)
3.慎用精简置备(thin)硬盘模式:因为他的容量增长并不是线性的,比如你设置3TB,他一开始占用100g,然后当你使用到500G时,他可能自动扩容为1.5T,这个时候,系统凭空多占了1T磁盘空间。这不仅多占用资源,还有风险:就是物理机上对于每个虚拟机来说磁盘都是有余量的,但是物理机磁盘可能会被占满,导致整个物理机奔溃!
所以对于生产环境,最佳的磁盘分配方式还是厚置备置零(eager zeroed thick),用实际物理机磁盘空间来分配虚拟机空间,不要超设,设置一个合理的初始化空间,然后后期根据业务需求,逐步增加磁盘空间,这是最稳妥也最合理使用资源的方式。
先说说cpu和内存的分配:
对于一般的业务:4c,16g内存的初始空间是相当够用的,在业务运行阶段,可以通过top,和free -g命令经常观察cpu和内存使用情况,进而根据实际情况增加和缩减资源
这个很好操作,没什么好说
下面就来谈谈磁盘的初始化
其实扩容也是比较麻烦的,那怎么平衡这种需求呢,就是让初始容量满足大部分业务需求,又不至于过量分配,浪费资源
根据我的观察,200G的磁盘总容量是比较合适的,不至于很小,需要经常扩容,又基本能足够满足大部分业务需求
下面来说说linux的磁盘分区问题
其实和windows分区大同小异
首先,系统盘是必须单独分出来的,原因有二:1.不会因为业务系统把磁盘占满而影响系统正常运行 2.加入系统出现问题,要重做系统之类的,可以只格式化系统盘,保留业务数据盘,后期重新挂载
所以我windows分区一般只分两个区:C盘和D盘,C盘是系统盘,一般200G足够了,其他全部分给D盘
下面来看看linux需要注意的磁盘分区,以200G总容量为例
一级目录(盘符) | 功能 | 磁盘用量分析 | 分配大小 |
/ | liunx系统盘:包含系统内核和后期安装的软件也会再此 | linux没有桌面,系统占用7G左右,算上日常安装的工具 | 50G |
/var | 工具的默认数据盘:比如mysql,docker等 | 这个用量比较大,尤其用于mysql(存储db数据),docker之类的业务(容器,images等) | 69G |
/data | 业务数据盘:自有业务数据本地化放置位置 | 这个用量也很大,其实某种程度上 /var和/data可以共用,但是考虑到docker容器的稳定性,以及数据备份数据,还是单独分出/data盘供服务挂载比较合理 | 69G |
/home | 个人用户目录:储存用户的个人配置和文件 | 建议从/分出来,防止上传过大文件占用系统盘,以及方便后期备份,不过考虑到是做服务器,所以可以给很小的空间,分出/var和/data之后,剩下空间全部给他 | 6.8G |
/boot | 系统启动目录:保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等 | Ubuntu 最新系统(22.04.2),用磁盘自动创建选项,会自动创建,无需配置 | 2G(默认创建) |
swap | 虚拟内存空间 | Ubuntu 最新系统(22.04.2),用磁盘自动创建选项,会自动创建,无需配置 | 4G(默认创建) |
/tmp | 临时目录:系统存放临时文件的目录 | Ubuntu 最新系统(22.04.2),用磁盘自动创建选项,会自动创建,无需配置 | 默认创建,目测从空间最大的两个目录里面划出 |