Cinder 调试 - 无法挂载到虚拟机

时间:2024-09-14 08:33:26

1.问题


我们有时候在通过云主机挂载云硬盘的时候会出现挂载不上的问题。像这中问题有多种情况导致的。

看一下我遇到的两种情况。

1.权限问题

在cinder节点查看 /var/log/cinder/cinder-volume.log日志

Failed to write persistence file: /var/lib/cinder/volumes/volume-84332a56-2463-4c9a-81f6-1d0f41fd1c39

Original exception being dropped: ['Traceback (most recent call last):\n', '  File "/usr/local/lib/python2.7/dist-packages/cinder/utils.py", line 453, in robust_file_write\n    delete=False) as tf:\n', '  File "/usr/lib/python2.7/tempfile.py", line 462, in   NamedTemporaryFile\n    (fd, name) = _mkstemp_inner(dir, prefix, suffix, flags)\n', '  File "/usr/lib/python2.7/tempfile.py", line 239, in _mkstemp_inner\n    fd = _os.open(file, flags, 0600)\n', '  File "/usr/local/lib/python2.7/dist-packages/eventlet/green/os.py", line 109, in open\n    fd = __original_open__(file, flags, mode)\n', "OSError: [Errno 13] Permission denied: '/var/lib/cinder/volumes/volume-84332a56-2463-4c9a-81f6-1d0f41fd1c39aAZac6'\n"]

发现要挂载的卷信息所在的/var/lib/cinder/volumes/volume-84332a56-2463-4c9a-81f6-1d0f41fd1c39aAZac6目录 ,cinder-volume服务所在的用户cinder 无法进行读写操作,权限拒绝.查看该目录文件所在用户组:

Cinder 调试 - 无法挂载到虚拟机

发现不知道什么原因变为root的用户和用户组了,导致cinder用户无法进行读写操作。

改变该cinder文件夹的所属用户和用户组为cinder后

Cinder 调试 - 无法挂载到虚拟机

再重新执行虚拟机挂载命令后,可以重新挂载。

2.环境问题

在nova-compute的节点上的nova-compute.log中发现  no iscsi  protocol be found 错误,初步断定

是没有安装open-iscsi 和 tgt导致的,因为nova.conf配置的是iscsi_helper是tgtadm 。所以需要安装tgt和open-iscsi.如下命令

apt-get install tgt
  apt-get install open-iscsi

安装后  service tgt restart     service open-iscsi restart    service nova-compute restart 重启相关服务。

重新挂载云硬盘成功。