lvm原理和操作

9月27日任务
4.10/4.11/4.12 lvm
4.13 磁盘故障小案例

lvm

lvm是逻辑盘卷管理(Logical Volume Manager)的简称,它通过软件实现磁盘分区管理,扩容缩容方便。LVM是建立在硬盘和分区之上的一个逻辑层。但是如果磁盘出现损坏,恢复和重新整理比较麻烦。下面是原理图和试验:

首先增加一块磁盘sdb并划分分区:fdisk /dev/sdb(划分的过程省略,操作可参见)

让这在fdisk中输入t来转换分区系统id,选择8e。也可以输入L查看所有系统id:

命令(输入 m 获取帮助):t
分区号 (1-5,默认 5):1
Hex 代码(输入 L 列出所有代码):L

 0  空              24  NEC DOS         81  Minix / 旧 Linu bf  Solaris        
 1  FAT12           27  隐藏的 NTFS Win 82  Linux 交换 / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 隐藏的 C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux 扩展      c7  Syrinx         
 5  扩展            41  PPC PReP Boot   86  NTFS 卷集       da  非文件系统数据
 6  FAT16           42  SFS             87  NTFS 卷集       db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux 纯文本    de  Dell 工具      
 8  AIX             4e  QNX4.x 第2部分  8e  Linux LVM       df  BootIt         
 9  AIX 可启动      4f  QNX4.x 第3部分  93  Amoeba          e1  DOS 访问       
 a  OS/2 启动管理器 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad 休 eb  BeOS fs        
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
 f  W95 扩展 (LBA)  54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC  
11  隐藏的 FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
12  Compaq 诊断     5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
14  隐藏的 FAT16 <3 61  SpeedStor       ab  Darwin 启动     f2  DOS 次要       
16  隐藏的 FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
17  隐藏的 HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST 智能睡眠    65  Novell Netware  b8  BSDI swap       fd  Linux raid 自动
1b  隐藏的 W95 FAT3 70  DiskSecure 多启 bb  Boot Wizard 隐  fe  LANstep        
1c  隐藏的 W95 FAT3 75  PC/IX           be  Solaris 启动    ff  BBT            
1e  隐藏的 W95 FAT1 80  旧 Minix

之后创建物理卷:pvcreate /dev/sdb1,我化了3个主分区一个逻辑分区,分别创建物理卷。扩展分区id为5,不可以转为8e,扩展分区可以转为8e。如果提示没有找到命令,应该是还没有安装软件包:yum install -y lvm2。如果知道软件使用命令,但是忘记包的名字,可以用yum provides "/*/pvcreate"来查找。意思是在yum源中根目录下查找该命令的包。

有时候fdisk分完区,linux不识别分区:比如pvcreate提示分区未找到。这时执行partprobe命令。一般分区时会生成相关文件,如果没有生成会造成上面的情况,运行这个命令就可以识别分区了。创建完物理卷,使用pvdisplay查看系统所有的物理卷。也可以用pvs,这个信息量少点更直观。pvremovek用来删除物理卷。

然后在物理卷之上创建卷组:vgcreate vg1 /dev/sdb1 /dev/sdb2vg1是卷组名,后面接物理卷,一般是多个物理卷合并成一个卷组使用。后面还会讲到扩容卷组。可以用vgdisplay或vgs查看卷组信息,vgremove删除卷组命令。

有了卷组就可以创建逻辑卷。lvcreate -L 180M -n lv1 vg1 解释:-L指定逻辑卷大小,-n lv1指定逻辑卷名称为lv1,vg1指定从哪个卷组划分。成功后可以用lvdisplay或lvs查看逻辑卷信息。

逻辑卷就像一块磁盘,投入使用需要格式化、挂载后才能使用。ext4格式扩容缩容都可以,xfs不能缩容。在一个是ext4扩容缩容时要卸载,xfs扩容时不需要。

mkfs.ext4格式化后,挂载mount /dev/vg1/lv1 /mnt/。然后用df -h查看可能发现文件系统一列不是/dev/vg1/lv1,而是/dev/mapper/vg1-lv1。其实两个文件都指向../dm-0

ext4逻辑卷扩容缩容

  1. 首先umount卸载逻辑卷
  2. lvresize -L 200M /dev/vg1/lv1设定逻辑卷大小
  3. e2fsck -f /dev/vg1/lv1 检查磁盘是否有错误
  4. resize2fs /dev/vg1/lv1 更新逻辑卷信息

缩减逻辑卷

  1. umount卸载逻辑卷
  2. e2fsck -f /dev/vg1/lv1 检查磁盘是否有错误
  3. resize2fs /dev/vg1/lv1 100M更新逻辑卷信息
  4. lvresize -L 100M /dev/vg1/lv1设定逻辑卷大小

缩减逻辑卷顺序一定要注意,先更改逻辑卷信息再重设逻辑卷大小。

xfs扩容

xfs文件系统操作时不需要卸载。lvresize -L 300M /dev/vg1/lv1重新设定大小,然后执行xfs_growfs /dev/vg1/lv1使系统识别。需要注意的是xfs文件系统不支持缩容。

扩展卷组

逻辑卷使用完卷组空间,就需要扩展卷组。思路就是增加新的物理卷,然后把物理卷加入到卷组中,最后用lvresize命令增大逻辑卷空间。

  1. 使用fdisk工具新增/dev/sdb5分区,id修改为8e
  2. pvcreate /dev/sdb5 ,做成物理卷
  3. vgextend vg1 /dev/sdb5 ,加入到vg1卷组中
  4. lvresize -L 500M /dev/vg1/lv1 ,扩容

磁盘故障

lvm试验后重启进入emergency模式。这可能是磁盘挂载出现问题。vim etc/fstab修改挂载配制,删掉试验用的lvm逻辑卷。然后重启正常进入系统。

你可能感兴趣的:(linux运维学习)