lvm讲解 和磁盘故障小案例

9月27日任务

4.10/4.11/4.12 lvm讲解

4.13 磁盘故障小案例

 

4.10/4.11/4.12 lvm讲解

LVM讲解

LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。

LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上层服务的是以逻辑卷的方式。

LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。

基本的逻辑卷管理概念:

PV(Physical Volume)- 物理卷 

物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。

VG(Volumne Group)- 卷组 

卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。

LV(Logical Volume)- 逻辑卷 

逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。

关系图如下:257ca09e511befba5de585d993e76dbf02b.jpg

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 的各项格式功能,因此这个限制已经不存在了。

171413298796356.gif

具体参考链接 :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
#如何扩容逻辑卷
1、lvresize -L 300M /dev/vg1/lv1   重新设置卷大小
2、e2fsck -f /dev/vg1/lv1  检查磁盘错误 (ext4执行)
3、resize2fs /dev/vg1/lv1  更新逻辑卷(ext4执行)
4、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格式不支持)
1、先umount 
2、efsck -f /dev   /vg1/lv1    检查磁盘错误  (ext)
3、resize2fs /dev/vg1/lv1 100M      更新逻辑卷信息(ext)
4、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(下)

#如何扩展卷组

1、fdisk /dev/sdb   新增/dev/sdb5 (逻辑分区8e)   2G
2 、pvcreate /dev/sdb5     #创建物理卷
3 、vgextend vg1 /dev/sdb5
4、 lvresize -L 100M /dev/vg1/lv1  重新设置卷大小

 

4.13 、磁盘故障小案例

#修改配置文件fstab配置文件后,登陆界面遇到这个问题,进如配置文件删除修改配置就可以了。

97b210a8bc1a29b1cf9f472b7118079604b.jpg

 

 

 

 

 

转载于:https://my.oschina.net/u/3959708/blog/2209378

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值