OVF模板部署的linux虚拟机磁盘id是相同的,当同一个模板生成的虚拟机挂载虚拟机磁盘时就会遇到两个磁盘UUID相同的情况,导致系统启动后只能识别一个磁盘。这里介绍一下LVM分区的磁盘UUID相同的处理方法
(对于非lvm就更简单,直接参考《三、处理分区信息》修改uuid即可。)

一、查看磁盘信息
1.1 查看所有分区及uuid信息
(vg的名称为centos,有两个lv,分别是root和swap)
[root@centos7 ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs 85082005-65c6-476a-a996-0063d6c395fd
└─sda2 LVM2_member qtCH1O-JNWW-svVN-CF61-OOn7-LxvA-SyOlfs
├─centos-root xfs faf28794-0fba-4753-becf-d47f003630d1 /
└─centos-swap swap e5ca3ca9-0404-4887-b0bd-5a6ab4a6cf64 [SWAP]
sdb
├─sdb1 xfs 85082005-65c6-476a-a996-0063d6c395fd /boot
└─sdb2 LVM2_member qtCH1O-JNWW-svVN-CF61-OOn7-LxvA-SyOlfs
sr0

1.2 查看pv、vg、lv均提示“duplicate PVs were found”
[root@centos7 ~]# pvs
WARNING: Not using lvmetad because duplicate PVs were found.
WARNING: Use multipath or vgimportclone to resolve duplicate PVs?
WARNING: After duplicates are resolved, run "pvscan --cache" to enable lvmetad.
WARNING: Not using device /dev/sdb2 for PV qtCH1O-JNWW-svVN-CF61-OOn7-LxvA-SyOlfs.
WARNING: PV qtCH1O-JNWW-svVN-CF61-OOn7-LxvA-SyOlfs prefers device /dev/sda2 because device is used by LV.
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <39.00g 4.00m

二、激活vg
2.1 因为这两块磁盘(非多路径磁盘),所以使用vgimportclone处理
[root@centos7 ~]# vgimportclone -n newcentos /dev/sdb2
WARNING: Not using device /dev/sdb2 for PV qtCH1O-JNWW-svVN-CF61-OOn7-LxvA-SyOlfs.
WARNING: PV qtCH1O-JNWW-svVN-CF61-OOn7-LxvA-SyOlfs prefers device /dev/sda2 because device is used by LV.

2.2 启用pv
[root@centos7 ~]# pvscan --cache
[root@centos7 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <39.00g 4.00m
/dev/sdb2 newcentos lvm2 a-- <39.00g 4.00m
[root@centos7 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <39.00g 4.00m
newcentos 1 2 0 wz--n- <39.00g 4.00m

# 此时“newcentos”的两个lv状态为非active
[root@centos7 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <35.00g
swap centos -wi-ao---- <4.00g
root newcentos -wi------- <35.00g
swap newcentos -wi------- <4.00g
[root@centos7 ~]#

2.3 启用vg
# active newcentos(a:active 、y:yes、n:no)
[root@centos7 ~]# vgchange newcentos -ay
2 logical volume(s) in volume group "newcentos" now active

# 此时lv已经active
[root@centos7 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <35.00g
swap centos -wi-ao---- <4.00g
root newcentos -wi-a----- <35.00g
swap newcentos -wi-a----- <4.00g

三、处理分区信息
3.1 虽然vg显示已经正常了,但是挂载lv时依旧失败,日志提示的内容是uuid相同
[root@centos7 ~]# mount /dev/mapper/newcentos-root /mnt/
mount: wrong fs type, bad option, bad superblock on /dev/mapper/newcentos-root,
missing codepage or helper program, or other error
[root@centos7 ~]# dmesg |tail
[ 854.482564] XFS (dm-3): Filesystem has duplicate UUID faf28794-0fba-4753-becf-d47f003630d1 - can't mount

3.2 通过blkid或者lvdisplay查看uuid会发现“/dev/mapper/centos-root”和“newcentos-root”是一样的
[root@centos7 ~]# blkid
/dev/sda1: UUID="85082005-65c6-476a-a996-0063d6c395fd" TYPE="xfs"
/dev/sda2: UUID="qtCH1O-JNWW-svVN-CF61-OOn7-LxvA-SyOlfs" TYPE="LVM2_member"
/dev/sdb1: UUID="85082005-65c6-476a-a996-0063d6c395fd" TYPE="xfs"
/dev/sdb2: UUID="y09RBQ-B06M-8cOP-PR2I-X7k0-4OOw-gbl24f" TYPE="LVM2_member"
/dev/mapper/centos-root: UUID="faf28794-0fba-4753-becf-d47f003630d1" TYPE="xfs"
/dev/mapper/centos-swap: UUID="e5ca3ca9-0404-4887-b0bd-5a6ab4a6cf64" TYPE="swap"
/dev/mapper/newcentos-swap: UUID="e5ca3ca9-0404-4887-b0bd-5a6ab4a6cf64" TYPE="swap"
/dev/mapper/newcentos-root: UUID="faf28794-0fba-4753-becf-d47f003630d1" TYPE="xfs"

3.3 有两种方式处理
3.3.1 mount禁用uuid
mount -o nouuid /dev/mapper/newcentos-root /mnt

3.3.2 修改uuid
(xfs文件系统)
xfs_admin -U generate /dev/mapper/newcentos-root
Clearing log and setting UUID
writing all SBs

(ext2、3、4文件系统)
tune2fs /dev/sdc1 -U time
tune2fs 1.42.9 (28-Dec-2013)
clear clear the filesystem UUID
random generate a new randomly-generated UUID
time generate a new time-based UUID

# 再次挂载分区
[root@centos7 ~]# mount /dev/mapper/newcentos-root /mnt

Linux 硬盘UUID相同处理方法的更多相关文章

  1. 【转】linux shell实现随机数多种方法(date,random,uuid)

    在日常生活中,随机数实际上经常遇到,想丢骰子,抓阄,还有抽签.呵呵,非常简单就可以实现.那么在做程序设计,真的要通过自己程序设计出随机数那还真的不简单了.现在很多都是操作系统内核会提供相应的api,这 ...

  2. linux下硬盘uuid查看及修改设置

    查看硬盘UUID 方法一:ls -l /dev/disk/by-uuid方法二:blkid /dev/sdb1 修改硬盘UUID: uuidgen 会返回一个合法的 uuid,结合 tune2fs 可 ...

  3. Linux 硬盘挂载方法

    linux 硬盘分区,分区,删除分区,格式化,挂载,卸载笔记 硬盘挂载操作工作步骤: 1.先查看目前机器上有几块硬盘,查看命令有两种: 命令1:# fdisk –l 命令2:# dmesg | gre ...

  4. Linux下查看硬盘UUID和修改硬盘UUID(转)

    查看硬盘UUID: 1. ls -l /dev/disk/by-uuid 2. blkid /dev/sda5 修改硬盘UUID: 1.新建和改变分区的UUID sudo uuidgen | xarg ...

  5. linux硬盘的分区、格式化、挂载以及LVM

    linux硬盘的分区.格式化.挂载以及LVM   多块硬盘的组合: 硬盘分两种:ide和scsi. ide硬盘: /dev/hda 第一块IDE硬盘 /dev/hdb 第二块IDE硬盘 ... /de ...

  6. Linux 文件系统错误的修复方法 ddrescue替代dd的恢复软件 备用超级块

    Linux 文件系统错误的修复方法  ddrescue替代dd的恢复软件  备用超级块 最近处理的一件 linux 服务器断电导致文件系统启动后文件系统不可读写,数据不可用的案例,现总结下 Linux ...

  7. linux硬盘分区格式化及挂载

    1.硬盘的接口类型 硬盘的接口一般分为两种,一种是IDE并行接口,一种是SATA串行接口, 在linux上面IDE接口的硬盘被识别为/dev/hd[a-z]这样的设备,其中hdc表示光驱设备,这是因为 ...

  8. 修改虚拟机linux硬盘的大小

    一.概述 Ubuntu用了一段时间,系统已从原来的4G增长到8G,导致虚拟磁盘不够用,需要修改虚拟硬盘的大小. 但是,修改虚拟机硬盘的大小不像修改内存那么简单,操作一个滑动条就轻松搞定.要知道虚拟硬盘 ...

  9. Linux环境下Swap配置方法

    Linux环境下Swap配置方法 场景: 今天下午安装一个CentOS6.5操作系统,忘记配置swap分区.看看如何安装系统之后,增加和删除swap分区.方法如下:1.内存占用情况[root@josh ...

随机推荐

  1. CockroachDB学习笔记——[译]如何优化Go语言中的垃圾回收

    原文链接:https://www.cockroachlabs.com/blog/how-to-optimize-garbage-collection-in-go/ 原作者:Jessica Edward ...

  2. selenium3 web自动化测试框架 五: 数据驱动简介及基础使用

    1.数据驱动概述 相同的测试脚本使用不同的测试数据来执行,测试数据和测试行为完全分离,这样的测试脚本设计模式称为数据驱动.简单的理解为数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变.通过使 ...

  3. DOTS默认情况下的性能

    利用Unity全新的高性能多线程数据导向技术堆栈(DOTS),充分利用当今的多核处理器.您的游戏运行速度更快,您的代码更易于在其他项目中阅读和重用. 重建Unity的核心 我们正在使用高性能多线程数据 ...

  4. Hadoop学习笔记之二 文件操作

    HDFS分布式文件系统:优点:支持超大文件存储.流式访问.一次写入多次读取.缺点:不适应大量小文件.不适应低时延的数据访问.不适应多用户访问任意修改文件. 1.hadoop用于大数据处理,在数据量较小 ...

  5. Linux 下面安装 nginx 以及进行TCP反向代理、负载均衡的过程

    1. 下载安装nginx 注意 因为stream 并不是 nginx自带的module  所以需要 在安装是 通过 --with 的方式增加上. 下载必要的程序包 # openssl wget htt ...

  6. Linux系统忘记root密码,紧急模式下更改密码

    linux忘记密码命令概括: 1.开机按e,rd.break,ctrl+x: 2.mount  -o remount,rw /sysroot  3.chroot  /sysroot 4.passwd( ...

  7. Oulipo POJ - 3461(kmp,求重叠匹配个数)

    Problem Description The French author Georges Perec (1936–1982) once wrote a book, La disparition, w ...

  8. 基于TCP 协议的socket 简单通信

    DNS 服务器:域名解析 socket 套接字 : ​ socket 是处于应用层与传输层之间的抽象层,也是一组操作起来非常简单的接口(接受数据),此接口接受数据之后,交由操作系统 为什么存在 soc ...

  9. vue 安装插件

    import VueClipboard from 'vue-clipboard2' import MessagePlugin from '../message' import * as filters ...

  10. 基于AccessToken方式实现API设计

    一.举例说明: 需求: A.B机构需要调用X服务器的接口,那么X服务器就需要提供开放的外网访问接口. 分析: 1.开放平台提供者X,为每一个合作机构提供对应的appid.app_secret. 2.a ...