4.10/4.11/4.12 lvm讲解html
4.13 磁盘故障小案例node
4.10/4.11/4.12 lvm讲解linux
LVM讲解centos
LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是创建在硬盘和分区之上的一个逻辑层,来提升磁盘分区管理的灵活性。app
LVM的工做原理其实很简单,它就是经过将底层的物理硬盘抽象的封装起来,而后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,咱们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其经过对底层的硬盘进行封装,当咱们对底层的物理硬盘进行操做时,其再也不是针对于分区进行操做,而是经过一个叫作逻辑卷的东西来对其进行底层的磁盘管理操做。好比说我增长一个物理硬盘,这个时候上层的服务是感受不到的,由于呈现给上层服务的是以逻辑卷的方式。spa
LVM最大的特色就是能够对磁盘进行动态管理。由于逻辑卷的大小是能够动态调整的,并且不会丢失现有的数据。若是咱们新增长了硬盘,其也不会改变现有上层的逻辑卷。做为一个动态磁盘管理机制,逻辑卷技术大大提升了磁盘管理的灵活性。3d
基本的逻辑卷管理概念:orm
PV(Physical Volume)- 物理卷 htm
物理卷在逻辑卷管理中处于最底层,它能够是实际物理硬盘上的分区,也能够是整个物理硬盘,也能够是raid设备。blog
VG(Volumne Group)- 卷组
卷组创建在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组创建以后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中能够只有一个卷组,也能够拥有多个卷组。
LV(Logical Volume)- 逻辑卷
逻辑卷创建在卷组之上,卷组中的未分配空间能够用于创建新的逻辑卷,逻辑卷创建后能够动态地扩展和缩小空间。系统中的多个逻辑卷能够属于同一个卷组,也能够属于不一样的多个卷组。
关系图以下:
PE(Physical Extent)- 物理块
LVM 默认使用4MB的PE区块,而LVM的LV最多仅能含有65534个PE (lvm1 的格式),所以默认的LVM的LV最大容量为4M*65534/(1024M/G)=256G。PE是整个LVM 最小的储存区块,也就是说,其实咱们的资料都是由写入PE 来处理的。简单的说,这个PE 就有点像文件系统里面的block 大小。因此调整PE 会影响到LVM 的最大容量!不过,在 CentOS 6.x 之后,因为直接使用 lvm2 的各项格式功能,所以这个限制已经不存在了。
具体参考连接 :https://www.cnblogs.com/mchina/p/linux-centos-logical-volume-manager-lvm.html
命令(输入 m 获取帮助):p 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xfa4f00a2 设备 Boot Start End Blocks Id System /dev/sdb1 2048 2099199 1048576 83 Linux /dev/sdb2 2099200 4196351 1048576 83 Linux /dev/sdb3 4196352 6293503 1048576 83 Linux 命令(输入 m 获取帮助):t #t更改分区类型 分区号 (1-3,默认 3):1 Hex 代码(输入 L 列出全部代码):8e #8e表示lvm类型 已将分区“Linux”的类型更改成“Linux LVM” 命令(输入 m 获取帮助):p 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xfa4f00a2 设备 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 命令(输入 m 获取帮助):w #设置完毕保存退出 The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。 [root@zgxlinux-01 ~]# pvcreate /dev/sdb1 WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y #提示是否给ext4作签名 Wiping ext4 signature on /dev/sdb1. Physical volume "/dev/sdb1" successfully created. [root@zgxlinux-01 ~]# pvcreate /dev/sdb2 Physical volume "/dev/sdb2" successfully created. [root@zgxlinux-01 ~]# pvcreate /dev/sdb3 Physical volume "/dev/sdb3" successfully created. [root@zgxlinux-01 ~]# pvdisplay #显示物理卷属性 "/dev/sdb2" is a new physical volume of "1.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb2 VG Name PV Size 1.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 7tZ50T-CSyl-T3db-yWXk-i9Sm-efFo-W2jdzV "/dev/sdb1" is a new physical volume of "1.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb1 VG Name PV Size 1.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID F7yo1d-0SQb-HDuX-CxbJ-aYRT-3HGW-FAPKdv "/dev/sdb3" is a new physical volume of "1.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb3 VG Name PV Size 1.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID XEP3Z8-vAtL-4aNo-4SGq-jHzi-dkiT-4TGlGx [root@zgxlinux-01 ~]# pvdisplay -s #-s以短格式显示物理卷属性 Device "/dev/sdb2" has a capacity of 1.00 GiB Device "/dev/sdb1" has a capacity of 1.00 GiB Device "/dev/sdb3" has a capacity of 1.00 GiB
11 、lvm(中)
命令:vgcreate #建立卷组
[root@zgxlinux-01 ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2 #用两个物理卷建立一个卷组 Volume group "vg1" successfully created 命令:vgdisplay #查看卷组 或者: vgs [root@zgxlinux-01 ~]# vgdisplay --- Volume group --- VG Name vg1 System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 2 Act PV 2 VG Size 1.99 GiB PE Size 4.00 MiB Total PE 510 Alloc PE / Size 0 / 0 Free PE / Size 510 / 1.99 GiB VG UUID q3lCsU-Vsfv-RsAe-gb5n-ctve-v8e6-42CO86 [root@zgxlinux-01 ~]# vgs VG #PV #LV #SN Attr VSize VFree vg1 2 0 0 wz--n- 1.99g 1.99g [root@zgxlinux-01 ~]# lvcreate -L 100M -n lv1 vg1 #从vg1卷组中划分100M出来为逻辑卷并命名为lv1。 Logical volume "lv1" created. [root@zgxlinux-01 ~]# mkfs.ext4 /dev/vg1/lv1 #格式化lv1逻辑卷为ext4格式。 [root@zgxlinux-01 ~]# mount /dev/vg1/lv1 /mnt/ # 挂载到mnt下 [root@zgxlinux-01 ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda3 28G 1.2G 27G 5% / devtmpfs 481M 0 481M 0% /dev tmpfs 492M 0 492M 0% /dev/shm tmpfs 492M 7.5M 485M 2% /run tmpfs 492M 0 492M 0% /sys/fs/cgroup /dev/sda1 197M 102M 95M 52% /boot tmpfs 99M 0 99M 0% /run/user/0 /dev/mapper/vg1-lv1 93M 1.6M 85M 2% /mnt #如何扩容逻辑卷 一、lvresize -L 300M /dev/vg1/lv1 从新设置卷大小 二、e2fsck -f /dev/vg1/lv1 检查磁盘错误 (ext4执行) 三、resize2fs /dev/vg1/lv1 更新逻辑卷(ext4执行) 四、xf_growfs /dev/vg1/lv1 xfs文件系统须要执行 [root@zgxlinux-01 ~]# umount /mnt #首先卸载挂载 [root@zgxlinux-01 ~]# lvresize -L 300M /dev/vg1/lv1 #增长逻辑分区为300M New size (75 extents) matches existing size (75 extents). [root@zgxlinux-01 ~]# e2fsck -f /dev/vg1/lv1 #检查磁盘错误 e2fsck 1.42.9 (28-Dec-2013) 第一步: 检查inode,块,和大小 第二步: 检查目录结构 第3步: 检查目录链接性 Pass 4: Checking reference counts 第5步: 检查簇概要信息 /dev/vg1/lv1: 11/25688 files (9.1% non-contiguous), 8896/102400 blocks [root@zgxlinux-01 ~]# resize2fs /dev/vg1/lv1 #更新逻辑卷 resize2fs 1.42.9 (28-Dec-2013) Resizing the filesystem on /dev/vg1/lv1 to 307200 (1k) blocks. The filesystem on /dev/vg1/lv1 is now 307200 blocks long. [root@zgxlinux-01 ~]# mount /dev/vg1/lv1 /mnt/ #从新挂载 [root@zgxlinux-01 ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda3 28G 1.2G 27G 5% / devtmpfs 481M 0 481M 0% /dev tmpfs 492M 0 492M 0% /dev/shm tmpfs 492M 7.5M 485M 2% /run tmpfs 492M 0 492M 0% /sys/fs/cgroup /dev/sda1 197M 102M 95M 52% /boot tmpfs 99M 0 99M 0% /run/user/0 /dev/mapper/vg1-lv1 287M 2.0M 266M 1% /mnt #如何缩减逻辑卷 (xfs格式不支持) 一、先umount 二、efsck -f /dev /vg1/lv1 检查磁盘错误 (ext) 三、resize2fs /dev/vg1/lv1 100M 更新逻辑卷信息(ext) 四、lvresize -L 100M /dev/vg1/lv1 从新设置卷大小 [root@zgxlinux-01 ~]# umount /mnt [root@zgxlinux-01 ~]# e2fsck -f /dev/vg1/lv1 e2fsck 1.42.9 (28-Dec-2013) 第一步: 检查inode,块,和大小 第二步: 检查目录结构 第3步: 检查目录链接性 Pass 4: Checking reference counts 第5步: 检查簇概要信息 /dev/vg1/lv1: 11/75088 files (9.1% non-contiguous), 15637/307200 blocks [root@zgxlinux-01 ~]# resize2fs /dev/vg1/lv1 100M resize2fs 1.42.9 (28-Dec-2013) Resizing the filesystem on /dev/vg1/lv1 to 102400 (1k) blocks. The filesystem on /dev/vg1/lv1 is now 102400 blocks long. [root@zgxlinux-01 ~]# lvresize -L 100M /dev/vg1/lv1 WARNING: Reducing active logical volume to 100.00 MiB. THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce vg1/lv1? [y/n]: y Size of logical volume vg1/lv1 changed from 300.00 MiB (75 extents) to 100.00 MiB (25 extents). Logical volume vg1/lv1 successfully resized. [root@zgxlinux-01 ~]# lvdisplay --- Logical volume --- LV Path /dev/vg1/lv1 LV Name lv1 VG Name vg1 LV UUID 2KAD0z-Ion3-Pwz6-G8dZ-S7DZ-BARe-K9WjWr LV Write Access read/write LV Creation host, time zgxlinux-01, 2018-09-24 16:26:34 +0800 LV Status available # open 0 LV Size 100.00 MiB Current LE 25 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0 [root@zgxlinux-01 ~]# mount /dev/vg1/lv1 /mnt/ [root@zgxlinux-01 ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda3 28G 1.2G 27G 5% / devtmpfs 481M 0 481M 0% /dev tmpfs 492M 0 492M 0% /dev/shm tmpfs 492M 7.5M 485M 2% /run tmpfs 492M 0 492M 0% /sys/fs/cgroup /dev/sda1 197M 102M 95M 52% /boot tmpfs 99M 0 99M 0% /run/user/0 /dev/mapper/vg1-lv1 93M 1.6M 85M 2% /mnt
12 、lvm(下)
#如何扩展卷组
一、fdisk /dev/sdb 新增/dev/sdb5 (逻辑分区8e) 2G 2 、pvcreate /dev/sdb5 #建立物理卷 3 、vgextend vg1 /dev/sdb5 四、 lvresize -L 100M /dev/vg1/lv1 从新设置卷大小
4.13 、磁盘故障小案例
#修改配置文件fstab配置文件后,登录界面遇到这个问题,进如配置文件删除修改配置就能够了。