文档章节

Ansible之playbook自动完成硬盘分区,格式化,挂盘,并远程创建用户

HelloEric
 HelloEric
发布于 2015/11/05 22:05
字数 563
阅读 1777
收藏 5
点赞 1
评论 0

前言

对于刚刚拿到拿到的新机器,唯一的可用信息有,IP地址,服务器登陆用户名和密码。

一般情况,root用户是不能直接登陆,只能通过普通用户跳转。

特别是最近工作中遇到的腾讯云服务器,申请之后硬盘都还没有挂载上去,还需要手动挂载操作,这个是比较费事的。所以这里采用ansible中的playbook将以上的工作都一并完成

playbook

以下的playbook功能包括:

  1. 分区新挂载硬盘,默认是一个分区全部使用

  2. 格式化新挂载分区

  3. mount新分区

  4. 创建远程管理用户

  5. 下发ssh公钥,为以后ansible远程管理做准备


- hosts: "{{ host }}"
  remote_user: "{{ loginUser }}"
  vars:
    work_path: /opt/object/server/
    disk: /dev/sdb
    partition: /dev/sdb1
    mountDir: /data
  vars_prompt:
    - name: "username"
      prompt: "Insert User Name:"
      default: "www"
      private: no
    - name: "passwd"
      prompt: "Insert Password for the user:"
      default: "123qwe"
      private: no
  tasks:
    - name: Yum Install
      yum: name="{{ item }}" state=latest
      with_items:
        - libselinux-python
      become: yes
      become_method: su

    - name: New Disk Partition
      script: ./../script/disk.sh "{{ disk }}"
      become: yes
      become_method: su

    - name: New Disk Format(ext4)
      filesystem: fstype=ext4 dev="{{ partition }}" opts="-cc"
      become: yes
      become_method: su

    - name: New Disk Mount
      mount: name="{{ mountDir }}" src="{{ partition }}" fstype=ext4 state=mounted
      become: yes
      become_method: su

    - name: Create Remote User
      user: name="{{ username }}" password="{{ passwd }}"
      become: yes
      become_method: su

    - name: Set up SSH Key
      authorized_key: user={{ username }} key="{{ lookup('file', '/home/eric/.ssh/id_rsa.pub') }}"
      become: yes
      become_method: su

自动化分区脚本(disk.sh)

#!/bin/bash

DISK=$1

CHECK_EXIST=`/sbin/fdisk -l 2> /dev/null | grep -o "$DISK"`
[ ! "$CHECK_EXIST" ] && { echo "Error: Disk is not found !"; exit 1;}

echo "1" > /tmp/disk.log

CHECK_DISK_EXIST=`/sbin/fdisk -l 2> /dev/null | grep -o "$DISK[1-9]"`
[ ! "$CHECK_DISK_EXIST" ] || { echo "WARNING: ${CHECK_DISK_EXIST} is Partition already !"; exit 1;}

echo "2" > /tmp/disk.log

/sbin/fdisk /dev/sdb<<EOF  
d
n
p
1
1
 
t
83
w
EOF

执行指令

ansible-playbook server_init.yml -vvv -k --ask-become-pass -e "loginUser=eric" -e "host=192.168.1.101"

© 著作权归作者所有

共有 人打赏支持
HelloEric

HelloEric

粉丝 8
博文 80
码字总数 75627
作品 0
成都
CentOS系统下的数据盘挂载

通常新开通的Linux云服务器数据盘都未做分区和格式化。在进行数据盘挂载之前我们要先进行分区以及格式化操作。注意,挂载操作会清空数据,请确认挂载盘内无重要数据! 以下是分区、数据盘挂载...

大朱
2016/09/06
0
0
ansible(续一)

安装本地软件包 [root@ms.dtedu.com~]$ansible all -m yum -a "name=/root/ipvsadm-DR.rpm state=installed " 1.10 user模块 创建和管理用户,其实使用command模块同样可以达到同样的效果。 ...

blackstome
2017/09/26
0
0
SpacePack 运维工具之 Auto fdisk

SpacePack 是一款针对云主机制作的运维工具包,Auto fdisk 是一个自动创建分区格式化并挂载硬盘脚本,后期将会有更多的工具脚本被制作出来,并且立志要做一款运维工程师的居家必备利器! 支持...

palink
2017/08/06
0
0
Hyper-V/VMware下linux增加数据硬盘

做系统应用或者IDC最终要的就是数据备份与快速恢复,简单地讲就是实现系统盘和数据盘分离,这样无论是后期管理还是数据的安全都得到较好的保障。 下面就是简单介绍: 适用系统:Linux(Redha...

English0523
2014/01/15
0
0
openshift/origin学习记录(0)——Ansible安装多节点openshift集群

本节内容是基于Ansible Playbook自动部署openshift集群,之后几节内容会通过一个AllInOne的集群手动添加组件,研究实现的流程。 本部分内容是3.6.0,可能不适用3.6.1 本部分openshift集群的部...

huqigang
2017/09/13
0
0
硬盘数据丢失原因和解决方案/数据恢复方法

故障一:"磁盘未被格式化,是否格式化" [适用介质] 1、典型地-移动硬盘、U盘、数码卡(相机、手机等)、MP3; 2、普通硬盘; 3、很少的-盘阵等采用WINDOWS系统的存储; [故障表现] 1、移动硬盘或U...

宋国建
05/22
0
0
archlinux安装步骤直播

准备工作: archlinux-2015-11-05.iso vmplayer 开始安装 1.启动虚拟机进入到界面,第一步格式化硬盘 fdisk /dev/sda n 一路default,会把整个盘格式化成一个盘 最后输入w,写入到硬盘 2,,用...

hxf10047
2015/11/25
119
2
Ansible-playbook批量添加zabbix监控项目、同步配置信息(二)

前言 在上一篇教程中我们已经实现了使用ansible-playbook批量在远程主机上部署zabbix客户端并正常运行,现在我们再次通过ansible-playbook给客户端主机批量增加zabbix监控项目配置(创建监控...

HMLinux
2017/07/07
0
0
ansible的安装与使用

ansible作为轻量级的运维管理工具,目前已被广泛使用,其已被redhat收购, 未来极为可能装入base仓库。 ansible的安装 目前由于ansible位于epel仓库,我们需要创建epel源。方法如下: 1.wget...

babyhanggege
2017/03/21
0
0
Linux系统下,将普通硬盘的ntfs分区转换为ext4分区,并开机自动挂载

基本情况: 我的笔记本是双硬盘配置,一块是原装的750G的硬盘,另一块是闪迪120G固态硬盘,我现在的操作系统是 固态硬盘上面的 Ubuntu系统,750G的硬盘就成了存储设备挂载在 Ubuntu 上面。7...

问天小凯
2016/12/17
191
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

与女儿谈商业模式 (5):糖果连锁店?

分类:与女儿谈商业模式 2007-08-02 15:27阅读(8394)评论(32)   与女儿谈商业模式(5):糖果连锁店?   陈志武 /文   谈过星巴克、沃尔玛、戴尔以及微软的故事后,给陈笛印象最深的莫...

祖冲之
3分钟前
0
0
Linux平台下RMAN异机恢复总结

潇湘隐者 Linux平台下RMAN异机恢复总结 2017-05-29 16:30 by 潇湘隐者, ... 阅读, ... 评论, 收藏, 编辑 下面总结、整理一下RMAN异机恢复这方面的知识点,这篇笔记在个人笔记里面躺了几年了,...

rootliu
10分钟前
0
0
Spring配置xml启动报错 Connot find 'beans'

1.我们先看一下spring的原始配置 <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSc......

江湖鱼大虾
12分钟前
0
0
www.w3.org被qiang导致logback报错:Connect reset

web项目部署到tomcat后,web项目中的logback不能运行,报错信息如下: Reported exception: ch.qos.logback.core.joran.spi.JoranException: I/O error occurred while parsing xml file......

浮躁的码农
35分钟前
0
0
JDeveloper中文乱码解决

全局设置字体; 全局设置环境编码; 项目设置编译器环境编码。

wffger
今天
2
0
MySQL主从介绍 , 准备工作,配置主,配置从, 测试主从同步

MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的 MySQL主从是基于binlog的,主上须开启bin...

TaoXu
今天
2
0
线性代数学习总结

亭子happy
今天
1
0
Java8:Lambda表达式增强版Comparator和排序

1、概述 在这篇教程里,我们将要去了解下即将到来的JDK 8(译注,现在JDK 8已经发布了)中的Lambda表达式——特别是怎样使用它来编写Comparator和对集合(Collection)进行排序。 这篇文章是...

孟飞阳
今天
0
0
从架构到组件,深挖istio如何连接、管理和保护微服务2.0?

近几年我一直从事于微服务系统的设计以及实现方面的工作,属于微服务架构一线实践者。之前做过一些单体系统的微服务改造,在微服务拆分、治理等方面都有一定的经验。 本人比较特殊一点的经历...

xiaomin0322
今天
1
0
基于vue的h5文件切片上传(获取文件md5,实现秒传、进度条实现)

template <button @click="file"></button><label ref="upload" style="position: relative;"> <input type="file" @change="selectFile" style="position: abs......

hkaikai
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部