【LVM】LVM自动扩容脚本
- /dev/mapper/vg0-data挂载在目录/data下;
- 当新增物理磁盘时,需要自动对/dev/mapper/vg0-data磁盘时进行扩容(自动化脚本);
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb vg0 lvm2 a-- 10.00g 0
/dev/sdc vg0 lvm2 a-- 10.00g 0
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg0 2 1 0 wz--n- 19.98g 0
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
data vg0 -wi-ao---- 19.98g
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg0-data ext3 19G 52M 18G 1% /data
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb vg0 lvm2 a-- 10.00g 0
/dev/sdc vg0 lvm2 a-- 10.00g 0
/dev/sdd vg0 lvm2 a-- 15.00g 0
/dev/sde vg0 lvm2 a-- 15.00g 0
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg0 4 1 0 wz--n- 49.98g 0
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
data vg0 -wi-ao---- 49.98g
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg0-data ext3 50G 52M 47G 1% /data
自动LVM扩展脚本如下:
- 该脚本会自动比对哪些物理磁盘没有进行LVM扩展,并将未扩展的磁盘扩展到/dev/vg0/data;
- 不会扩展sda和hda磁盘;
#!/bin/bash
#################################################
# Create by ssslinppp
# 201699 15:16:58
##################################################
log_file_extendLvm="/data/logs/log_file_extendLvm.log"
echo "====================================================" > $log_file_extendLvm
echo "Begin to extendLVM at `date "+%Y-%m-%d %H:%M:%S"`" >> $log_file_extendLvm
vg_name="vg0"
lv_name="/dev/vg0/data"
fdisk_info="/data/fdisk_info"
pvs_info="/data/pvs_info"
diffSet="/data/diffSet"
displayInfo()
{
echo "---cmd: df -Th--------------------- " >> $log_file_extendLvm
df -Th /data >> $log_file_extendLvm 2>&1
echo "---cmd: pvs------------------------ " >> $log_file_extendLvm
pvs >> $log_file_extendLvm 2>&1
echo "---------------------------- " >> $log_file_extendLvm
}
getUnLvmDisk()
{
fdisk -l | grep /dev/[sh]d.: | awk -F ' ' '{print $2}' | awk -F ':' '{print $1}' > $fdisk_info
# pvs | grep /dev/[sh]d. | awk -F ' ' '{print $1}' > $pvs_info
pvscan | grep /dev/[sh]d. | awk -F ' ' '{print $2}' > $pvs_info
#get Difference set
# sort $fdisk_info $pvs_info $pvs_info | uniq -u > $diffSet
grep -F -v -f $pvs_info $fdisk_info > $diffSet
echo "-----------------------------" >> $log_file_extendLvm
echo "fdisk_info is :" >> $log_file_extendLvm
cat $fdisk_info >> $log_file_extendLvm
echo "pvs_info is :" >> $log_file_extendLvm
cat $pvs_info >> $log_file_extendLvm
echo "diffSet is:" >> $log_file_extendLvm
cat $diffSet >> $log_file_extendLvm
echo "----------------------------" >> $log_file_extendLvm
rm -rf $fdisk_info
rm -rf $pvs_info
}
extendLV()
{
# example: change "sdb" to "/dev/sdb"
dev_disk=`echo $dev_disk|sed '/dev/!s/^/\/dev\//'`
if [ ! -e $dev_disk ];then
echo "[ERROR] $dev_disk do not exists" >> $log_file_extendLvm
echo "error"
exit -1
fi
if [ `pvs | grep $dev_disk | wc -l` = "1" ];then
echo "[ERROR] $dev_disk(as PE) has already extend to $vg_name" >> $log_file_extendLvm
echo "error"
exit -2
fi
# step 1 :extend vg
echo "step 1- exec cmd: vgextend vg0 $dev_disk" >> $log_file_extendLvm
vgextend -f vg0 $dev_disk >> $log_file_extendLvm 2>&1
# step 2 :extend lv
echo "step 2- exec cmd: lvextend -l 100%VG $lv_name" >> $log_file_extendLvm
lvextend -l 100%VG $lv_name >> $log_file_extendLvm 2>&1
# step 3: resize2fs /dev/vg0/data
echo "step 3- exec cmd: resize2fs $lv_name" >> $log_file_extendLvm
resize2fs $lv_name >> $log_file_extendLvm 2>&1
}
# display info
echo "Before extendLVM..." >> $log_file_extendLvm
displayInfo
getUnLvmDisk
cat $diffSet | while read dev_disk
do
if [ $dev_disk != "/dev/sda" ] && [ $dev_disk != "/dev/hda" ] && [ `echo $dev_disk | wc -L` == 8 ];then
# exec extendLVM
# echo "+++++++++++++++++ [$dev_disk]"
extendLV
fi
done
# display info
echo "After extendLVM... " >> $log_file_extendLvm
displayInfo
echo "extendLVM finish success" >> $log_file_extendLvm
echo "success"
附件列表
【LVM】LVM自动扩容脚本的更多相关文章
- centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpfs ,nr_inodes, LVM,传统方式扩容文件系统 第七节课
centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpf ...
- [转] LVM分区在线扩容
[转] LVM分区在线扩容 在线扩容的这台服务器,LV分区格式为xfs,原大小1.2TB.增加了一块硬盘,大小为1.8TB. fdisk /dev/cciss/c0d1 # 创建分区,并指定分区类型为 ...
- LVM 认知与扩容操作
继上次 "Linux系统如何迁移至LVM磁盘"反响不错,近三百的访问量吧.这次想续写点东西,主要讲的是"LVM认知和扩容操作".因为网上大多数不准确,可能作者也 ...
- [linux] LVM原磁盘扩容(非增加磁盘)
阿里云机器,ECS运行时磁盘由300G扩容到500,重启机器生效后登录.可以看到/data目录总大小300G,/dev/vdb已经扩容到500G. [root@HD1g-elasticsearch2 ...
- openstack 制作大于2TB根分区自动扩容的CENTOS镜像
制作镜像的时候默认分的是30G空间 qemu-img create -f raw centos.img 30G 看官网文档安装完系统需要安装cloud-init和clout-utils包,本人安装了完 ...
- SQL Server镜像自动生成脚本
SQL Server镜像自动生成脚本 镜像的搭建非常繁琐,花了一点时间写了这个脚本,方便大家搭建镜像 执行完这个镜像脚本之后,最好在每台机器都绑定一下hosts文件,不然的话,镜像可能会不work 1 ...
- 企业IT管理员IE11升级指南【15】—— 代理自动配置脚本
企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...
- mysql 自动备份和nginx自动安装脚本
一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...
- Windows环境下Oracle数据库的自动备份脚本
批处理文件(.bat) @echo off echo ================================================ echo Windows环境下Oracle数据 ...
随机推荐
- signtool对EXE进行签名
https://msdn.microsoft.com/zh-cn/library/9sh96ycy(VS.80).aspx .NET Framework 2.0 其他版本 文件签名工具使用 A ...
- sql server 内置ETL工具学习(一) BCP篇
sql server 内置ETL工具学习 常用的导入方式:bcp, BULK INSERT,OPENROWSET和 SSIS. BCP BCP全称BULK COPY PROGRAM 有以下特点: 命令 ...
- 感知机-Python实现
如图3所示的训练数据集,其正实例点是(3,3),(3,4),负实例点是(1,1),试用感知机学习算法的原始形式求感知机模型,即求出w和b.这里, 图3 这里我们取初值,取.具体问题解释不写了,求解的方 ...
- XStream解析
package com.baidu.farment; import java.io.IOException;import java.util.ArrayList;import java.util.Li ...
- DIV的圆角表现和TAB切换
内容大体是从网上找过来的,感觉那位哥们说的对,css还是比较靠谱的,当然有些高玩搞出来的东西本地 没有运行起来. 把自己的应用贴出来同大家分享 <html> <head> &l ...
- Baxter机器人---测试准备(一)
原创博文,转载请标明出处:--周学伟http://www.cnblogs.com/zxouxuewei/ baxter:http://sdk.rethinkrobotics.com/wiki/Work ...
- iOS应用日志:开始编写日志组件与异常日志
应用日志(一):开始编写日志组件 对于那些做后端开发的工程师来说,看 LOG解Bug应该是理所当然的事,但我接触到的移动应用开发的工程师里面,很多人并没有这个意识,查Bug时总是一遍一遍的试图重现,试 ...
- 渴切-开源中文css框架
渴切:是国内优秀的开源css框架. 渴切是一个开源中文 (X)HTML/CSS 框架 ,它的目的是减少你的css开发时间.它提供一个可靠的css基础去创建你的项目,能够用于网站的快速设计,通过重设和重 ...
- 修改host文件屏蔽视频广告和网站
很多时候我们会需要屏蔽一些网站或者广告,类似XX网站,下木马病毒的网站,或者破解软件的时候.我们可以使用一些软件屏蔽,我这里是用windows系统自带的hosts文件来屏蔽的.这个文件有点类似精简版的 ...
- (转) SLAM系统的研究点介绍 与 Kinect视觉SLAM技术介绍
首页 视界智尚 算法技术 每日技术 来打我呀 注册 SLAM系统的研究点介绍 本文主要谈谈SLAM中的各个研究点,为研究生们(应该是博客的多数读者吧)作一个提纲挈领的摘要.然后,我 ...