SA Blog --系统管理员的博客生涯

书写自己的系统管理博客生涯
posts(330) comments(254) trackbacks(0)
  • IT博客
  • 联系
  • RSS 2.0 Feed 聚合
  • 管理

常用链接

  • 我的随笔
  • 我的评论
  • 我参与的随笔

留言簿

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔分类(395)

  • *UNIX系统(148)
  • Cloud(3)
  • Moive
  • Music(1)
  • OpenStack(7)
  • openstack
  • Wiki(1)
  • Windows系统(32)
  • 其他(33)
  • 娱乐
  • 存储相关(22)
  • 存储网络(10)
  • 常用工具下载(25)
  • 数据库应用技术(53)
  • 网络技术(41)
  • 英语
  • 虚拟化(19)

随笔档案(330)

  • 2020年9月 (1)
  • 2020年8月 (1)
  • 2020年7月 (8)
  • 2020年4月 (1)
  • 2020年2月 (1)
  • 2020年1月 (1)
  • 2019年9月 (2)
  • 2019年4月 (1)
  • 2016年1月 (1)
  • 2015年12月 (1)
  • 2015年7月 (4)
  • 2015年5月 (2)
  • 2014年3月 (2)
  • 2014年1月 (1)
  • 2013年12月 (1)
  • 2013年3月 (5)
  • 2013年2月 (4)
  • 2012年12月 (1)
  • 2012年11月 (2)
  • 2012年9月 (2)
  • 2012年8月 (1)
  • 2012年6月 (1)
  • 2012年5月 (1)
  • 2012年1月 (1)
  • 2011年12月 (2)
  • 2011年10月 (1)
  • 2011年9月 (3)
  • 2011年8月 (1)
  • 2011年7月 (5)
  • 2011年6月 (3)
  • 2011年5月 (5)
  • 2011年4月 (2)
  • 2011年3月 (2)
  • 2011年2月 (1)
  • 2011年1月 (5)
  • 2010年12月 (1)
  • 2010年11月 (4)
  • 2010年9月 (13)
  • 2010年8月 (4)
  • 2010年7月 (5)
  • 2010年6月 (5)
  • 2010年5月 (13)
  • 2010年4月 (10)
  • 2010年3月 (5)
  • 2010年2月 (1)
  • 2010年1月 (9)
  • 2009年12月 (5)
  • 2009年11月 (5)
  • 2009年10月 (1)
  • 2009年9月 (3)
  • 2009年8月 (2)
  • 2009年7月 (6)
  • 2009年6月 (3)
  • 2009年5月 (2)
  • 2009年4月 (1)
  • 2009年3月 (2)
  • 2009年2月 (3)
  • 2008年12月 (3)
  • 2008年11月 (1)
  • 2008年10月 (9)
  • 2008年9月 (5)
  • 2008年8月 (3)
  • 2008年7月 (1)
  • 2008年6月 (1)
  • 2008年5月 (2)
  • 2008年4月 (1)
  • 2008年3月 (1)
  • 2008年2月 (3)
  • 2008年1月 (1)
  • 2007年12月 (5)
  • 2007年11月 (1)
  • 2007年10月 (6)
  • 2007年9月 (4)
  • 2007年8月 (4)
  • 2007年7月 (34)
  • 2007年6月 (1)
  • 2007年4月 (2)
  • 2007年3月 (1)
  • 2007年2月 (1)
  • 2006年11月 (1)
  • 2006年9月 (4)
  • 2006年8月 (4)
  • 2006年7月 (1)
  • 2006年6月 (10)
  • 2006年5月 (3)
  • 2006年4月 (14)
  • 2006年2月 (6)
  • 2006年1月 (6)
  • 2005年12月 (12)

收藏夹(5)

  • Other(5)

IT技术

  • MSDN 库(中文)
  • 欢迎使用 MSDN 库(中文),MSDN 库为使用 Microsoft® 工具、产品、技术和服务的开发人员提供必不可少的信息资源。MSDN 库包含操作方法和参考文档、示例代码、技术文章和其他内容。请浏览目录或使用搜索功能来查找所需内容。

健康

  • 体检咨询
  • 北京体检 体检咨询
  • 足医生
  • 足医生

友情链接

  • TestLink中文论坛
  • Testlink 中文论坛
  • 备案专题
  • 备案专题
  • 微软大中华区安全博客
  • 微软大中华区安全博客

存储技术

  • doit存储
  • doit 存储,存储热门论坛
  • ITPUB
  • Oracle DBA 热门中文社区
  • TechTarget IT专家网
  • 蓝德科技

网络技术

  • ChinaUnix 中文社区
  • ChinaUnix 热门中文社区

搜索

  •  

最新评论

  • 1. re: 吐槽一下阿里系软件,就是天天的升级???
  • 评论内容较长,点击标题查看
  • --David
  • 2. re: Symantec Backup exec system recovery 2010(BESR 2010)故障汇总
  • 评论内容较长,点击标题查看
  • --112
  • 3. re: OpenStack安装部署管理中常见问题解决方法(OpenStack-Lite-FAQ)
  • /home/stack/devstack/tools/worlddump.py -d /home/stack/logs
    求救这是什么问题啊。
  • --陈晓龙
  • 4. re: nokia 手机密码忘记后破解
  • nokia 2630,密码不见,恳请帮忙,谢谢
    串号:355219037959407
    lipolipo@gmail.com
  • --沈同学
  • 5. re: chroot 工具 jailkit 限制用户 活动范围 和 权限 _ 笔记
  • 是一个很好的工具嘛。感谢分享。
  • --少林功夫好

阅读排行榜

评论排行榜

View Post

在VMWare ESX上重新加载旧的Datastore

这篇文章的背景问题在上一篇文章(“LVM.DisallowSnapshotLun” Problem when Migrating a Datastore on VMWare ESX Server)里提到了——当时不知道取什么题目好,当然现在还不是很清楚,不过会明确一点了,就是将Datastore的LUN调整成其它值(unpresent&&present)了以后,ESX就没法把这个识别到的LUN作为Datastore了。

系统日志vmkernel里有显示一些经常出现的信息:

Dec 25 13:21:55 vm0 vmkernel: 229:02:33:19.877 cpu7:1037)WARNING: LinSCSI: 4524: The physical media represented by vmhba2:0:2 has changed. The device has been re-synchronized with the system.

Dec 25 14:53:57 vm0 vmkernel: 0:00:01:56.956 cpu6:1038)LVM: ValidateDevice: [vmhba3:0:1:1] Mismatch between stored disk ID and actual disk ID
Dec 25 14:53:57 vm0 vmkernel: 0:00:01:56.966 cpu6:1038)LVM: CheckDevSnapshot: Device vmhba3:0:1:1 is a snapshot:
Dec 25 14:53:57 vm0 vmkernel: 0:00:01:56.973 cpu6:1038)LVM: CheckDevSnapshot: disk ID: <type 2, len 22, lun 1, devType 0, scsi 6, h(id) 16169674206390955907>
Dec 25 14:53:57 vm0 vmkernel: 0:00:01:56.984 cpu6:1038)LVM: CheckDevSnapshot: m/d disk ID: <type 2, len 22, lun 2, devType 0, scsi 6, h(id) 16169674206390955907>
Dec 25 14:53:57 vm0 vmkernel: 0:00:01:56.997 cpu6:1038)LVM: ValidateDevice: [vmhba3:0:1:1] Mismatch between stored disk ID and actual disk ID
Dec 25 14:53:57 vm0 vmkernel: 0:00:01:57.008 cpu6:1038)LVM: ProbeDeviceInt: vmhba3:0:1:1 => Operation should be retried due to temporary error condition
Dec 25 14:53:57 vm0 vmkernel: 0:00:01:57.019 cpu6:1038)LVM: ValidateDevice: [vmhba3:0:1:1] Mismatch between stored disk ID and actual disk ID
Dec 25 14:53:57 vm0 vmkernel: 0:00:01:57.029 cpu6:1038)LVM: CheckDevSnapshot: Device vmhba3:0:1:1 is a snapshot:
Dec 25 14:53:57 vm0 vmkernel: 0:00:01:57.037 cpu6:1038)LVM: CheckDevSnapshot: disk ID: <type 2, len 22, lun 1, devType 0, scsi 6, h(id) 16169674206390955907>
Dec 25 14:53:57 vm0 vmkernel: 0:00:01:57.048 cpu6:1038)LVM: CheckDevSnapshot: m/d disk ID: <type 2, len 22, lun 2, devType 0, scsi 6, h(id) 16169674206390955907>
Dec 25 14:53:57 vm0 vmkernel: 0:00:01:57.061 cpu6:1038)LVM: ValidateDevice: [vmhba3:0:1:1] Mismatch between stored disk ID and actual disk ID
Dec 25 14:53:57 vm0 vmkernel: 0:00:01:57.070 cpu6:1038)WARNING: LVM: ProbeDeviceInt: [vmhba3:0:1:1] detected as a snapshot device. Disallowing access to the LUN since resignaturing is turned off.
Dec 25 15:53:05 vm0 vmkernel: 0:00:01:11.546 cpu7:1037)LVM: 5670: Device vmhba2:0:1:1 is a snapshot :
Dec 25 15:53:05 vm0 vmkernel: 0:00:01:11.546 cpu7:1037)LVM: 5676: disk ID: <type 2, len 22, lun 1, devType 0, scsi 6, h(id) 16169674206390955907>
Dec 25 15:53:05 vm0 vmkernel: 0:00:01:11.546 cpu7:1037)LVM: 5678: m/d disk ID: <type 2, len 22, lun 2, devType 0, scsi 6, h(id) 16169674206390955907>
Dec 25 15:53:05 vm0 vmkernel: 0:00:01:11.549 cpu7:1037)LVM: 5670: Device vmhba2:0:1:1 is a snapshot:
Dec 25 15:53:05 vm0 vmkernel: 0:00:01:11.549 cpu7:1037)LVM: 5676: disk ID: <type 2, len 22, lun 1, devType 0, scsi 6, h(id) 16169674206390955907>
Dec 25 15:53:05 vm0 vmkernel: 0:00:01:11.549 cpu7:1037)LVM: 5678: m/d disk ID: <type 2, len 22, lun 2, devType 0, scsi 6, h(id) 16169674206390955907>
Dec 25 15:53:06 vm0 vmkernel: 0:00:01:11.549 cpu7:1037)WARNING: LVM: 4844: [vmhba2:0:1:1] detected as a snapshot device. Disallowing access to the LUN since resignaturing is turned off .

按照我最后的理解,这部分信息应该是最重要的。其中被强调显示标记的说明了,volume的LUN更改以后Disk ID也发生了变化,这个和ESX里存储的Disk ID出现了不一致。由于Configuration-Advanced Settings里LVM.EnableResignaturing 这个开关被设置为0(turned off),ESX就把这个volume视作一个“新”的volume,而且是现有Datastore的snapshot而禁止加载。也正因此,可以通过把 LVM.DisallowSnapshotLun开关关闭,将这个可能是现有Datastore的snapshot的volume加载为一个新的 Datastore。这就是我对这个问题的理解。

至于什么是resignaturing呢?正常状态下, ESX的/vmfs/volumes/下面显示一些目录,这是现有的Datastore所对应的volume的挂载点(mount point),目录名就是volume在系统里的标志(我猜测就是Disk ID),例如:44b0d972-e8adad27-adee-00132165b7cb、44b65ab5-928b798d- fbb7-00132165b7cb。这些volumes可能是位于本地磁盘的VMFS的分区,也可能是位于SAN上的磁盘分区。对于添加的空白 volume,ESX会自动signature这个volume的一些信息,成为这个标识(即目录名),并挂载到/vmfs/volumns里;对于那些 非空白的,可能是其它Datastore的snapshot的volume,除非系统允许RE-signature,即重新signature信息,重新 挂载到ESX中。但是resignature后那个标识信息将不是原来的,而是新的了。换句话说要访问这个“新”的Datastore就要通过新的目录名 来访问了。

在/vmfs/volumes/下面还有一些以storage1之类的链接名,这些链接名就是VIC里面所看到的Datastore的名称。如果通过VIC将名称改了,链接名也马上发上改变。

知道问题的原理以后,也就知道该怎么解决了。具体详细的过程可以参考这篇文章(Resignaturing VMFS3 Volumes That Are Not Snapshots)。

在操作之前有几点要注意的:

  • VIC连接的最好是ESX本身的地址,而不是Virtual Center的地址;
  • 把所有的虚拟机停掉。把所有ESX启动后会自动开机的虚拟机改成不要自动开机,因为后面最好是重启一下;
  • 重启服务器的方法:通过VIC 右键点击具体的ESX Host选择reboot或者在登录服务器控制台执行reboot命令,而不要在SSH远程登录终端里halt(这样不能完全关闭,控制台显示已经halt了,但是SSH远程还是可以登录,VIC也还可以连接)

由于我之前用了DisallowSnapshotLun的办法,所以我认为的操作方法和文章提到的有点差别,具体是这样的:

  1. 将虚拟机停掉
  2. VIC连上ESX, 将LVM.DisallowSnapshotLun开关设置为1,将LVM.EnableResignaturing开关设置为1,Rescan,将 LVM.EnableResignaturing设置回0;(由于我实际上是连到VirtualCenter操作,并且rescan之前没有停掉虚拟机, 所以rescan之后原先的Datastore出现错误,同时VirtualCenter和ESX断开连接,只好重启一遍)
  3. ESX重启后,用VIC连上,在Configuration-Storage(SCSI, SAN and NFS)就可以看到以snap开头的一个新的DataStore了,可以将这个DataStore的名字改成自己喜欢的;
  4. 由于旧的DataStore已经失效或者说找不到了,虚拟主机列表里所有主机都显示为不可用,而且不能显示原先的名字;
  5. 重启ESX服务器,在操作系统内核选择菜单选择进入Console模式;
  6. 以root登录,查看/vmfs/volumes/下新的目录名(类似44b65ab5-928b798d-fbb7-00132165b7cb的磁盘信息),记下来;
  7. 修改/etc/vmware/hostd/vmInventory.xml文件(这个文件保存的是所有虚拟主机的配置文件路径),将位于已经失效的DataStore的volume上的虚拟机的配置路径(<<vmxCfgPath>)修改成现在的;
  8. 重启ESX服务器,进入正常状态,用VIC连上Virtual Center,可以看到现在虚拟机都回来了;
  9. 使用文章介绍的方法把失效的DataStore删除,如果无法删除可能是Virtual Machines里还有Template,就先把Template Remove from Inventory ;
  10. 将每台虚拟机启动一下,会出现关于UUID是要keep,还是renew的的时候,选择keep就好了;
  11. 最后就是将原先修改的自动开机的设置改回去。

目前这样就算是基本完成了,最后再补充几点:

  • 操作步骤里5,6,7所产生的效果就是可以将虚拟主机清单指向新的DataStore,而不用像文章里所说的一样,将虚拟主机Remove from Inventory,然后再从DataStore中浏览出来,Add to Inventory;
  • 步骤3,4其实可以不要,即直接重启到Console,修改好了以后再重启到正常状态(服务器重启一次要好久,大部分的时间都是浪费在等待重启上了)。

还需要解决的问题:

  • 如果能知道ESX是如果进行signature,以及signature后的结果是存放到哪里的,就可以直接在Console模式下去编辑配置文件修改原先的DataStore的Disk ID,就可以减少Add && Remove的操作了;
  • 如果能知道Template添加到Inventory后是保存到那个配置文件的话,就可以向修改vmInventory一样,直接修改Template的路径,而不用remove以后再Add,然后还要Convert to template。

posted on 2008-10-23 20:03 David 阅读(1675) 评论(0)  编辑 收藏 引用 所属分类: 虚拟化

 
Powered by:
IT博客
Copyright © David