Linux中逻辑卷相关知识简介
一、在redhat系列Linux中逻辑卷的相关介绍
LVM(Logical Volume Manager),是逻辑卷管理器,是一个软件,可以实现磁盘的高效管理,如磁盘扩展和缩减等。
它包括物理卷(Phycial Volume),简称pv、卷组(Volume Group),简称vg、逻辑卷(Logical Volume),简称lv。一
个vg至少包括一个物理卷,它相当于一个扩展的分区,可以扩展和缩减。卷组vg的大小是由物理卷决定的,它的扩展
不会影响到卷组中的数据的,但是缩减卷组就要慎重了,不然会破坏物理卷中的数据。可以为逻辑卷创建快照,来实
现对数据的备份。
创建物理卷支持的命令:
pvcreate 创建pv命令 pvremove 移除一个pv命令,注意,如果原来有数据存在,移除pv会丢失数据 pvmove 移动pv中数据命令,可以将pv中的数据移到另一个地方存放 pvscan 扫描pv pvdisplay 查看系统上所有的pv的详细信息,也可以指定pv名字进行单个查看如:pvdisplay /dev/sda1 pvs 查看系统上pv的简要信息
2.创建卷组支持的命令:
vgcreate 创建vg命名 vgdisplay 查看系统上所以vg的详细信息,也可以指定vg的名称进行单个查询如:vgdisplay myvg vgextend 扩展vg命令 vgreduce 缩减vg命令 vgs 查看系统上vg的简要信息 vgscan 扫描vg
3.创建逻辑卷支持的命令:
lvcreate 创建lv命令 lvdisplay 查看系统上所以lv的详细信息,也可以查单某个lv信息,如:lvdisplay /dev/myvg/mylv lvremove 移除lv命令,衣橱前一定要确保数据已经备份 lvreduce 缩减lv命令,数据可能会丢失,在尽心lv缩减之前,先进行pv缩减。 lvextend 扩展lv名命令 lvs 查看系统上所以lv信息
4.pv、vg、lv具体使用方法:
(1)创建pv #pvcreate /dev/sdb1 /dev/sdb2 将/dev/sdb1和/dev/sdb2 创建为物理卷 #pvdisplay /dev/sdb1 查看/dev/sdb1物理卷信息 (2)创建vg #vgcreate myvg(此处要为vg定义一个名称) /dev/sdb1 /dev/sdb2 如果想在创建vg的时候指定PE的大小(PE大小默认为4M),可以使用下面的命令: #vgcreate -s Size vgname partition 其中PE支持(k|M|G|T)大小 如:#vgcreate -s 16M myvg /dev/sdb1 /dev/sdb2 #vgremove -f vgname(vg的名称) 强制移除vg (3)扩展vg #vgextend -t vgname partition -t选项的意思是测试vg能否扩展,会有提示信息出现 如:#vgextend -t myvg /dev/sdb3 #vgextend myvg /dev/sdb3 将/dev/sdb3扩展进myvg (4)移除vg #vgreduce -t vgname partition -t选项测试vg能否被缩减 如:#vgreduce myvg /dev/sdb4 将/dev/sdb4从myvg中缩减掉 注:为了在缩减卷组的时候不丢失数据,可以在缩减卷组之前使用pvmove命令,将物理卷中的数据转移,然后再缩减卷组。 如:#pvmove /dev/sdb4 /dev/sdb5 先将/dev/sdb4中的数据移到/dev/sdb5中#vgreduce -t myvg /dev/sdb4 测试能否缩减#vgreduce myvg /dev/sdb4 在上个命令提示可以缩减成功后,再缩减。 (5)lvcreate 命令: 创建逻辑卷命令-l 指定LE的个数,一般不常用-L SIZE {k|m|g|t} 指定逻辑卷的大小-n logicalname 指定逻辑卷的名字-p mode{r|rw} 制定权限 如: #lvcreate -L 1G -n lv1 myvg :在myvg卷组中创建一个名为lv1的1G的逻辑卷
5.如何扩展和缩减逻辑卷(lv)
(1)扩展逻辑卷:想要扩展逻辑卷,首先要扩展物理卷边界,然后再扩展逻辑卷边界;缩小逻辑卷的时候刚好顺序相反。#lvextend -L 3G /dev/myvg/lv1 将逻辑卷lv1扩展到3G,但是扩展的最大值不能超过卷组(vg)的大小 (2)缩减逻辑卷:假如将4G的逻辑卷缩减2G#lvreduce -t -L 2G /dev/myvg/lv1 首先检测逻辑卷能否缩减,如果能缩减,会提示可以缩减成功信息#umount /dev/myvg/lv1 将逻辑卷卸载#esfsck -f /dev/myvg/lv1 强制检测逻辑卷中的数据#resize2fs /dev/myvg/lv1 2G 将物理卷缩减2G#lvreduce -L 2G /dev/myvg/lv1 再将逻辑卷缩减2G#mount /dev/myvg/lv1 /mnt/myvg 再重新挂载,查看其中数据是否完整
6.如何实现为逻辑卷lv建快照,并备份数据
(1).#lvcreate -s -L 256M -p -r -n snap_mylv /dev/myvg/lv1 创建一个快照-s 选项说明创建的是一个快照-L 选项指定快照大小-p 选项指定权限 ,-r 为只读 -n 选项指定快照名称 (2).将此快照挂载到一个目录下,假如目录为/backup#mount /dev/myvg/snap_mylv /backup (3).为快照做备份#tar -jcf /tmp/snap.tar.bz2 /backup/* 将快照备份至/tmp目录下,并命名为snap.tar.bz2 (4).移除快照或者逻辑卷#lvremove /dev/myvg/snap_mylv 移除快照卷#lvremove /dev/myvg/lv1 移除逻辑卷
7.范例:创建一个由两个物理卷组成的大小为8G的卷组myvg,要求其PE大小为8M;而后在此卷组中创建一个大小为4G的逻辑卷lv1,此逻辑卷要能在开机后自动挂载至/users目录.
首先创建两个4G的分区,或者根据实际情况定义每一个分区的大小,总之两个分区加起来是8G就行了,而且每个分区的ID号必须为8e格式。
#fdisk /dev/sda 创建分区命令,如何分区在这里不做详细介绍,相信大家都不陌生吧。#partprobe /dev/sda 让系统重新识别新分区#pvcreate /dev/sda8 /dev/sda9 将新分区/dev/sda8和/dev/sda9 创建为物理卷#pvs 查看刚建立的物理卷信息#vgcreate -s 8M myvg /dev/sda8 /dev/sda9 将这两个物理卷创建为逻辑组myvg,PE大小为8M#vgs 查看逻辑组信息#lvcreate -L 4G -n lv1 myvg 在逻辑组中创建一个4G大小名为lv1的逻辑卷#lvs 查看逻辑卷信息#mke2fs -j /dev/myvg/lv1 格式化此逻辑卷#mkdir /users 创建/users目录#vim /etc/fstab 在配置文件中添加下面一行信息/dev/myvg/lv1 /users ext3 defaults 0 0 然后保存退出#mount -a 使自动挂载生效
二、实际中的一个例子
测试环境遇到的一个关于vg(逻辑卷管理)的实例
描述:一台db master 服务器根磁盘空间不足,因为db数据存放目录在/opt下,根目录已经没有空间可用;而/home是一个逻辑卷,有140G的空间
于是想把此逻辑卷空间合并到根目录,处理步骤如下:
1、查看
#df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_testdb-lv_root50G 45G 1.7G 97% / tmpfs 9.8G 0 9.8G 0% /dev/shm /dev/sda1 477M 25M 427M 6% /boot /dev/mapper/vg_testdb-lv_home140G 60M 133G 1% /home
查看卷组,可以看到大小是200G左右
#vgdisplay--- Volume group ---VG Name vg_testdbSystem ID Format lvm2Metadata Areas 1Metadata Sequence No 4VG Access read/writeVG Status resizableMAX LV 0Cur LV 3Open LV 3Max PV 0Cur PV 1Act PV 1VG Size 199.51 GiBPE Size 4.00 MiBTotal PE 51074Alloc PE / Size 51074 / 199.51 GiBFree PE / Size 0 / 0 VG UUID 5RbEMR-TEyf-Mucn-99oP-c3q5-pGlh-D6yTk8
查看逻辑卷
#lvdisplay--- Logical volume ---LV Path /dev/vg_testdb/lv_rootLV Name lv_rootVG Name vg_testdbLV UUID rzrTPp-jIm1-ispE-SBB5-M6iB-Tkit-MGcbwYLV Write Access read/writeLV Creation host, time testdb, 2015-04-20 14:30:09 +0800LV Status available# open 1LV Size 50.00 GiBCurrent LE 12800Segments 1Allocation inheritRead ahead sectors auto- currently set to 256Block device 253:0--- Logical volume ---LV Path /dev/vg_testdb/lv_homeLV Name lv_homeVG Name vg_testdbLV UUID e0rGUi-Wu5O-uUaM-yYBl-ccR3-xAex-ogjgbyLV Write Access read/writeLV Creation host, time testdb, 2015-04-20 14:31:34 +0800LV Status available# open 1LV Size 141.65 GiBCurrent LE 36262Segments 1Allocation inheritRead ahead sectors auto- currently set to 256Block device 253:2--- Logical volume ---LV Path /dev/vg_testdb/lv_swapLV Name lv_swapVG Name vg_testdbLV UUID rOSp6a-aNbb-Jgrc-qv4Y-Egr0-qq1q-xDK5bGLV Write Access read/writeLV Creation host, time testdb, 2015-04-20 14:35:19 +0800LV Status available# open 1LV Size 7.86 GiBCurrent LE 2012Segments 1Allocation inheritRead ahead sectors auto- currently set to 256Block device 253:1
可以看到一共有2个逻辑卷,一个是lv_root,一个是lv_home
2、卸载lv_home这个逻辑卷
#umount /dev/vg_testdb/lv_home
再次查看,就看不到/home目录了
#df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_testdb-lv_root50G 45G 1.7G 97% / tmpfs 9.8G 0 9.8G 0% /dev/shm /dev/sda1 477M 25M 427M 6% /boot
移除lv_home这个逻辑卷
#lvremove /dev/vg_testdb/lv_home Do you really want to remove active logical volume lv_home? [y/n]: y --输入yLogical volume "lv_home" successfully removed #vgdisplay--- Volume group ---VG Name vg_testdbSystem ID Format lvm2Metadata Areas 1Metadata Sequence No 5VG Access read/writeVG Status resizableMAX LV 0Cur LV 2Open LV 2Max PV 0Cur PV 1Act PV 1VG Size 199.51 GiBPE Size 4.00 MiBTotal PE 51074Alloc PE / Size 14812 / 57.86 GiBFree PE / Size 36262 / 141.65 GiBVG UUID 5RbEMR-TEyf-Mucn-99oP-c3q5-pGlh-D6yTk8
3、将剩余所有空闲的逻辑卷合并到lv_root 这个逻辑卷中,如下:
#lvextend -l +100%FREE /dev/mapper/vg_testdb-lv_rootSize of logical volume vg_testdb/lv_root changed from 50.00 GiB (12800 extents) to 191.65 GiB (49062 extents).Logical volume lv_root successfully resized
以上,表示成功
4、查看扩展之后的逻辑卷大小
#lvdisplay--- Logical volume ---LV Path /dev/vg_testdb/lv_rootLV Name lv_rootVG Name vg_testdbLV UUID rzrTPp-jIm1-ispE-SBB5-M6iB-Tkit-MGcbwYLV Write Access read/writeLV Creation host, time testdb, 2015-04-20 14:30:09 +0800LV Status available# open 1LV Size 191.65 GiBCurrent LE 49062Segments 1Allocation inheritRead ahead sectors auto- currently set to 256Block device 253:0--- Logical volume ---LV Path /dev/vg_testdb/lv_swapLV Name lv_swapVG Name vg_testdbLV UUID rOSp6a-aNbb-Jgrc-qv4Y-Egr0-qq1q-xDK5bGLV Write Access read/writeLV Creation host, time testdb, 2015-04-20 14:35:19 +0800LV Status available# open 1LV Size 7.86 GiBCurrent LE 2012Segments 1Allocation inheritRead ahead sectors auto- currently set to 256Block device 253:1
可以看到lv_root已经由原来的50.00 GiB扩展到了191.65 GiB!
5、重新定义lv_root这个逻辑卷
注:resize2fs 是文件系统重定义大小工具,能够用于扩大或者缩小一个在设备上未挂载的文件系统。
如果这个文件系统是挂载的,它能够用于扩大挂载了的文件系统,假定内核支持在线重新定义大小。
(从这个算起,linux的2.6内核支持使用ext3挂载文件系统的在线重定义大小。)
#resize2fs /dev/vg_testdb/lv_root resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/vg_testdb/lv_root is mounted on /; on-line resizing required old desc_blocks = 4, new_desc_blocks = 12 Performing an on-line resize of /dev/vg_testdb/lv_root to 50239488 (4k) blocks. The filesystem on /dev/vg_testdb/lv_root is now 50239488 blocks long.
6、查看磁盘空间
#df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_testdb-lv_root189G 45G 135G 26% / tmpfs 9.8G 0 9.8G 0% /dev/shm /dev/sda1 477M 25M 427M 6% /boot
7、修改/etc/fstab
注:如果不修改,下次重启改服务器之后,会报错,提示找不到lv_testdb-lv_home
#cat /etc/fstab 将下面的行删除或者注释,然后重启该服务器就没问题了! #/dev/mapper/vg_testdb-lv_home /home ext4 defaults 1 2
8、如果忘记修改fstab,重启之后,会报错如下:
这个时候,只能通过终端输入密码进入maintenance模式,但是这是只读模式,无法执行写操作,解决方法如下:
mount -o remount, rw / #重新挂载根目录,并且给予读写权限 然后修改 vi /etc/fatab /dev/mapper/vg_testdb-lv_home /home ext4 defaults 1 2 注释 然后 reboot
转载于:https://blog.51cto.com/linuxg/801342
Linux中逻辑卷相关知识简介相关推荐
- 关于 Linux中逻辑卷/物理分区等知识的一些总结
我的需求: 准备红帽考试,这块听课听得稀里糊涂的. 我是这样做的: 请教了公司大佬,书里找了些资料.这里整理笔记加以记忆,不足之处请小伙伴指出来.生活加油.2021.01.08 一,思维导图梳理关系 ...
- Linux中逻辑卷的快照与还原
有关逻辑卷的其他操作,请看: Linux中对逻辑卷的建立 Linux中对逻辑卷进行扩容与缩小 Linux中对逻辑卷的移除 LVM还有快照的功能,类似windows的系统还原点.其特点: 1.快照卷的容 ...
- Linux下逻辑卷LVM的管理和RAID磁盘阵列
Linux系统安全 | Linux下逻辑卷LVM的管理和RAID磁盘阵列 原创 谢公子 [谢公子学安全](javascript:void(0);) 昨天 转载自公众号:谢公子学安全 图片 图片 LVM ...
- Android逻辑卷管理LVM,LINUX——LVM逻辑卷管理
LVM: logical volumes manager LVM逻辑卷部署 物理卷->卷组->逻辑卷 第一步:关机添加磁盘:两个磁盘可以构成一个磁盘组. 第二步:查看磁盘 # ls /de ...
- pv vg lv linux中的卷 lvm 等之间的关系和操作
简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现 ...
- Linux LVM逻辑卷配置过程详解(创建,增加,减少,删除,卸载)
Linux LVM逻辑卷配置过程详解(创建,增加,减少,删除,卸载) Linux LVM逻辑卷配置过程详解 许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量, ...
- Linux 中的 netcat 网络工具简介
Linux 中的 netcat 网络工具简介 Apr 3, 2020 | Linux | linux netcat netcat 是 Linux 系统中的网络工具,其通过 TCP 和 UDP 协议 ...
- linux 创建逻辑卷命令,Linux对逻辑卷的创建与管理基本命令
Linux对逻辑卷的创建与管理 linux 逻辑卷创建.增加与减少 创建逻辑卷: 1.创建物理卷 pvcreate /dev/sda3 /dev/sdb3 pvdisplay显示已建的物理卷 2.创建 ...
- 好记性不如烂笔头-linux学习笔记4apache相关知识
好记性不如烂笔头-linux学习笔记4apache相关知识 apache 启动有2种模式 1是prefork模式,每个进程对应一个线程,如果是比较稳定的平台,那么prefork模式是worker模式 ...
最新文章
- linux mysql解锁账号密码忘了怎么办,linux下mysql忘记密码怎么办
- attachment old API read - DB debug
- java与java ee_Java EE拦截器
- 如何将maven项目打包成可执行的jar
- [51单片机] SPI nRF24L01无线 [可以放在2个单片机里实现通信]
- android倒计时服务,Android倒计时器——CountDownTimer
- OpenGL绘制三维彩色立方体并实现自动旋转
- vue组件中的方法执行顺序是怎么样的?data和props执行顺序
- pc 端与移动端区分点击与拖拽事件
- 移动端SEO的一些疑问
- MFC 更换图标文件但EXE图标没改变
- 健康程序员:五分钟与鼠标手说再见
- Linux发展史及简介
- shell脚本触发企业微信群机器人
- 通过CAQ六西格玛黑带考试,测量阶段要学到什么程度哪些是重点?
- 大学计算机多媒体软件应用答案,多媒体软件应用的论文
- C语言实现图片的放大缩小(附完整源码)
- javascript语言精粹 微盘_JavaScript语言精粹(修订版)pdf
- 这些印度人......
- vs2017 开始自己的第一个C++程序
热门文章
- 中科大倪茹:感谢开源,我从入门竞赛到Top 10的经验分享
- 深入浅出统计学(十一)总体和样本的估计
- 2022秋招大战:算法岗挤破头,JAVA开发也被迫内卷
- 让你的博士经历更加轻松愉快的10个tips
- 9 行代码提高少样本学习泛化能力,代码已开源
- 阿里P9大佬总结必备的算法和工具,被10万算法工程师点赞
- 为给微芯片拍照,IBM小哥用乐高拼了个电动显微镜,搭载树莓派,360度无死角拍摄...
- 超越99.9%人类玩家,微软专业十段麻将AI论文细节首次公布
- 快手百度 4.34 亿美元投资知乎;腾讯回应“push团队全部被开”;Android Q Beta 6 发布!...
- 进程的介绍(概念、作用)