演示针对LVM分区的管理

假设已经增加一块磁盘:/dev/sdb

一、将sdb配置成LVM分区
1)当前系统有sda和sdb2个物理磁盘,各有100G的大小。
[[email protected] ~]# ls /dev/sd*
sda   sda1  sda2  sdb   

2)给sdb分区
[[email protected] ~]# fdisk /dev/sdb

WARNING: DOS-compatible mode is deprecated. It‘s strongly recommended to
         switch off the mode (command ‘c‘) and change display units to
         sectors (command ‘u‘).
注1:使用“n”创建新分区
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
注2:使用“p”创建主分区
p

注3:使用“1”创建分区1(在1-4中选择,当前磁盘支持最多4个主分区,GPT格式的磁盘支持更多主分区)
Partition number (1-4): 1

注4:选择默认值
First cylinder (1-13054, default 1): 
Using default value 1

注5:选择一个分区大小,看提示,可以用"+|大小|单位"这样的格式,此处是增加20G的分区
Last cylinder, +cylinders or +size{K,M,G} (1-13054, default 13054): +20G

注6:更改分区格式为LVM,先输入“t”,然后输入“8e”(Linux LVM),不清楚请输入“l”去查看对应的代码
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): l

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
 1  FAT12           39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      41  PPC PReP Boot   85  Linux extended  c7  Syrinx         
 5  Extended        42  SFS             86  NTFS volume set da  Non-FS data    
 6  FAT16           4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS       4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility   
 8  AIX             4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt         
 9  AIX bootable    50  OnTrack DM      93  Amoeba          e1  DOS access     
 a  OS/2 Boot Manag 51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       52  CP/M            9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs        
 e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  GPT            
 f  W95 Ext‘d (LBA) 55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor      
12  Compaq diagnost 61  SpeedStor       a9  NetBSD          f4  SpeedStor      
14  Hidden FAT16 <3 63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary  
16  Hidden FAT16    64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS    
17  Hidden HPFS/NTF 65  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST SmartSleep  70  DiskSecure Mult b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 75  PC/IX           bb  Boot Wizard hid fe  LANstep        
1c  Hidden W95 FAT3 80  Old Minix       be  Solaris boot    ff  BBT            
1e  Hidden W95 FAT1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

注7:打印当前的分区状态
Command (m for help): p

Disk /dev/sdb: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xb07a7c89

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        2612    20980858+  8e  Linux LVM

注8:确认无误,写入磁盘
Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

二、物理卷(Physical Volume)
1)创建PV
[[email protected] ~]# pvcreate  /dev/sdb1
  Physical volume "/dev/sdb1" successfully created
  
2)查看PV
[[email protected] ~]# pvdisplay 
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               vg_svr20011
  PV Size               99.51 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              25474
  Free PE               0
  Allocated PE          25474
  PV UUID               e6qCiB-18zU-r31G-DT4S-1NRY-rl1e-tEtODx
   
  "/dev/sdb1" is a new physical volume of "20.01 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               20.01 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               KGaTzb-M5YB-gQ10-evlf-Ww81-eSYH-92g0Hr

  
三、卷组(Volume Group)  
1)创建一个VG,定义组名,组员(PV)
[[email protected] ~]# vgcreate vg_test01 /dev/sdb1  
  Volume group "vg_test01" successfully created

2)查看VG
[[email protected] ~]# vgdisplay 
  --- Volume group ---
  VG Name               vg_test01
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               20.01 GiB
  PE Size               4.00 MiB
  Total PE              5122
  Alloc PE / Size       0 / 0   
  Free  PE / Size       5122 / 20.01 GiB
  VG UUID               4dSqWG-WLin-if3X-GrdV-ccc0-SxrS-6Nxzn6
   
  --- Volume group ---
  VG Name               vg_svr20011
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               99.51 GiB
  PE Size               4.00 MiB
  Total PE              25474
  Alloc PE / Size       25474 / 99.51 GiB
  Free  PE / Size       0 / 0   
  VG UUID               dFGxMZ-L0ir-irYV-Vrzq-2fqW-N1Wg-Q620BH

  
四、逻辑卷(Logical Volume)
1)创建一个新LV(理解成常规的一个分区,需要mkfs格式化后挂载到文件系统使用),定义大小,逻辑卷名称,以及从哪个VG上创建。
[[email protected] ~]# lvcreate -L 8G -n lv_test01 vg_test01
  Logical volume "lv_test01" created

2)查看逻辑卷
[[email protected] ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/vg_test01/lv_test01
  LV Name                lv_test01
  VG Name                vg_test01
  LV UUID                odJa0V-3eC0-0Ggh-fh7J-7QAf-tJ3Q-MS3e9L
  LV Write Access        read/write
  LV Creation host, time svr200-11, 2015-04-30 12:05:58 +0800
  LV Status              available
  # open                 0
  LV Size                8.00 GiB
  Current LE             2048
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:3
   
  --- Logical volume ---
(忽略其他LV的信息)

五、格式化lv并挂载到文件系统使用
1)格式化
[[email protected] ~]# mkfs -t ext4 /dev/vg_test01/lv_test01 
(输出略)

2)挂载
[[email protected] ~]# mkdir /data/test01 
[[email protected] ~]# mount /dev/vg_test01/lv_test01 /data/test01/
[[email protected] ~]# df -h
Filesystem                       Size  Used Avail Use% Mounted on
/dev/mapper/vg_svr20011-lv_root   50G  3.1G   44G   7% /
tmpfs                            499M     0  499M   0% /dev/shm
/dev/sda1                        485M   34M  426M   8% /boot
/dev/mapper/vg_svr20011-lv_home   47G   38G  7.2G  84% /home
/dev/mapper/vg_test01-lv_test01  7.9G  146M  7.4G   2% /data/test01  

注:当然了,也要记得更新fstab文件

六、当前状态
1)物理磁盘:sdb,100G
2)新建了一个LVM格式的分区:sdb1,20G
3)新建了一个vg(vg_test01),把sdb1加入了vg_test01中
4)在vg_test01上,创建了一个大小为8G的分区lv_test01(逻辑卷lv)
5)格式化和挂载分区lv_test01到/data/test01上使用

七、上述是常规的增加一个分区的步骤,接下来探讨如何给分区扩容。
假设已经删除了上面使用的/dev/sdb,这次的目的是,给卷组(vg_svr20011)扩容,最终是要给逻辑卷(lv_home)扩容
扫描和删除有如下命令:
pvscan
vgscan
lvscan
pvremove
vgremove
lvremove

1)创建/dev/sdb1,大小全部空间(100G),LVM分区

fdisk /dev/sdb <<_EOF
n
p
1

t
8e
p
w
_EOF

创建PV:
[[email protected] ~]# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created

查看PV状态:
[[email protected] ~]# pvscan 
  PV /dev/sda2   VG vg_svr20011     lvm2 [99.51 GiB / 0    free]
  PV /dev/sdb1                      lvm2 [100.00 GiB]
  Total: 2 [199.51 GiB] / in use: 1 [99.51 GiB] / in no VG: 1 [100.00 GiB]

给现有的VG扩容:
[[email protected] ~]# vgextend vg_svr20011 /dev/sdb1
  Volume group "vg_svr20011" successfully extended

再次查看PV的状态:  
[[email protected] ~]# pvscan
  PV /dev/sda2   VG vg_svr20011   lvm2 [99.51 GiB / 0    free]
  PV /dev/sdb1   VG vg_svr20011   lvm2 [100.00 GiB / 100.00 GiB free]
  Total: 2 [199.50 GiB] / in use: 2 [199.50 GiB] / in no VG: 0 [0   ]

sdb1已经和sda2已经属于同一个卷组。

2)给逻辑卷(LV)扩容
查看LV的状态:
[[email protected] ~]# lvscan
  ACTIVE            ‘/dev/vg_svr20011/lv_root‘ [50.00 GiB] inherit
  ACTIVE            ‘/dev/vg_svr20011/lv_home‘ [47.54 GiB] inherit
  ACTIVE            ‘/dev/vg_svr20011/lv_swap‘ [1.97 GiB] inherit

目前lv_home 使用了50G,先扩容到80G看看
[[email protected] ~]# lvextend -L 80G /dev/vg_svr20011/lv_home 
  Extending logical volume lv_home to 80.00 GiB
  Logical volume lv_home successfully resized
[[email protected] ~]# lvscan
  ACTIVE            ‘/dev/vg_svr20011/lv_root‘ [50.00 GiB] inherit
  ACTIVE            ‘/dev/vg_svr20011/lv_home‘ [80.00 GiB] inherit
  ACTIVE            ‘/dev/vg_svr20011/lv_swap‘ [1.97 GiB] inherit

用df查看分区信息:
[[email protected] ~]# df -h
Filesystem                       Size  Used Avail Use% Mounted on
/dev/mapper/vg_svr20011-lv_root   50G  3.1G   44G   7% /
tmpfs                            499M     0  499M   0% /dev/shm
/dev/sda1                        485M   34M  426M   8% /boot
/dev/mapper/vg_svr20011-lv_home   47G   38G  7.2G  84% /home
此时用df命令查看分区,会发现分区大小尚未更新,因为我们还需要on-line resize一下分区:
  
[[email protected] ~]# resize2fs /dev/vg_svr20011/lv_home 
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_svr20011/lv_home is mounted on /home; on-line resizing required
old desc_blocks = 3, new_desc_blocks = 5
Performing an on-line resize of /dev/vg_svr20011/lv_home to 20971520 (4k) blocks.
The filesystem on /dev/vg_svr20011/lv_home is now 20971520 blocks long.

再看:
[[email protected] ~]# df -h
Filesystem                       Size  Used Avail Use% Mounted on
/dev/mapper/vg_svr20011-lv_root   50G  3.1G   44G   7% /
tmpfs                            499M     0  499M   0% /dev/shm
/dev/sda1                        485M   34M  426M   8% /boot
/dev/mapper/vg_svr20011-lv_home   79G   38G   38G  50% /home

符合预期

八、附上一个可有可无的小脚本,用于快速的删除和建立lvm分区来熟悉命令
[[email protected] ~]# cat lvm_fdisk.sh 
#!/bin/bash
#
# 2015/4/30
# 创建和删除lvm分区的一个示例

function part_lvm() {
  echo -e "\033[1;40;31m[+] 使用fdisk创建分区\033[0m"
  echo -e "\033[40;32m开始操作:\033[40;37m"
  fdisk $1 <<_EOF
n
p
1

t
8e
p
w
_EOF
  echo
  echo -e "\033[40;32m完成!\033[40;37m"
  echo -e "\033[1;40;31m[-] 已经创建分区:${1}1\033[0m"
}

function part_rm() {
  echo -e "\033[1;40;31m[+] 使用fdisk删除分区\033[0m"
  echo -e "\033[40;32m开始操作:\033[40;37m"
  count=$(fdisk -l /dev/sdb |grep dev |grep -v Disk |wc -l)
  if [ $count -lt 2 ]; then
    fdisk $1 <<_EOF
d
p
w
_EOF
    echo
    echo -e "\033[40;32m完成!\033[40;37m"
    echo -e "\033[1;40;31m[-] 已经删除分区:${1}1\033[0m"
    echo
  else
    echo -e "\033[1;40;31m[-] 这个磁盘有多个分区,请先检查确认!\033[0m"
  fi
}

function usage() {
  cat <<_EOF

usage: $0 type device

$0 lvm /dev/sdb
$0 rm /dev/sdb

_EOF
}

case $1 in
  lvm|rm)
    part_$1 $2
    ;;
  *)
    usage
    ;;
esac
时间: 2024-12-13 08:02:20

演示针对LVM分区的管理的相关文章

Linux LVM硬盘管理及LVM分区扩容

LVM磁盘管理 一.LVM简介... 1 二. LVM基本术语... 2 三. 安装LVM... 3 四. 创建和管理LVM... 4 2. 创建PV.. 6 3. 创建VG.. 7 4. 创建LV.. 9 5.LV格式化及挂载... 10 一.LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现.LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可

LVM分区管理和扩展

一.LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写.LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性. 与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储.它使系统管理员可以更方便的为应用与用户分配存储空间.在LVM管理下的存储卷可以按需要随时改变大小与移除(可能需对文件系统工具进行升级).LVM也

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

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

linux中对swap分区的管理

一:swap分区概念原理 swap分区:(存放内存溢出来的数据) 从功能上讲,交换分区主要是在内存不够用的时候,将部分内存上的数据交换到swap空间上,以便让系统不会因内存不够用而导致oom或者更致命的情况出现. 一:swap基本概念 前提:知道内存回收概念 为什么要进行内存回收? 1:内核需要为任何时刻突发到来的内存申请提供足够的内存.所以一般情况下保证有足够的free空间对于内核来说是必要的.所以内核有必要设计一个周期性回收内存的机制,以便cache的使用和其他相关内存的使用不至于让系统的剩

第八章 磁盘和文件系统管理LVM逻辑卷管理

                      第八章LVM逻辑卷管理 LVM机制的基本概念 Pv(Physical Volume,物理卷) 整个硬盘,或使用fdisk等工具建立的普通分区 包括许多默认4MB大小的PE(Physical Extent,基本单元) VG(Volume Group,卷组) 一个或多个物理卷组合而成的整体 LV(Logical Volume,逻辑卷) 从卷组中分割出的一块空间,用于建立文件系统 (创建物理卷--创建卷组--从卷组中创建逻辑卷) 相关命令 pvcreate

linux服务器 磁盘和文件系统管理(二) LVM逻辑卷管理的基本操作

上一章我们说完了硬盘的分区.格式化与挂载分区,用是可以正常使用了,但是一旦出现系统分区不够用了,我们不得不备份.删除相关数据或者重新规划分区来满足系统的需要,那么如何才能解决这类的问题呢?这就可以用到我们标题中所提到的LVM动态分区,所谓LVM,它功能就是可以在现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性 在进行LVM逻辑卷管理之前,我们需要先了解下LVM的几个基本术语: PV(Physical Volume,物理卷)物理卷是LVM机制的基本存储设备,通常对应一个普通分区或整个

如何更深入地学习Linux?教你LVM逻辑卷管理器

LVM逻辑卷管理器可以说是Linux运维工作的重点知识之一了,下面就让×××Linux工程师培训机构的老师带你来学习一下吧! 下面来看下lvm 这边的名词(都是首字母缩写,方便记忆) PV(Physical Volume) 物理卷 实质上就是一块硬盘,只不过如果要使用lvm管理磁盘,就需要将其设置为PV VG(Volume Group) 卷组 有多个PV组成,是lvm划分分区容量的一个容量池 LV(Logical Volume) 逻辑卷 来自于VG,是逻辑卷管理器提供出来的一个分区 PE(Phy

Linux命令 LVM与磁盘管理

LVM与磁盘配额一.LVM逻辑卷管理1.LVM概述Logical Volume Manager,逻辑卷管理(1)动态调整磁盘容量,从而提高磁盘管理的灵活性.(2)/boot分区用于存放引导文件,不能基于LVM创建(3)图形界面管理工具:system-config-lvmLVM机制的基本概念(1)PV (Physical Volume 物理卷)物理卷是LVM机制的基本储存设备,通常对应为一个普通分区或整个硬盘.物理卷是由多个默认大小为4MB的基本单元(PE)组成的,在它的头部会创建一个保留分区,用

LVM逻辑卷管理

本次内容 1.什么是LVM 2.为什么使用LVM 3.LVM的操作命令 4.LVM的具体操作实现 一.什么是LVM LVM:Logical Volume Manager,即逻辑卷管理,它是Linux环境下的一种磁盘管理方式,其功能在于能弹性调整文件系统的容量.LVM中有几个专业名词,重点来说以下一个 PV:物理卷 LVM的基本存储逻辑块,但和基本的物理存储介质(如分区.磁盘等)比较,却包含有与LVM相关的管理参数. VG:卷组 由一个或多个PV构成,为上层的逻辑卷提供空间 LV:逻辑卷 类似于磁