文章目录
问题描述
-
我们云上有一个虚拟机资源,虚拟机有一个外挂盘。
- 已经对虚拟机的外挂盘化好lv分区和挂载并记录挂载信息【没有写到fstab】
- 现虚拟机系统重装,导致
lsblk
看不到lv分区信息,lvdisplay
看到的LV status状态为NOT available【简单来说就是lv不可用了】 - 所以现在需要处理上面的问题。
-
另外一个问题是swap空间重装系统后再挂载【这个简单】。
-
处理过程如下。
系统重装后lv空间再挂载流程
系统重装前的挂载信息
- 资源分配时,划分的外挂盘,做好分区是这个样子的【lsblk看到的信息】
系统重装后处理流程
系统重装重新挂载外挂盘后的情况【lsblk和lvdisplay命令说明】
- 当系统重装后,重新挂载外挂盘发现lsblk看不到上图中的lv分区信息了。
- 因为我这个系统是最小化安装的,所以并不支持lvm命令,需要安装lvm2,然后就可以看到之前的分区信息了
安装前需要先配置yum源:yum -y install lvm2
[root@xz-ras-data yum.repos.d]# yum -y install lvm2
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
。。。大量输出
Complete!
[root@xz-ras-data yum.repos.d]# lsblk # 重装后vdb2看不到lv分区属于不正常现象
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 478K 0 rom
vda 253:0 0 300G 0 disk
└─vda1 253:1 0 300G 0 part /
vdb 253:16 0 1.5T 0 disk
├─vdb1 253:17 0 32G 0 part [SWAP]
└─vdb2 253:18 0 1.5T 0 part
loop0 7:0 0 4.4G 0 loop /centos
[root@xz-ras-data yum.repos.d]#
[root@xz-ras-data yum.repos.d]# vgs
VG #PV #LV #SN Attr VSize VFree
vgdata 1 5 0 wz--n- <1.47t <8.00g
[root@xz-ras-data yum.repos.d]#
[root@xz-ras-data yum.repos.d]# lvs # 这可以看到 那就证明分区还在。
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_arch vgdata -wi------- 140.00g
lv_bank_files vgdata -wi------- 120.00g
lv_boss_files vgdata -wi------- 150.00g
lv_data vgdata -wi------- 1000.00g
lv_ora vgdata -wi------- 86.00g
[root@xz-ras-data yum.repos.d]#
- 执行lvdisplay可以看到每个分区的详细路径。
注意,此时全部lv分区的LV status
的状态为NOT available
是不正常的,也用不了。
[root@xz-ras-data yum.repos.d]# lvdisplay
--- Logical volume ---
LV Path /dev/vgdata/lv_ora
LV Name lv_ora
VG Name vgdata
LV UUID KPhJPH-gFCr-ryB1-6NT0-d7M7-I3Ie-I99Sgy
LV Write Access read/write
LV Creation host, time xz-ras-data.novalocal, 2022-06-22 09:24:33 +0000
LV Status NOT available
LV Size 86.00 GiB
Current LE 22016
Segments 1
Allocation inherit
Read ahead sectors auto
--- Logical volume ---
LV Path /dev/vgdata/lv_boss_files
LV Name lv_boss_files
VG Name vgdata
LV UUID NQtu3d-hES9-vGPu-NIJb-XybO-1K9S-tGDolQ
LV Write Access read/write
LV Creation host, time xz-ras-data.novalocal, 2022-06-22 09:25:00 +0000
LV Status NOT available
LV Size 150.00 GiB
Current LE 38400
Segments 1
Allocation inherit
Read ahead sectors auto
--- Logical volume ---
LV Path /dev/vgdata/lv_data
LV Name lv_data
VG Name vgdata
LV UUID zgH6f8-Bxof-Cw9X-Ihlu-ePzf-o5DV-ewAmzn
LV Write Access read/write
LV Creation host, time xz-ras-data.novalocal, 2022-06-22 09:25:14 +0000
LV Status NOT available
LV Size 1000.00 GiB
Current LE 256000
Segments 1
Allocation inherit
Read ahead sectors auto
--- Logical volume ---
LV Path /dev/vgdata/lv_arch
LV Name lv_arch
VG Name vgdata
LV UUID G5fcJ2-KMgf-GaCK-ltCk-QFNR-q3tx-pevt1B
LV Write Access read/write
LV Creation host, time xz-ras-data.novalocal, 2022-06-22 09:25:32 +0000
LV Status NOT available
LV Size 140.00 GiB
Current LE 35840
Segments 1
Allocation inherit
Read ahead sectors auto
--- Logical volume ---
LV Path /dev/vgdata/lv_bank_files
LV Name lv_bank_files
VG Name vgdata
LV UUID n1jVOQ-7ToG-W1ML-B1uH-rcOz-chiR-TczjZH
LV Write Access read/write
LV Creation host, time xz-ras-data.novalocal, 2022-06-22 09:25:47 +0000
LV Status NOT available
LV Size 120.00 GiB
Current LE 30720
Segments 1
Allocation inherit
Read ahead sectors auto
[root@xz-ras-data yum.repos.d]#
状态为NOT available处理
- 其实重装后状态错误就是因为
/dev/mapper/
中的软连接没了,我们就手动激活这个lv,让系统自动生成lv软连接罢了
如下是我手动激活后的软连接信息,你系统重装后出现上面问题,是看不到下面软连接的。
[root@xz-ras-data ~]# cd /dev/mapper/
[root@xz-ras-data mapper]# ll
total 0
crw-------. 1 root root 10, 236 Jul 8 01:40 control
lrwxrwxrwx. 1 root root 7 Jul 8 02:05 vgdata-lv_arch -> ../dm-3
lrwxrwxrwx. 1 root root 7 Jul 8 02:05 vgdata-lv_bank_files -> ../dm-4
lrwxrwxrwx. 1 root root 7 Jul 8 02:05 vgdata-lv_boss_files -> ../dm-1
lrwxrwxrwx. 1 root root 7 Jul 8 02:05 vgdata-lv_data -> ../dm-2
lrwxrwxrwx. 1 root root 7 Jul 8 02:05 vgdata-lv_ora -> ../dm-0
[root@xz-ras-data mapper]#
- 手动激活命令:
vgchange -ay
【这个命令一般都会执行成功的,如果手动激活不得行,那么就得手动创建软连接,那工作量可就大了】
如下正常激活提示信息
[root@xz-ras-data yum.repos.d]# vgchange -ay
5 logical volume(s) in volume group "vgdata" now active
[root@xz-ras-data yum.repos.d]#
lsblk和lvdisplay验证
注意看代码后面注释说明
[root@xz-ras-data yum.repos.d]# lsblk # 如下,现在可以看到vdb下面的lv信息了
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 478K 0 rom
vda 253:0 0 300G 0 disk
└─vda1 253:1 0 300G 0 part /
vdb 253:16 0 1.5T 0 disk
├─vdb1 253:17 0 32G 0 part [SWAP]
└─vdb2 253:18 0 1.5T 0 part
├─vgdata-lv_ora 252:0 0 86G 0 lvm
├─vgdata-lv_boss_files 252:1 0 150G 0 lvm
├─vgdata-lv_data 252:2 0 1000G 0 lvm
├─vgdata-lv_arch 252:3 0 140G 0 lvm
└─vgdata-lv_bank_files 252:4 0 120G 0 lvm
loop0 7:0 0 4.4G 0 loop /centos
[root@xz-ras-data yum.repos.d]#
[root@xz-ras-data yum.repos.d]# lvdisplay # 可以看到下面所有lv的 LV Status状态为available了
--- Logical volume ---
LV Path /dev/vgdata/lv_ora
LV Name lv_ora
VG Name vgdata
LV UUID KPhJPH-gFCr-ryB1-6NT0-d7M7-I3Ie-I99Sgy
LV Write Access read/write
LV Creation host, time xz-ras-data.novalocal, 2022-06-22 09:24:33 +0000
LV Status available
# open 0
LV Size 86.00 GiB
Current LE 22016
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 252:0
--- Logical volume ---
LV Path /dev/vgdata/lv_boss_files
LV Name lv_boss_files
VG Name vgdata
LV UUID NQtu3d-hES9-vGPu-NIJb-XybO-1K9S-tGDolQ
LV Write Access read/write
LV Creation host, time xz-ras-data.novalocal, 2022-06-22 09:25:00 +0000
LV Status available
# open 0
LV Size 150.00 GiB
Current LE 38400
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 252:1
--- Logical volume ---
LV Path /dev/vgdata/lv_data
LV Name lv_data
VG Name vgdata
LV UUID zgH6f8-Bxof-Cw9X-Ihlu-ePzf-o5DV-ewAmzn
LV Write Access read/write
LV Creation host, time xz-ras-data.novalocal, 2022-06-22 09:25:14 +0000
LV Status available
# open 0
LV Size 1000.00 GiB
Current LE 256000
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 252:2
--- Logical volume ---
LV Path /dev/vgdata/lv_arch
LV Name lv_arch
VG Name vgdata
LV UUID G5fcJ2-KMgf-GaCK-ltCk-QFNR-q3tx-pevt1B
LV Write Access read/write
LV Creation host, time xz-ras-data.novalocal, 2022-06-22 09:25:32 +0000
LV Status available
# open 0
LV Size 140.00 GiB
Current LE 35840
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 252:3
--- Logical volume ---
LV Path /dev/vgdata/lv_bank_files
LV Name lv_bank_files
VG Name vgdata
LV UUID n1jVOQ-7ToG-W1ML-B1uH-rcOz-chiR-TczjZH
LV Write Access read/write
LV Creation host, time xz-ras-data.novalocal, 2022-06-22 09:25:47 +0000
LV Status available
# open 0
LV Size 120.00 GiB
Current LE 30720
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 252:4
[root@xz-ras-data yum.repos.d]#
正常挂载
- 然后对照之前的挂在路径创建文件挂载即可
下图为第一次挂载信息
- 现在重头挂载呢需要重创建挂载路径开始
[root@xz-ras-data yum.repos.d]# mkdir /ora
[root@xz-ras-data yum.repos.d]# mkdir /boss_files
[root@xz-ras-data yum.repos.d]# mkdir /data
[root@xz-ras-data yum.repos.d]# mkdir /arch
[root@xz-ras-data yum.repos.d]# mkdir /bank_files
[root@xz-ras-data yum.repos.d]#
- 然后开始依次挂载【可以看到这次的挂载信息和第一次的挂载信息有区别,属于正常现象】
注:mount 后面的lv路径以lvdisplay
中看到的为准。
[root@xz-ras-data yum.repos.d]# mount /dev/vgdata/lv_ora /ora
[root@xz-ras-data yum.repos.d]# mount /dev/vgdata/lv_boss_files /boss_files/
[root@xz-ras-data yum.repos.d]# mount /dev/vgdata/lv_data /data/
[root@xz-ras-data yum.repos.d]# mount /dev/vgdata/lv_arch /arch/
[root@xz-ras-data yum.repos.d]# mount /dev/vgdata/lv_bank_files /bank_files/
[root@xz-ras-data yum.repos.d]#
- 挂载完毕以后查看挂载信息【此时可以看到挂载路径多了个mapper了,属于正常现象】
[root@xz-ras-data yum.repos.d]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 16G 0 16G 0% /dev
tmpfs tmpfs 16G 0 16G 0% /dev/shm
tmpfs tmpfs 16G 25M 16G 1% /run
tmpfs tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/vda1 xfs 300G 5.3G 295G 2% /
tmpfs tmpfs 3.2G 0 3.2G 0% /run/user/0
/dev/loop0 iso9660 4.4G 4.4G 0 100% /centos
/dev/mapper/vgdata-lv_ora xfs 86G 3.9G 83G 5% /ora
/dev/mapper/vgdata-lv_boss_files xfs 150G 33M 150G 1% /boss_files
/dev/mapper/vgdata-lv_data xfs 1000G 33M 1000G 1% /data
/dev/mapper/vgdata-lv_arch xfs 140G 33M 140G 1% /arch
/dev/mapper/vgdata-lv_bank_files xfs 120G 33M 120G 1% /bank_files
[root@xz-ras-data yum.repos.d]#
- 数据验证
进入到之前有数据的任意目录,能看到内容则正常。
[root@xz-ras-data yum.repos.d]# cd /ora/
[root@xz-ras-data ora]# ls
enterprise.rsp product software
[root@xz-ras-data ora]#
系统重装后swap分区挂载
swap分区信息查看
- 系统重装之前我已经用外挂盘的空间划分好swap空间并挂载正常使用了
系统重装后swap分区肯定就没了,所以需要先确定自己的swap空间盘是哪个,然后确定该分区磁盘信息。 - 查看方式有2个
- 1、
lsblk
分区后面有个[SWAP]
- 2、
fdisk -l
分区信息后有个Linux swap / Solaris
- 查看这个的意义是为了确定分区磁盘信息,如下,得知,该swap磁盘是
/dev/vdb1
- 1、
[root@xz-ras-data ora]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 478K 0 rom
vda 253:0 0 300G 0 disk
└─vda1 253:1 0 300G 0 part /
vdb 253:16 0 1.5T 0 disk
├─vdb1 253:17 0 32G 0 part [SWAP] # 如这
└─vdb2 253:18 0 1.5T 0 part
├─vgdata-lv_ora 252:0 0 86G 0 lvm /ora
├─vgdata-lv_boss_files 252:1 0 150G 0 lvm /boss_files
├─vgdata-lv_data 252:2 0 1000G 0 lvm /data
├─vgdata-lv_arch 252:3 0 140G 0 lvm /arch
└─vgdata-lv_bank_files 252:4 0 120G 0 lvm /bank_files
loop0 7:0 0 4.4G 0 loop /centos
[root@xz-ras-data ora]# fdisk -l
Disk /dev/vda: 322.1 GB, 322122547200 bytes, 629145600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000940fd
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 629145566 314571759+ 83 Linux
Disk /dev/vdb: 1649.3 GB, 1649267441664 bytes, 3221225472 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xfcb78ee4
Device Boot Start End Blocks Id System
/dev/vdb1 2048 67110911 33554432 82 Linux swap / Solaris # 如这
/dev/vdb2 67110912 3221225471 1577057280 8e Linux LVM
Disk /dev/loop0: 4712 MB, 4712300544 bytes, 9203712 sectors
Units = sectors of 1 * 512 = 512 bytes
swap挂载
- swap挂载我们一般用永久挂载比较靠谱【避免重启后因swap没有自动挂载而导致程序出问题】
[root@xz-ras-data ora]# blkid # 复制swap磁盘的UUID【如这复制/dev/vdb2】
/dev/sr0: UUID="2022-07-07-17-25-26-00" LABEL="config-2" TYPE="iso9660"
/dev/vda1: UUID="6cd50e51-cfc6-40b9-9ec5-f32fa2e4ff02" TYPE="xfs"
/dev/vdb1: UUID="231504cf-fb09-4186-bf09-99c93ebde2b8" TYPE="swap"
/dev/vdb2: UUID="Uo5aNQ-qCLz-lGR1-0Akx-eDyD-iX5g-tiRdgB" TYPE="LVM2_member"
[root@xz-ras-data ora]# vi /etc/fstab # 编辑挂载文件
[root@xz-ras-data ora]# tail -n1 /etc/fstab # 写入如下信息【UUID是上面复制的哈,其他不变】
UUID=231504cf-fb09-4186-bf09-99c93ebde2b8 swap swap defaults 0 0
[root@xz-ras-data ora]#
[root@xz-ras-data ora]# swapon -a # 挂载 【必须用这个命令,如果报错了就是挂载文件编辑错误】
[root@xz-ras-data ora]#
验证
有swap空间了,则正常。
[root@xz-ras-data ora]# free -g
total used free shared buff/cache available
Mem: 31 0 26 0 4 30
Swap: 31 0 31
[root@xz-ras-data ora]#