LVM讲解、磁盘故障小案例

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重启即可

转载于:https://my.oschina.net/yolks/blog/1832502

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值