mahonglin123456 发表于 2015-4-4 15:18:03

opennebula4.2管理vmware esxi问题汇总

  2013-11-04
  问题1:failed: cp: omitting directory '/vmfs/volumes/1/34c24021539b1bc16507e09ad4553f9b'
  Log:
  Mon Nov 4 15:01:39 2013 : New VM state is ACTIVE.
  Mon Nov 4 15:01:39 2013 : New VM state is PROLOG.
  Mon Nov 4 15:01:39 2013 : Command execution fail: /srv/cloud/one/var/remotes/tm/shared/clone nebula:/srv/cloud/one/var/datastores/1/34c24021539b1bc16507e09ad4553f9b esxi01:/vmfs/volumes/0/1/disk.0 1 1
  Mon Nov 4 15:01:39 2013 : clone: Cloning /vmfs/volumes/1/34c24021539b1bc16507e09ad4553f9b in esxi01:/vmfs/volumes/0/1/disk.0
  Mon Nov 4 15:01:39 2013 : clone: Command "cd /vmfs/volumes/0/1; cp /vmfs/volumes/1/34c24021539b1bc16507e09ad4553f9b /vmfs/volumes/0/1/disk.0" failed: cp: omitting directory '/vmfs/volumes/1/34c24021539b1bc16507e09ad4553f9b'
  Mon Nov 4 15:01:39 2013 : Error copying nebula:/srv/cloud/one/var/datastores/1/34c24021539b1bc16507e09ad4553f9b to esxi01:/vmfs/volumes/0/1/disk.0
  Mon Nov 4 15:01:39 2013 : ExitCode: 1
  Mon Nov 4 15:01:39 2013 : Error executing image transfer script: Error copying nebula:/srv/cloud/one/var/datastores/1/34c24021539b1bc16507e09ad4553f9b to esxi01:/vmfs/volumes/0/1/disk.0
  Mon Nov 4 15:01:39 2013 : New VM state is FAILED
  

  解决办法:
  nebula脚本代码中CP文件夹命令错误,缺少-r参数:
  $ vi/srv/cloud/one/var/remotes/tm/shared/clone
  其中一行:"cd $DST_DIR; cp $SRC_PATH $DST_PATH" \
  修改为:"cd $DST_DIR; cp -r $SRC_PATH $DST_PATH" \
  *************************************************************************************************
  

  问题2:Operation not permitted (running as non-root?)
  Log:

  
  Mon Nov 4 15:47:45 2013 : New VM state is ACTIVE.
  Mon Nov 4 15:47:45 2013 : New VM state is PROLOG.
  Mon Nov 4 15:48:02 2013 : New VM state is BOOT
  Mon Nov 4 15:48:02 2013 : Generating deployment file: /srv/cloud/one/var/vms/4/deployment.0
  Mon Nov 4 15:48:02 2013 : Command execution fail: /srv/cloud/one/var/remotes/vnm/vmware/pre PFZNPjxJRD40PC9JRD48VUlEPjA8L1...................
  Mon Nov 4 15:48:02 2013 : pre: Error executing: ((esxcfg-vswitch vSwitch0 -l|grep one-pg-0) || /sbin/esxcfg-vswitch vSwitch0 --add-pg one-pg-0); /sbin/esxcfg-vswitch vSwitch0 -p one-pg-0 --vlan=10 on host: err: Error during version check: Failed to get vmkernel version: Operation not permitted (running as non-root?)
  Mon Nov 4 15:48:02 2013 : Error during version check: Failed to get vmkernel version: Operation not permitted (running as non-root?)
  Mon Nov 4 15:48:02 2013 : Error during version check: Failed to get vmkernel version: Operation not permitted (running as non-root?)
  Mon Nov 4 15:48:02 2013 : ExitCode: 255
  Mon Nov 4 15:48:02 2013 : out:
  Mon Nov 4 15:48:02 2013 : ExitCode: 0
  Mon Nov 4 15:48:02 2013 : Failed to execute network driver operation: pre.
  Mon Nov 4 15:48:02 2013 : Error deploying virtual machine
  Mon Nov 4 15:48:02 2013 : New VM state is FAILED
  

  解决办法:
  esxi端使得普通用户拥有执行esxcfg-vswitch命令的权限:
  ~# chmod +s /sbin/esxcfg-vswitch
  *************************************************************************************************
  

  问题3:deploy: Error executing: virsh -c 'esx://esxi02/?no_verify=1&auto_answer=1' start one-8
  
  

  Log:
  Mon Nov 4 16:23:54 2013 : New VM state is ACTIVE.
  Mon Nov 4 16:23:54 2013 : New VM state is PROLOG.
  Mon Nov 4 16:24:11 2013 : New VM state is BOOT
  Mon Nov 4 16:24:11 2013 : Generating deployment file: /srv/cloud/one/var/vms/8/deployment.0
  Mon Nov 4 16:24:11 2013 : Successfully execute network driver operation: pre.
  Mon Nov 4 16:24:25 2013 : Command execution fail: /srv/cloud/one/var/remotes/vmm/vmware/deploy '/srv/cloud/one/var/vms/8/deployment.0' 'esxi02' 8 esxi02
  Mon Nov 4 16:24:25 2013 : deploy: Successfully defined domain one-8.
  Mon Nov 4 16:24:25 2013 : deploy: Error executing: virsh -c 'esx://esxi02/?no_verify=1&auto_answer=1' start one-8 err: ExitCode: 1
  Mon Nov 4 16:24:25 2013 : out:
  Mon Nov 4 16:24:25 2013 : error: Failed to start domain one-8
  Mon Nov 4 16:24:25 2013 : error: internal error Could not start domain: FileNotFound - File 8/disk.0/disk.vmdk was not found
  Mon Nov 4 16:24:25 2013 :
  Mon Nov 4 16:24:25 2013 : ExitCode: 1
  Mon Nov 4 16:24:25 2013 : Failed to execute virtualization driver operation: deploy.
  Mon Nov 4 16:24:25 2013 : Error deploying virtual machine
  Mon Nov 4 16:24:25 2013 : New VM state is FAILED
  

  解决办法:
  官方应用市场的ttylinux镜像命名存在一点问题,需要将ttylinux.vmdk名称改为disk.vmdk
  $ cd var/datastores/
  $ ls
  012
  $ cd 1/
  $ ls
  34c24021539b1bc16507e09ad4553f9b
  $ cd 34c24021539b1bc16507e09ad4553f9b/
  $ ls
  ttylinux-flat.vmdkttylinux.vmdk
  $ mv ttylinux.vmdk disk.vmdk
  $ ls
  disk.vmdkttylinux-flat.vmdk
  $
  *************************************************************************************************

  问题4:sh: /var/tmp/one/vmm/vmware/attach_disk: Permission denied
  Log:
  Wed Nov 6 14:34:51 2013 : Successfully execute transfer manager driver operation: tm_attach.
  Wed Nov 6 14:34:52 2013 : Remote worker node files not found
  Wed Nov 6 14:34:52 2013 : Updating remotes
  Wed Nov 6 14:35:10 2013 : Command execution fail: /var/tmp/one/vmm/vmware/attach_disk 'one-18' '/vmfs/volumes/0/18/disk.2' 'VMWare' '4' 'drv_message' 18 esxi02
  Wed Nov 6 14:35:10 2013 : sh: /var/tmp/one/vmm/vmware/attach_disk: Permission denied
  Wed Nov 6 14:35:10 2013 : ExitCode: 126
  Wed Nov 6 14:35:10 2013 : Failed to execute virtualization driver operation: attach_disk.
  Wed Nov 6 14:35:10 2013 : Error attaching new VM Disk
解决办法:
在oned.conf中修改Nebula默认脚本路径:
  SCRIPTS_REMOTE_DIR=/var/tmp/one
  修改为目前的脚本路径,比如:
  SCRIPTS_REMOTE_DIR=/srv/cloud/one/var/remotes
  *************************************************************************************************
  问题5:mkimage脚本文件
  Log:
  
  Thu Nov 7 15:17:40 2013 : Command execution fail: /srv/cloud/one/var/remotes/tm/shared/mkimage 256 vmdk_vmfs esxi02:/vmfs/volumes/0/36/disk.2 36 0
  Thu Nov 7 15:17:40 2013 : mkimage: Making filesystem of 256M and type vmdk_vmfs at esxi02:/vmfs/volumes/0/36/disk.2
  Thu Nov 7 15:17:40 2013 : mkimage: Command "export PATH=/usr/sbin:/sbin:$PATH
  Thu Nov 7 15:17:40 2013 : # export PATH=/usr/sbin:/sbin:/bin:/sbin:/usr/bin:/srv/cloud/one/bin:/usr/local/bin:/var/lib/gems/1.8/bin/:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/srv/cloud/one/bin
  Thu Nov 7 15:17:40 2013 : dd if=/dev/zero of=/vmfs/volumes/0/36/disk.2 bs=1 count=1 seek=256M
  Thu Nov 7 15:17:40 2013 : vmkfstools -U /vmfs/volumes/0/36/disk.2/disk.vmdk; rm -f /vmfs/volumes/0/36/disk.2/*; vmkfstools -c 256M -d thin /vmfs/volumes/0/36/disk.2/disk.vmdk" failed: 1+0 records in
  Thu Nov 7 15:17:40 2013 : 1+0 records out
  Thu Nov 7 15:17:40 2013 : Failed to delete virtual disk: Not a directory (1310729).
  Thu Nov 7 15:17:40 2013 : rm: cannot stat '/vmfs/volumes/0/36/disk.2/*': Not a directory
  Thu Nov 7 15:17:40 2013 : File_GetFreeSpace: Couldn't statfs /vmfs/volumes/0/36/disk.2/disk.vmdk
  Thu Nov 7 15:17:40 2013 : Failed to create virtual disk: One of the parameters supplied is invalid (1).
  Thu Nov 7 15:17:40 2013 : Could not create image /vmfs/volumes/0/36/disk.2
  Thu Nov 7 15:17:40 2013 : ExitCode: 255
  Thu Nov 7 15:17:40 2013 : Failed to execute transfer manager driver operation: tm_attach.
  Thu Nov 7 15:17:40 2013 : Error attaching new VM Disk: Could not create image /vmfs/volumes/0/36/disk.2
  解决办法:


[*]  mkimage: Command "export PATH=/usr/sbin:/sbin:$PATH

  修改/srv/cloud/one/var/remotes/tm/shared/mkimage文件,将export PATH=/usr/sbin:/sbin:\$PATH修改为export PATH=/usr/sbin:/sbin:$PATH
[*]  Failed to delete virtual disk: Not a directory (1310729).

      修改/srv/cloud/one/var/remotes/tm/shared/mkimage文件,修改如下:
  # CREATE_IMAGE="$DD if=/dev/zero of=$DST_PATH bs=1 count=1 seek=${SIZE}M"   //注销该行
  CREATE_IMAGE="mkdir -p $DST_PATH"            //插入改行,用于创建文件夹
  保存退出;
  *************************************************************************************************
  
问题6:为esxi虚拟机挂载磁盘时提示没有权限创建路径/srv
Log:
  省略
  解决办法:
  在esxi上以root登录执行:
  
  ~ # mkdir -p /srv/cloud/one/var/remotes
  ~ # chown oneadmin:cloud /srv/cloud/one/var/remotes
  其他(用于备忘):
  ~ # chmod +s /sbin/vmkfstools
  ~ # chmod +s /bin/vim-cmd
  *************************************************************************************************

  问题6:ESXi5.0的SNMP配置
  
  vicfg-snmp --server esxi01 --username root --password passwd123 --show
  vicfg-snmp --server esxi01 --username root --password passwd123 -c public
  vicfg-snmp --server esxi01 --username root --password passwd123 -t opennebula@162/public
  vicfg-snmp --server esxi01 --username root --password passwd123 --enable
  vicfg-snmp --server esxi01 --username root --password passwd123 --test
  
*************************************************************************************************

问题7:GenericVmConfigFault - Module DevicePowerOn power on failed
  


  Thu Nov 14 09:05:45 2013 : New VM state is ACTIVE.
  Thu Nov 14 09:05:45 2013 : New VM state is PROLOG.
  Thu Nov 14 09:10:44 2013 : New VM state is BOOT
  Thu Nov 14 09:10:44 2013 : Generating deployment file: /srv/cloud/one/var/vms/74/deployment.0
  Thu Nov 14 09:10:44 2013 : Successfully execute network driver operation: pre.
  Thu Nov 14 09:10:58 2013 : Command execution fail: /srv/cloud/one/var/remotes/vmm/vmware/deploy '/srv/cloud/one/var/vms/74/deployment.0' 'esxi02' 74 esxi02
  Thu Nov 14 09:10:58 2013 : deploy: Successfully defined domain one-74.
  Thu Nov 14 09:10:58 2013 : deploy: Error executing: virsh -c 'esx://esxi02/?no_verify=1&auto_answer=1' start one-74 err: ExitCode: 1
  Thu Nov 14 09:10:58 2013 : out:
  Thu Nov 14 09:10:58 2013 : error: Failed to start domain one-74
  Thu Nov 14 09:10:58 2013 : error: internal error Could not start domain: GenericVmConfigFault - Module DevicePowerOn power on failed.
  Thu Nov 14 09:10:58 2013 :
  Thu Nov 14 09:10:58 2013 :
  Thu Nov 14 09:10:58 2013 : ExitCode: 1
  Thu Nov 14 09:10:58 2013 : Failed to execute virtualization driver operation: deploy.
  Thu Nov 14 09:10:58 2013 : Error deploying virtual machine
  Thu Nov 14 09:10:58 2013 : New VM state is FAILED
  
解决办法:
当前磁盘使用的是sd模式,该模式改为hd,或者直接修改oned.conf也可。
*************************************************************************************************
问题8:disk.0/disk.vmdk was not found
  Thu Nov 14 13:01:03 2013 : New VM state is ACTIVE.
  Thu Nov 14 13:01:03 2013 : New VM state is PROLOG.
  Thu Nov 14 13:04:00 2013 : New VM state is BOOT
  Thu Nov 14 13:04:00 2013 : Generating deployment file: /srv/cloud/one/var/vms/85/deployment.0
  Thu Nov 14 13:04:01 2013 : Successfully execute network driver operation: pre.
  Thu Nov 14 13:04:15 2013 : Command execution fail: /srv/cloud/one/var/remotes/vmm/vmware/deploy '/srv/cloud/one/var/vms/85/deployment.0' 'esxi02' 85 esxi02
  Thu Nov 14 13:04:15 2013 : deploy: Successfully defined domain one-85.
  Thu Nov 14 13:04:15 2013 : deploy: Error executing: virsh -c 'esx://esxi02/?no_verify=1&auto_answer=1' start one-85 err: ExitCode: 1
  Thu Nov 14 13:04:15 2013 : out:
  Thu Nov 14 13:04:15 2013 : error: Failed to start domain one-85
  Thu Nov 14 13:04:15 2013 : error: internal error Could not start domain: FileNotFound - File 85/disk.0/disk.vmdk was not found
  Thu Nov 14 13:04:15 2013 :
  Thu Nov 14 13:04:15 2013 : ExitCode: 1
  Thu Nov 14 13:04:15 2013 : Failed to execute virtualization driver operation: deploy.
  Thu Nov 14 13:04:15 2013 : Error deploying virtual machine
  Thu Nov 14 13:04:15 2013 : New VM state is FAILED
  *************************************************************************************************

  
解决办法:
出现这类问题可能有两种原因:

[*]目录下不存在该文件,而存在vm-name-flat.vmdk和vm-name.vmdk,那么将vm-name.vmdk更改为disk.vmdk即可。
[*]目录下存在该文件,那么请确定是否改过vm-name-flat.vmdk的名字,如果改过会出现上述问题。

  如何导入esxi虚拟机:
  将esxi虚拟机的vm-name.vmdk命名为disk.vmdk,并将该文件和vm-name-flat.vmdk文件压缩,比如:

  # ls
  CentOS6.4_mini-00-flat.vmdkCentOS6.4_mini-00.vmdk
  # mv CentOS6.4_mini-00.vmdk disk.vmdk
  # ls
  CentOS6.4_mini-00-flat.vmdkdisk.vmdk
  # tar -jcvf ../CentOS6.4_mini-131114.tar.bz2 *
  *************************************************************************************************
  
问题9:为虚拟机添加Volatile Disk
现象:在nebula4.2环境中,为esxi虚拟机创建Volatile Disk的时候remotes/tm/shared/mkimage文件和remotes/vmm/vmware/attach_disk文件不匹配导致不能真确的创建和添加磁盘,同时由于磁盘格式不对,power off虚拟机后无法resume。
remotes/vmm/vmware/attach_disk添加配置文件的磁盘路径:
DISK_PATH="/vmfs/volumes/$DATASTORE/$VM_ID/$DISK_NAME/disk.vmdk"
  remotes/tm/shared/mkimage创建磁盘的名称和路径:

  CREATE_IMAGE="$DD if=/dev/zero of=$DST_PATH bs=1 count=1 seek=${SIZE}M"
  该命令只是在/vmfs/volumes/$DATASTORE/$VM_ID下创建一个$DISK_NAME磁盘文件,而attach_disk对应的$DISK_NAME是一个目录,该目录中的disk.vmdk才是真正的磁盘文件。其二,使用qemu-img查看磁盘类型显示是raw格式,非vmware的vmdk格式,所有要修改mkimage脚本使其在正确路径下创建磁盘并且是vmdk格式的磁盘。
  修改后的mkimage脚本:
  
  #!/bin/bash
  SIZE=$1
  FSTYPE=$2
  DST=$3
  

  VMID=$4
  DSID=$5
  

  if [ -z "${ONE_LOCATION}" ]; then
      TMCOMMON=/var/lib/one/remotes/tm/tm_common.sh
  else
      TMCOMMON=$ONE_LOCATION/var/remotes/tm/tm_common.sh
  fi
  

  . $TMCOMMON
  

  #-------------------------------------------------------------------------------
  # Set dst path and dir
  #-------------------------------------------------------------------------------
  DST_PATH=`arg_path $DST`
  DST_HOST=`arg_host $DST`
  DST_DIR=`dirname $DST_PATH`
  

  #-------------------------------------------------------------------------------
  # Make the new image (file-based)
  #-------------------------------------------------------------------------------
  # ssh_make_path $DST_HOST $DST_DIR
  

  MKDIR_CMD=`/bin/mkdir -p $DST_PATH`                     //创建目录
  CREATE_IMAGE="/usr/bin/qemu-img create -f vmdk $DST_PATH/disk.vmdk ${SIZE}M"               //使用qemu-img命令创建vmdk格式的disk.vmdk
  

  $MKDIR_CMD
  $CREATE_IMAGE
  

  log "Making filesystem of ${SIZE}M and type $FSTYPE at $DST"
  

  exit 0
  
替换原有mkimage脚本,并且创建/vmfs/目录指向存储目录:
  # ls
  011001011022
  # pwd
  /srv/cloud/one/var/datastores
  # mkdir /vmfs
  # chown oneadmin:cloud /vmfs
  # ln -s /srv/cloud/one/var/datastores   /vmfs/volumes
  *************************************************************************************************
  问题10:
  esxi新建用户需要执行一些命令,在esxi端要做的操作:
  
  chmod +s /sbin/vmkvsitools
  chmod +s /sbin/esxcfg-vswitch
  chmod +s /bin/vim-cmd
  chmod +s /sbin/mkdir
  *************************************************************************************************

  

  

  
页: [1]
查看完整版本: opennebula4.2管理vmware esxi问题汇总