lvm自动创建脚本

注1:此脚本适用于新机器的lvm逻辑卷创建,仅支持系统中只有一个未格式化的新的数据盘,适用于centos6,centos7未测试

注2:当系统中需要同时对2个及以上的新磁盘做lvm时,此脚本将不再适用;一般来说,此脚本在新机器做lvm时最为实用

lvm_create.sh

#!/bin/bash
##############################################
#Author: Liuzhengwei - [email protected]
#QQ:1135960569
#Last modified: 2018-04-08 15:24
#Filename: test.sh
#Description: 适用于新机器的lvm逻辑卷创建,仅支持新添加了一个数据盘且系统中之前无lvm,适用于centos6,不适用于centos7
##############################################
#识别新添加的磁盘
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan
#检测新加磁盘的盘符及容量
DIVISOR=1073741824
DISK_NAME=`fdisk -l | grep "Disk /dev/sd" | awk -F '[ :]+' '{print $2}'`
for disk in ${DISK_NAME[*]};do
        df_disk=`df -h | grep $disk | wc -l`
        if [[ $df_disk -eq 0 ]];then
                pvs_disk=`pvs | grep $disk | wc -l`
                if [[ $pvs_disk -eq 0 ]];then
                        new_disk_size=`fdisk -l | grep "$disk" | awk -F '[ ,:]+' '{print $5}'`
                        new_disk_size_G=$(($new_disk_size/$DIVISOR))
                        echo "检测到新磁盘:$disk        容量为:${new_disk_size_G}G"
                        echo "开始创建lvm逻辑卷"
                        #创建lvm
                        pvcreate $disk
                        vgcreate `hostname` $disk
                        lvcreate -L $(($new_disk_size_G-1))G -n data `hostname`
                        mkdir /data
                        /bin/chown -R staplesapp.admin /data
                        mkfs.ext4 /dev/`hostname`/data
                        echo "/dev/`hostname`/data /data ext4 defaults 0 0" >> /etc/fstab
                        mount -a
                fi
        fi
done
echo "lvm逻辑卷已经创建完成,请检查确认~"

原文地址:http://blog.51cto.com/liuzhengwei521/2095693

时间: 2024-10-04 07:12:23

lvm自动创建脚本的相关文章

自动创建脚本定义内容,并实现版本控制

#!/bin/bashexport LANG=zh_CN.UTF-8 author: zhizhimao <zhizhimao.vip.qq.com> filename: vish version: v.0.0 date:2020-01-30 13:14:00 option: -d 描述 -v 指定版本 describe: 创建脚本添加作者.文件名.版本.日期.描述内容,检查语法是否正确,并实现版本控制自动添加版本号.打开非自定义脚本文件时备份后打开; Version=v.0.0Date=$(

【LVM】LVM自动扩容脚本

当新增物理磁盘时,自动扩容到:/dev/vg0/data 例如,如下是原始的: [[email protected] ~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb vg0 lvm2 a-- 10.00g 0 /dev/sdc vg0 lvm2 a-- 10.00g 0 [[email protected] ~]# vgs VG #PV #LV #SN Attr VSize VFree vg0 2 1 0 wz--n- 19.98g 0 [[email p

Amazon AutoScaling 自动创建脚本

#!/bin/bash #Autoscaling config name AC_CONFIG="my-lc-bycli" #Autoscaling group  name AC_GROUP_NAME="my-lb-asg-bycli" #desired-capacity DC="1" #security group SG="sg-9b3a8bfe" #which key pari KP="ELB" #spe

经典实用的自动创建Bash脚本文件头的脚本

今天给大家展示一下,我自己写的一个自动创建Bash脚本文件头的脚本(名为create),希望能对初学脚本者带来一定的思维提示.毕竟对于一个经常写脚本的运维人员来说,每次写脚本的时候都需要重复的去写一遍文件头,也是一件很累赘的事情,既然我们学了脚本,为什么不让它来为我们减轻一下负担了.所以一个自动创建Bash脚本文件头的想法在我脑海里面产生了. 本脚本所需要实现的功能: 1,能够自动创建一个标准的Bash脚本文件头,带有详细注释信息 2,能够给新建完成的Bash脚本文件自动添加执行权限 [[ema

lvm自动扩容到固定分区脚本

任务:需要在nagios中监控aws的一些虚拟主机,检测/data分区容量,一旦该分区容量低于某个值,就执行脚本利用aws命令指令去创建卷,挂载卷到/data分区容量不足的主机上,然后在主机上利用lvm自动扩充/data分区的容量.利用aws命令去创建挂载磁盘的脚本由lead编写,我需要写lvm自动扩充的脚本. 脚本如下: #!/bin/bashexec &>/tmp/.lvm #将所有正确和错误输出记录到/tmp/.lvm,追加记录就用>>/tmp/.lvm #decteing

通过读取用户和密码文件自动创建用户脚本

用户文件/mnt/username     密码文件/mnt/passwdfile Username文件中每一行代表一个用户,passwdfile中每行对应username中一个密码 通过读取取两个文件,自动创建用户 #!/bin/bash if [ -z /mnt/username ]                            //判断username是否存在 then  echo ERROR:/mnt/username is not exits elif [ -z /mnt/pa

一个简单的自动创建Shell脚本的脚本

因为自己平时会写一些小实验脚本,每次都要写Author,Description等很麻烦,便写了这么一个能够自行创建脚本的小脚本,代码如下,纯个人原创,比较粗糙,大神勿喷 #!/bin/bash # VER=0 AUT=0 TIM=0 DES=1 if [ $# -lt 1 ];then         echo "`basename $0` : -a|--author|-t|-d|-v|-f|--file /PATH/TO/FILE|-h"         exit 3 fi whil

使用python脚本自动创建pip.ini配置文件

运行一下python代码自动创建pip/pip.ini文件并添加pip源 """ python建立pip.ini.py 2016年4月30日 03:35:11 codegay """ import os ini="""[global] index-url = https://pypi.doubanio.com/simple/ [install] trusted-host=pypi.doubanio.com "

mysql自动安装脚本

为适应自己工作习惯和需要,花一点时间写了一个mysql自动安装脚本,供大家参考学习. 注意: 1.需要先安装cmake 2.数据库版本需要在第二步安装mysql时修改 3.该脚本是以root用户安装并启动 脚本内容如下: ######################################################################## #mysql自动安装脚本,其中变量/mysql_v_dir/和/port/可根据实际需要修改    # #执行脚本命令:sh mys