磁盘管理-LVM(2)

续《磁盘管理-LVM(1)》

1、扩展逻辑卷

调整逻辑卷大小的功能是LVM最有用的功能。这个部分会讨论我们怎么样扩展一个存在的逻辑卷。下面,我们将会扩展先前创建的逻辑卷‘mylv1’扩大到3G。

注意,调整逻辑卷大小之后,也需要对文件系统调整大小进行匹配。这个额外的步骤各不相同,取决于创建文件系统的类型。命令的执行顺序是很重要的。

### lvextend - extend the size of a logical volume
# lvextend {-l|--extents [+]LogicalExtentsNumber[%{VG|LV|PVS|FREE|ORIGIN}] | -L|--size [+]LogicalVolumeSize[bBsSkKmMgGtTpPeE]} LogicalVolumePath

### lvresize - resize a logical volume
# lvresize {-l|--extents [+]LogicalExtentsNumber[%{VG|LV|PVS|FREE|ORIGIN}] | -L|--size [+]LogicalVolumeSize[bBsSkKmMgGtTpPeE]} LogicalVolumePath

### lvextend,lvresize都能够满足我们的需求,这些必须注意的是如何指定逻辑卷的大小
# [ + ]
# -L 3G    ## 指定逻辑卷大小为3G
# -L +3G   ## 在原来的基础上再增加3G

### 首先卸载,当然lvm也支持在线扩展
[[email protected] ~]# umount /dev/myvg/mylv1 
# 扩展逻辑卷
[[email protected] ~]# lvextend -L 3G /dev/myvg/mylv1 
  Extending logical volume mylv1 to 3.00 GB
  Logical volume mylv1 successfully resized
### 强制检查磁盘错误
[[email protected] ~]# e2fsck -f /dev/myvg/mylv1
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/myvg/mylv1: 11/262144 files (9.1% non-contiguous), 25406/524288 blocks
### 扩展文件系统
[[email protected] ~]# resize2fs /dev/myvg/mylv1
resize2fs 1.39 (29-May-2006)
Resizing the filesystem on /dev/myvg/mylv1 to 786432 (4k) blocks.
The filesystem on /dev/myvg/mylv1 is now 786432 blocks long.

[[email protected] ~]# lvdisplay
  --- Logical volume ---
  LV Name                /dev/myvg/mylv1
  VG Name                myvg
  LV UUID                D1NF1V-zPl7-cvXs-hk0c-2Fbx-WKZ1-tF49Fi
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                3.00 GB    # 已经扩展到了3G
  Current LE             768
  Segments               4
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

那么,现在此逻辑卷可以重新被挂载了。

2、缩减逻辑卷(必须首先卸载)

缩减与扩展的操作类似,但是值得关注的是命令的顺序。并且,下列命令对ext2/3/4文件系统同样有效。

  • 首先查看逻辑卷空间使用情况
  • 不能在线缩减,必须首先卸载
  • 确保缩小后的空间大小依然能够存储原来存储的所有数据,否则将丢失数据
  • 在缩减之前应该首先进行文件系统一致性检查

注意减少逻辑卷的大小值若小于储存的数据大小,存储在后面的数据会丢失。

### 卸载逻辑卷
[[email protected] ~]# umount /dev/myvg/mylv1 
### 强制文件系统检查 
[[email protected] ~]# e2fsck -f /dev/myvg/mylv1
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/myvg/mylv1: 11/393216 files (9.1% non-contiguous), 29518/786432 blocks
### 缩减文件系统
[[email protected] ~]# resize2fs /dev/myvg/mylv1 1G
resize2fs 1.39 (29-May-2006)
Resizing the filesystem on /dev/myvg/mylv1 to 262144 (4k) blocks.
The filesystem on /dev/myvg/mylv1 is now 262144 blocks long.
### 缩减逻辑卷
[[email protected] ~]# lvresize -L 1G /dev/myvg/mylv1 
  WARNING: Reducing active logical volume to 1.00 GB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce mylv1? [y/n]: y
  Reducing logical volume mylv1 to 1.00 GB
  Logical volume mylv1 successfully resized



3、扩展卷组

当我们发现卷组空间不够时,我们如何进行扩展呢?下面就讲解如何把一个物理卷PV加入到当前的VG中。

承接上一篇文章,我们仅用了/dev/sdb{1,2,3}创建VG,此时我想把/dev/sdb5也加入VG。

[[email protected] ~]# pvcreate /dev/sdb5        # 创建pv
  Writing physical volume data to disk "/dev/sdb5"
  Physical volume "/dev/sdb5" successfully created
[[email protected] ~]# pvs                       # 显示pv 
  PV         VG   Fmt  Attr PSize   PFree  
  /dev/sdb1  myvg lvm2 a--  964.00M      0 
  /dev/sdb2  myvg lvm2 a--  964.00M      0 
  /dev/sdb3  myvg lvm2 a--  964.00M 844.00M
  /dev/sdb5       lvm2 a--  964.81M 964.81M    # 我们可以看到,新创建的pv不属于任何vg
[[email protected] ~]# vgextend myvg /dev/sdb5    # 扩展vg
  Volume group "myvg" successfully extended
[[email protected] ~]# pvs
  PV         VG   Fmt  Attr PSize   PFree  
  /dev/sdb1  myvg lvm2 a--  964.00M      0 
  /dev/sdb2  myvg lvm2 a--  964.00M      0 
  /dev/sdb3  myvg lvm2 a--  964.00M 844.00M
  /dev/sdb5  myvg lvm2 a--  964.00M 964.00M    # OK, 已经加入myvg

[[email protected] ~]# vgdisplay
  --- Volume group ---
  VG Name               myvg
  System ID             
  Format                lvm2
  Metadata Areas        4
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                4
  Act PV                4
  VG Size               3.77 GB
  PE Size               4.00 MB
  Total PE              964
  Alloc PE / Size       512 / 2.00 GB
  Free  PE / Size       452 / 1.77 GB
  VG UUID               99yTE0-Lc3f-b5rz-qa4F-d8YD-XBfM-U4DYoM

通过观察VG Size,可以看出myvg已经扩展。

4、缩减卷组

其实缩减卷组的情况不是太常见,在缩减之前,我们必须考虑以下问题:缩减VG也就是,把PV从VG中移除。那么我们如何知道数据时存储在哪个PV上的呢?我们无从得知。所以我们在移除PV的时候,首先要做的就是把此PV上的数据转移到其他PV上去。

  • pvmove /dev/sdb1    ### 将/dev/sdb1上存储的数据转移到其他物理卷上去
  • vgreduce myvg /dev/sdb1    ### 将PV: /dev/sdb1从VG: myvg中移除
  • pvremove /dev/sdb1         ### 将/dev/sdb1从物理卷上移除
[[email protected] ~]# pvs                    # 查看pv
  PV         VG   Fmt  Attr PSize   PFree  
  /dev/sdb1  myvg lvm2 a--  964.00M      0         #PV:/dev/sdb1空间已经被占完
  /dev/sdb2  myvg lvm2 a--  964.00M 904.00M
  /dev/sdb3  myvg lvm2 a--  964.00M 964.00M
  /dev/sdb5  myvg lvm2 a--  964.00M 964.00M
[[email protected] ~]# pvmove /dev/sdb1       # 把/dev/sdb1上的数据转移
  /dev/sdb1: Moved: 20.3%
  /dev/sdb1: Moved: 100.0%
[[email protected] ~]# vgreduce myvg /dev/sdb1    # 把/dev/sdb1从myvg中移除
  Removed "/dev/sdb1" from volume group "myvg"
[[email protected] ~]# pvs
  PV         VG   Fmt  Attr PSize   PFree  
  /dev/sdb1       lvm2 a--  964.81M 964.81M
  /dev/sdb2  myvg lvm2 a--  964.00M 904.00M
  /dev/sdb3  myvg lvm2 a--  964.00M      0         #PV: 看到把/dev/sdb1的数据转移过来了
  /dev/sdb5  myvg lvm2 a--  964.00M 964.00M
[[email protected] ~]# pvremove /dev/sdb1      # 把/dev/sdb1从物理卷上移除
  Labels on physical volume "/dev/sdb1" successfully wiped
[[email protected] ~]# pvs
  PV         VG   Fmt  Attr PSize   PFree  
  /dev/sdb2  myvg lvm2 a--  964.00M 904.00M
  /dev/sdb3  myvg lvm2 a--  964.00M      0 
  /dev/sdb5  myvg lvm2 a--  964.00M 964.00M


5、LVM实现快照,进行热备

lvm快照可以用于实时备份(moment-in-time),即为了保持系统的一致性,我们先做一个快照冻结当前系统状态,这样快照里面的内容可暂时保持不变,系统本身继续运行,通过备份快照来实现不中断服务的的备份。

注意合理的选择:快照的大小。否则将会导致失败

### lvcreate -s    # 创建快照
# lvcreate -s -L 30M -n mysp -p r  /dev/myvg/mylv1
# -L 快照大小    -n 快照名称    -p 权限    -s 创建快照

### 我们把/dev/myvg/mylv1挂载到/mnt目录下
[[email protected] ~]# mount /dev/myvg/mylv1  /mnt
[[email protected] ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             8.6G  2.4G  5.8G  30% /
/dev/sda1             190M   12M  169M   7% /boot
tmpfs                  62M     0   62M   0% /dev/shm
/dev/mapper/myvg-mylv1
                      2.0G   68M  1.9G   4% /mnt
### 拷贝一个文件作为测试
[[email protected] ~]# cp install.log /mnt

### 对/dev/myvg/mylv1创建快照
[[email protected] ~]# lvcreate -s -L 30M -n my_sp -p r /dev/myvg/mylv1 
  Rounding up size to full physical extent 32.00 MB
  Logical volume "my_sp" created
[[email protected] ~]# lvs
  LV    VG   Attr   LSize  Origin Snap%  Move Log Copy%  Convert
  my_sp myvg sri-a- 32.00M mylv1    0.04                        
  mylv1 myvg owi-ao  2.00G 
### 创建挂载目录,并把快照挂载, 注意我们并没有为该快照创建文件系统
[[email protected] ~]# mkdir /backup
[[email protected] ~]# mount /dev/myvg/my_sp /backup/
mount: block device /dev/myvg/my_sp is write-protected, mounting read-only
[[email protected] ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             8.6G  2.4G  5.8G  30% /
/dev/sda1             190M   12M  169M   7% /boot
tmpfs                  62M     0   62M   0% /dev/shm
/dev/mapper/myvg-mylv1
                      2.0G   68M  1.9G   4% /mnt
/dev/mapper/myvg-my_sp
                      2.0G   68M  1.9G   4% /backup

### 模拟系统正在运行,向/mnt写入文件
[[email protected] ~]# cp /boot/initrd-2.6.18-308.el5.img /boot/vmlinuz-2.6.18-308.el5 /mnt

### 此时,我们可以针对/backup备份,而不会受系统动态运行的影响
[[email protected] ~]# tar zcvpf my_sp.tar.gz /backup 
tar: Removing leading `/‘ from member names
/backup/
/backup/lost+found/
/backup/install.log

看,实际备份的只是我们做快照时系统的状态,后来向/mnt写入文件,并不影响我们的备份。

磁盘管理-LVM(2),布布扣,bubuko.com

时间: 2024-10-11 12:58:23

磁盘管理-LVM(2)的相关文章

磁盘管理-LVM(1)

大纲 1.LVM是什么? 2.LVM分层结构 3.LVM几个关键术语 4.实战演练 1.LVM是什么? LVM(Logical Volume Manager)即逻辑卷管理器,它最先是在Linux 2.4内核中被集成到内核中去的,它的出现改变了传统的磁盘空间管理理念.传统分区使用固定大小分区,重新调整大小十分麻烦.但是,LVM可以创建和管理"逻辑"卷,而不是直接使用物理硬盘.可以让管理员弹性的管理逻辑卷的扩大缩小,操作简单,而不损坏已存储的数据.可以随意将新的硬盘添加到LVM,以直接扩展

linux 磁盘管理+lvm逻辑卷管理

注:linux系统中主分区和扩展分区总共可以有4个,逻辑分区是从5开始. Linux系统中:83(ext3) 82(交换分区) 5(扩展分区) 8E(逻辑卷) b(fat32) 1.查看系统的磁盘以及分区状况 2.查看系统中磁盘的挂载情况以及容量使用情况 3.进入磁盘管理工具 4.P查看磁盘分区 5.N新建,P主分区 6.E新建扩展分区 7.L新建逻辑分区 8.删除一个分区 9.保存分区配置 10.逻辑更改分区格式 11.永久挂载一个磁盘分区 12.格式化分区 Mkfs命令可以格式化ext的,f

Linux磁盘管理--LVM原理及基本操作

LVM(Logical Volume Manager)逻辑卷管理是Linux磁盘管理中的常用操作, 本文主要描述LVM的基本原理以及对LVM的扩展和缩减的基本操作. LVM实质是过软件方式将多个物理分区或磁盘组合成为一个容量可变大小的磁盘卷组VG, 再通过对VG中的基本单位PE构成可变大小的逻辑卷LV. LVM的优点: 通过调整VG中PV的数量来动态调整VG的容量大小, 通过调整LV中PE的数量来动态调整LV的容量大小. LVM中组成部分: 1. 分区: 磁盘中的可用分区, 分区类型ID应在创建

每天进步一点点——Linux磁盘管理LVM与RAID

转载请注明出处:http://blog.csdn.net/cywosp/article/details/38965799 1. 传统磁盘管理问题 当分区大小不够用时无法扩展其大小,仅仅能通过加入硬盘.创建新的分区来扩充空间.可是新加入进来的硬盘是作为独立文件系统存在的,原有的文件系统并未得到扩充.上层应用非常多时候仅仅能訪问一个文件系统.仅仅能让现有磁盘下线.换上新的磁盘之后,再将原来磁盘中的数据导入. 2. LVM LVM(Logical Volume Manager)逻辑卷管理通过将底层物理

centos7 磁盘管理—— lvm的使用

Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间.普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上.而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题.随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在

磁盘管理-lvm介绍

4.10:lvm介绍:  1.lvm是linux系统对磁盘分区管理的机制,方便磁盘的扩容和缩容,提高磁盘分区管理的灵活性, 对磁盘分区来创建物理卷---->划分为卷组--->划分为逻辑卷---->格式化,挂载,扩容. 基本逻辑图如下: 2.lvm实验: 2.1:新建分区,在虚拟机上添加一块硬盘sdb,并分出三个分区各1G,需要更改其分区格式为8e(lvm) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

第十二章 linux磁盘管理-lvm(2)

yum install lvm2-2.02.72-8.el6_0.4.x86_64 1.将新创建的两个分区/dev/sdb1 /dev/sdb2转化成物理卷,主要是添加LVM属性信息并划分PE存储单元. pvcreate /dev/sdb1 /dev/sdb2 pvs pvdisplay 2.创建卷组 vgdata ,并将刚才创建好的两个物理卷加入该卷组.可以看出默认PE大小为4MB,PE是卷组的最小存储单元.可以通过 –s参数修改大小 vgcreate vgdata /dev/sdb1 /de

【转载】Linux磁盘管理:LVM逻辑卷管理

Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理 这篇随笔将详细讲解Linux磁盘管理机制中的LVM逻辑卷的基本概念以及LVM的工作原理!!! 一.传统的磁盘管理 其实在Linux操作系统中,我们的磁盘管理机制和windows上的差不多,绝大多数都是使用MBR(Master Boot Recorder)都是通过先对一个硬盘进行分区,然后再将该分区进行文件系统的格式化,在Linux系统中如果要使用该分区就将其挂载上去即可,windows的话其实底

linux磁盘管理:LVM的基本概念与创建、扩展、缩减、删除

编辑于2015--08--29 二.LVM的磁盘管理 LVM(Logical volume Manager)是逻辑卷管理的简称.它是Linux环境下对磁盘分区进行管理的一种机制. LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用.在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的