lvm讲解/磁盘故障案例

lvm讲解

给新的磁盘创建三个分区,并且将分区类型改为lvm,否则无法往下实验

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:53.7 GB, 53687091200 字节,104857600 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0xa75320d0

  设备 Boot      Start        End      Blocks  Id  System

/dev/sdb1            2048    4196351    2097152  83  Linux

/dev/sdb2        4196352    25167871    10485760  83  Linux

/dev/sdb3        25167872    67110911    20971520  83  Linux

/dev/sdb4        67110912  104857599    18873344    5  Extended

图上已经创建好三个分区,但还没有改为lvm类型的,我输入t逐步将这三个分区修改为lvm类型的分区。

命令(输入 m 获取帮助):t

分区号 (1-5,默认 5):2

Hex 代码(输入 L 列出所有代码):8e

已将分区“Linux”的类型更改为“Linux LVM”

[root@localhost ~]# fdisk -l

磁盘 /dev/sdb:53.7 GB, 53687091200 字节,104857600 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0xa75320d0

  设备 Boot      Start        End      Blocks  Id  System

/dev/sdb1            2048    4196351    2097152  8e  Linux LVM

/dev/sdb2        4196352    25167871    10485760  8e  Linux LVM

/dev/sdb3        25167872    67110911    20971520  8e  Linux LVM

/dev/sdb4        67110912  104857599    18873344    5  Extended

/dev/sdb5        67112960  104857599    18872320  83  Linux

最后输入“w”保存退出即可,这个时候我们可以用fdisk -l再来查看一遍,显示的结果如刚才一样,三个分区都是linux lvm类型的了。

当我们准备好磁盘后,接下来我们就创建物理卷,使用“pvcreate”命令来将分区好的三个分区做成物理卷。在使用命令前我们先安装相关的软件包,包名叫做“lvm2”。当你不清楚你需要安装的软件包名叫什么的时候,可以通过这个软件的相关命令进行搜索。以下示例;

[root@localhost ~]# yum provides "/*/pvvreate"

[root@localhost ~]# yum -y install lvm2

如果你的系统已经安装了lvm2的软件包,责无需在安装。

如果在我们创建好分区后,系统里没有生成分区文件的话,接下来我们需要使用一个命令刷新一下(一般情况下创建后都会自动生成)。

[root@localhost ~]## partprobe

[root@localhost ~]# umount /mnt

[root@localhost ~]# pvcreate /dev/sdb1

WARNING: xfs signature detected on /dev/sdb1 at offset 0. Wipe it? [y/n]: y

接下来再使用pvcreate命令来处理分区

Wiping xfs signature on /dev/sdb1.

  Physical volume "/dev/sdb1" successfully created.

[root@localhost ~]#  pvcreate /dev/sdb2

  Physical volume "/dev/sdb2" successfully created.

[root@localhost ~]#  pvcreate /dev/sdb3

  Physical volume "/dev/sdb3" successfully created.

以上就显示我们已经成功将sdb1设置成物理卷了,余下两个分区同样的操作。物理卷设置完成后,我们使用pvdisplay命令来查看一下

"/dev/sdb1" is a new physical volume of "2.00 GiB"

  --- NEW Physical volume ---

  PV Name              /dev/sdb1

  VG Name             

  PV Size              2.00 GiB

  Allocatable          NO

  PE Size              0 

  Total PE              0

  Free PE              0

  Allocated PE          0

  PV UUID              Lurfhs-9j4x-X1jJ-SKWL-iift-9s1e-SzPv3I

除了pvdisplay命令以外,还有pvs命令同样可以查看,且更加直观显示目前物理卷都有哪些。

[root@localhost ~]# pvs

  PV        VG    Fmt  Attr PSize  PFree

  /dev/sda2  centos lvm2 a--  <49.00g    0

  /dev/sdb1        lvm2 ---    2.00g  2.00g

  /dev/sdb2        lvm2 ---  10.00g 10.00g

  /dev/sdb3        lvm2 ---  20.00g 20.00g

接下来我们再创建卷组,使用vgcreate命令来创建,以下示例;

[root@localhost ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2

  Volume group "vg1" successfully created

[root@localhost ~]# pvdisplay


--- Physical volume ---

  PV Name              /dev/sdb1

  VG Name              vg1

  PV Size              2.00 GiB / not usable 4.00 MiB

  Allocatable          yes

  PE Size              4.00 MiB

  Total PE              511

  Free PE              511

  Allocated PE          0

  PV UUID              Lurfhs-9j4x-X1jJ-SKWL-iift-9s1e-SzPv3I


  --- Physical volume ---

  PV Name              /dev/sdb2

  VG Name              vg1

  PV Size              10.00 GiB / not usable 4.00 MiB

  Allocatable          yes

  PE Size              4.00 MiB

  Total PE              2559

  Free PE              2559

  Allocated PE          0

  PV UUID              mYNhe1-UP2E-6M37-6T27-hYK3-dQP5-1BKiBs

同样的可以使用vgs这个命令查看。

[root@localhost ~]# pvs

  PV        VG    Fmt  Attr PSize  PFree 

  /dev/sda2  centos lvm2 a--  <49.00g      0

  /dev/sdb1  vg1    lvm2 a--  <2.00g  <2.00g

  /dev/sdb2  vg1    lvm2 a--  <10.00g <10.00g

  /dev/sdb3        lvm2 ---  20.00g  20.00g

最有创建好了卷组之后我们就可以成功创建逻辑卷了,使用lvcreate命令来操作,以下示例;

-L:指定大小-n:设定名字

[root@localhost ~]# lvcreate -L 100M -n lv1 vg1

  Logical volume "lv1" created.

逻辑卷创建成功后我们就可以将它格式化了,格式类型为ext4

[root@localhost ~]# mkfs.ext4 /dev/vg1/lv1

mke2fs 1.42.9 (28-Dec-2013)

文件系统标签=

OS type: Linux

块大小=1024 (log=0)

分块大小=1024 (log=0)

Stride=0 blocks, Stripe width=0 blocks

25688 inodes, 102400 blocks

5120 blocks (5.00%) reserved for the super user

第一个数据块=1

接着我将它挂载到mnt的目录下。

[root@localhost ~]# mount /dev/vg1/lv1 /mnt/

[root@localhost ~]# df -h

文件系统                容量  已用  可用 已用% 挂载点

/dev/mapper/centos-root  44G  4.1G  40G  10% /

devtmpfs                3.9G    0  3.9G    0% /dev

tmpfs                    3.9G    0  3.9G    0% /dev/shm

tmpfs                    3.9G  8.7M  3.9G    1% /run

tmpfs                    3.9G    0  3.9G    0% /sys/fs/cgroup

/dev/sda1              1014M  143M  872M  15% /boot

tmpfs                    781M    0  781M    0% /run/user/0

/dev/mapper/vg1-lv1      93M  1.6M  85M    2% /mnt

接下来学习做一个扩容的操作,首先umount /mnt,然后在执行lvresize命令操作;

[root@localhost ~]# umount /mnt/

[root@localhost ~]# lvresize -L 200M /dev/vg1/lv1

[root@localhost ~]# e2fsck -f /dev/vg1/lv1

[root@localhost ~]# resize2fs /dev/vg1/lv1

[root@localhost ~]# !mount

mount /dev/vg1/lv1 /mnt/

[root@localhost ~]# df -h

文件系统                容量  已用  可用 已用% 挂载点

/dev/mapper/centos-root  44G  4.1G  40G  10% /

devtmpfs                3.9G    0  3.9G    0% /dev

tmpfs                    3.9G    0  3.9G    0% /dev/shm

tmpfs                    3.9G  8.7M  3.9G    1% /run

tmpfs                    3.9G    0  3.9G    0% /sys/fs/cgroup

/dev/sda1              1014M  143M  872M  15% /boot

tmpfs                    781M    0  781M    0% /run/user/0

/dev/mapper/vg1-lv1      190M  1.6M  175M    1% /mnt

可以看到,现在lv1 的容量 已经变成了190M了,这个时候我们可以看下mnt目下的文件是否还在是否有丢失,


接下来学习缩容的操作,xfs格式的类型是不支持缩容的

umount /mnt,然后在检查磁盘错误,接着更新逻辑卷信息(比方指定为100M),最后重置逻辑卷的大小

[root@localhost ~]# umount /mnt

[root@localhost ~]# e2fsck -f /dev/vg1/lv1

[root@localhost ~]# resize2fs /dev/vg1/lv1 100M

[root@localhost ~]# lvresize -L 100M /dev/vg1/lv1

[root@localhost ~]# mount /dev/vg1/lv1 /mnt/

[root@localhost ~]# df -h

文件系统                容量  已用  可用 已用% 挂载点

/dev/mapper/centos-root  44G  4.1G  40G  10% /

devtmpfs                3.9G    0  3.9G    0% /dev

tmpfs                    3.9G    0  3.9G    0% /dev/shm

tmpfs                    3.9G  8.7M  3.9G    1% /run

tmpfs                    3.9G    0  3.9G    0% /sys/fs/cgroup

/dev/sda1              1014M  143M  872M  15% /boot

tmpfs                    781M    0  781M    0% /run/user/0

/dev/mapper/vg1-lv1      93M  1.6M  85M    2% /mnt


磁盘故障小案例

在之前我们学习的操作中有一节,我们操作了更改了fstab的配置文件,所以导致boot启动的时候检测不到路径所以出现的了故障,提示如下,每个人显示的结果存在差异;

这里我们先输入root用户的密码,然后更改fstab的配置文件即可

/dev/sdb1 /mnt xfs defaults 0 0

将这行删除

你可能感兴趣的:(lvm讲解/磁盘故障案例)