- name: '未分区磁盘'
parted: device=/dev/{{item.key}} number=1 state=present
when: not item.value.partitions
register: status
with_dict: "{{ ansible_devices }}"
- name: '格式化磁盘'
filesystem: dev=/dev/{{item.item.key}}1 fstype=xfs
when: item.changed != false
with_items: "{{ status.results }}"
首先通过ansible fact检测机器中的磁盘的parttions,如果partitions就是实际磁盘的分区数,分过区的partitions里是有值的,没分过区的磁盘partitions 值未空。依此来判断磁盘是否被分过区。
如果没有分区我们就把这个磁盘分1个区。并把状态记录下来。
格式化的时候,如果上面的分区状态是成功的,那么说明,这个盘是刚分过区的,那么我就执行格式化。
格式化之后我们需要指定挂载操作,挂载操作要调用
mount
模块来实现
ansible mount 模块用法
path: 挂载点,必须
src: 挂载的源分区,必须
fstype:磁盘分区格式,必须
state:对应的动作是什么
mounted: 主动将设备挂载,并在 /etc/fstab 里面添加永久挂载信息,如果挂载点不存在,挂载点将会被创建
present: 只在 /etc/fstab 里面做记录,并不会挂载
unmounted: 卸载挂载点,但是并不会在 /etc/fstab 里面把永久挂载信息去掉
absent:取消挂载,并在/etc/fstab 对应的记录也删除
remounted:指定设备将被重新挂载
opts: 挂载的选项。
tasks:
- name: "mount device"
mount:
path: /data
src: /dev/sdb1
fstype: ext4
state: mounted
tasks:
- name: 'umount device'
mount:
path: /data
state: umounted
经典java项目案例 java开发项目实例
一、模拟酒店房间管理系统,需要如下几个功能:1、1 in 房间号 客人名字 入住功能1、2 out 房间号 退房功能1、3 search 房间号 查询房间状态 如果房间号为-1 则输出所有房间状态1、4 quit 或 exit 退出提示:酒店所有的房间用二维数组来实现代码实现如下:import java.util.Scanner;
public class HotelDemo {
//写在类里面,
3.org.activiti.engine.ActivitiException: Found Activiti 5 process definition, but no compatibility han
4.异常:java.lang.ClassNotFoundException: org.apache.commons.collections.map.ListOrderedMap
5.解码AGI 对话大模型」迈出AI创业第一步!