文档章节

LVM讲解、磁盘故障小案例

蛋黄_Yolks
 蛋黄_Yolks
发布于 06/20 01:27
字数 2411
阅读 25
收藏 0

LVM

LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。

1.新建分区,更改类型为8e 即LVM

命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xd9bd4bfd

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   8e  Linux LVM

2.准备物理卷

yum查看pvcreate命令使用的哪个包

[root@yolks1 ~]# yum provides "/*/pvcreate"
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.neusoft.edu.cn
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.neusoft.edu.cn
base/7/x86_64/filelists_db                                            | 6.9 MB  00:00:01     
extras/7/x86_64/filelists_db                                          | 524 kB  00:00:00     
updates/7/x86_64/filelists_db                                         | 1.5 MB  00:00:00     
1:bash-completion-2.1-6.el7.noarch : Programmable completion for Bash
源    :base
匹配来源:
文件名    :/usr/share/bash-completion/completions/pvcreate



7:lvm2-2.02.177-4.el7.x86_64 : Userland logical volume management tools
源    :base
匹配来源:
文件名    :/usr/sbin/pvcreate

经过搜索得到如 lvm2 ,进行yum安装

yum install -y lvm2

找不到分完区的目录文件

[root@yolks1 ~]# ls /dev/sdb1
ls: 无法访问/dev/sdb1: 没有那个文件或目录

运行命令partprobe生成一下

[root@yolks1 ~]# partprobe
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
[root@yolks1 ~]# !ls
ls /dev/sdb1
/dev/sdb1

pvcreate创建物理卷

[root@yolks1 ~]# pvcreate /dev/sdb2
  Physical volume "/dev/sdb2" successfully created.

查看物理卷 pvdisplay

 "/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               nfbg36-Xi0d-s0cW-WaLX-u820-MFWM-Y8APz2
   
[root@yolks1 ~]# pvcreate /dev/sdb2
  Physical volume "/dev/sdb2" successfully created.
[root@yolks1 ~]# pvcreate /dev/sdb3
  Physical volume "/dev/sdb3" successfully created.
[root@yolks1 ~]# 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               9Swm6b-9Z3E-rj53-x3QJ-lWzG-0c3g-PAuEP6
   
  "/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               nfbg36-Xi0d-s0cW-WaLX-u820-MFWM-Y8APz2
   
  "/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               ug5Je9-d8DY-em51-0QTp-JOSr-rGvb-Rovl1r

pvs命令也可以查看物理卷

[root@yolks1 ~]# pvs
  PV         VG Fmt  Attr PSize PFree
  /dev/sdb1     lvm2 ---  1.00g 1.00g
  /dev/sdb2     lvm2 ---  1.00g 1.00g
  /dev/sdb3     lvm2 ---  1.00g 1.00g

3.创建物理卷组

创建并查看物理卷组

[root@yolks1 ~]# pvscan
  PV /dev/sdb2                      lvm2 [1.00 GiB]
  PV /dev/sdb1                      lvm2 [1.00 GiB]
  PV /dev/sdb3                      lvm2 [1.00 GiB]
  Total: 3 [3.00 GiB] / in use: 0 [0   ] / in no VG: 3 [3.00 GiB]
[root@yolks1 ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2
  Volume group "vg1" successfully created
[root@yolks1 ~]# 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               f0XIgn-N4a7-36Ye-LNR5-KK2K-rGVl-a5M7fj

也可以使用vgs查看卷组

[root@yolks1 ~]# vgs
  VG  #PV #LV #SN Attr   VSize VFree
  vg1   2   0   0 wz--n- 1.99g 1.99g

删除卷组:vgremove 卷组名

vgremove vg1

4.创建逻辑卷

[root@yolks1 ~]# lvcreate -L 100M -n lv1 vg1
  Logical volume "lv1" created.

5.格式化逻辑卷

格式化ext4

[root@yolks1 ~]# mkfs.ext4 /dev/vg1/lv1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=33685504
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

6.挂载

mount /dev/vg1/lv1 /mnt/

7.写入文件测试

[root@yolks1 ~]# mkdir /mnt/123qwe
[root@yolks1 ~]# echo "12345678" >> /mnt/1.txt
[root@yolks1 ~]# ls /mnt/
123qwe  1.txt  lost+found

8.ext4扩容逻辑卷

先卸载

[root@yolks1 ~]# umount /dev/vg1/lv1
[root@yolks1 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        18G  1.2G   17G    7% /
devtmpfs        902M     0  902M    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   84M   58% /boot
tmpfs           183M     0  183M    0% /run/user/0

扩容逻辑卷大小

lvresize -L 200M /dev/vg1/lv1

检查磁盘是否有错误

[root@yolks1 ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg1/lv1: 13/25688 files (7.7% non-contiguous), 8898/102400 blocks

更新逻辑卷大小信息

[root@yolks1 ~]# resize2fs /dev/vg1/lv1
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 204800 (1k) blocks.
The filesystem on /dev/vg1/lv1 is now 204800 blocks long.

重新挂载,查看逻辑卷大小已经变化

[root@yolks1 ~]# !mount
mount /dev/vg1/lv1 /mnt/
[root@yolks1 ~]# df -lh
文件系统             容量  已用  可用 已用% 挂载点
/dev/sda3             18G  1.2G   17G    7% /
devtmpfs             902M     0  902M    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   84M   58% /boot
tmpfs                183M     0  183M    0% /run/user/0
/dev/mapper/vg1-lv1  190M  1.6M  175M    1% /mnt

9.ext4缩容逻辑卷(xfs不支持)

umount卸载

[root@yolks1 ~]# !umount
umount /dev/vg1/lv1
[root@yolks1 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        18G  1.2G   17G    7% /
devtmpfs        902M     0  902M    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   84M   58% /boot
tmpfs           183M     0  183M    0% /run/user/0

检测逻辑卷

[root@yolks1 ~]# !e2fsck
e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg1/lv1: 13/49400 files (7.7% non-contiguous), 11886/204800 blocks

设置逻辑卷为50M

[root@yolks1 ~]# resize2fs /dev/vg1/lv1 50M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 51200 (1k) blocks.
The filesystem on /dev/vg1/lv1 is now 51200 blocks long.

重新设置卷大小

[root@yolks1 ~]# 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 200.00 MiB (50 extents) to 100.00 MiB (25 extents).
  Logical volume vg1/lv1 successfully resized.

查看新的逻辑卷大小

[root@yolks1 ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/vg1/lv1
  LV Name                lv1
  VG Name                vg1
  LV UUID                0XTELw-iDfN-YeiC-aeLf-IWZP-DdJo-fyPEXI
  LV Write Access        read/write
  LV Creation host, time yolks1, 2018-06-20 00:30:57 +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@yolks1 ~]# !mount
mount /dev/vg1/lv1 /mnt/
[root@yolks1 ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/sda3             18G  1.2G   17G    7% /
devtmpfs             902M     0  902M    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   84M   58% /boot
tmpfs                183M     0  183M    0% /run/user/0
/dev/mapper/vg1-lv1   45M  1.1M   40M    3% /mnt

10.重新格式化lv1逻辑分区为xfs

卸载

umount /mnt/

格式化为xfs格式

[root@yolks1 ~]# mkfs.xfs -f /dev/vg1/lv1
meta-data=/dev/vg1/lv1           isize=512    agcount=4, agsize=6400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=25600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

创建目录及文件测试

[root@yolks1 ~]# cd /mnt/
[root@yolks1 mnt]# ls
[root@yolks1 mnt]# touch test_create_xfs.file
[root@yolks1 mnt]# mkdir test_create
[root@yolks1 mnt]# ls
test_create  test_create_xfs.file

重新设置逻辑卷大小,xfs不需要挂载卸载

[root@yolks1 mnt]# lvresize -L 300M /dev/vg1/lv1
  Size of logical volume vg1/lv1 changed from 100.00 MiB (25 extents) to 300.00 MiB (75 extents).
  Logical volume vg1/lv1 successfully resized.
[root@yolks1 mnt]# lvs
  LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv1  vg1 -wi-a----- 300.00m                                                    
[root@yolks1 mnt]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        18G  1.2G   17G    7% /
devtmpfs        902M     0  902M    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   84M   58% /boot
tmpfs           183M     0  183M    0% /run/user/0

让逻辑卷大小生效的命令

[root@yolks1 ~]# xfs_growfs /dev/vg1/lv1
meta-data=/dev/mapper/vg1-lv1    isize=512    agcount=4, agsize=6400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=25600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 25600 to 76800
[root@yolks1 ~]# df -lh
文件系统             容量  已用  可用 已用% 挂载点
/dev/sda3             18G  1.2G   17G    7% /
devtmpfs             902M     0  902M    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   84M   58% /boot
tmpfs                183M     0  183M    0% /run/user/0
/dev/mapper/vg1-lv1  297M  5.5M  292M    2% /mnt

11.扩展卷组

添加lvm卷到卷组

[root@yolks1 ~]# vgextend vg1 /dev/sdb3
  Volume group "vg1" successfully extended
[root@yolks1 ~]# vgs
  VG  #PV #LV #SN Attr   VSize  VFree 
  vg1   3   1   0 wz--n- <2.99g <2.70g

磁盘故障小案例

另外一块磁盘不存在,但是配置文件/etc/fstab中又有挂载的配置,挂载出问题就导致这样的故障

  • 解决方法:

    • 输入root密码
    • 编辑/etc/fstab文件,删除掉 /dev/sdb的行(dd命令即可删除)原因是找不到

    • reboot重启即可

© 著作权归作者所有

蛋黄_Yolks
粉丝 8
博文 98
码字总数 109902
作品 0
通州
4.10 - 4.12 lvm讲解(上)(中)(下)4.13 磁盘故障小案例

4.10 - 4.12 lvm讲解(上)(中)(下) 4.13 磁盘故障小案例 4.10 - 4.12 lvm讲解(上)(中)(下) 如图: 2块硬盘 A硬盘划分了2个分区、B硬盘划分了1个分区 可以把3个分区组成一个物理卷...

JasonYan86
2017/07/04
0
0
2018.1.2 4周1次课

四周第一次课(1月2日) 4.10/4.11/4.12 lvm讲解 4.13 磁盘故障小案例 4.10/4.11/4.12 lvm讲解 LVM是 Logical Volume Manager(逻辑卷管理)的简写。LVM将一个或多个硬盘的分区在逻辑上集合,相...

eliters
01/02
0
0
lvm、磁盘故障

lvm讲解(上) 方便扩容和缩容磁盘空间,由于使用了lvm,如果文件系统发生损坏文件数据找不到了,要恢复数据的时候就想一下,首先硬盘划分了物理分区,物理分区的基础上划分了lvm,恢复起来麻...

Amandaluo
2017/11/06
0
0
linux CentOS 7 中LVM讲解配置实例及磁盘扩容等

一、 lvm讲解 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空...

fengyunshan911
2017/08/22
0
0
学习笔记十六

LVM讲解 一般流程:创建物理分区→物理卷→卷组→逻辑卷→格式化→挂载使用 准备磁盘分区 fdisk /dev/sdb n 创建三个新分区,分别1G t 改变分区类型为8e 创建物理卷 命令pvcreate(physical ...

风流花生
2017/11/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何通过 J2Cache 实现分布式 session 存储

做 Java Web 开发的人多数都会需要使用到 session (会话),我们使用 session 来保存一些需要在两个不同的请求之间共享数据。一般 Java 的 Web 容器像 Tomcat、Resin、Jetty 等等,它们会在...

红薯
今天
3
0
C++ std::thread

C++11提供了std::thread类来表示一个多线程对象。 1,首先介绍一下std::this_thread命名空间: (1)std::this_thread::get_id():返回当前线程id (2)std::this_thread::yield():用户接口...

yepanl
今天
3
0
Nignx缓存文件与动态文件自动均衡的配置

下面这段nginx的配置脚本的作用是,自动判断是否存在缓存文件,如果有优先输出缓存文件,不经过php,如果没有,则回到php去处理,同时生成缓存文件。 PHP框架是ThinkPHP,最后一个rewrite有关...

swingcoder
今天
2
0
20180920 usermod命令与用户密码管理

命令 usermod usermod 命令的选项和 useradd 差不多。 一个用户可以属于多个组,但是gid只有一个;除了gid,其他的组(groups)叫做扩展组。 usermod -u 1010 username # 更改用户idusermod ...

野雪球
今天
3
0
Java网络编程基础

1. 简单了解网络通信协议TCP/IP网络模型相关名词 应用层(HTTP,FTP,DNS等) 传输层(TCP,UDP) 网络层(IP,ICMP等) 链路层(驱动程序,接口等) 链路层:用于定义物理传输通道,通常是对...

江左煤郎
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部