十六、lvm、磁盘故障小案例

lvm

物理卷:磁盘分区。

卷组:多个物理卷的集合。

逻辑卷:在卷组的基础上划分出来的逻辑卷。 最终在逻辑卷的基础上进行格式化,再挂载到系统里面去使用。

如何操作:

1.fdisk /dev/sdb

2.n 创建3个新分区,分别1G

3.t 改变分区类型为8e(lvm)

 设备 Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048     2099199     1048576   83  Linux

id:83。说明是普通的分区。

再输入命令t改为lvm,如下:

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

已选择分区 1

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

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

更改完以后,如下所示:

  设备 Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048     2099199     1048576   8e  Linux LVM

id:8e,system:Linux  LVM

只有这样才能做物理卷。

更改完以后w保存退出,再fdisk -l查看:

# fdisk -l

磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

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

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

磁盘标签类型:dos

磁盘标识符:0x000cd828

  设备 Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048      411647      204800   83  Linux

/dev/sda2          411648     8800255     4194304   82  Linux swap / Solaris

/dev/sda3         8800256    41943039    16571392   83  Linux

磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

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

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

磁盘标签类型:dos

磁盘标识符:0x3cb18b4e

  设备 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

可以看到三个分区都为lvm,id为8e。

创建物理卷,用命令pvcreate,后面跟分区名/dev/sdb1。

若没有该命令,安装lvm,命令:

yum install -y lvm

报没有这个软件包。

可以根据这个命令去搜索对应的软件包,命令:

# yum provides "/*/pvcreate"   (/表示根,*通配,再pvcreate)

已加载插件:fastestmirror

Loading mirror speeds from cached hostfile

* base: mirrors.sohu.com

* extras: mirrors.sohu.com

* updates: mirrors.sohu.com

base/7/x86_64/filelists_db                                                                                     | 6.7 MB  00:00:02    

extras/7/x86_64/filelists_db                                                                                   | 636 kB  00:00:00    

updates/7/x86_64/filelists_db                                                                                  | 3.5 MB  00:00:01    

1:bash-completion-2.1-6.el7.noarch : Programmable completion for Bash

源    :base

匹配来源:

文件名    :/usr/share/bash-completion/completions/pvcreate

7:lvm2-2.02.171-8.el7.x86_64 : Userland logical volume management tools

源    :base

匹配来源:

文件名    :/usr/sbin/pvcreate

查找到软件包为lvm2,再安装:

# yum install -y lvm2

再创建物理卷,发现没有这个文件:

# pvcreate /dev/sdb1

 Device /dev/sdb1 not found (or ignored by filtering).

ls一下/dev/sdb1,若没有这个目录,运行一下partprobe命令,再ls就会看到有这个文件了。一般创建完分区以后会自动生成这个文件。

再输入 pvcreate /dev/sdb1

会出现:WARNING: dos signature detected on /dev/sdb1 at offset 510. Wipe it? [y/n]:

输入y同意

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.

成功创建以后再将sdb2和sdb3创建。

pvdisplay命令:查看系统里的所有物理卷。

pvs命令:查看系统里的物理卷,更直观简洁。

# vgcreate vg1 /dev/sdb1 /dev/sdb2

vgcreate命令:创建卷组。后面先跟卷组名,再跟对应的多个物理卷名。

vgdisplay命令:查看物理卷组的信息。

vgs命令:查看物理卷组的信息。更简洁直观。

vgremove命令:删除卷组的命令。

有了卷组以后就可以创建逻辑卷了,使用命令:lvcreate。

# lvcreate -L 100M -n lv1 vg1      //-L指定大小,-n指定名字,再跟卷组名。

WARNING: ext4 signature detected on /dev/vg1/lv1 at offset 1080. Wipe it? [y/n]: y

 Wiping ext4 signature on /dev/vg1/lv1.

 Logical volume "lv1" created.

有了卷组以后就可以格式化了。命令:

# mkfs.ext4 /dev/vg1/lv1

格式化完成。再将它挂载到/mnt/下,命令:

# mount /dev/vg1/lv1 /mnt/

# df -h

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

/dev/sda3             16G  1.1G   15G    7% /

devtmpfs             903M     0  903M    0% /dev

tmpfs                912M     0  912M    0% /dev/shm

tmpfs                912M  8.6M  904M    1% /run

tmpfs                912M     0  912M    0% /sys/fs/cgroup

/dev/sda1            197M  113M   85M   58% /boot

tmpfs                183M     0  183M    0% /run/user/0

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

会发现文件名发生变化。可以ls查看一下,它们指向的是一个文件。

以上就是如何创建逻辑卷,格式化和挂载。

在/mnt/下先进行下列操作:

# mkdir /mnt/1212

# touch /mnt/1.txt

# echo "111111" > /mnt/1.txt

扩容逻辑卷

]# lvresize -L 200M /dev/vg1/lv1      //-L是指定新的大小,原来100M,现在200M。

 Size of logical volume vg1/lv1 changed from 100.00 MiB (25 extents) to 200.00 MiB (50 extents).

 Logical volume vg1/lv1 successfully resized.

再第二步,检查一下这个磁盘有没有问题。

# e2fsck -f /dev/vg1/lv1(ext4执行)

第三步,更新逻辑卷信息。

# resize2fs /dev/vg1/lv1(ext4执行)

# xfs_growfs /dev/vg1/lv1(xfs执行)

ext4需要卸载,xfs不需要卸载。

缩减逻辑卷(xfs不支持)

第一步:umount

第二步,检查磁盘问题。# e2fsck -f /dev/vg1/lv1

第三步,# resize2fs /dev/vg1/lv1 100M(更新逻辑卷信息)

第四步,重新设置卷大小,# lvresize -L 100M /dev/vg1/lv1

lvdisplay命令:查看逻辑卷大小。

lvs命令:查看逻辑卷大小。更简洁。

扩容卷组:vgextend

# vgextend vg1 /dev/sdb3

再重新设置卷的大小# lvresize

先扩容卷组,再扩容逻辑卷。

磁盘故障小案例

十六、lvm、磁盘故障小案例_小案例十六、lvm、磁盘故障小案例_磁盘故障_02

磁盘挂载出现问题,不能正常的挂载到挂载点。

编辑/etc/fstab将没有错误的挂载信息删除。保存再重启即可。