一、功能说明
1 根据自定义的配置文件,对指定硬盘做分区,一键安装,不需要交互
2 支持 Swap,Primary,Extend,Logical 分区格式
3 可以自动计算大小
4 支持LVM分区,并自动创建
5 自动分区顺序是:Swap,Primary,Extend,Logical
遗留的问题 :
1 目前暂时没有考虑对大于2T磁盘的分区(那个需要使用GPT分区格式)
2 另外在分区时候 可能实际分区大小跟 配置文件指定的有微小出入
二、分区配置文件格式说明:
举例:
nova_volumes sdb msdos 200 primary 1 0
nova_volumes sdb msdos 400 primary 2 0
- sdb msdos 300 extended 3 0
nova_volumes sdb msdos 100 logical 4 3
nova_volumes sdb msdos 100 logical 5 3
第一列 : LVM 卷名 ,如不需要用 “-”替代
第二列 : 所用的物理磁盘名 , sda/sdb/sdc 等
第三列 : 磁盘分区表格式,支持 (msdos,小于2T用; gpt 大于2T用)
第四列 : 分区大小,以M作为单位
第五列 : 分区类型(主分区/扩展分区/逻辑分区 并且一个物理磁盘下只允许有一个扩展分区)
第六列 : 配置ID,整型数字,不能为空,更不能重复
第七列 : 配置父ID号,整型数字。ID为0时,表示没有父ID号;如果不为0,则也不允许重复.
第5,第6列的配置,做个关系型数据开发的都应明白,是用做标示配置行间的父子关系
不过在此脚本中,不支持多层父子关系
上例的配置中的解释:
第一行: 配置 /dev/sdb第一个 分区,类型是 主分区 200M,所属的LVM卷名是 : nova_volumes
第二行: 配置 /dev/sdb 第二个 分区,类型是 主分区 400M,所属的LVM卷名是 : nova_volumes
第三行: 配置 /dev/sdb 第三个 分区,类型是 扩展分区 300M
第四行 : 配置 /dev/sdb 第四个 分区,类型是 逻辑分区 100M,它属于 第三行的扩展分区300M的一部分,并且它所属的LVM卷名是 : nova_volumes
第五行 : 配置 /dev/sdb 第四个 分区,类型是 逻辑分区 100M,它属于 第三行的扩展分区300M的一部分,并且它所属的LVM卷名是 : nova_volumes
三、实现代码
Ctrl+Enter 发布
发布
取消