linux下磁盘管理之利器 lvm使用介绍_梦想照进他的现实的博客-程序员秘密

技术标签: lvm  linux  linux磁盘管理  

点评:LVM(Logical Volume Manager)是一个应用于Linux的内核的逻辑卷管理器,是Linux环境下对磁盘进行分区管理的一种机制

一、LVM 简介

  LVM(Logical Volume Manager)是一个应用于Linux的内核的逻辑卷管理器,是Linux环境下对磁盘进行分区管理的一种机制。先介绍几个有关LVM的名词
   1、PV(物理卷)可以是一个磁盘,一个分区。由PE(物理盘区)组成,多个PV可以组成一个VG(卷组).
   2、VG(卷组)多个物理卷组成的一个组,但是卷组不可以直接使用,需要在上面创LV(逻辑卷)才可以使用。VG上可以创建多个LV。
   3、PE(物理盘区)就像我们之前学习的磁盘的block块,默认是4MB。
   4、LV(逻辑卷) 是建立在卷组之上的一个可用空间。有物理边界和逻辑边界两种边界。

二、相关命令介绍

 1、物理卷PV
      pvcreate   创建pv               例:pvcreate /dev/sda1
      pvs        查看pv信息           例:直接在命令行里输入pvs
      pvdisplay  查看pv详细信息       例:pvcreate /dev/sda1
      pvmove     将pv数据移动到其他pv 例:pvmove /dev/sda1 /dev/sda4
      pvremove   将pv删除             例:pvremove /dev/sda1
 2、卷组VG
    2.1 创建、查看、删除vg
      vgcreate   创建vg               例:vgcreate myvg  /dev/sda{m,n}
      vgs        查看vg信息           例:直接在命令行里输入vgs
      vgdisplay  查看vg详细信息       例:vgdisplay myvg
      vgremove   将vg删除             例:vgremove myvg
   2.2 扩展vg
首先准备好一个PV;
   然后使用vgextend命令即可完成扩展;
   格式: vgextend VG_NAME /PATH/TO/PV
         vgextend myvg /dev/sdb2 扩展myvg卷组,把/dev/sda2加进去
   2.3 缩减vg
      1)确定要移除的PV;
  2)将此PV上的数据转移至其它PV;
 pvmove /path/to/pv
  3)从卷组中将此PV移除;
    格式:vgreduce VG_NAME /PATH/TO/PV
  vgreduce myvg /dev/sdb2 缩减myvg卷组,把/dev/sda2去掉
 3  逻辑卷LV
    3.1 创建、查看、删除lv
      lvcreate   创建lv               例:lvcreate lv1 /dev/myvg
      lvs        查看lv信息           例:直接在命令行里输入lvs
      lvdisplay  查看lv详细信息       例:vgdisplay lv1
      lvremove   将lv 移除            例:lvremove  /dev/myvg/lv1 
   3.2  扩展lv

确定扩展多大

   确定当前逻辑卷所在的卷组有足够的空闲空间;

    扩展:
1、物理边界
lvextend -L [+]SIZE /path/to/lv
2、逻辑边界
resize2fs /path/to/device
3.3  缩减lv
确定缩减的大小,但前提是至少能容纳原有的所有数据。
缩减:
1)卸载并强行检测文件系统;
e2fsck -f 
2)逻辑边界
resize2fs /path/to/device SIZE
3)物理边界
lvreduce -L [-]SIZE /path/to/lv
 4、快照卷
1) 生命周期为整个数据时长;在这段时长内,数据的增长量不能超出快照卷大小;
2) 快照卷应该是只读的;
3) 跟原卷在同一卷组内;
    lvcreate
         -L    指定快照卷的大小
         -s    创建快照卷
         -p r  创建的快照卷为只读访问
    格式:
        lvcreate -L SIZE -s -p r -n LV_NAME /path/to/lv

三、lv之示例

1、创建一个分区


复制代码
代码如下:

[[email protected] ~]# fdisk -l //查看分区的情况 
[[email protected] ~]# fdisk /dev/sda //进行分区 
Command (m for help): n //n为添加一个分区,p查看分区 
First cylinder (2898-10443, default 2898): //按【Enter】键决定 
Using default value 2898 //起始柱面选择默认 值 
Last cylinder or +size or +sizeM or +sizeK (289810443, default 10443): +2G // 给2G的大小 
Command (m for help): t //更改分区类型 
Partition number (1-5): 5 //选着分区 
Hex code (type L to list codes): l //分区类型列表 
Hex code (type L to list codes):8e //将新添加的分区标注成lvm 
Command (m for help): p //查看分区表 
/dev/sda5 2756 2999 1959898+ 8e Linux LVM 
Command (m for help): w //保存 www.jbxue.com
[[email protected] ~]# partprobe /dev/sda //是系统识别分区(代替重启) 
[[email protected] ~]# mkfs.ext3 /dev/sda5 //格式化新添加的分区

2、PV的创建


复制代码
代码如下:

[[email protected] ~]# pvcreate /dev/sda5 //创建pv 
Writing physical volume data to disk "/dev/sda5"
Physical volume "/dev/sda5" successfully created 
[[email protected] ~]# pvs //查看当前pv的信息 
PV VG Fmt Attr PSize PFree 
/dev/sda5 lvm2 a-- 1.87G 1.87G 

3、VG的创建


复制代码
代码如下:

[[email protected] ~]# vgcreate vg0 /dev/sda5 //vg0为当前vg的名 
Volume group "vg0" successfully created 
[[email protected] ~]# vgs //查看vg的信息 
VG #PV #LV #SN Attr VSize VFree 
vg0 1 0 0 wz--n- 1.87G 1.87G

4、lv的创建


复制代码
代码如下:

[[email protected] ~]# lvcreate -L 500M -n lv01 vg0 
Logical volume "lv01" created 
[[email protected] ~]# lvs //查看lv的信息 
LV VG Attr LSize Origin Snap% Move Log Copy% Convert 
lv01 vg0 -wi-a- 500.00M www.jbxue.com
You have mail in /var/spool/mail/root 
[[email protected] ~]# mkfs.ext3 /dev/vg0/lv01 //格式化 

lvm的使用

5、lv的增大


复制代码
代码如下:

[[email protected] ~]# lvextend -L +300M /dev/vg0/lv01 //(原来lv大小500M ,拉伸分区到 800M) Extending logical volume lv01 to 800.00 MB 
Logical volume lv01 successfully resized 
[[email protected] ~]# resize2fs /dev/vg0/lv01 //拉伸文件系统 
[[email protected] ~]# lvs 
LV VG Attr LSize Origin Snap% Move Log Copy% Convert 
lv01 vg0 -wi-ao 800.00M //大小变成了800M

6、lv的减小


复制代码
代码如下:

# umount /dev/vg0/lv01 //卸载逻辑卷/dev/vg0/lv01 
# df -h //查看 
# e2fsck -f /dev/vg0/lv01 //磁盘校验 
# resize2fs /dev/vg0/lv01 500M //回缩文件系统到 500M 
# lvreduce -L 500M /dev/vg0/lv01 //回缩分区到 500M 
WARNING: Reducing active logical volume to 500.00 MB 
THIS MAY DESTROY YOUR DATA (filesystem etc.) 
Do you really want to reduce lv01? [y/n]: y 
# lvs www.jbxue.com
LV VG Attr LSize Origin Snap% Move Log Copy% Convert 
lv01 vg0 -wi-a- 500.00M //此时已变成500M大小 
# mount /dev/vg0/lv01 /mnt/lv01 //重新挂载分区 
# df -h //查看 
# ls /mnt/lv01 //查看文件

四、lvm的系统快照

1、挂载lvm


复制代码
代码如下:

[[email protected] ~] # mount /dev/vg0/lv01 /mnt/lv01 
[[email protected] ~]# cd /mnt/lv01 
[[email protected] lv01]# touch {a,b,c}{a,b,c} 
[[email protected] lv01]# ls 
aa ab ac ba bb bc ca cb cc lost+found lv.file restoresymtable 

2、为lvm创建快照


复制代码
代码如下:

[[email protected] lv01]# lvcreate -L 64M -s -n lv-backup /dev/vg0/lv01 
Logical volume "lv-backup" created 

3、挂载快照


复制代码
代码如下:

[[email protected] lv01]# mkdir /mnt/lv-backup 
[[email protected] mnt]# mount -o ro /dev/vg0/lv-backup /mnt/lv-backup/ 

4、备份快照


复制代码
代码如下:

[[email protected] tmp]# dump -0u -f /tmp/lv-backup.dump /mnt/lv-backup/ //备份 
DUMP: Date of this level 0 dump: Sun Nov 11 14:53:31 2012
DUMP: Dumping /dev/mapper/vg0-lv--backup (/mnt/lv-backup) to /tmp/lv-backup.dump 

5、删除快照


复制代码
代码如下:

[[email protected] tmp]# umount /mnt/lv-backup/ 
[[email protected] tmp]# lvremove /dev/vg0/lv-backup 
Do you really want to remove active logical volume lv-backup? [y/n]: y 
Logical volume "lv-backup" successfully removed 

6、清空/dev/vg0/lv01下得内容


复制代码
代码如下:

[[email protected] tmp]# umount /mnt/lv01 
[[email protected] tmp]# mkfs.ext3 /dev/vg0/lv01 
mke2fs 1.39 (29-May-2006) 
Filesystem label= 
OS type: Linux 

7、lvm的关闭


复制代码
代码如下:

[[email protected] ~]# umount /mnt/lv01 
[[email protected] ~]# lvremove /dev/vg0/lv01 //删除lv 
Do you really want to remove active logical volume lv01? [y/n]: y 
Logical volume "lv01" successfully removed www.jbxue.com
[[email protected] ~]# vgchange -a n vg0 //使vg0不具有active标志 
0 logical volume(s) in volume group "vg0" now active 
[[email protected] ~]# vgremove vg0 //删除vg 
Volume group "vg0" successfully removed 
[[email protected] ~]# pvremove /dev/sda5 //删除pv 
Labels on physical volume "/dev/sda5" successfully wiped 
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/toplover2/article/details/11917893

智能推荐

长话短说Spring(1)之IoC控制反转_Wwwwei_csdn的博客-程序员秘密

简书 Wwwwei转载请注明原创出处,谢谢!前言  Spring的大名对于程序员来说如雷贯耳,IoC控制反转作为Spring的核心,重要程度可想而知,但是对于很多初学者而言看懂IoC确实不容易,本文主要说清楚IoC到底是个什么东西,至于更深层的原理则需要读者后续自己深究了。IoC什么是IoC?   我们先来看一下比较官方的解释。   IoC,Inversion of Control

SCADA系统简介_牛奶咖啡13的博客-程序员秘密

智能工厂三大服务:整体解决方案 | 智能制造资源匹配 | 数字化运营SCADA系统可自动化许多行业中使用的电力系统。这里是一个内部看看它们是什么以及为什么你应该了解它们。内部SCADA系统SCADA(监控和数据采集)是一种自动化控制系统,用于能源,石油和天然气,水,电力等行业。该系统有一个集中的系统,可以监控和控制整个站点,从工厂到全国各地的工厂。SCADA系统通过操作信号进行操作,信号通过信道进行通信,为用户提供给定系统中任何设备的远程控制。它还实现了分布式数据库或标记数据库,其中包含整个

oracle 一条数据根据字段分成多条展示_oracle 怎么把一条数据变成多条_流觞丶的博客-程序员秘密

SELECT    ORDERID,    NAME,    ID,    WORK_TYPE,    WORK_TIMEFROM    HR_ATTENDANCE_MANAGEMENT_F UNPIVOT (        WORK_TYPE FOR WORK_TIME IN (            TWENTYSEVEN,            TWENTYEITHT,...

Stanford NLP4_parse tree nlp_LinMoson的博客-程序员秘密

Lesson 18我们想要理解meaning of larger phrases,比如snowboarder=person on a snowboard人类理解的方式是:理解每个components meaning,然后将它们组合起来interpret the meaning of larger text units - entities,descriptive terms,facts,arguments,stories - by semantic composition of small eleme

DUKE大学BOE数据集 OCT图像积液分割数据集_oct数据集_HanWang~的博客-程序员秘密

地址:http://people.duke.edu/~sf59/Chiu_BOE_2014_dataset.htm使用此数据集用来做积液分割研究使用python将.mat转换为图片格式#对BOE .MAT格式文件处理成图片import cv2import scipy.io as scioimport os# [0,1]=>[0,255]def changeImg(gray): H, W = gray.shape for i in range(0, W):

Windows10系统快捷键_「miraitowa」的博客-程序员秘密

Win10新增功能快捷键大全快捷键说明Win + ←/→/↑/↓贴靠窗口Alt + Tab切换窗口Win + Tab任务视图Win + Ctrl + D创建新的虚拟桌面Win + Ctrl + F4关闭当前虚拟桌面Win + Ctrl + ←/→切换虚拟桌面Win10常用Win快捷键快捷键说明Win键桌面与开始菜单切换按键Win + R打开运行对话框Win + Q快速打开搜索Win + I快

随便推点

bzoj2442[Usaco2011 Open]修剪草坪——单调队列优化_weixin_33885676的博客-程序员秘密

题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2442考虑记录前 i 个、末尾 j 个连续选上的最大值。发现时空会爆。又发现大量的转移形如 dp[ i ][ j ] = dp[ i-1 ][ j-1 ]+a[ i ]。  再结合自己求答案要遍历 j = i ~ j - k ,就觉得可以只记录一个 i ,在 i 到 i - k 的...

13.1 Sharir-Kosaraju算法_kosaraju-sharir_醒过来摸鱼的博客-程序员秘密

从概念定义、到算法详解、Python实现讲解Kosaraju算法

vue 移动端粘性组件_一个Vue组件,有助于产生粘性效果_cuk5239的博客-程序员秘密

vue 移动端粘性组件 威客贴纸 (vue-sticker)Vue component, that helps to make sticky effects Vue组件,有助于产生粘性效果 View demo查看演示 Download Source 下载源 安装 (Installation)# install componentnpm install --save-dev...

跟我一起玩Win32开发(24):计时器_东邪独孤的博客-程序员秘密

有好些时间没写博客了,今天要来耍一下计时器,就是我们常说的Timer,它虽然不是什么复杂的东西,也称不 上牛X,不过,用处还是不少的,对于那些需要每隔一定时间执行一次的任务,那是相当有用。先来认识一下一对函数,注意,是一对,不是一个。SetTimer——设置并启用计时器;KillTimer——取消计时器。现在你明白为什么要一对的原因了,就好比进程操作,有启动或创建进程的函数,就肯定

NLP 实战 (4) | 我发现的飞桨(paddlepaddle)大坑_幻灰龙的博客-程序员秘密

文章目录分离阶段:以交付为目标尽早集成:暴露内存和性能问题重构代码:做好模块化耗时分析:找到性能瓶颈深入分析:二分排查解决问题:通常就几行代码小结在上一篇 我们介绍了数据集和模型的上传/下载管理。解决数据集和模型的管理问题,在我们的新成员加入时就体现了优势,新成员克隆仓库代码、根据文档执行命令下载相关数据集、下载相关模型、启动服务、执行测试,以最快的时间跑通全流程,进而获取新任务,达成 first commit 的目标。本节我们分析一个实战问题诊断的过程。分离阶段:以交付为目标我们反复强调,从数据集入

C#*.bmp,*.jpg,*.png指定颜色,转换为透明背景的png_c# png white border_Frey_xxf的博客-程序员秘密

透明背景直接上代码partial class Form1{/// /// private System.ComponentModel.IContainer components = null; protected override void Dispose(bool disposing) { if (disposing && (compone...

推荐文章

热门文章

相关标签