[openstack-ko] live migration °ü·Ã Áú¹®
¾È½Â±Ô
dappy at naver.com
Sun Mar 8 13:47:22 UTC 2015
¾È³çÇϼ¼¿ä.
5040 ¶óÀο¡ ´äÀÌ Àֳ׿ä..
self._is_shared_block_storage(instance, dest_check_data)})
À§ ¸Þ¼Òµå¸¦ µé¾î°¡º¸¸é ¹é¿£µå¸¦ ¾²´Âµ¥ conf ÀÇ [ libvirt ] ¿¡¼ images_type ÀÌ rbd °¡ ¾Æ´Ï¸é is_shared_block_storage °ªÀÌ ¸ðµÎ false ³×¿ä.
Qcow2, Lvm, Ploop ŸÀÔÀº false, Rbd ¸¸ True
°á±¹ Ceph ÀÇ rbd ŸÀÔÀÌ ¾Æ´Ï¸é is_shared_block_storage °ªÀº false ÀÔ´Ï´Ù.
block migration ¿É¼Ç ¾ÈÁÖ°í ÇϽǷÁ¸é ¼Ò½º ¼öÁ¤Çϼ¼¿ä..
-----Original Message-----
From: "±èÁ¤¼®(Cloud¿î¿µ±â¼úÆÀ)"<ironman.kim at kt.com>
To: "openstack-ko at lists.openstack.org"<openstack-ko at lists.openstack.org>;
Cc: "¼Û´öÇÑ(Cloud¿î¿µ±â¼úÆÀ)"<ascacults at kt.com>; "¾È¼±Èñ(Â÷¼¼´ëCloud°³¹ßÆÀ)"<sunhee.ahn at kt.com>; "ÃÖ¼º»ï(Cloud¿î¿µ±â¼úÆÀ)"<choi.sungsam at kt.com>;
Sent: 2015-03-06 (±Ý) 16:08:03
Subject: [openstack-ko] live migration °ü·Ã Áú¹®
ÆäÀ̽ººÏ¿¡ Áú¹® ÇÏ¸é ´äº¯ ¾ÈÇØÁشٰí ÇÏ´Ï ¸ÞÀϸµÀ¸·Î ½õ´Ï´Ù ^^
NFS º¼·ýÀ¸·Î ±¸ÃàÇÑ Openstack Juno
¹öÀü¿¡¼ Live Migration À» ½ÇÇàÇغ¸´Ï Shared
º¼·ýÀÌ ¾Æ´Ï¶ó¼ ¸¶À̱׷¹À̼ÇÀ» ÇÒ ¼ö ¾ø´Ù´Â
¿¡·¯°¡ ¹ß»ý ÇÏ¿© °ü·Ã ¼Ò½º¸¦ Á» ¿¾î ºÃ½À´Ï´Ù.
Ȥ½Ã³ª Çؼ Grizzly, Icehouse, Juno ¸¦ ¸ðµÎ ºñ±³ Çغ¸°í Àִµ¥ Juno
´Â ¼Ò½º°¡ ¸¹ÀÌ ¹Ù²î¾ú³×¿ä
/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py"
# Grizzly
2885 # Checking shared storage connectivity
2886 # if block migration, instances_paths should not be on shared storage.
2887 source = CONF.host
2888 filename = dest_check_data["filename"]
2889 block_migration = dest_check_data["block_migration"]
2890 is_volume_backed = dest_check_data.get('is_volume_backed', False)
2891
2892 shared = self._check_shared_storage_test_file(filename)
2893
2894 if block_migration:
2895 if shared:
2896 reason = _("Block migration can not be used "
2897 "with shared storage.")
2898 raise exception.InvalidLocalStorage(reason=reason, path=source)
2899 self._assert_dest_node_has_enough_disk(ctxt, instance_ref,
2900 dest_check_data['disk_available_mb'],
2901 dest_check_data['disk_over_commit'])
2902
2903 elif not shared and not is_volume_backed:
2904 reason = _("Live migration can not be used "
2905 "without shared storage.")
2906 raise exception.InvalidSharedStorage(reason=reason, path=source)
2907 dest_check_data.update({"is_shared_storage": shared})
2908 return dest_check_data
2909
# Icehouse
4279 # Checking shared storage connectivity
4280 # if block migration, instances_paths should not be on shared storage.
4281 source = CONF.host
4282 filename = dest_check_data["filename"]
4283 block_migration = dest_check_data["block_migration"]
4284 is_volume_backed = dest_check_data.get('is_volume_backed', False)
4285 has_local_disks = bool(
4286 jsonutils.loads(self.get_instance_disk_info(instance['name'])))
4287
4288 shared = self._check_shared_storage_test_file(filename)
4289
4290 if block_migration:
4291 if shared:
4292 reason = _("Block migration can not be used "
4293 "with shared storage.")
4294 raise exception.InvalidLocalStorage(reason=reason, path=source)
4295 self._assert_dest_node_has_enough_disk(context, instance,
4296 dest_check_data['disk_available_mb'],
4297 dest_check_data['disk_over_commit'])
4298
4299 elif not shared and (not is_volume_backed or has_local_disks):
4300 reason = _("Live migration can not be used "
4301 "without shared storage.")
4302 raise exception.InvalidSharedStorage(reason=reason, path=source)
4303 dest_check_data.update({"is_shared_storage": shared})
# Juno
5031 # Checking shared storage connectivity
5032 # if block migration, instances_paths should not be on shared storage.
5033 source = CONF.host
5034
5035 dest_check_data.update({'is_shared_instance_path':
5036 self._check_shared_storage_test_file(
5037 dest_check_data['filename'])})
5038
5039 dest_check_data.update({'is_shared_block_storage':
5040 self._is_shared_block_storage(instance, dest_check_data)})
5041
5042 if dest_check_data['block_migration']:
5043 if (dest_check_data['is_shared_block_storage'] or
5044 dest_check_data['is_shared_instance_path']):
5045 reason = _("Block migration can not be used "
5046 "with shared storage.")
5047 raise exception.InvalidLocalStorage(reason=reason, path=source)
5048 self._assert_dest_node_has_enough_disk(context, instance,
5049 dest_check_data['disk_available_mb'],
5050 dest_check_data['disk_over_commit'])
5051
5052 elif not (dest_check_data['is_shared_block_storage'] or
5053 dest_check_data['is_shared_instance_path']):
5054 reason = _("Live migration can not be used "
5055 "without shared storage.")
5056 raise exception.InvalidSharedStorage(reason=reason, path=source)
ÇöÀç Juno ¹öÀü¿¡¼ Exception
ÀÌ ¹ß»ýÇϴ°÷ÀÌ ¸¶Áö¸· ÁÙ¿¡¼ °É¸° °ÍÀ¸·Î È®ÀÎ µË´Ï´Ù.
Ȥ½Ã dest_check_data['is_shared_block_storage']
ÀÇ °ªÀ» ¾îµð¼ °¡Á®¿Í¼ if ±¸¹®À» ó¸®ÇÏ´ÂÁö ¾Æ½Ã´ÂºÐ °è½Ã³ª¿ä ?
±èÁ¤¼®
°úÀåCloud¿î¿µ±â¼úÆÀ
Cloud´ã´ç ±â¼ú¼ºñ½ºº»ºÎ
010-2864-2631 /
ironman.kim at kt.com
ÀÌ ¸ÞÀÏÀº ÁöÁ¤µÈ ¼öÃëÀθ¸À» À§ÇØ ÀÛ¼ºµÇ¾úÀ¸¸ç, Áß¿äÇÑ Á¤º¸³ª ÀúÀÛ±ÇÀ» Æ÷ÇÔÇÏ°í ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. ¾î¶°ÇÑ ±ÇÇÑ ¾øÀÌ, º» ¹®¼¿¡ Æ÷ÇÔµÈ Á¤º¸ÀÇ ÀüºÎ ¶Ç´Â ÀϺθ¦ ¹«´ÜÀ¸·Î Á¦3ÀÚ¿¡°Ô °ø°³, ¹èÆ÷, º¹»ç ¶Ç´Â »ç¿ëÇÏ´Â °ÍÀ» ¾ö°ÝÈ÷ ±ÝÁöÇÕ´Ï´Ù. ¸¸¾à, º» ¸ÞÀÏÀÌ À߸ø Àü¼ÛµÈ °æ¿ì, ¹ß½ÅÀÎ ¶Ç´Â ´ç»ç¿¡ ¾Ë·ÁÁֽðí, º» ¸ÞÀÏÀ» Áï½Ã »èÁ¦ÇÏ¿© Áֽñ⠹ٶø´Ï´Ù.
This E-mail may contain confidential information and/or copyright material. This email is intended for the use of the addressee only. If you receive this email by mistake, please either delete it without reproducing, distributing or retaining copies thereof
or notify the sender immediately.
-------------- next part --------------
HTML ÷ºÎ¸¦ ¾ø¾Ö¹ö·È½À´Ï´Ù...
URL: <http://lists.openstack.org/pipermail/openstack-ko/attachments/20150308/df98de66/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 5174 bytes
Desc: ÀÌ¿ëÇÒ ¼ö ¾ø¼ü´Ï´Ù.
URL: <http://lists.openstack.org/pipermail/openstack-ko/attachments/20150308/df98de66/attachment-0007.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image002.png
Type: image/png
Size: 142 bytes
Desc: ÀÌ¿ëÇÒ ¼ö ¾ø¼ü´Ï´Ù.
URL: <http://lists.openstack.org/pipermail/openstack-ko/attachments/20150308/df98de66/attachment-0008.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image003.png
Type: image/png
Size: 131 bytes
Desc: ÀÌ¿ëÇÒ ¼ö ¾ø¼ü´Ï´Ù.
URL: <http://lists.openstack.org/pipermail/openstack-ko/attachments/20150308/df98de66/attachment-0009.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image004.gif
Type: image/gif
Size: 2535 bytes
Desc: ÀÌ¿ëÇÒ ¼ö ¾ø¼ü´Ï´Ù.
URL: <http://lists.openstack.org/pipermail/openstack-ko/attachments/20150308/df98de66/attachment-0001.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image005.png
Type: image/png
Size: 139 bytes
Desc: ÀÌ¿ëÇÒ ¼ö ¾ø¼ü´Ï´Ù.
URL: <http://lists.openstack.org/pipermail/openstack-ko/attachments/20150308/df98de66/attachment-0010.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image006.png
Type: image/png
Size: 195 bytes
Desc: ÀÌ¿ëÇÒ ¼ö ¾ø¼ü´Ï´Ù.
URL: <http://lists.openstack.org/pipermail/openstack-ko/attachments/20150308/df98de66/attachment-0011.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image007.png
Type: image/png
Size: 120 bytes
Desc: ÀÌ¿ëÇÒ ¼ö ¾ø¼ü´Ï´Ù.
URL: <http://lists.openstack.org/pipermail/openstack-ko/attachments/20150308/df98de66/attachment-0012.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image008.png
Type: image/png
Size: 171 bytes
Desc: ÀÌ¿ëÇÒ ¼ö ¾ø¼ü´Ï´Ù.
URL: <http://lists.openstack.org/pipermail/openstack-ko/attachments/20150308/df98de66/attachment-0013.png>
More information about the openstack-ko
mailing list