lvm讲解 和磁盘故障小案例

9月27日任务

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配置文件后,登录界面遇到这个问题,进如配置文件删除修改配置就能够了。

相关文章
相关标签/搜索