新加磁盘如何创建逻辑分区

查看命令 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 数据卷磁盘管理的更多相关文章

  1. Linux LVM卷组管理

    Linux LVM卷组管理 由于传统的磁盘管理不能对磁盘进行磁盘管理,因此诞生了LVM技术,LVM技术最大的特点就是对磁盘进行动态管理. 由于LVM的逻辑卷的大小更改可以进行动态调整,且不会出现丢失数 ...

  2. Linux文件系统与磁盘管理

    Linux文件系统与磁盘管理 有哪些文件系统: FAT:微软在Dos/Windows系列操作系统中共使用的一种文件系统的总称.       exFAT(Extended File Allocation ...

  3. Linux系统的磁盘管理

    Linux系统的磁盘管理有三个命令:df.du.fdisk. df:列出Linux中所有文件系统的整体磁盘使用量: du:对文件和目录所占用磁盘空间的查看: fdisk:用于磁盘分区时列出所有的磁盘. ...

  4. Linux进阶之磁盘管理及LVM逻辑卷

    本节内容 磁盘管理 LVM 一.磁盘管理 1.硬盘接口 种类及其应用: IDE接口硬盘多用于家用产品,部分应用于服务器 SATA SCSI接口硬盘主要应用于服务器 SAS只在高端服务器上,价格昂贵 2 ...

  5. linux基础之磁盘管理与文件系统

    上面一篇文章(https://www.cnblogs.com/ckh2014/p/7224851.html)介绍了硬盘的基本结构,那么一块磁盘如何应用取存储数据呢? 它的步骤是这样的: 识别硬盘 -- ...

  6. linux 操作系统之磁盘管理

    磁盘管理 存储设备:硬盘 , U盘 , 移动硬盘 , 光盘 , 软件. 组装一台电脑 无法被修改 df -h #查看磁盘分区的情况 , 可用的. 查看磁盘或者目录的内容 df “df” 常用的 “-i ...

  7. Linux浅谈磁盘管理及案例

    磁盘管理 MBR原理图 从该图可理解到为什么主分区只能是四个. 可以不分区,但为了统一管理,提高访问效率 设备不同,生成设备名称不同 管理分区命令: lsblk查看块设备 fdisk创建MBR分区 f ...

  8. linux基本命令之磁盘管理命令(ls,cd,pwd,mkdir,rmdir,clear, touch)

    linux磁盘管理命令 1.ls(list)命令:列出目录内容. 格式:ls [参数][文件或目录] ls -a或-all表示列出所有文件和目录,以点开始的是影藏文件,例如,.bash_history ...

  9. docker数据卷的管理和使用

    数据卷的使用,数据库可以保证如果容器出现问题但是数据不丢失的作用,比如MySQL/date下的数据 或者Nginx根目录下的index.html 查看数据卷 [root@docker ~]# dock ...

  10. LINUX逻辑卷(LVM)管理与逻辑卷分区

    LINUX之逻辑卷管理与逻辑卷扩展 LVM是逻辑卷管理(Logical Volume Manager)的简称,他是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,和直接使用物理存储在管理上相 ...

随机推荐

  1. rust在windows上编译成liunx可执行程序

    一.rust编译文件 cargo build 或 cargo build --release 发布构建 二.安装 x86_64-unknown-liunx-musl target rustup tar ...

  2. vue- cube-scroll踩坑记

    坑: 下拉刷新,上拉加载一直处于加载中  ---  原因:未结束此次下拉或上拉  ---解决:forceUpdate()结束上拉或下拉 无法正常滚动  --- 原因:数据更新了,但页面高度未变化 -- ...

  3. [NepCTF2022]中学数学

    中学数学 p.q挣扎很久没分解出来,wp出来了赶紧复现试试. 题目 from gmpy2 import * from Crypto.Util.number import * from secret i ...

  4. 国行XBoxOne第一次开机配置主要问题备忘

    1,Kinect可以在设置中关闭. 2,彻底关闭主机,需要长按主机上的开关键,将主机彻底关机,同时开机只要轻触一下主机开关机键即可 3,不能更新问题:3.1检查网络已连接3.2检查路由器,将DNS中的 ...

  5. ORACLE监听无法启动的几个原因

    1./etc/hosts中配置问题 误删了127.0.0.1的默认记录 2./var/tmp/.oracle的权限问题 TNS-12546:TNS:permission denied TNS-1256 ...

  6. vscode - plug - scss转css

    vscode - plug - scss转css 参考资料 sass笔记(完结)安装,使用,vscode中设置easy sass,嵌套,变量,混合,循环,分支 vscode配置 easy sass E ...

  7. Linux基础第七章:磁盘阵列(RAID)

    一.磁盘阵列 二.磁盘阵列类型 1.RAID 0 2.RAID 1 3.RAID 5 4.RAID10 三.磁盘阵列配置 1.硬件方式 2.软件方式 一.磁盘阵列独立硬盘冗余阵列(RAID, Redu ...

  8. How to Check and Repair EXT4 Filesystem in Linux

    The fsck (stands for File System Consistency Check) is used to check and repair one or more Linux fi ...

  9. pycharm 安装步骤

    1.双击安装包 2.点击next 3.选择安装目录后点击next进入下一步 4.根据你电脑的实际情况选择安装32位还是64位 5.勾选 .py 后即可点击next进入下一步 6.默认,直接next 7 ...

  10. DorisSQL与MySQL函数对照 差异篇

    ## 1.日期函数### 时区.```mysql -> convert_tz(dt,from_tz,to_tz)doris -> CONVERT_TZ(DATETIME dt, VARCH ...