This is a multi-part message in MIME format.
--------------050907050300090009050805
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
OK, I have good news and bad news :)
Good news is that I can run different VM's on different nodes when all
of their drives are on FC Storage domain. I don't think that all of I/O
is running through SPM, but I need to test that. Simply put, for every
virtual disk that you create on the shared fc storage domain, ovirt will
present that vdisk only to the node wich is running the VM itself. They
all can see domain infrastructure (inbox,outbox,metadata) but the LV for
the virtual disk itself for that VM is visible only to the node that is
running that particular VM. There is no limitation (except for the free
space on the storage).
Bad news!
I can create the virtual disk on the fc storage for a vm, but when I
start the VM itself, node wich hosts the VM that I'm starting is going
non-operational, and quickly goes up again (ilo fencing agent checks if
the node is ok and bring it back up). During that time, vm starts on
another node (Default Host parameter was ignored - assigned Host was not
available). I can manualy migrate it later to the intended node, that
works. Lucky me, on two nodes (of the four) in the cluster, there were
no vm's running (i tried this on both, with two different vm's created
from scratch and i got the same result.
I've killed everything above WARNING because it was killing the
performance of the cluster. vdsm.log :
[code]
Thread-305::WARNING::2014-06-09
12:15:53,236::persistentDict::256::Storage.PersistentDict::(refresh)
data has no embedded checksum - trust it as it is
55809e40-ccf3-4f7c-aeec-802bc1c326a7::WARNING::2014-06-09
12:17:25,013::utils::129::root::(rmFile) File:
/rhev/data-center/a0500f5c-e8d9-42f1-8f04-15b23514c8ed/55338570-e537-412b-97a9-635eea1ecb10/images/90659ad8-bd90-4a0a-bb4e-7c6afe90e925/242a1bce-a434-4246-ad24-b62f99c03a05
already removed
55809e40-ccf3-4f7c-aeec-802bc1c326a7::WARNING::2014-06-09
12:17:25,074::blockSD::761::Storage.StorageDomain::(_getOccupiedMetadataSlots)
Could not find mapping for lv
55338570-e537-412b-97a9-635eea1ecb10/242a1bce-a434-4246-ad24-b62f99c03a05
Thread-305::WARNING::2014-06-09
12:20:54,341::persistentDict::256::Storage.PersistentDict::(refresh)
data has no embedded checksum - trust it as it is
Thread-305::WARNING::2014-06-09
12:25:55,378::persistentDict::256::Storage.PersistentDict::(refresh)
data has no embedded checksum - trust it as it is
Thread-305::WARNING::2014-06-09
12:30:56,424::persistentDict::256::Storage.PersistentDict::(refresh)
data has no embedded checksum - trust it as it is
Thread-1857::WARNING::2014-06-09
12:32:45,639::libvirtconnection::116::root::(wrapper) connection to
libvirt broken. ecode: 1 edom: 7
Thread-1857::CRITICAL::2014-06-09
12:32:45,640::libvirtconnection::118::root::(wrapper) taking calling
process down.
Thread-17704::WARNING::2014-06-09
12:32:48,009::libvirtconnection::116::root::(wrapper) connection to
libvirt broken. ecode: 1 edom: 7
Thread-17704::CRITICAL::2014-06-09
12:32:48,013::libvirtconnection::118::root::(wrapper) taking calling
process down.
Thread-17704::ERROR::2014-06-09
12:32:48,018::vm::2285::vm.Vm::(_startUnderlyingVm)
vmId=`2bee9d79-b8d1-4a5a-a4f7-8092d1c803d9`::The vm start process failed
Traceback (most recent call last):
File "/usr/share/vdsm/vm.py", line 2245, in _startUnderlyingVm
self._run()
File "/usr/share/vdsm/vm.py", line 3185, in _run
self._connection.createXML(domxml, flags),
File "/usr/lib64/python2.6/site-packages/vdsm/libvirtconnection.py",
line 110, in wrapper
__connections.get(id(target)).pingLibvirt()
File "/usr/lib64/python2.6/site-packages/libvirt.py", line 3389, in
getLibVersion
if ret == -1: raise libvirtError ('virConnectGetLibVersion()
failed', conn=self)
libvirtError: internal error client socket is closed
Thread-1857::WARNING::2014-06-09
12:32:50,673::vm::1963::vm.Vm::(_set_lastStatus)
vmId=`2bee9d79-b8d1-4a5a-a4f7-8092d1c803d9`::trying to set state to
Powering down when already Down
Thread-1857::WARNING::2014-06-09
12:32:50,815::utils::129::root::(rmFile) File:
/var/lib/libvirt/qemu/channels/2bee9d79-b8d1-4a5a-a4f7-8092d1c803d9.com.redhat.rhevm.vdsm
already removed
Thread-1857::WARNING::2014-06-09
12:32:50,816::utils::129::root::(rmFile) File:
/var/lib/libvirt/qemu/channels/2bee9d79-b8d1-4a5a-a4f7-8092d1c803d9.org.qemu.guest_agent.0
already removed
MainThread::WARNING::2014-06-09
12:33:03,770::fileUtils::167::Storage.fileUtils::(createdir) Dir
/rhev/data-center/mnt already exists
MainThread::WARNING::2014-06-09
12:33:05,738::clientIF::181::vds::(_prepareBindings) Unable to load the
json rpc server module. Please make sure it is installed.
storageRefresh::WARNING::2014-06-09
12:33:06,133::fileUtils::167::Storage.fileUtils::(createdir) Dir
/rhev/data-center/hsm-tasks already exists
Thread-35::ERROR::2014-06-09
12:33:08,375::sdc::137::Storage.StorageDomainCache::(_findDomain)
looking for unfetched domain 55338570-e537-412b-97a9-635eea1ecb10
Thread-35::ERROR::2014-06-09
12:33:08,413::sdc::154::Storage.StorageDomainCache::(_findUnfetchedDomain)
looking for domain 55338570-e537-412b-97a9-635eea1ecb10
Thread-13::WARNING::2014-06-09
12:33:08,417::fileUtils::167::Storage.fileUtils::(createdir) Dir
/rhev/data-center/a0500f5c-e8d9-42f1-8f04-15b23514c8ed already exists
[/code]
libvirt breaks and I guess that it would bring down all of VM's if there
were any on that node.
Anybody have an idea why this happens ?
TIA,
Ivan
On 06/02/2014 04:38 PM, combuster(a)archlinux.us wrote:
One word of caution so far, when exporting any vm, the node that acts
as SPM
is stressed out to the max. I releived the stress by a certain margin with
lowering libvirtd and vdsm log levels to WARNING. That shortened out the
export procedure by at least five times. But vdsm process on the SPM node is
still with high cpu usage so it's best that the SPM node should be left with a
decent CPU time amount to spare. Also, export of VM's with high vdisk capacity
and thin provisioning enabled (let's say 14GB used of 100GB defined) took
around 50min over a 10Gb ethernet interface to a 1Gb export NAS device that
was not stressed out at all by other processes. When I did that export with
debug log levels it took 5hrs :(
So lowering log levels is a must in production enviroment. I've deleted the
lun that I exported on the storage (removed it first from ovirt) and for the
next weekend I am planing to add a new one, export it again on all the nodes
and start a few fresh vm installations. Things I'm going to look for are
partition alignment and running them from different nodes in the cluster at
the same time. I just hope that not all I/O is going to pass through the SPM,
this is the one thing that bothers me the most.
I'll report back on these results next week, but if anyone has experience with
this kind of things or can point to some documentation would be great.
On Monday, 2. June 2014. 18.51.52 you wrote:
> I'm curious to hear what other comments arise, as we're analyzing a
> production setup shortly.
>
> On Sun, Jun 1, 2014 at 10:11 PM, <combuster(a)archlinux.us> wrote:
>> I need to scratch gluster off because setup is based on CentOS 6.5, so
>> essential prerequisites like qemu 1.3 and libvirt 1.0.1 are not met.
> Gluster would still work with EL6, afaik it just won't use libgfapi and
> instead use just a standard mount.
>
>> Any info regarding FC storage domain would be appreciated though.
>>
>> Thanks
>>
>> Ivan
>>
>> On Sunday, 1. June 2014. 11.44.33 combuster(a)archlinux.us wrote:
>>> Hi,
>>>
>>> I have a 4 node cluster setup and my storage options right now are a FC
>>> based storage, one partition per node on a local drive (~200GB each) and
>>> a
>>> NFS based NAS device. I want to setup export and ISO domain on the NAS
>>> and
>>> there are no issues or questions regarding those two. I wasn't aware of
>>> any
>>> other options at the time for utilizing a local storage (since this is a
>>> shared based datacenter) so I exported a directory from each partition
>>> via
>>> NFS and it works. But I am little in the dark with the following:
>>>
>>> 1. Are there any advantages for switching from NFS based local storage to
>>> a
>>> Gluster based domain with blocks for each partition. I guess it can be
>>> only
>>> performance wise but maybe I'm wrong. If there are advantages, are there
>>> any tips regarding xfs mount options etc ?
>>>
>>> 2. I've created a volume on the FC based storage and exported it to all
>>> of
>>> the nodes in the cluster on the storage itself. I've configured
>>> multipathing correctly and added an alias for the wwid of the LUN so I
>>> can
>>> distinct this one and any other future volumes more easily. At first I
>>> created a partition on it but since oVirt saw only the whole LUN as raw
>>> device I erased it before adding it as the FC master storage domain.
I've
>>> imported a few VM's and point them to the FC storage domain. This setup
>>> works, but:
>>>
>>> - All of the nodes see a device with the alias for the wwid of the
>>> volume,
>>> but only the node wich is currently the SPM for the cluster can see
>>> logical
>>> volumes inside. Also when I setup the high availability for VM's
residing
>>> on the FC storage and select to start on any node on the cluster, they
>>> always start on the SPM. Can multiple nodes run different VM's on the
>>> same
>>> FC storage at the same time (logical thing would be that they can, but I
>>> wanted to be sure first). I am not familiar with the logic oVirt utilizes
>>> that locks the vm's logical volume to prevent corruption.
>>>
>>> - Fdisk shows that logical volumes on the LUN of the FC volume are
>>> missaligned (partition doesn't end on cylindar boundary), so I wonder if
>>> this is becuase I imported the VM's with disks that were created on
local
>>> storage before and that any _new_ VM's with disks on the fc storage
would
>>> be propperly aligned.
>>>
>>> This is a new setup with oVirt 3.4 (did an export of all the VM's on 3.3
>>> and after a fresh installation of the 3.4 imported them back again). I
>>> have room to experiment a little with 2 of the 4 nodes because currently
>>> they are free from running any VM's, but I have limited room for
>>> anything else that would cause an unplanned downtime for four virtual
>>> machines running on the other two nodes on the cluster (currently highly
>>> available and their drives are on the FC storage domain). All in all I
>>> have 12 VM's running and I'm asking on the list for advice and
guidance
>>> before I make any changes.
>>>
>>> Just trying to find as much info regarding all of this as possible before
>>> acting upon.
>>>
>>> Thank you in advance,
>>>
>>> Ivan
>> _______________________________________________
>> Users mailing list
>> Users(a)ovirt.org
>>
http://lists.ovirt.org/mailman/listinfo/users
--------------050907050300090009050805
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
OK, I have good news and bad news :)<br>
<br>
Good news is that I can run different VM's on different nodes when
all of their drives are on FC Storage domain. I don't think that all
of I/O is running through SPM, but I need to test that. Simply put,
for every virtual disk that you create on the shared fc storage
domain, ovirt will present that vdisk only to the node wich is
running the VM itself. They all can see domain infrastructure
(inbox,outbox,metadata) but the LV for the virtual disk itself for
that VM is visible only to the node that is running that particular
VM. There is no limitation (except for the free space on the
storage).<br>
<br>
Bad news! <br>
<br>
I can create the virtual disk on the fc storage for a vm, but when I
start the VM itself, node wich hosts the VM that I'm starting is
going non-operational, and quickly goes up again (ilo fencing agent
checks if the node is ok and bring it back up). During that time, vm
starts on another node (Default Host parameter was ignored -
assigned Host was not available). I can manualy migrate it later to
the intended node, that works. Lucky me, on two nodes (of the four)
in the cluster, there were no vm's running (i tried this on both,
with two different vm's created from scratch and i got the same
result.<br>
<br>
I've killed everything above WARNING because it was killing the
performance of the cluster. vdsm.log :<br>
<small><small><big><br>
[code]<br>
Thread-305::WARNING::2014-06-09
12:15:53,236::persistentDict::256::Storage.PersistentDict::(refresh)
data has no embedded checksum - trust it as it is<br>
55809e40-ccf3-4f7c-aeec-802bc1c326a7::WARNING::2014-06-09
12:17:25,013::utils::129::root::(rmFile) File:
/rhev/data-center/a0500f5c-e8d9-42f1-8f04-15b23514c8ed/55338570-e537-412b-97a9-635eea1ecb10/images/90659ad8-bd90-4a0a-bb4e-7c6afe90e925/242a1bce-a434-4246-ad24-b62f99c03a05
already removed<br>
55809e40-ccf3-4f7c-aeec-802bc1c326a7::WARNING::2014-06-09
12:17:25,074::blockSD::761::Storage.StorageDomain::(_getOccupiedMetadataSlots)
Could not find mapping for lv
55338570-e537-412b-97a9-635eea1ecb10/242a1bce-a434-4246-ad24-b62f99c03a05<br>
Thread-305::WARNING::2014-06-09
12:20:54,341::persistentDict::256::Storage.PersistentDict::(refresh)
data has no embedded checksum - trust it as it is<br>
Thread-305::WARNING::2014-06-09
12:25:55,378::persistentDict::256::Storage.PersistentDict::(refresh)
data has no embedded checksum - trust it as it is<br>
Thread-305::WARNING::2014-06-09
12:30:56,424::persistentDict::256::Storage.PersistentDict::(refresh)
data has no embedded checksum - trust it as it is<br>
Thread-1857::WARNING::2014-06-09
12:32:45,639::libvirtconnection::116::root::(wrapper)
connection to libvirt broken. ecode: 1 edom: 7<br>
Thread-1857::CRITICAL::2014-06-09
12:32:45,640::libvirtconnection::118::root::(wrapper) taking
calling process down.<br>
Thread-17704::WARNING::2014-06-09
12:32:48,009::libvirtconnection::116::root::(wrapper)
connection to libvirt broken. ecode: 1 edom: 7<br>
Thread-17704::CRITICAL::2014-06-09
12:32:48,013::libvirtconnection::118::root::(wrapper) taking
calling process down.<br>
Thread-17704::ERROR::2014-06-09
12:32:48,018::vm::2285::vm.Vm::(_startUnderlyingVm)
vmId=`2bee9d79-b8d1-4a5a-a4f7-8092d1c803d9`::The vm start
process failed<br>
Traceback (most recent call last):<br>
File "/usr/share/vdsm/vm.py", line 2245, in
_startUnderlyingVm<br>
self._run()<br>
File "/usr/share/vdsm/vm.py", line 3185, in _run<br>
self._connection.createXML(domxml,
flags),<br>
File
"/usr/lib64/python2.6/site-packages/vdsm/libvirtconnection.py",
line 110, in wrapper<br>
__connections.get(id(target)).pingLibvirt()<br>
File "/usr/lib64/python2.6/site-packages/libvirt.py", line
3389, in getLibVersion<br>
if ret == -1: raise libvirtError
('virConnectGetLibVersion() failed', conn=self)<br>
libvirtError: internal error client socket is closed<br>
Thread-1857::WARNING::2014-06-09
12:32:50,673::vm::1963::vm.Vm::(_set_lastStatus)
vmId=`2bee9d79-b8d1-4a5a-a4f7-8092d1c803d9`::trying to set
state to Powering down when already Down<br>
Thread-1857::WARNING::2014-06-09
12:32:50,815::utils::129::root::(rmFile) File:
/var/lib/libvirt/qemu/channels/2bee9d79-b8d1-4a5a-a4f7-8092d1c803d9.com.redhat.rhevm.vdsm
already removed<br>
Thread-1857::WARNING::2014-06-09
12:32:50,816::utils::129::root::(rmFile) File:
/var/lib/libvirt/qemu/channels/2bee9d79-b8d1-4a5a-a4f7-8092d1c803d9.org.qemu.guest_agent.0
already removed<br>
MainThread::WARNING::2014-06-09
12:33:03,770::fileUtils::167::Storage.fileUtils::(createdir)
Dir /rhev/data-center/mnt already exists<br>
MainThread::WARNING::2014-06-09
12:33:05,738::clientIF::181::vds::(_prepareBindings) Unable to
load the json rpc server module. Please make sure it is
installed.<br>
storageRefresh::WARNING::2014-06-09
12:33:06,133::fileUtils::167::Storage.fileUtils::(createdir)
Dir /rhev/data-center/hsm-tasks already exists<br>
Thread-35::ERROR::2014-06-09
12:33:08,375::sdc::137::Storage.StorageDomainCache::(_findDomain)
looking for unfetched domain
55338570-e537-412b-97a9-635eea1ecb10<br>
Thread-35::ERROR::2014-06-09
12:33:08,413::sdc::154::Storage.StorageDomainCache::(_findUnfetchedDomain)
looking for domain 55338570-e537-412b-97a9-635eea1ecb10<br>
Thread-13::WARNING::2014-06-09
12:33:08,417::fileUtils::167::Storage.fileUtils::(createdir)
Dir /rhev/data-center/a0500f5c-e8d9-42f1-8f04-15b23514c8ed
already exists<br>
[/code]</big><br>
</small></small><br>
libvirt breaks and I guess that it would bring down all of VM's if
there were any on that node.<br>
<br>
Anybody have an idea why this happens ?<br>
<br>
TIA,<br>
<br>
Ivan<br>
<br>
<div class="moz-cite-prefix">On 06/02/2014 04:38 PM,
<a class="moz-txt-link-abbreviated"
href="mailto:combuster@archlinux.us">combuster@archlinux.us</a>
wrote:<br>
</div>
<blockquote cite="mid:2144986.cbhZx3DnrB@silvestone"
type="cite">
<pre wrap="">One word of caution so far, when exporting any vm, the
node that acts as SPM
is stressed out to the max. I releived the stress by a certain margin with
lowering libvirtd and vdsm log levels to WARNING. That shortened out the
export procedure by at least five times. But vdsm process on the SPM node is
still with high cpu usage so it's best that the SPM node should be left with a
decent CPU time amount to spare. Also, export of VM's with high vdisk capacity
and thin provisioning enabled (let's say 14GB used of 100GB defined) took
around 50min over a 10Gb ethernet interface to a 1Gb export NAS device that
was not stressed out at all by other processes. When I did that export with
debug log levels it took 5hrs :(
So lowering log levels is a must in production enviroment. I've deleted the
lun that I exported on the storage (removed it first from ovirt) and for the
next weekend I am planing to add a new one, export it again on all the nodes
and start a few fresh vm installations. Things I'm going to look for are
partition alignment and running them from different nodes in the cluster at
the same time. I just hope that not all I/O is going to pass through the SPM,
this is the one thing that bothers me the most.
I'll report back on these results next week, but if anyone has experience with
this kind of things or can point to some documentation would be great.
On Monday, 2. June 2014. 18.51.52 you wrote:
</pre>
<blockquote type="cite">
<pre wrap="">I'm curious to hear what other comments arise, as
we're analyzing a
production setup shortly.
On Sun, Jun 1, 2014 at 10:11 PM, <a class="moz-txt-link-rfc2396E"
href="mailto:combuster@archlinux.us"><combuster@archlinux.us></a>
wrote:
</pre>
<blockquote type="cite">
<pre wrap="">I need to scratch gluster off because setup is
based on CentOS 6.5, so
essential prerequisites like qemu 1.3 and libvirt 1.0.1 are not met.
</pre>
</blockquote>
<pre wrap="">
Gluster would still work with EL6, afaik it just won't use libgfapi and
instead use just a standard mount.
</pre>
<blockquote type="cite">
<pre wrap="">Any info regarding FC storage domain would be
appreciated though.
Thanks
Ivan
On Sunday, 1. June 2014. 11.44.33 <a class="moz-txt-link-abbreviated"
href="mailto:combuster@archlinux.us">combuster@archlinux.us</a> wrote:
</pre>
<blockquote type="cite">
<pre wrap="">Hi,
I have a 4 node cluster setup and my storage options right now are a FC
based storage, one partition per node on a local drive (~200GB each) and
a
NFS based NAS device. I want to setup export and ISO domain on the NAS
and
there are no issues or questions regarding those two. I wasn't aware of
any
other options at the time for utilizing a local storage (since this is a
shared based datacenter) so I exported a directory from each partition
via
NFS and it works. But I am little in the dark with the following:
1. Are there any advantages for switching from NFS based local storage to
a
Gluster based domain with blocks for each partition. I guess it can be
only
performance wise but maybe I'm wrong. If there are advantages, are there
any tips regarding xfs mount options etc ?
2. I've created a volume on the FC based storage and exported it to all
of
the nodes in the cluster on the storage itself. I've configured
multipathing correctly and added an alias for the wwid of the LUN so I
can
distinct this one and any other future volumes more easily. At first I
created a partition on it but since oVirt saw only the whole LUN as raw
device I erased it before adding it as the FC master storage domain. I've
imported a few VM's and point them to the FC storage domain. This setup
works, but:
- All of the nodes see a device with the alias for the wwid of the
volume,
but only the node wich is currently the SPM for the cluster can see
logical
volumes inside. Also when I setup the high availability for VM's residing
on the FC storage and select to start on any node on the cluster, they
always start on the SPM. Can multiple nodes run different VM's on the
same
FC storage at the same time (logical thing would be that they can, but I
wanted to be sure first). I am not familiar with the logic oVirt utilizes
that locks the vm's logical volume to prevent corruption.
- Fdisk shows that logical volumes on the LUN of the FC volume are
missaligned (partition doesn't end on cylindar boundary), so I wonder if
this is becuase I imported the VM's with disks that were created on local
storage before and that any _new_ VM's with disks on the fc storage would
be propperly aligned.
This is a new setup with oVirt 3.4 (did an export of all the VM's on 3.3
and after a fresh installation of the 3.4 imported them back again). I
have room to experiment a little with 2 of the 4 nodes because currently
they are free from running any VM's, but I have limited room for
anything else that would cause an unplanned downtime for four virtual
machines running on the other two nodes on the cluster (currently highly
available and their drives are on the FC storage domain). All in all I
have 12 VM's running and I'm asking on the list for advice and guidance
before I make any changes.
Just trying to find as much info regarding all of this as possible before
acting upon.
Thank you in advance,
Ivan
</pre>
</blockquote>
<pre wrap="">
_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated"
href="mailto:Users@ovirt.org">Users@ovirt.org</a>
<a class="moz-txt-link-freetext"
href="http://lists.ovirt.org/mailman/listinfo/users">http://...
</pre>
</blockquote>
</blockquote>
<pre wrap="">
</pre>
</blockquote>
<br>
</body>
</html>
--------------050907050300090009050805--