首页 > 系统相关 >linux硬盘lvm管理格式化和扩展、挂载

linux硬盘lvm管理格式化和扩展、挂载

时间:2022-11-04 00:45:29浏览次数:50  
标签:卷组 格式化 VG 分区 dev LV linux lvm 磁盘

一:相关概念

1:物理卷:通常一个分区或者一个硬盘就可以建立一个物理卷,物理卷的最小单位是PE,一般默认是4MB。
2:卷组:将多个物理卷组合到一起,成为一个卷组。
3:虚拟卷:其实就是在卷组的基础上再次划分,最小单位是LE,与PE一样,并且一一对应。逻辑卷跟物理卷没有本质区别,只是站在不同的层次来看罢了。

二:为什么划分磁盘,还要建立逻辑卷这些东东?

1:首先一块磁盘放在桌子上,跟一块板砖没什么区别,想要使用它必须经过一番处理才行,最重要的就是格式化,格式化操作可以让一块磁盘满足当前的文件系统,因为不同的文件系统对应不同的格式,并且几乎不能通用。
2:因为一个操作系统中,一个分区就可以是一个文件系统,就拿Linux来说,/ 下的很多目录都有特定的作用,所以将他们在磁盘上分开是有必要的。
3:逻辑卷,可以看成一个高级的磁盘管理工具,因为物理上的磁盘一旦划分好了之后不容易再改变,如果从逻辑上对磁盘进行划分,那么就可以实现动态的扩容及其他处理,注意哟,是逻辑上的,不用将磁盘“劈了”再拼起来!

三、LVM术语

PV(Physical Volume)- 物理卷
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘。
VG(Volumne Group)-卷组
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。
LV(Logical Volume)- 逻辑卷
逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组

PE(Physical Extent):每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。

LE(Logical Extent):逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
如下图所示PV、VG、LV三者关系:

1.fdisk命令菜单常用参数如下所示:

  • d:(del)删除一个分区。
  • n:(new)新建一个新分区。
  • p:(print)打印分区表。
  • q:(quit)放弃不保存。
  • t:改变分区类型
  • w:(write)把分区写进分区表,保存并退出。

四、常用命令

PV:Physical(物理卷)

​ pvcreate、pvs 、pvdisplay 、pvremove、pvmove、pvscan

VG:Volume Group(卷组)

​ vgcreate、vgs、vgdisplay、vgremove、vgrename、vgreduce、vgextent、vgscan

LV:logical Volume(逻辑卷)

​ lvcreate、lvs、lvdisplay、lvremove、lvextend、lvresize、lvscan、lvrename

五、操作步骤

第一步:添加一块硬盘;

第二步:(如果需要进行分区)磁盘划分使用命令 。

fdisk /dev/sdb

第三步:创建物理卷,使用命令pvcreate。已经划分好,但是还不能使用,因为还没有格式化,但是这里不着急进行格式化操作,我们先创建好,最后再格式化磁盘。

# pvdisplay、pvscan、pvs用于查看物理卷
pvdisplay

# 创建物理卷
pvcreate /dev/sdb1 /dev/sdb2

# 查看
pvs

第四步:添加到一个卷组层里,使用命令vgcreate,这一步实际上是在逻辑上将分区组合在了一起。

# 使用vgdosplay、vgscan、vgs命令查看卷组
vgscan

# 添加到VG_NAME卷组里
vgcreate <VG_NAME> /dev/sdb1 /dev/sdb2

# vgscan:显示当前VG相关信息
# vgdisplay:显示目前系统上的VG状态
# vgextend:在VG内增加额外的PV
# vgreduce:在VG内一处PV
# vgchange:设定VG是否启动(active)
# vgremove:删除一个VG

第五步创建逻辑卷,使用命令lvcreate,这里拿出来15G,用来挂载到/data目录下使用。多出来的部分暂时也不格式化,留待以后使用。

# lvcreate –n LV_NAME –L SIZE VG_NAME
lvcreate -n data -L 15G vg1

lvscan

# /dev/vg1/data 形式的一个逻辑卷

# lvscan:查询系统上的LV
# lvdisplay:显示系统上的LV详细信息
# lvextend:增加LV的容量
# lvreduce:减少LV的容量
# lvremove:删除一个LV
# lvresize:对LV进行容量大小的调整

第六步创建了lv后,格式化lv,使用命令mkfs.ext4或者mkfs.xfs

mkfs.xfs /dev/vg1/data

第七步:如果不分区,挂载硬盘整块使用。

1.格式化:

mkfs -t xfs /dev/sdb

# xfs是磁盘的格式化个格式

# 或者
mke2fs -t xfs -b 2048 /dev/sdb
# 格式化分区,并指定block的大小为2048 Bytes
  1. 手动挂载硬盘:
mkdir -p  /mnt/sdb

mount /dev/sdb /mnt/sdb
  1. 开机自启挂载
vim /etc/fstab

/dev/sdb /mnt/sdb  xfs  defaults  0  0 

# fstab中的挂载配置,没有挂载的自动挂载
mount -a

第八步:确认

df –Th 

lsblk

扩容卷组

如果在使用过程中,发现要使用的空间大于卷组的空间,可以对卷组进行扩容,把新的物理卷(PV)加入到卷组中,语法为

# vgextend VG_NAME device1 ... devicen

vgextend <VG_NAME> /dev/sdc

扩容逻辑卷

# 使用lvextend扩容lv,+SIZE代表增加的空间
# lvextend -L +50G /dev/VG_NAME/LV_NAME
lvextend -L +SIZE /dev/VG_NAME/LV_NAME

# 并调整文件系统的大小
resize2fs device /dev/VG_NAME/LV_NAME

linux系统分区

在 Linux 中有专门的分区命令 fdisk 和 parted。其中 fdisk 命令较为常用,但不支持大于 2TB 的分区;如果需要支持大于 2TB 的分区,则需要使用 parted 命令,当然 parted 命令也能分配较小的分区。

  • fdisk

# 列出系统分区
fdisk ~l

# 建立分区
fdisk /dev/sdb
# 千万不要在当前的硬盘上尝试使用 fdisk,
# 这会完整删除整个系统,一定要再找一块硬盘,或者使用虚拟机。

fdisk 交互命令

命令 说 明
a 设置可引导标记
b 编辑 bsd 磁盘标签
c 设置 DOS 操作系统兼容标记
d 删除一个分区
1 显示已知的文件系统类型。82 为 Linux swap 分区,83 为 Linux 分区
m 显示帮助菜单
n 新建分区
0 建立空白 DOS 分区表
P 显示分区列表
q 不保存退出
s 新建空白 SUN 磁盘标签
t 改变一个分区的系统 ID
u 改变显示记录单位
V 验证分区表
w 保存退出
X 附加功能(仅专家)
  • parted 命令创建分区

parted /dev/sdb

parted常见的交互命令

parted交互命令 说 明
check NUMBER 做一次简单的文件系统检测
cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER 复制文件系统到另一个分区
help [COMMAND] 显示所有的命令帮助
mklabel,mktable LABEL-TYPE 创建新的磁盘卷标(分区表)
mkfs NUMBER FS-TYPE 在分区上建立文件系统
mkpart PART-TYPE [FS-TYPE] START END 创建一个分区
mkpartfs PART-TYPE FS-TYPE START END 创建分区,并建立文件系统
move NUMBER START END 移动分区
name NUMBER NAME 给分区命名
print [devices|free|list,all|NUMBER] 显示分区表、活动设备、空闲空间、所有分区
quit 退出
rescue START END 修复丢失的分区
resize NUMBER START END 修改分区大小
rm NUMBER 删除分区
select DEVICE 选择需要编辑的设备
set NUMBER FLAG STATE 改变分区标记
toggle [NUMBER [FLAG]] 切换分区表的状态
unit UNIT 设置默认的单位
Version 显示版本

注意,parted 调整已经挂载使用的分区时,是不会影响分区中的数据的,也就是说,数据不会丢失。但是一定要先卸载分区,再调整分区大小,否则数据是会出现问题的。另外,要调整大小的分区必须已经建立了文件系统(格式化),否则会报错。

标签:卷组,格式化,VG,分区,dev,LV,linux,lvm,磁盘
From: https://www.cnblogs.com/aric2016/p/16856375.html

相关文章

  • Linux限制登录与密码
    Linux限制登录与密码设置登录次数[root@master0~]#head/etc/pam.d/password-auth#%PAM-1.0#Thisfileisauto-generated.#Userchangeswillbedestroyedth......
  • [架构之路-54]:目标系统 - 系统软件 - Linux下的网络通信-9-ADSL、VDSL、PPPOE
    目录​​第1章xDSL技术​​​​1.1ADSL概述​​​​1.2 ADSL三通道​​​​1.3ADSL2+​​​​1.4 ADSL网络​​​​1.5VDSL​​​​第2章 各种物理层技术比较​​......
  • 深入理解LINUX内核 第三版 电子书 pdf
    作者:(美)博韦,西斯特出版社:中国电力出版社原作名:UnderstandingtheLinuxKernel译者:陈莉君;张琼声;张宏伟 链接:深入理解LINUX内核第三版  为了彻底理解......
  • linux监控ssh免密登录
    ssh免密登录在带来方便的同时也带来一些问题,那就是不知道什么时间什么人利用ssh免密通道登录服务器了,为此我们需要在sshd的配置文件里设置好详细日志,以便日后回溯。在Cent......
  • linux下搭建oh-my-zsh环境
    目标:因为用习惯了zsh的shell环境,所以习惯在服务器上也搭建zsh环境,但是每次搭建都需要Google每一步骤,感觉很麻烦,所以决定记录一下,免得一次次查1.安装zshzsh是一款shell环......
  • Linux下的mount的权限问题
    Linux下的mount的权限问题最近在挂载的时候经常遇到挂载过后仅有root用户可以修改的问题原挂载命令:sudomount/dev/nvme0n1p5/home/lemon233/code发现code目录归r......
  • Linux下获取当前程序的绝对路径
    Linux下获取当前程序的绝对路径阿拉懒神灯2020-02-18原文在Linux开发应用时,我们常常需要在程序中获取当前程序绝对路径,我们可以通过readlink读取符号链接/......
  • CentOS7命令行创建LVM逻辑卷
    概述当初在安装CentOS7系统时没有使用LVM,后期安装应用后磁盘空间不够使用,在不跨服务器迁移数据的情况下解决磁盘空间问题。1.安装lvm命令yuminstall-ysystem-storage-man......
  • Linux映射到window路径
    一、linux文件夹映射到windows**安装sambayuminstall-ysamba将root用户添加到samba中smbpasswd-aroot设置selinux:(或者关闭selinux)chcon-tsamba_share_t/home/w......
  • Linux中tac命令倒序查询日志
    cat命令是正序开始查询日志比如:catxxx.log|grep"sssdsd"如果日志文件比较大,那么会很慢或者直接出错 可以使用tac命令,这个是cat反过来写tacxxx.log|grep"sssdsd"这样就......