四周第一次课(1月2日) 4.10/4.11/4.12 lvm讲解 4.13 磁盘故障小案例

一 LVM讲解

mark

在建立主分区基础上,将83 linux改为 8e linux LVM 这样才能做出物理卷 mark

依次创建3个物理卷

设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   8e  Linux LVM
/dev/sdb2         2099200     4196351     1048576   8e  Linux LVM
/dev/sdb3         4196352     6293503     1048576   8e  Linux LVM

==当我们需要安装某个命令,但不知道他属于哪个软件包时用如下方法,以命令pvcreate为例,yum provides + 绝对路径,但是绝对路径不清楚以/*通配的方法来代替==

[root@xavi-002 ~]# yum provides "/*/pvcreate"
  • 发现关联的是lvm2,所以安装下lvm2

#yum install -y install lvm2

扩展:有些命令生成文件目录时没有响应,输入“partprobe”会自动生成,这个命令很大局限性,是发展在有磁盘在mount挂载,ls无法查看的情况下,视频中因为sdb1被挂载,无法查看到 mark

  • 创建物理卷,分别用pvcreat创建三个物理卷,在用pvdsiplay查看结果
[root@xavi-002 ~]# pvcreate /dev/sdb1
WARNING: dos signature detected on /dev/sdb1 at offset 510. Wipe it? [y/n]: y
  Wiping dos signature on /dev/sdb1.
  Physical volume "/dev/sdb1" successfully created.

mark

  • pvs也可以查看物理卷
[root@xavi-002 ~]# pvs
  PV         VG Fmt  Attr PSize PFree
  /dev/sdb1     lvm2 ---  1.00g 1.00g
  /dev/sdb2     lvm2 ---  1.00g 1.00g
  /dev/sdb3     lvm2 ---  1.00g 1.00g
  • 创建物理卷组,vgcreat
[root@xavi-002 ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2
  Volume group "vg1" successfully created

mark

mark

  • 创建逻辑卷,格式化,挂载
[root@xavi-002 ~]# lvcreate -L 100M -n lv1 vg1

mark

  1. lvdisplay 列出逻辑卷

  2. 格式化mkfs.xfs /dev/vg1/lv1,再挂载

  3. lvremove /dev/vg1/lv1 删除逻辑卷

mark

扩容逻辑卷

  1. lvresize -L 300M /dev/vg1/lv1 重新设置卷大小 mark
  2. e2fsck -f /dev/vg1/lv1 检查磁盘错误 (ext4执行) mark
  3. resize2fs /dev/vg1/lv1 更新逻辑卷信息(ext4执行) mark mark
  4. xfs_growfs /dev/vg1/lv1 xfs文件系统需要执行

缩减逻辑卷

  1. 先umount

  2. e2fsck -f /dev/vg1/lv1 检查磁盘错误(ext) mark

  3. resize2fs /dev/vg1/lv1 100M 更新逻辑卷信息(ext) mark

  4. lvresize -L 100M /dev/vg1/lv1 重新设置卷大小 mark

  • lvs 或lvdisplay 查看缩减结果 mark

  • 重新挂载,然后查看缩容后是否会丢失文件信息,结果是没有丢失 mark

xfs文件格式下的扩容

mark

  • 重新设置卷大小300M
[root@xavi-002 ~]# lvresize -L 300 /dev/vg1/lv1

mark

  • 这里不需要挂载就可以直接操作 mark

扩容卷组

  1. fdisk /dev/sdb 新增/dev/sdb3(逻辑分区8e) 2G

  2. pvcreate /dev/sdb3 mark

  3. vgextend vg1 /dev/sdb3

  4. lvresize -L 100M /dev/vg1/lv1 重新设置卷大小 mark