目录
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.