【LVM】LVM自动扩容脚本
- /dev/mapper/vg0-data挂载在目录/data下;
- 当新增物理磁盘时,需要自动对/dev/mapper/vg0-data磁盘时进行扩容(自动化脚本);
[root@localhost ~]# pvsPV VG Fmt Attr PSize PFree/dev/sdb vg0 lvm2 a-- 10.00g 0/dev/sdc vg0 lvm2 a-- 10.00g 0[root@localhost ~]# vgsVG #PV #LV #SN Attr VSize VFreevg0 2 1 0 wz--n- 19.98g 0[root@localhost ~]# lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convertdata vg0 -wi-ao---- 19.98g[root@localhost ~]# df -ThFilesystem Type Size Used Avail Use% Mounted on/dev/mapper/vg0-data ext3 19G 52M 18G 1% /data
[root@localhost ~]# pvsPV 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 ~]# vgsVG #PV #LV #SN Attr VSize VFreevg0 4 1 0 wz--n- 49.98g 0[root@localhost ~]# lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convertdata vg0 -wi-ao---- 49.98g[root@localhost ~]# df -ThFilesystem 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_extendLvmecho "Begin to extendLVM at `date "+%Y-%m-%d %H:%M:%S"`" >> $log_file_extendLvmvg_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_extendLvmdf -Th /data >> $log_file_extendLvm 2>&1echo "---cmd: pvs------------------------ " >> $log_file_extendLvmpvs >> $log_file_extendLvm 2>&1echo "---------------------------- " >> $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_infopvscan | grep /dev/[sh]d. | awk -F ' ' '{print $2}' > $pvs_info#get Difference set# sort $fdisk_info $pvs_info $pvs_info | uniq -u > $diffSetgrep -F -v -f $pvs_info $fdisk_info > $diffSetecho "-----------------------------" >> $log_file_extendLvmecho "fdisk_info is :" >> $log_file_extendLvmcat $fdisk_info >> $log_file_extendLvmecho "pvs_info is :" >> $log_file_extendLvmcat $pvs_info >> $log_file_extendLvmecho "diffSet is:" >> $log_file_extendLvmcat $diffSet >> $log_file_extendLvmecho "----------------------------" >> $log_file_extendLvmrm -rf $fdisk_inform -rf $pvs_info}extendLV(){# example: change "sdb" to "/dev/sdb"dev_disk=`echo $dev_disk|sed '/dev/!s/^/\/dev\//'`if [ ! -e $dev_disk ];thenecho "[ERROR] $dev_disk do not exists" >> $log_file_extendLvmecho "error"exit -1fiif [ `pvs | grep $dev_disk | wc -l` = "1" ];thenecho "[ERROR] $dev_disk(as PE) has already extend to $vg_name" >> $log_file_extendLvmecho "error"exit -2fi# step 1 :extend vgecho "step 1- exec cmd: vgextend vg0 $dev_disk" >> $log_file_extendLvmvgextend -f vg0 $dev_disk >> $log_file_extendLvm 2>&1# step 2 :extend lvecho "step 2- exec cmd: lvextend -l 100%VG $lv_name" >> $log_file_extendLvmlvextend -l 100%VG $lv_name >> $log_file_extendLvm 2>&1# step 3: resize2fs /dev/vg0/dataecho "step 3- exec cmd: resize2fs $lv_name" >> $log_file_extendLvmresize2fs $lv_name >> $log_file_extendLvm 2>&1}# display infoecho "Before extendLVM..." >> $log_file_extendLvmdisplayInfogetUnLvmDiskcat $diffSet | while read dev_diskdoif [ $dev_disk != "/dev/sda" ] && [ $dev_disk != "/dev/hda" ] && [ `echo $dev_disk | wc -L` == 8 ];then# exec extendLVM# echo "+++++++++++++++++ [$dev_disk]"extendLVfidone# display infoecho "After extendLVM... " >> $log_file_extendLvmdisplayInfoecho "extendLVM finish success" >> $log_file_extendLvmecho "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数据 ...
随机推荐
- postgresql基本操作:查看数据库、索引、表、表空间大小
一.简介 PostgreSQL 提供了多个系统管理函数来查看表,索引,表空间及数据库的大小,下面详细介绍一下. 二.数据库对象尺寸函数 函数名 返回类型 描述 pg_column_size(any) ...
- 关于Highcharts图表组件动态修改属性的方法(API)总结之Series
Highcharts图表组件内的Series很重要,如果说Categries是其大脑,那么Series就是其心脏.这两者才是Highcharts图表组件的重中之重啊.接下来就为大家介绍关于设置Seri ...
- android获取inflater
LayoutInflater作用是将layout的xml布局文件实例化为View类对象. 获取LayoutInflater的方法有如下三种: ? LayoutInflater inflater=(La ...
- 学习iOS笔记第一天的C语言学习记录
c语言基础学习 int num1 = 15; int num2 = 5; int temp = 0; //先把num1放到temp里 temp = num1; //先把num2放到num1里 num1 ...
- ubuntu 状态栏不显示时间
有时候我们会看到我们电脑的状态栏那里并没有显示时间,一个原因是日期时间指示器没有工作,另一个可能的原因是用户禁用了时间显示. 方法一: 首先我们用下面的命令来确认一下是否安装了日期时间指示器: sud ...
- 修饰符(static、final、abstract)第二篇
二.Final 核心:一旦创建,不可修改 可修饰:(创建即终态) 1.类:被修饰后,将不能被继承 2.方法:被修饰后,将不能被覆写 3.属性:被创建,不可修改,且必须赋值(赋值的两种形式): 1.直接 ...
- Vue.js相关知识1
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- Windows Phone使用总结(长期更新)
[感受和经历] 1,型号,撸妹640XL: 2,经历,去银行办卡,当然各种潜规则要我装APP,然后小妹夺我手机要帮我安装,拿过去之后又还给我了--哈哈哈哈,不过乐极生悲,我以为能成功躲过去了,发现中国 ...
- linux下的符号链接和硬链接
一 Linux下链接文件的作用 Linux特别注重用户的权限,而链接文件的作用也正体现了这个方面.对源文件的位置进行了隐藏,用户只对链接文件操作. 二 链接文件的区别 链接文件分为硬链接文件和软 ...
- STM32学习笔记:系统时钟和SysTick定时器
原文:http://blog.sina.com.cn/s/blog_49cb42490100s60d.html 1. STM32的时钟系统 在STM32中,一共有5个时钟源,分别是HSI.HS ...