1. lvm2介绍
1.1 安装lvm2
需要使用到命令: sudo pvcreate
可能会报错:sudo: pvcreate: command not found, 需要安装lvm2
sudo apt install lvm2
或者
sudo apt-get install lvm2
如果报错:Set the RESUME variable to override this.
解决系统Info:I: The initramfs will attempt to resume from /dev/sdxx I: (UUID=XXXX…)
1.2 lvm2相关命令
vgcreate # 创建卷组 volume group
vgextend # 扩展卷组
lvcreate # 创建逻辑卷 logical volume
lvscan # 扫描系统上的逻辑卷并显示
lvchange # 改变逻辑卷的属性比如激活or不激活
vgcfgbackup # 备份逻辑卷组的配置文件,Backup volume group configuration(s)
vgcfgrestore # 根据备份的逻辑卷组配置文件恢复逻辑卷, Restore volume group configuration
vgcfgbackup
vgcfgbackup - Backup volume group configuration(s)
vgcfgbackup
[ -f|--file String ]
[ --foreign ]
[ --ignorelockingfailure ]
[ --readonly ]
[ --reportformat basic|json ]
[ COMMON_OPTIONS ]
[ VG ... ]
Common options for lvm:
[ -d|--debug ]
[ -h|--help ]
[ -q|--quiet ]
[ -v|--verbose ]
[ -y|--yes ]
[ -t|--test ]
[ --commandprofile String ]
[ --config String ]
[ --driverloaded y|n ]
[ --nolocking ]
[ --lockopt String ]
[ --longhelp ]
[ --profile String ]
[ --version ]
Use --longhelp to show all options and advanced commands.
vgcfgrestore
vgcfgrestore - Restore volume group configuration
Restore VG metadata from last backup.
vgcfgrestore VG
[ COMMON_OPTIONS ]
Restore VG metadata from specified file.
vgcfgrestore -f|--file String VG
[ COMMON_OPTIONS ]
List all VG metadata backups.
vgcfgrestore -l|--list VG
[ COMMON_OPTIONS ]
List one VG metadata backup file.
vgcfgrestore -l|--list -f|--file String
[ COMMON_OPTIONS ]
[ VG ]
Common options for command:
[ -M|--metadatatype lvm2 ]
[ --force ]
Common options for lvm:
[ -d|--debug ]
[ -h|--help ]
[ -q|--quiet ]
[ -v|--verbose ]
[ -y|--yes ]
[ -t|--test ]
[ --commandprofile String ]
[ --config String ]
[ --driverloaded y|n ]
[ --nolocking ]
[ --lockopt String ]
[ --longhelp ]
[ --profile String ]
[ --version ]
Use --longhelp to show all options and advanced commands.
2.逻辑卷创建和挂载
2.1 查看硬盘
fdisk -l
2.2 创建物理卷
sudo pvcreate /dev/sdc
sudo pvcreate /dev/sdd
sudo pvcreate /dev/sde
sudo pvcreate /dev/sdf
2.3 创建卷组 volume group
例如卷组名为volume
sudo vgcreate volume /dev/sdc
2.4 添加物理卷到卷组
sudo vgextend volume /dev/sdb
sudo vgextend volume /dev/sde
sudo vgextend volume /dev/sdf
查看卷组:
sudo vgs
2.5 创建逻辑卷
例如逻辑卷名为lgvolume
# lvcreate -l [自定义分区大小] -n [自定义分区名称] [vg名称]
# 分区大小不能超过硬盘容量总和
#将10G空间分区
sudo lvcreate -l 10.0G -n lgvolume volume
#将全部空间分区
sudo lvcreate -l 100%VG -n lgvolume volume
2.6 分区格式化
# mkfs -t [文件系统] [分区位置]
sudo mkfs.ext4 /dev/volume/lgvolume
2.7 创建挂载目录
sudo mkdir /work1
2.8 挂载硬盘
sudo mount /dev/volume/lgvolume /work1
查看挂载结果
df -h
2.9 设置开机挂载
sudo vim /etc/fstab
# 在/etc/fstab文件末尾添加如下行:
/dev/volume/lgvolume /work1 ext4 defaults 0 0
3 可能遇到的问题
3.1 创建物理卷时,出现: Device /dev/sdc excluded by a filter.
3.1.1 问题
sudo pvcreate /dev/sdc
fdisk -l
发现/dev/sdc1竟然有了分区,而且有disklabel type 和 disk identifier。说明这磁盘不是“干净”的。
3.1.2 解决办法
需要擦除磁盘所有信息,变成生磁盘
wipefs -a -f /dev/sdc
可以看到/dev/sdc干净了
3.1.3 解决办法 (无效)
删除分区
fdisk /dev/sdc
d
# 输入要删除的分区id号,我这只有1个分区,所以自动删除了partition 1
w
更改分区表类型
parted /dev/sdc
# mklabel gpt或者mktable gpt
mktable gpt
q
3.2 误删除逻辑卷、重装系统后逻辑卷如何恢复
有时因为误操作或者重装系统,逻辑卷没被挂载了,甚至看不见了(/dev/中没有逻辑卷组),被删除了。
但不用太担心,只需两步就能恢复。
因为数据都是写在物理磁盘上的,卷组,逻辑卷等只是软件实现的,相当于一些配置信息,是以文件存在于服务器上的,这些文件一般都有备份,所以只要找到备份文件根据里面配置信息恢复一下,就能重新恢复卷组,逻辑卷等。最后重新挂载一下就好了。
3.2.1 确保安装lvm2(逻辑卷操作软件)
sudo apt install lvm2
3.2.2 找到逻辑卷配置文件
一般在/etc/lvm/backup/,比如/etc/lvm/backup/volume
cd /etc/lvm/backup/
3.2.3 恢复逻辑卷(关键命令vgcfgrestore)
使用上面找到的逻辑卷配置备份文件恢复逻辑卷配置
vgcfgrestore -f /etc/lvm/backup/volume volume
这条命令运行成功会输出: Restored volume group volume.
使用命令lvscan
来看系统上的逻辑卷情况。比如:
ACTIVE '/dev/volume/lgvolume' [14.55 TiB] inherit
如果不是 ACTIVE ,还需要激活一下
lvchange -ay /dev/volume/lgvolume
3.2.4 重新挂载
mount /dev/volume/lgvolume /work