LVM技术详解

本文详细介绍了Linux LVM管理,包括分区转换为LVM、创建物理卷(PV)、卷组(VG)、逻辑卷(LV),以及使用、扩容、缩小LV,文件系统损坏后的修复和LV镜像操作。通过实例展示了如何动态调整存储资源,确保数据安全。
摘要由CSDN通过智能技术生成

目录

 1.划分分区

2.将分区设置为逻辑卷分区

3.创建pv

4.创建vg卷

5.创建lv

6.使用lv卷

7.逻辑卷空间扩容10g

8.缩小lv卷

9.文件系统损坏

10.镜像lvm


 1.划分分区

   

设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20973567    10485760   83  Linux
/dev/sdb2        20973568    41943039    10484736   83  Linux
 

2.将分区设置为逻辑卷分区

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

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

3.创建pv

[root@one ~]# pvcreate /dev/sdb1  ##将dev/sdb1变成pv卷

[root@one ~]# pvdisplay   ##查看pv卷

4.创建vg卷

[root@one ~]# vgcreate vg0 /dev/sdb1 ##将dev/sdb1加入vg0卷组
[root@one ~]# vgdisplay   ##查看vg卷

5.创建lv

[root@one ~]# lvcreate -L 2G -n date vg0 ##创建名为date的lv 卷 从vg拿出两个G

[root@one ~]# lgdisplay   ##查看lv卷

6.使用lv卷

[root@one ~]# mkfs.ext4 /dev/vg0/date   //格式化lv date卷 创建ext4分区

[root@one ~]# mkdir /ceshi                            ##创建挂载目录
[root@one ~]# mount /dev/vg0/date /ceshi      ##挂载

[root@one /]# vim /etc/fstab #永久挂载 线取消挂载ceshi  mount-a测试
/dev/vg0/date         /ceshi  ext4 defaults 0 0

7.逻辑卷空间扩容10g

[root@one /]# dd if=/dev/zero of=/ceshi/test1 bs=1M count=1700  #写入1700Mb文件
记录了1700+0 的读入
记录了1700+0 的写出
1782579200字节(1.8 GB)已复制,3.98164 秒,448 MB/秒
[root@one /]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 475M     0  475M    0% /dev
tmpfs                    487M     0  487M    0% /dev/shm
tmpfs                    487M  7.7M  479M    2% /run
tmpfs                    487M     0  487M    0% /sys/fs/cgroup
/dev/mapper/centos-root   37G  2.5G   34G    7% /
/dev/sda1                2.0G  138M  1.9G    7% /boot
tmpfs                     98M     0   98M    0% /run/user/0
/dev/mapper/vg0-date     2.0G  1.7G  128M   94% /ceshi
[root@one /]# pvcreate /dev/sdb2  ##vg只剩8g  所以需要新增设备增加存储

[root@one /]# vgextend vg0 /dev/sdb2 ##将sdb2新增到vg0  不能创建因为已经存在vg0
[root@one /]# vgdisplay  ##vg变成了20g 剩余18g
  --- Volume group ---
  VG Name               vg0
  System ID             
  Format                lvm2
  VG Size               19.99 GiB
  PE Size               4.00 MiB
  Total PE              5118
  Alloc PE / Size       512 / 2.00 GiB
  Free  PE / Size       4606 / 17.99 GiB
  VG UUID               5tWw5B-4Brg-pfjv-O6sW-W3dt-EQsf-NAJQuo

[root@one /]# lvextend -L +10G /dev/vg0/date  ##将lv卷组date 扩大10g 如果没有加

号就是扩到10g
  LV Size                12.00 GiB

[root@one /]# resize2fs /dev/vg0/date  ##ext4在线拉伸系统

                       xfs_growfs /dev/vg0/date ##这个为xfs文件的在线扩容命令  

[root@one /]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/vg0-date      12G  1.7G  9.6G   15% /ceshi

8.缩小lv卷

缩小是有风险的

1.卸载文件系统

[root@one /]# umount /ceshi

2.扫描文件系统(必须步骤)

[root@one /]# e2fsck -f /dev/vg0/date ##扫描文件系统

请确保文件系统已经卸载 否则文件系统损坏

3.缩小文件系统

[root@one /]# resize2fs /dev/vg0/date 7G  ##缩小文件系统7G

4.缩小逻辑卷

[root@one ceshi]# lvreduce -L 7G /dev/vg0/date ##lv缩小到7G ##如果一个+ -号是原来基础-6  不输代表减到6G

不能让逻辑卷比文件系统更小

[root@one ceshi]# mount -a
[root@one ceshi]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/vg0-date     6.9G  1.7G  4.9G   26% /ceshi

9.文件系统损坏

[root@one ceshi]# e2fsck -f /dev/vg0/date  ##扫描文件系统

[root@one ceshi]# resize2fs /dev/vg0/date 5G ##将文件系统设置为5g

[root@one ceshi]# lvreduce -L 4G /dev/vg0/date ##缩小逻辑卷4G
  WARNING: Reducing active logical volume to 4.00 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg0/date? [y/n]: y
  Size of logical volume vg0/date changed from 7.00 GiB (1792 extents) to 4.00 GiB (1024 extents).
  Logical volume vg0/date successfully resized.
[root@one ceshi]# mount -a
mount: 文件系统类型错误、选项错误、/dev/mapper/vg0-date 上有坏超级块、
       缺少代码页或助手程序,或其他错误

       有些情况下在 syslog 中可以找到一些有用信息- 请尝试
       dmesg | tail  这样的命令看看。

[root@one ceshi]# vgcfgrestore -l vg0  ##查看vg0的原数据  
  File:        /etc/lvm/archive/vg0_00005-359662906.vg
  VG name:        vg0
  Description:    Created *before* executing 'lvreduce -L 4G /dev/vg0/date'
  Backup Time:    Tue Sep  6 13:54:20 2022

  
  File:        /etc/lvm/backup/vg0
  VG name:        vg0
  Description:    Created *after* executing 'lvreduce -L 4G /dev/vg0/date'
  Backup Time:    Tue Sep  6 13:54:21 2022

[root@one ceshi]# vgcfgrestore -f /etc/lvm/archive/vg0_00005-359662906.vg vg0

##恢复到上一次的操作
[root@one ceshi]# vgchange -a n vg0
  0 logical volume(s) in volume group "vg0" now active
[root@one ceshi]# vgchange -a y vg0
  1 logical volume(s) in volume group "vg0" now active
[root@one ceshi]# mount /dev/vg0/date /ceshi/
[root@one ceshi]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/vg0-date     4.9G  1.7G  3.0G   36% /ceshi

10.镜像lvm

新建磁盘分区sdc1 10g

[root@one ceshi]# vgextend vg0 /dev/sdc1 ##将sdc1加入vg0卷组
  Volume group "vg0" successfully extended

[root@one ceshi]# lvconvert -m 1 /dev/vg0/date /dev/sdc1

##将dev/vg0/date镜像一份到dev/sdc1
Are you sure you want to convert linear LV vg0/date to raid1 with 2 images enhancing resilience? [y/n]: y
  Logical volume vg0/date successfully converted.

[root@one ceshi]# lsblk
sdb                         8:16   0   20G  0 disk 
├─sdb1                      8:17   0   10G  0 part 
│ ├─vg0-date_rmeta_0      253:6    0    4M  0 lvm  
│ │ └─vg0-date            253:5    0    9G  0 lvm  /ceshi
│ └─vg0-date_rimage_0     253:7    0    9G  0 lvm  
│   └─vg0-date            253:5    0    9G  0 lvm  /ceshi
└─sdb2                      8:18   0   10G  0 part 
sdc                         8:32   0   20G  0 disk 
└─sdc1                      8:33   0   10G  0 part 
  ├─vg0-date_rmeta_1      253:8    0    4M  0 lvm  
  │ └─vg0-date            253:5    0    9G  0 lvm  /ceshi
  └─vg0-date_rimage_1     253:9    0    9G  0 lvm  
    └─vg0-date            253:5    0    9G  0 lvm  /ceshi

[root@one ceshi]# lvconvert -m0 /dev/vg0/date /dev/sdb1
##将原来的逻辑卷拆掉

[root@one ceshi]# lsblk
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb                         8:16   0   20G  0 disk 
├─sdb1                      8:17   0   10G  0 part 
└─sdb2                      8:18   0   10G  0 part 
sdc                         8:32   0   20G  0 disk 
└─sdc1                      8:33   0   10G  0 part 
  └─vg0-date              253:5    0    9G  0 lvm  /ceshi

[root@one ceshi]# vgreduce vg0 /dev/sdb1 /dev/sdb2  ##移除vg0的dev/sdb1,2
  Removed "/dev/sdb1" from volume group "vg0"
[root@one ceshi]# pvremove /dev/sdb1      /dev/sdb2  ## 移除pv组的dev/sdb1,2
  Labels on physical volume "/dev/sdb1" successfully wiped.


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值