[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