linux 数据卷磁盘管理
新加磁盘如何创建逻辑分区
查看命令 lvs vgs pvs
1: 新建一个分区(partition)
fdisk /dev/sdb
2:创建PV(物理卷)
pvcreate /dev/sdb1
pvs或 pvscan 查看创建物理卷
3:创建VG(卷组)
vgcreate testvg /dev/sdb1
4:查看VG可用空间
vgdisplay
5:建立逻辑卷(LV)
lvcreate -L 10G -n testlv testvg
6:建立文件系统
mkfs.ext4 /dev/sdb1 或者 mkfs - t ext4 /dev/sdb1
7:建立挂载点
mkdir /mnt/data
8:挂载存储
fdist -l 查看磁盘可挂载分区
mount /dev/mapper/testvg-testlv /mnt/data
9:修改fstab配置文件实现自动挂载
vim /etc/fstab
/dev/mapper/testvg-testlv /mnt/data ext4 defaults 1 1
空间扩展 新加磁盘扩展逻辑卷
1: 新建一个分区(partition)
fdisk /dev/sdc
2:创建PV(物理卷)
pvcreate /dev/sdc1
pvs或 pvscan 查看创建物理卷
3:將PV加入到已存在的VG
vgextend testvg /dev/sdc1
4:增加LV的大小
lvresize -L +20G /dev/mapper/testvg-testlv
lvextent -l+100%FREE /dev/mapper/testvg-testlv (扩展百分之百)
刷新磁盘容量
resize2fs /dev/mapper/testvg-testlv
5:減少LV容量
lvresize -L -5G /dev/mapper/testvg-testlv
刷新磁盘容量
resize2fs /dev/mapper/testvg-testlv
#使扩展生效
xfs_growfs /dev/mapper/testvg-testlv
df -hT
注意:扩展磁盘大于2T 需要修改成gpt ##将MBR分区形式转换为GPT分区形式
fdisk /dev/sdc
g n 回车 回车 p w t 31修改模式为linux lvm
PV操作
将扩展块移动到现有物理卷上
使用 pvs 命令检查是否使用了所需的物理卷(我们计划删除 LVM 中的 /dev/sdc 磁盘)。
# pvs -o+pv_used
如果使用了,请检查卷组中的其他物理卷是否有足够的空闲扩展块extent。
如果有的话,你可以在需要删除的设备上运行 pvmove 命令。扩展块将被分配到其他设备上。
# pvmove /dev/sdc
当 pvmove 命令完成后。再次使用 pvs 命令检查物理卷是否有空闲。
# pvs -o+pv_used
如果它是空闲的,使用 vgreduce 命令从卷组中删除物理卷 /dev/sdc。
# vgreduce myvg /dev/sdc
Removed "/dev/sdc" from volume group "vg01"
最后,运行 pvremove 命令从 LVM 配置中删除磁盘。现在,磁盘已经完全从 LVM 中移除,可以用于其他用途。
# pvremove /dev/sdc
Labels on physical volume "/dev/sdc" successfully wiped.
移动扩展块到新磁盘
如果你在卷组中的其他物理卷上没有足够的可用扩展。使用以下步骤添加新的物理卷。
# fdisk -l
操作系统中检测到磁盘后,使用 pvcreate 命令创建物理卷。
# pvcreate /dev/sdd
Physical volume "/dev/sdd" successfully created
使用以下命令将新的物理卷 /dev/sdd 添加到现有卷组 vg01 中。
# vgextend vg01 /dev/sdd
Volume group "vg01" successfully extended
现在,使用 pvs 命令查看你添加的新磁盘 /dev/sdd。
# pvs -o+pv_used
使用 pvmove 命令将数据从 /dev/sdc 移动到 /dev/sdd。
# pvmove /dev/sdc /dev/sdd
数据移动到新磁盘后。再次使用 pvs 命令检查物理卷是否空闲。
# pvs -o+pv_used
如果空闲,使用 vgreduce 命令从卷组中删除物理卷 /dev/sdc。
# vgreduce myvg /dev/sdc
Removed "/dev/sdc" from volume group "vg01"
最后,运行 pvremove 命令从 LVM 配置中删除磁盘。现在,磁盘已经完全从 LVM 中移除,可以用于其他用途。
# pvremove /dev/sdc
Labels on physical volume "/dev/sdc" successfully wiped.
脚本编写
#!/bin/bash
#author: zfy
#time: 2022/9/28
#explain: LVM disk extend
device=$1
if [ ! -n "$device" ]
then
echo "input disk device name"
echo "sh xxx.sh sdb|sdc"
exit 1
fi
vg_name=`vgs |awk 'NR==2{print $1}'` #mount_name=`df -H|awk '{if($1~/mapper/) print $1}'`
ls -l /dev/mapper
echo "需要扩展的是第几行的逻辑卷"
read num
mount_name=`ls /dev/mapper/ |awk "NR==$num {print}"`
echo $device $vg_name $mount_name
create_MBR(){
echo "top1 create disk MBR model"
fdisk /dev/$device <<EOF
n
p t
8e
w lsblk
fdisk -l
EOF
} create_GPT(){
echo "top1 create disk GPT model"
fdisk /dev/$device <<EOF
g
n t
31
w lsblk
fdisk -l
EOF
} extend_disk(){
echo "top2 create pv $device"
if test -e /dev/$device
then
pvcreate /dev/"$device"1
else
echo "device $device nonexistence "
exit 1
fi
echo "top3 pv add vg"
vgextend $vg_name /dev/"$device"1 echo "top4 add vg"
if test -e /dev/mapper/"$mount_name"
then
lvextend -l+100%FREE /dev/mapper/"$mount_name"
else
echo "$mount_name dir nonexistence "
exit 1
fi
echo "top5 refresh vg "
resize2fs /dev/mapper/"$mount_name" echo "top6 take effect vg"
xfs_growfs /dev/mapper/"$mount_name"
df -H
} pv_delete(){
#如果PV已经使用并且有数据要提前移动数据后进行缩减
#pvmove /dev/sdc
pvs -o+pv_used
echo "缩减磁盘大小 M|G|T"
read size
lvresize -L -$size /dev/mapper/"$mount_name" #在vg中删除pv
vgreduce $vg_name /dev/$device"1"
vgs #在pv中删除sdc
pvremove /dev/$device"1"
pvs
resize2fs /dev/mapper/"$mount_name"
xfs_growfs /dev/mapper/"$mount_name"
df -H
lsblk
fdisk -l
} ## 模式选择
echo "Your disk is greater than 2T and not create pv. input gt"
echo "Your disk is less than 2T and not create pv. input lt"
echo "delete new create pv. input delete"
echo "only extend vg. input lvm"
read a
case $a in
gt)
create_GPT
extend_disk
;;
lt)
create_MBR
extend_disk
;;
delete)
pv_delete
;;
extend)
extend_disk
;;
*)
echo "都给提示了还输错,zz"
;;
esac
linux 数据卷磁盘管理的更多相关文章
- Linux LVM卷组管理
Linux LVM卷组管理 由于传统的磁盘管理不能对磁盘进行磁盘管理,因此诞生了LVM技术,LVM技术最大的特点就是对磁盘进行动态管理. 由于LVM的逻辑卷的大小更改可以进行动态调整,且不会出现丢失数 ...
- Linux文件系统与磁盘管理
Linux文件系统与磁盘管理 有哪些文件系统: FAT:微软在Dos/Windows系列操作系统中共使用的一种文件系统的总称. exFAT(Extended File Allocation ...
- Linux系统的磁盘管理
Linux系统的磁盘管理有三个命令:df.du.fdisk. df:列出Linux中所有文件系统的整体磁盘使用量: du:对文件和目录所占用磁盘空间的查看: fdisk:用于磁盘分区时列出所有的磁盘. ...
- Linux进阶之磁盘管理及LVM逻辑卷
本节内容 磁盘管理 LVM 一.磁盘管理 1.硬盘接口 种类及其应用: IDE接口硬盘多用于家用产品,部分应用于服务器 SATA SCSI接口硬盘主要应用于服务器 SAS只在高端服务器上,价格昂贵 2 ...
- linux基础之磁盘管理与文件系统
上面一篇文章(https://www.cnblogs.com/ckh2014/p/7224851.html)介绍了硬盘的基本结构,那么一块磁盘如何应用取存储数据呢? 它的步骤是这样的: 识别硬盘 -- ...
- linux 操作系统之磁盘管理
磁盘管理 存储设备:硬盘 , U盘 , 移动硬盘 , 光盘 , 软件. 组装一台电脑 无法被修改 df -h #查看磁盘分区的情况 , 可用的. 查看磁盘或者目录的内容 df “df” 常用的 “-i ...
- Linux浅谈磁盘管理及案例
磁盘管理 MBR原理图 从该图可理解到为什么主分区只能是四个. 可以不分区,但为了统一管理,提高访问效率 设备不同,生成设备名称不同 管理分区命令: lsblk查看块设备 fdisk创建MBR分区 f ...
- linux基本命令之磁盘管理命令(ls,cd,pwd,mkdir,rmdir,clear, touch)
linux磁盘管理命令 1.ls(list)命令:列出目录内容. 格式:ls [参数][文件或目录] ls -a或-all表示列出所有文件和目录,以点开始的是影藏文件,例如,.bash_history ...
- docker数据卷的管理和使用
数据卷的使用,数据库可以保证如果容器出现问题但是数据不丢失的作用,比如MySQL/date下的数据 或者Nginx根目录下的index.html 查看数据卷 [root@docker ~]# dock ...
- LINUX逻辑卷(LVM)管理与逻辑卷分区
LINUX之逻辑卷管理与逻辑卷扩展 LVM是逻辑卷管理(Logical Volume Manager)的简称,他是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,和直接使用物理存储在管理上相 ...
随机推荐
- useCallback与useMemo使用场景
疑问:为什么需要useCallback和useMemo 答: 父组件变化,会引起子组件的 re-render,为了阻止子组件不必要的 re-render,需要满足两个条件: 1.子组件用 react. ...
- linux查看指定时间段日志
1.查看时间段日志:sed -n '/起始时间/,/结束时间/p' 日志文件 sed -n '/2021-05-21 10:08/,/2021-05-21 10:09/p' nohup.out2.指定 ...
- 89. 格雷编码 (Medium)
问题描述 89. 格雷编码 (Medium) n 位格雷码序列 是一个由 2ⁿ 个整数组成的序列,其中: 每个整数都在范围 [0, 2ⁿ - 1] 内(含 0 和 2ⁿ - 1) 第一个整数是 0 一 ...
- JS学习-async/await
async/await 它保证函数的返回值为 promise. 用更少的.then()块来封装代码,同时它看起来很像同步代码 注意:可能会因为大量await的promises相继发生而变慢. asyn ...
- canvas合并图片并长按保存
代码实现 <div class="pho-bg"> <img src="../../assets/images/FeedbackActivity/pos ...
- Eureka服务端创建及服务注册
一.Eureka服务端创建 1. 引入依赖:pom.xml <!-- eureka 服务端 --> <dependency> <groupId>org.spring ...
- python_列表和元组的转换
1, 通过list函数将元组的数据获取到,保存到新定义的列表里面.备注:元组的数据不会更改. info_tuple = ("小明", 24, 1.75) info_list = l ...
- js正则 -180 到180 小数点后无限位、el-input
正则 -180 到180 小数点后无限位/^0$|^-?0\.\d*[1-9]$|^-?[1-9](\.\d*[1-9])?$|^-?[1-9]\d(\.\d*[1-9])?$|^-?1[0-7]\d ...
- js操作网页元素
二.操作网页元素 1.查找网页元素 给标签设置id属性,一个网页中id的值不能出现重复的 <button id="btn">按钮</button> 2.给按 ...
- Luogu P2375 [NOI2014 D2]动物园 kmp
P2375 动物园 题目描述 近日,园长发现动物园中好吃懒做的动物越来越多了.例如企鹅,只会卖萌向游客要吃的.为了整治动物园的不良风气,让动物们凭自己的真才实学向游客要吃的,园长决定开设算法班,让动物 ...