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/sdb2
vg1是卷组名,后面接物理卷,一般是多个物理卷合并成一个卷组使用。后面还会讲到扩容卷组。可以用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逻辑卷扩容缩容
- 首先umount卸载逻辑卷
-
lvresize -L 200M /dev/vg1/lv1
设定逻辑卷大小 -
e2fsck -f /dev/vg1/lv1
检查磁盘是否有错误 -
resize2fs /dev/vg1/lv1
更新逻辑卷信息
缩减逻辑卷
- umount卸载逻辑卷
-
e2fsck -f /dev/vg1/lv1
检查磁盘是否有错误 -
resize2fs /dev/vg1/lv1 100M
更新逻辑卷信息 -
lvresize -L 100M /dev/vg1/lv1
设定逻辑卷大小
缩减逻辑卷顺序一定要注意,先更改逻辑卷信息再重设逻辑卷大小。
xfs扩容
xfs文件系统操作时不需要卸载。lvresize -L 300M /dev/vg1/lv1
重新设定大小,然后执行xfs_growfs /dev/vg1/lv1
使系统识别。需要注意的是xfs文件系统不支持缩容。
扩展卷组
逻辑卷使用完卷组空间,就需要扩展卷组。思路就是增加新的物理卷,然后把物理卷加入到卷组中,最后用lvresize命令增大逻辑卷空间。
- 使用fdisk工具新增/dev/sdb5分区,id修改为8e
- pvcreate /dev/sdb5 ,做成物理卷
- vgextend vg1 /dev/sdb5 ,加入到vg1卷组中
- lvresize -L 500M /dev/vg1/lv1 ,扩容
磁盘故障
lvm试验后重启进入emergency模式。这可能是磁盘挂载出现问题。vim etc/fstab
修改挂载配制,删掉试验用的lvm逻辑卷。然后重启正常进入系统。