Ubuntu上利用Chef实现磁盘的自动分区、自动挂载
来源:互联网 发布:淘宝黑科技 编辑:程序博客网 时间:2024/05/29 16:32
Ubuntu 系统上利用Chef实现磁盘的自动分区、自动挂载
背景
服务器托管在公司的私有云上,因为空间太小,所以每台服务器创建之后,需要动态申请磁盘。但是对于Linux的机器,申请完磁盘,Attach到虚拟机,之后需要重启,磁盘才可见。而且,新的磁盘是没有分区的,所以需要:
- 分区(分1个区)
- 格式化(用ext4格式)
- 挂载
以上3步需要在目标虚拟机上运行,所以只能由Chef部署。
Chef 脚本
## Cookbook Name:: acadci_workarounds#DEVICE = "/dev/sdb"PARTITION = "/dev/sdb1"mount_point = node[:acadci_workarounds][:mount_point] # /mnt/new_volumebash "partition" do not_if "ls #{PARTITION}" code <<-EOH echo ,,L | sfdisk #{DEVICE} mkfs -t ext4 #{PARTITION} EOHenddirectory mount_point do mode "777" recursive trueendmount mount_point do device PARTITION fstype "ext4" action :mountend
详细说明:
- 先检查,是不是磁盘已经分过区了,利用
ls /dev/sdb1
命令。 - 假如没有,那么执行
sfdisk /dev/sdb < partition.config
来分区,partition.config是一个sfdisk能够理解的配置文件,他的格式很简单:- 格式:起始,大小,ID。
- 起始 = 起始柱面(如果不进行指定则为第一可用柱面)
- 大小 = 柱面数量(如果不进行指定则指所有柱面)
- ID号 = 分区类型(L: Linux, S: Swap, E:扩展分区)
- 比如: ,600,L;
- 我用的是“,,L”表示将整个磁盘分成一个区,类型是Linux主分区
- 分完区之后,用mkfs命令将其格式化成ext4格式。
- 最后,就是mount,Chef提供了现成的resource来mount,所以很简单,设置一下设备/device、挂载点/mount_point,就行了
参考
- Linux sfdisk 用法: http://www.tsingpost.com/articles/201403/487.html
- Ubuntu Linux 永久挂载(mount)分区: http://www.linuxidc.com/Linux/2014-04/100488.htm
0 0
- Ubuntu上利用Chef实现磁盘的自动分区、自动挂载
- Ubuntu下自动挂载windows分区磁盘的方法
- Linux分区、格式化、自动挂载磁盘
- ubuntu 自动挂载分区
- Ubuntu开机时实现自动挂载Windows下分区
- ubuntu下如何实现自动挂载其他分区
- ubuntu 开机自动挂载nfs服务器上的home分区
- VMWare下扩展Ubuntu系统磁盘、分区并自动挂载
- Ubuntu下开机自动挂载windowsXP下的磁盘
- ubuntu 自动挂载windows磁盘文件
- ubuntu自动挂载windows磁盘
- linux下磁盘批量化自动分区挂载脚本实现
- ubuntu 自动挂载XP下的分区
- Ubuntu下开机自动挂载Windows的分区
- 关于 Ubuntu 自动挂载 Windows 分区
- ubuntu 自动挂载windows分区
- Ubuntu开机自动挂载Windows分区
- Ubuntu开机自动挂载Windows分区
- vs2010 问题 >LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- [2015/05/08] 最简单的服务器 - 安卓通信
- spring,mybatis事务管理配置与@Transactional注解使用
- [POJ] 1579 -> Function Run Fun
- 在notepad++中直接运行python脚本
- Ubuntu上利用Chef实现磁盘的自动分区、自动挂载
- 基于STM32的无线飞鼠(一)
- Python多线程抓取代理服务器
- jeecg权限管理介绍表单级别数据权限
- UVA 11054 Wine trading in Gergovia (酒的交易问题)
- hdu2795 Billboard(线段树)
- 使用TiledMapPacker生成地图在libgdx中使用是乱七八糟的。。。。
- hive文件存储格式
- Android中通过广播方式调起第三方App