ÐéÄâ»ú¾µÏñ£¨ÒÔϼò³Æ¾µÏñ£©ÊÇOpenstackÔÆ¼ÆËãÆ½Ì¨²»¿É»òȱµÄÒ»²¿·Ö¡£ÀûÓø÷ÖÖ¶¨ÖÆ»¯µÄ¾µÏñ£¬ÎÒÃÇ¿ÉÒÔ¿ìËÙ´´½¨³öÂú×㲻ͬĿµÄµÄÐéÄâ»ú¡£ÀýÈ磬ÀûÓÃÒ»¸ö°²×°²¢ÅäÖÃÁËApache¡¢MysqlºÍPHPµÄLinux²Ù×÷ϵͳ¾µÏñ£¬¾Í¿ÉÒÔÔÚOpenstackƽ̨ÉÏÃë¼¶´´½¨³ö¶ą̀LAMP·þÎñÆ÷£¬¿ÉÒÔÖ±½ÓÓÃÓÚ²¿Êð»òÕß¿ª·¢¡£
Òª³ä·ÖÀûÓúþµÏñµÄÓÅÊÆ£¬¹Ø¼ü¾ÍÊÇÕÆÎÕºÃÈçºÎÖÆ×÷¶¨ÖÆ»¯µÄ¾µÏñ£¬ÕâÍùÍùÒ²°éËæ×ÅÈçºÎ²âÊԺ͹ÜÀíÕâЩ¾µÏñ¡£±¾ÎÄÖ÷Òª½éÉÜ£º1. ÖÆ×÷Âú×ãOpenstackÒªÇóµÄ¾µÏñµÄÁ÷³Ì£»2. ÀûÓÃdevstack¶ÔÖÆ×÷ºÃµÄ¾µÏñ½øÐвâÊÔ¡£
±¾ÎijöÏÖµÄÃüÁîºÍÅäÖö¼ÊÇʵ¼Ê²âÊÔ¿ÉÐеģ¬¿ÉÒÔÖ±½Ó¸´ÖÆÊ¹Ó㻵«±¾Îĸü¶àÊǽéÉܸ÷¸ö²Ù×÷ÅäÖõÄÔÀíºÍÄ¿µÄ£¬ÕâÑù¼´Ê¹ÔÚ²»Í¬µÄÔËÐл·¾³£¬ÎÒÃÇÈÔ¿ÉÒÔ°ÑÎչؼüϸ½Ú£¬Íê³É¾µÏñµÄÖÆ×÷ºÍ²âÊÔ¡£
Ö÷ÒªÄÚÈÝ£º
- ÔÀíºÍÁ÷³Ì¼ò½é
- ×¼±¸¹¤×÷
- ÖÆ×÷¾µÏñ
- ²âÊÔ¾µÏñ
- ¸½Â¼
ÔÀíºÍÁ÷³Ì¼ò½é
ÐéÄâ»ú¾µÏñʵ¼Ê¾ÍÊÇÒ»¸ö°üº¬Õû¸öÐéÄâ´ÅÅÌÄÚÈݵÄÎļþ£¬Õâ¸öÐéÄâ´ÅÅÌÒ²¾ÍÊÇÐéÄâ»úµÄϵͳÅÌ£¬°üº¬¿ÉÒÔÒýµ¼Æô¶¯µÄ²Ù×÷ϵͳ¡£Ëùν¶¨ÖÆ»¯µÄ¾µÏñ£¬¾ÍÊÇÔÚÕâ¸ö£¨ÐéÄ⣩ϵͳÅÌÉϰ²×°ºÃÐèÒªµÄÈí¼þ£¬±£´æºÃÐèÒªµÄÅäÖã¬×îºóÇåÀíµô²»±ØÒªµÄÁÙʱÎļþºÍÈÕÖ¾µÈÊý¾Ý¡£×î¼òµ¥Ö±¹ÛµÄ¶¨ÖÆ·½Ê½£¬¾ÍÊÇÓÃÒ»¸ö¸É¾»µÄ¾µÏñ×÷ΪϵͳÅÌ´´½¨Ò»Ì¨ÐéÄâ»ú£¬°²×°ºÃÐèÒªµÄ²Ù×÷ϵͳ£¬È»ºó¾Í¿ÉÒÔÏñƽʱµÄ²Ù×÷ÄÇÑù°²×°ÐèÒªµÄÈí¼þ£¬±£´æÅäÖã¬ÔÙÀûÓù¤¾ßÇåÀí²»ÐèÒªµÄÊý¾Ý£¬×îºó¹Ø±ÕÐéÄâ»ú£¬¾µÏñ¾Í¶¨ÖÆ»¯Íê³ÉÁË¡£µ±È»£¬ÎÒÃÇÒ²¿ÉÒÔʹÓÃÒÑ¾ÖÆ×÷ºÃµÄ¾µÏñÖ±½Ó´´½¨ÐéÄâ»ú£¬ÕâÑù¿ÉÒÔÊ¡ÂÔ²Ù×÷ϵͳºÍһЩÈí¼þµÄ°²×°²½Öè¡£
ËùνOpenstackÐéÄâ»ú¾µÏñ£¬¾ÍÊÇÂú×ãһЩҪÇ󣨰²×°Ìض¨µÄÈí¼þ£¬ÅäÖÃÌØ¶¨µÄ·þÎñµÈ£©µÄ¾µÏñ£¬´Ó¶øÅäºÏÍê³ÉOpenstack¼ÆËãÆ½Ì¨µÄ¾µÏñÏà¹Ø¹¦ÄÜ¡£
²âÊÔ¾µÏñÒ²ºÜ¼òµ¥£¬¾ÍÊǰÑÖÆ×÷ºÃµÄ¾µÏñµ¼ÈëOpenstackƽ̨£¬Ê¹ÓÃËüÀ´´´½¨ÐéÄâ»ú£¬²âÊÔ¸÷¸ö¹¦ÄÜÊÇ·ñÕý³£ÔË×÷¡£´î½¨Ò»¸öOpenstackƽ̨ÓÃÓÚ²âÊԵķ½Ê½ºÜ¶àÖÖ£¬±¾ÎÄÑ¡ÔñÁËdevstack£¬ÒòΪdevstackµÄ°²×°²½ÖèºÜ¼òµ¥£¬¶øÇÒºÜÇáÁ¿£¬¿ÉÒÔÖ±½Ó°²×°ÔÚһ̨ÐéÄâ»úÖС£
×¼±¸¹¤×÷
±¾ÎĵÄÀý×ÓËùÔÚÔËÐл·¾³µÄ²Ù×÷ϵͳΪCentos 7£¬²¢ÀûÓûùÓÚlibvirtµÄһϵÁй¤¾ßÀ´´´½¨ºÍ¹ÜÀíÐéÄâ»ú£¬Õë¶ÔµÄÐéÄ⻯¼¼Êõ£¨hypervisor£©ÎªQEMU/KVM¡£
libvirtºÍkvm·Ö±ðÊÇOpenstackÉÏÃæ×î³£ÓõŤ¾ßºÍÐéÄ⻯ƽ̨¡£
1.°²×°ºÃÐéÄ⻯¹¤¾ß
yum install qemu libvirt-client virt-manager virt-viewer guestfish libguestfs-tools virt-top |
2.´´½¨ÐéÄâ×ÓÍø
Ä¿µÄ£ºÒòΪÐéÄâ»úÔÚ°²×°Èí¼þ¹ý³ÌÖÐÐèÒªÁ¬Í¨»¥ÁªÍø£¬×î¼òµ¥µÄ°ì·¨¾ÍÊÇÀûÓÃlibvirt´´½¨Ò»¸öÐéÄâ×ÓÍø£¬ÐéÄâ»úͨ¹ýdhcp·ÖÅäÐéÄâ×ÓÍøµÄip£¬Í¨¹ýNATµÄ·½Ê½·ÃÎÊÍâÍø¡£

2.1 ×¼±¸ÐéÄâÍøÂç×ÊÔ´µÄxmlÎļþdefault.xml£º
<network> <name>default</name> <bridge name="virbr0"/> <forward/> <ip address="192.168.122.1" netmask="255.255.255.0"> <dhcp> <range start="192.168.122.2" end="192.168.122.254"/> </dhcp> </ip> </network> |
2.2 ÅäÖãº
\# virsh net-define /usr/share/libvirt/networks/default.xml Network default defined from /usr/share/libvirt/networks/default.xml \# virsh net-autostart default Network default marked as autostarted \# virsh net-start default Network default started |
2.3 ÐÞ¸ÄϵͳÅäÖÃ/etc/sysctl.conf£º
»·¾³×¼±¸ºÃÁË£¬¿ÉÒÔ¿ªÊ¼ÖÆ×÷¾µÏñÁË¡£
ÖÆ×÷¾µÏñ
ÖÆ×÷Linux¾µÏñ
Linux¾µÏñÐèÒªÂú×㣺
1.ÅäÖÃSSH server¿ª»úÔËÐС£
2.½ûÓ÷À»ðǽ¡£
3.¿ª»úʱ֧³Ö´ÅÅÌ·ÖÇøºÍ¸Ä±ä´óС¡£
4.Ö§³Össh¹«Ô¿·ÃÎÊÐéÄâ»ú¡£
5.ÔËÐкÍʹÓÃuser dataºÍmetadata£¨ÈçÐÞ¸ÄrootÃÜÂ룬ִÐÐÓû§½Å±¾µÈ£©¡£
6.²Ù×÷ϵͳÄÚºËÖ§³ÖVirtio¡£
7.ûÓÐдËÀµÄMACµØÖ·ÐÅÏ¢¡£
ÆäÖÐ1¡¢2ºÜÈÝÒײÙ×÷£¬±¾ÎÄʹÓõÄCentos 7°²×°ÅÌĬÈϰ²×°ºó¾ÍÂú×ãÁË¡£3¡¢4¡¢5ÈýÌõ£¬Ö»ÐèÒª°²×°Ò»¸öcloud-initµÄ·þÎñ¾Í¿ÉÒÔÁË¡£
cloud-initÊÇһϵÁÐpython½Å±¾ºÍ¹¤¾ß£¬¸ºÔðÔÆÊµÀý×ʼµÄ³õʼ»¯¹¤×÷¡£¾ßÌåÔËÐÐÔÀí²Î¿¼¸½Â¼£ºcloud-init¹¤×÷ÔÀí¡£
µÚ6Ìõ£¬VirtioÊÇÌá¸ßKVMÀàÐ͵ÄÐéÄâ»úI/O£¨´æ´¢ºÍÍøÂ磩ÐÔÄܵÄÒ»ÖÖ¼¼Êõ¡£Ä¿Ç°³£ÓõÄLinux·¢Ðа汾Äں˶¼Ö±½ÓÖ§³ÖÁË£¬Èç¹ûÄãµÄ°²×°°æ±¾ÓÐÌØÊâÐèÇ󣬿ÉÒԲ鿴ÕâÀï¡£
¹ØÓÚVirtioµÄϸ½Ú£¬¿ÉÒԲο¼¸½Â¼£ºÐéÄâ»úÐÔÄÜÓÅ»¯.
µÚ7Ìõ£¬Ê¹Óù¤¾ßvirt-sysprepÇåÀí¡£
ÏÂÃæÒÔCentos 7.1µÄ°²×°ÎªÀý£¬ÆäËû·¢Ðа汾¿ÉÒԲο¼OpenstackµÄÎĵµ£º
1.×¼±¸ºÃISO°²×°Îļþ£¬ÏÂÔØ¡£
2.´´½¨Ò»¸ö´ÅÅÌ£ºqemu-img create -f qcow2 image.qcow2 20G
ÒòΪÕë¶ÔµÄÊÇKVM£¬Òò´Ë±¾ÎÄʹÓõľµÏñ¸ñʽÊÇqcow2£¨QEMU copy-on-write version 2£©£¬¹ØÓÚ¾µÏñ¸ñʽ¸ü¶àϸ½Ú£¬¿É²é¿´¸½Â¼£º¾µÏñ¸ñʽ¡£¾µÏñ´óСûÓÐÌØÊâÒªÇ󣬸ù¾ÝÐèÇó¼´¿É¡£¾µÏñÍê³ÉºóÊÇ¿ÉÒÔͨ¹ýqemu-imgÔö´óµÄ£¬µ«ÊÇÒ»°ãºÜÄÑËõС¡£
3.´´½¨²¢Æô¶¯ÐéÄâ»ú£º
ʹÓÃvirt-installÃüÁî½øÐд´½¨£¬Í¨¹ývncͼÐνçÃæ°²×°£¨±¾µØÐèÒª°²×°Ò»¸övnc¿Í»§¶ËÀ´·ÃÎÊvnc½çÃæ£©£º
virt-install --virt-type kvm --cpu cpu64-rhel6 --ram 2048 \ --name image_name \ --disk path=image.qcow2,format=qcow2,device=disk,bus=virtio \ --network network=default,model=virtio \ --graphics vnc,listen=0.0.0.0,password=Yourpassw0rd --noautoconsole \ --os-type=linux \ --extra-args="console=ttyS0,115200n8 console=tty0" \ --location=/path/to/installer.iso |
»òÕßͨ¹ýÐéÄâconsole£¨ÃüÁîÐУ©½çÃæ°²×°£¬Ö´ÐÐvirsh console image_name½øÈëconsole½çÃæ£¬ctrl+]Í˳ö£º
virt-install --virt-type kvm --cpu cpu64-rhel6 --ram 2048 \ --name image_name \ --disk path=image.qcow2,format=qcow2,device=disk,bus=virtio \ --network network=default,model=virtio \ --os-type=linux \ --nographics \ --extra-args="console=tty0 console=ttyS0,115200n8 serial" \ --location=/path/to/installer.iso |
ÕâЩÃüÁî²ÎÊýµÄº¬Òå¶àÊý¶¼±È½ÏÖ±¹Û£¬ÆäÖУº
¨Ccpu cpu64-rhel6£ºÐéÄâ»úµÄcpuÌØÐÔ¼¯ºÏ£¬ÒòΪ²»Í¬ÎïÀí»úµÄcpuÌØÐÔ¶¼²»Í¬£¬ÎªÁ˱£Ö¤ÐéÄâ»úÔÚ²»Í¬ÎïÀí»úÖ®¼äÇ¨ÒÆÊ±µÄcpu¼æÈÝÐÔ£¬Openstackƽ̨ÍùÍù»áÖ¸¶¨Ò»¸öÐéÄâµÄcpuÌØÐÔ¼¯ºÏ£¨ÎïÀí»úcpuÌØÐÔµÄ×Ó¼¯£©£¬ÓÃÓÚËùÓеÄÐéÄâ»ú¡£ÆäËû¼¯ºÏ¿ÉÒÔͨ¹ýcat /usr/share/libvirt/cpu_map.xml²é¿´¡£ÕâÀïµÄcpu64-rhel6Ö»ÊǸöʾÀý£¬¸ù¾Ýʵ¼ÊÇé¿öÖ¸¶¨¼´¿É¡£
¨Cgraphics vnc,listen=0.0.0.0,password=Yourpassw0rd£ºÍ¨¹ývncµÄ·½Ê½Ìṩ°²×°½çÃæ£¬Í¨¹ývirsh vncdisplay image_nameÀ´²é¿´vnc¼àÌý¶Ë¿Ú£¨vnc¶Ë¿Úͨ³£´Ótcp¶Ë¿Ú5900¿ªÊ¼£©¡£È»ºó¾Í¿ÉÒÔʹÓÃvnc¿Í»§¶Ë½øÐвÙ×÷¡£ÀýÈçnoVNC¡£
¨Clocation=/path/to/installer.isoºÍ¨Cextra-args=¡±console=tty0 console=ttyS0,115200n8 serial¡±£ºÖ¸¶¨ISO°²×°Îļþ·¾¶£¬ÔÚÄÚºËÆô¶¯½×¶Î£¬Ó¦ÓÃÖ¸¶¨µÄ²ÎÊý¡£
4.°´ÕÕ²½ÖèÒªÇó°²×°²Ù×÷ϵͳ£¨±ÈÈçÉèÖÃrootÃÜÂ룬ÉèÖÃÊ±Çø£¬ÍøÂçºÍ·ÖÇøµÈ£©¡£
5.Èç¹ûÐéÄâ»údhcpûÓÐÕýÈ·ÅäÖã¬ÐèÒªÅäÖÃһϡ£centos 7µÄ»°£¬ÐèÒª±à¼/etc/sysconfig/network-scripts/ifcfg-ens3£¨¸ù¾ÝÍø¿¨½Ó¿ÚÃû×Ö²»Í¬£©£¬ÐÞ¸ÄONBOOT=yes£¬È»ºóÖ´ÐÐservice network restart¡£
6.µ¯³öÐéÄâcd£¬¹Ø»ú²¢ÖØÆô
virsh attach-disk --type cdrom --mode readonly image_name "" hdb virsh destroy image_name virsh start image_name |
7.ÖØÐµÇ¼£¨virsh console image_name»òÕßssh»òÕßvnc£©£¬È»ºó¾Í¿ÉÒÔ°²×°»ù±¾µÄ·þÎñºÍÐÞ¸ÄÅäÖãº
\# °²×°ACPI yum install acpid chkconfig acpid on \# °²×°NetworkManager,ÓÃÓÚÍø¿¨µÄ×Ô¶¯·¢ÏÖ¼°¹ÜÀí yum install NetworkManager chkconfig NetworkManager on \# °²×°cloud-init yum install cloud-init \# ½ûÓÃĬÈϵÄzeroconf route echo "NOZEROCONF=yes" >> /etc/sysconfig/network |
8.¹Ø»úshutdown -h now¡£
9.¹Ø»úºó»Øµ½ËÞÖ÷»ú£¬Ö´ÐÐvirt-sysprep -d image_name£¬²Á³ýÐéÄâ»ú¾µÏñÖеÄÎÞÓÃÊý¾Ý£¨MACµØÖ·µÈ£©¡£
10.È¡ÏûÐéÄâ»ú£ºvirsh undefine image_name¡£
11.Õâ¸ö¾µÏñ£¨image.qcow2£©¾Í¿ÉÒÔÓÃÁË¡£
ÒòΪÎÒÃÇͨ³£¶Ôͬһ¸öLinux°æ±¾ÖÆ×÷¶àÖÖ¾µÏñ£¬Ã»±ØÒªÃ¿´Î¶¼´ÓÍ·¿ªÊ¼¡£ÎÒÃÇ¿ÉÒÔÌø¹ý1 - 7²½Ö裬»ùÓÚÒ»¸öÒÑ¾ÖÆ×÷ºÃÁ˵ľµÏñ´´½¨ÐéÄâ»ú£¬µÇ¼ºó½øÐоßÌåµÄ¶¨ÖÆ»¯ÐÐΪ£¬È»ºóÔÙÍê³É8 - 10£º
virt-install --virt-type kvm --cpu cpu64-rhel6 --ram 2048 \ --name image_name \ --disk path=image.qcow2,format=qcow2,device=disk,bus=virtio \ --network network=default,model=virtio \ --graphics vnc,listen=0.0.0.0,password=Yourpassw0rd \ --noautoconsole --os-type=linux --import |
ÖÆ×÷Windows¾µÏñ
Windows¾µÏñµÄÖÆ×÷ºÍLinux»áÓÐËù²»Í¬£º
Windowsƽ̨ÉÏÊÇͨ¹ýÒ»¸öºÍcloud-initÀàËÆµÄ·þÎñ£¬cloudbase-init£¬À´°ïÖúÐéÄâ»ú³õʼ»¯µÄ¡£Windowsƽ̨Ҫ¶îÍâ°²×°virtio-winÇý¶¯£¬²ÅÄÜʹÓÃVirtioÀ´Ìá¸ßI/OÐÔÄÜ¡£ÏÂÃæÒÔWindows 2008ΪÀý£º
1.×¼±¸ºÃWindoes 2008µÄISO°²×°ÅÌ¡£
2.×¼±¸ºÃVirtioÇý¶¯µÄISO°²×°ÅÌ£¬ÏÂÔØµØÖ·
3.´´½¨Ò»¸ö´ÅÅ̾µÏñ£º
qemu-img create -f qcow2 ws2008.qcow2 20G |
4.´´½¨²¢Æô¶¯ÐéÄâ»ú£º
virt-install --connect qemu:///system \ --name image_name --ram 2048 --vcpus 2 \ --network network=default,model=virtio \ --disk path=image.qcow2,format=qcow2,device=disk,bus=virtio \ --cdrom /path/to/win2008_installer.iso \ --disk path=/path/to/virtio-win-0.1.102.iso,device=cdrom \ --graphics vnc,listen=0.0.0.0,password=Yourpassw0rd \ --os-type windows --os-variant win2k8 |
5.ͨ¹ývnc½øÈë°²×°½çÃæ£¬¿ªÊ¼°²×°¹ý³Ì¡£
6.°²×°VirtioÇý¶¯¡£
µ±°²×°³ÌÐò½øÈëÑ¡ÔñϵͳÅ̵IJ½Öèʱ£¬»áÕÒ²»µ½¿ÉÓôÅÅÌ£¬ÕâÊÇÀíËùµ±È»µÄ£¨ÒòΪÏà¹ØÇý¶¯»¹Ã»°²×°£©¡£´ËʱѡÔñ¡°¼ÓÔØÆô¶¯¡±£¨Load drivers£©£¬ÕÒµ½virtio-winµÄĿ¼£¬Ñ¡ÔñºÏÊʵÄÇý¶¯£¬°²×°¼´¿É£¨ÒòΪÀý×ÓÖа²×°µÄÊÇWindows 2008 64bit£¬Òò´ËÑ¡ÔñµÄÊÇamd64ϵÄWin2008£©¡£Òª°²×°Á½ÖÖÇý¶¯£ºVirtIO SCSIºÍnetwork¡£°²×°Íê³Éºó¾Í¿ÉÒÔ¿´µ½¿ÉÓôÅÅÌÁË¡£
7.Ñ¡ÔñϵͳÅÌ£¬¼ÌÐø°²×°²½Öè¡£
8.ÒÔAdministratorÉí·Ý½øÈë×ÀÃæ£¬´ò¿ªcmd£¬Íê³ÉVirtioµÄ°²×°£º
C:\pnputil -i -a E:\PATH\TO*.INF
9.°²×°Cloudbase-init£¬´ò¿ªPowershell£¨Èç¹ûĬÈÏûÓа²×°£¬ÏȰ²×°£©£¬²¢ÔËÐУº
C:\powershell C:\Set-ExecutionPolicy Unrestricted |
ÓÃIE´ò¿ªhttp://www.cloudbase.it/downloads/CloudbaseInitSetup_Stable_x64.msi£¬ÏÂÔØ²¢°²×°¡£
Õâ¸ö¹ý³ÌÖпÉÄÜÐèÒª£º1. ¹Ø±ÕIE°²È«ÔöÇ¿ÉèÖã»2. ÏÂÔØµÄmsiÎļþÐèÒªÓÒ¼üµã»÷ÊôÐÔ£¬Unblock¡£
°²×°¹ý³ÌÖУ¬ÐèÒªÖ¸¶¨ÒÔϼ¸Ï
- Username: Administrator - Network adapter to configure: Red Hat VirtIO Ethernet Adapter - Serial port for logging: COM1 |
°²×°Ïòµ¼µÄ×îºó£¬¹´Ñ¡Run SysprepºÍShutdown£¬×îºóµã»÷Íê³É£¬ÏµÍ³×Ô¶¯¹Ø»ú¡£
10.¹Ø»úÍê³Éºó¾µÏñÒѾ¿ÉÓÃÁË£¬²»¹ýCloudbase-init»¹¶àÊÇĬÈÏÅäÖ㬿ÉÒÔÖØÐ¿ª»úvirsh start image_name£¬¸ù¾Ýʵ¼ÊÐèÇóÐÞ¸ÄÅäÖ㬾ßÌå²Î¿¼Îĵµ¡£
±¾ÎÄÀý×Ó×öÁËÈçÏÂÐ޸ģº´ò¿ªÅäÖÃÎļþC:\Program Files\Cloudbase Solustions\Cloudbase-Init\conf\cloudbase-init.conf£¬ÐÞ¸ÄÈçϼ¸ÏÅäÖÃConfigDriveµÄ·½Ê½£º
mtu_use_dhcp_config=false ntp_use_dhcp_config=false metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService |
11.Õý³£¹Ø»ú£¬virsh undefine image_name£¬¾µÏñ¾ÍÖÆ×÷Íê³ÉÁË¡£
12.ͬÑùµÄ£¬Èç¹ûÒªÕë¶Ôͬһ¸öWindows°æ±¾°²×°²»Í¬Èí¼þ£¬¿ÉÒÔʹÓÃÒÑÓеľµÏñ½øÐа²×°¡£
²âÊÔ¾µÏñ
Èç¹û½ö½öʹÓÃdevstackÓÃÓÚ²âÊÔ¾µÏñ£¬¿ÉÒÔ½«devstack°²×°ÔÚһ̨ÐéÄâ»úÉÏ£¬²»ÓÃʱֱ½Ó¹Ø±Õ£¬ÕâÀïµÄÓÅ»¯¿ÉÒԲο¼¸½Â¼£ºÐéÄâ»úÐÔÄÜÓÅ»¯¡£
´î½¨devstackµÄ²½Ö裨Èç¹ûÊǰ²×°ÔÚÐéÄâ»úÉÏͬÑùÊÊÓã©£º
1.´´½¨stackÕ˺ţ¬Ìí¼ÓsudoȨÏÞ£¬²¢µÇ¼stack£º
adduser stack echo ¡°stack ALL=(ALL) NOPASSWD: ALL¡± >> /etc/sudoers su - stack |
2.°²×°git£ºsudo yum install -y git
3.ÏÂÔØdevstackÔ´Â룺git clonehttps://git.openstack.org/openstack-dev/devstack²¢cd devstack
4.Ñ¡¶¨Ö¸¶¨µÄOpenstack°æ±¾£¬È磺git checkout stable/juno
5.ÅäÖÃÎļþ~/devstack/local.conf£º
[[local|localrc]] FLOATING_RANGE=192.168.122.224/27 FIXED_RANGE=10.11.12.0/24 FIXED_NETWORK_SIZE=256 FLAT_INTERFACE=ens3 ADMIN_PASSWORD=123 DATABASE_PASSWORD=123 RABBIT_PASSWORD=123 SERVICE_PASSWORD=123 SERVICE_TOKEN=123 LIBVIRT_TYPE=kvm LOGFILE=$DEST/logs/stack.sh.log \# novaÏà¹ØÅäÖà [[post-config|$NOVA_CONF]] [libvirt] inject_password=true inject_partition=-1 cpu_mode=custom cpu_model=cpu64-rhel6 |
6.°²×°²¢Æô¶¯devstack£º./stack£º
µÚÒ»´ÎÖ´ÐÐʱ»á°²×°Ðí¶à¿âºÍÏÂÔØ´úÂë
7.Æô¶¯Íêºó£¬ÎªÁËÈÃDashboardÖд´½¨ÐéÄâ»úÒ³ÃæÖ§³ÖÉèÖÃadminÃÜÂ룬ÐèÒªÐÞ¸Ä/opt/stack/horizon/openstack_dashboard/local/local_settings.py£º
OPENSTACK_HYPERVISOR_FEATURES = { 'can_set_mount_point': False, 'can_set_password': True, } |
8.Èç¹ûÓзÀ»ðǽ£¬´ò¿ª80ºÍ6080¶Ë¿Ú£º
firewall-cmd --add-port=80/tcp firewall-cmd --add-port=6080/tcp firewall-cmd --reload |
devstackµÄʹÓ÷½Ê½£º
1.È·±£ÊÇÒÔstackÓû§µÇ¼¡£
2.½øÈëdevstackĿ¼£¬Ö´ÐÐsource openrc admin admin£¬¼´Ê¹ÓÃadminÉí·Ý£¨ÃÜÂëÔÚÅäÖÃÎļþÖÐÖ¸¶¨ÁË£©²Ù×÷openstack¡£
3.È»ºó¾Í¿ÉÒÔʹÓÃÃüÁîÐй¤¾ßÁË¡£
Ò²¿ÉÒÔͨ¹ýDashboard£¨80¶Ë¿Ú£©ºÍVNC£¨6080£©ÒÔweb½çÃæÀ´²Ù×÷openstack¡£Èç¹û°²×°ÔÚÐéÄâ»ú£¬ÇÒÐéÄâ»úÔËÐÐÔÚÐéÄâ×ÓÍøÉÏ£¬¿ÉÒÔͨ¹ýiptablesµÈ¹¤¾ß½«ÐéÄâ»ú80ºÍ6080¶Ë¿ÚNATÓ³Éäµ½ÍâÍø£¬½ø¶ø·ÃÎÊ¡£
¾ßÌå²âÊÔÁ÷³Ì£º
1.ÔÚdevstack»úÆ÷ÉÏ£¬su - stack && cd devstack && source openrc admin admin
2.µ¼Èë¾µÏñµ½glance£º
glance image-create --name image_name --disk-format=qcow2 --container-format=bare --is-public=True --file /path/to/image.qcow2 |
3.ä¯ÀÀÆ÷´ò¿ªdevstackµÄ80¶Ë¿Ú£¬Í¨¹ýhorizon½çÃæÓøղŵ¼ÈëµÄ¾µÏñ´´½¨ÐéÄâ»ú¡£
4.²âÊÔÈ·±£¼¸µã£º
- ÐéÄâ»ú³É¹¦´´½¨
- -´´½¨²Ù×÷ûÓдíÎóÈÕÖ¾£¨Í¨¹ýʵÀýÒ³ÃæµÄÈÕÖ¾Tab²é¿´£©
- ssh_key»òÕßadminÃÜÂëÕýÈ·ÉèÖã¬Äܹ»³É¹¦µÇ¼
- µÇ¼ºó£¬¼ì²é֮ǰ°²×°µÄÈí¼þ»ò×öµÄÅäÖÃ
×ܽá
ÖÆ×÷ÐéÄâ»ú¾µÏñµÄ·½Ê½ÓкܶàÖÖ£¬±¾ÎĽéÉÜÁËÒ»ÖÖÖ±¹ÛµÄ·½Ê½£ºÍ¨¹ý´´½¨ÐéÄâ»ú£¬ÓÃÆ½Ê±Ê¹ÓòÙ×÷ϵͳµÄ·½Ê½À´¶¨ÖÆ»¯ÐèÇó¡£ÁíÍ⻹ֵµÃÒ»ÌáµÄÒ»¸ö¹¤¾ß£¬Diskimage-builder£¬¿ÉÒÔÓÃÓÚ×Ô¶¯»¯µØ´´½¨¾µÏñ£¬Ê¹µÃ¶¨ÖÆ»¯ºÍ²âÊÔ¾µÏñ¶¼±äµÃ¸üÈÝÒ×£¬µ«ÊÇÏà±È±¾ÎĽéÉܵķ½Ê½Ò²ÓÐһЩ²»×㣺һÊÇÓÐÒ»¶¨µÄѧϰ³É±¾£¬¶þÊÇĿǰֻ֧³Ö²¿·Ö³£ÓõÄLinux·¢Ðа汾¡£
²âÊÔ¾µÏñµÄ·½Ê½Í¬ÑùÒ²ºÜ¶à£¬±¾ÎÄÊÇͨ¹ýdevstack´î½¨Ò»¸ö×î¼òµÄOpenstackƽ̨»·¾³£¬°Ñ¾µÏñÖ±½Óµ¼ÈëÆ½Ì¨£¬²âÊÔ¸÷¸ö²Ù×÷ÊÇ·ñ³É¹¦£¬ÈÕÖ¾ÊÇ·ñÎÞÒì³£¡£
¸½Â¼
ÎÊÌâºÍ½â¾ö
ÖÆ×÷Windows¾µÏñʱ£¬±¨´íÎÞ·¨´ÓCD boot¡£
ÕâÊÇÓÉÓÚvirt-installÎó°ÑVirtioµÄISOÎļþµ±×ö°²×°ÅÌ£¬½â¾ö°ì·¨£ºÊ¹ÓÃfloppyÅ̵ķ½Ê½°²×°VirtioÇý¶¯£º
1.ÏÂÔØvfd¸ñʽµÄVirtioÇý¶¯°²×°Îļþ¡£
2.½«¨Cdisk path=/path/to/virtio-win-0.1.102.iso,device=cdromÌæ»»Îª¨Cdisk path=/path/to/virtio-win-0.1.102_amd64.vfd,device=floppy
cloud-init¹¤×÷ÔÀí
cloud-initÊÇһϵÁÐpython½Å±¾ºÍ¹¤¾ß£¬¸ºÔðÔÆÊµÀý×ʼµÄ³õʼ»¯¹¤×÷£¨ÐÞ¸ÄÖ÷»úÃû¡¢×¢Èëssh-keyÎļþ¡¢ÉèÖÃrootÃÜÂëµÈ£©¡£cloud-initÊÇÒ»¸öͨÓ÷½°¸£¬»¹ÊÊÓÃÓÚOpenstackÍâµÄ¶àÖÖÔÆÆ½Ì¨¡£
cloud-init°²×°ÔÚÐéÄâ»úÖУ¬ÔÚµÚÒ»´ÎÆô¶¯Ê±£¬»á¸ù¾Ý±¾µØÅäÖÃÈ¥»ñÈ¡Datasources¡£Datasources°üº¬ÁËcloud-init³õʼ»¯ÐéÄâ»úʱËùÐèµÄÅäÖÃÊý¾Ý£ºÀ´×ÔÓû§µÄuserdataºÍÀ´×ÔÆ½Ì¨µÄmetadata¡£Í¨³£userdata°üº¬yamlÎļþ¡¢ÔËÐнű¾µÈ¶àÖÖ¸ñʽµÄÎļþ£¬¶ømetadata°üº¬ÁËÖ÷»úÃû¡¢ÊµÀýid¡¢ÏÔʾÃûµÈÔÆÆ½Ì¨Ïà¹ØµÄϸ½Ú¡£
ÔÆÆ½Ì¨ÌṩDatasourceµÄ·½Ê½ºÜ¶à£¬OpenstackĬÈϵķ½Ê½ÊÇͨ¹ýhttp serverÌṩDatasource£ºÐéÄâ»ú·ÃÎÊĬÈϵÄhttp://169.254.169.254£¬Openstack»á¶ÔÕâ¸öµØÖ·Öض¨Ïò£¬×îÖÕÖ¸Ïò×Ô¼ºµÄmetadata server¡£
¾µÏñ¸ñʽ
ÐéÄâ»ú¾µÏñ¸ñʽ×î¼òµ¥µÄÊÇraw¸ñʽ£¬¿ÉÒÔÈÏΪÊÇÒ»¸öλµÈ¼ÛµÄ¿éÉ豸Îļþ£¨¶Ô/dev/sdaʹÓÃddÃüÁî½øÐи´ÖÆ£©¡£´ËÍ⻹Óкܶà¸ñʽ£¬¸÷×ÔÓв»Í¬µÄÌØµã£¬È磺ISO£¨Ö÷ÒªÓÃÓÚCD»òDVD£©¡¢VDI£¨VirtualBoxʹÓã©¡¢VHD/VHDX£¨Î¢ÈíHyper-VʹÓã©¡¢VMDK£¨VMwareʹÓã©¡£
QCOW2£¨QEMU copy-on-write version 2£©Ôò³£ÓÃÓÚKVMÐéÄâ»ú£¬Ïà±Èraw¸ñʽ£¬qcow2¸ñʽµÄÎļþÌå»ý¸üС£¬¸üÀûÓÚ±£´æºÍÉÏ´«¡£qcow2¸ñʽ»¹Ö§³Ö¿ìÕÕ£¨snapshot£©¹¦ÄÜ£¨raw²»Ö§³Ö£©£¬Òò´ËÐèҪʱ£¬Openstack»á×Ô¶¯½«raw¸ñʽµÄ¾µÏñת»»³Éqcow2¸ñʽ¡£
ÐéÄâ»úÐÔÄÜÓÅ»¯
¹ØÓÚÐéÄ⻯£¬ÏÈÊáÀí¼¸¸ö¸ÅÄ

ÕâЩӲ¼þÐéÄâ»¯ÌØÐÔÐèÒªÔÚBIOSÖдò¿ª¡£
QEMU/KVM´´½¨ÐéÄâ»úÓÐÁ½ÖÖģʽemulator£¨QEMU£©ºÍvirtualizer£¨KVM£©¡£ÆäÖÐKVMÐèÒªÒÀÀµÓÚHardware-assisted CPU Virtualization£¨VT-x»òÕßAMD-V£©£¬Í¨¹ýÔÚËÞÖ÷»úcpuÉÏÖ´Ðпͻ§»ú´úÂ룬´Ó¶ø¿ÉÒÔ»ñµÃ½Ó½üÔÉúµÄÐÔÄÜ¡£KVM²¢²»Ö§³ÖCPUµÄparavirtualization£¬µ«ÊÇÖ§³Ö¶ÔÉ豸Çý¶¯µÄparavirtualization´Ó¶øÌá¸ßI/OÐÔÄÜ¡£
ʹÓÃKVMÐèҪȷ±£CPUÓ²¼þÖ§³Ö£¨ÒªÔÚBIOSÖдò¿ª£©ºÍLinuxÄÚºËÄ£¿éÖ§³Ö¡£
Èç¹û²»ÐèÒª¿¼ÂÇÐéÄâ»úµÄÇ¨ÒÆµÈÎÊÌ⣬¿ÉÒÔÖ±½Ó¶ÔÐéÄâ»ú±©Â¶È«²¿ËÞÖ÷»úµÄCPUÌØÐÔ£¨°üÀ¨Ó²¼þÐéÄ⻯µÄÌØÐÔ£©£¬´Ó¶ø¸üºÃµØÀûÓÃcpuÌáÉýÐÔÄÜ¡£Ïà¹ØÃüÁîÖ¸¶¨¨Ccpu host¼´¿É¡£
-
´ò¿ªKVM-based nested virtualization
ΪÁËÄܹ»ÔÚ´´½¨µÄÐéÄâ»úÖÐÅÜKVM£¨KVMÉÏÅÜKVM£©£¬ÐèÒªÔÚÎïÀí»úÉÏÔÊÐíKVM-based nested virtualization¡£¶ÔÓÚIntel-basedµÄ»úÆ÷£º
¼ì²énested KVM KernelÊÇ·ñ´ò¿ª
cat /sys/module/kvm_intel/parameters/nested N Y´ú±í´ò¿ª£¬N´ú±í¹Ø±Õ |
ÁÙÊ±ÒÆ×ßKVM intel KernelÄ£¿é£¬´ò¿ªnested virtualization£¬ÔÙÖØÐ¼ÓÔØ£º
sudo rmmod kvm-intel sudo sh -c "echo 'options kvm-intel nested=y' >> /etc/modprobe.d/dist.conf" sudo modprobe kvm-intel |
È·±£ÕýÈ·´ò¿ª£º
cat /sys/module/kvm_intel/parameters/nested Y modinfo kvm_intel | grep nested parm: nested:bool |
ÒòΪ±¾ÎÄʹÓÃlibvirtÀ´¹ÜÀíKVMÐéÄâ»ú£¬×î·½±ãµÄÌáÉýI/OÐÔÄܵķ½Ê½¾ÍÊÇVirtio£¨´ËÍ⻹ÓÐÆäËû·½Ê½Ìá¸ßKVMÐéÄâ»úI/O£¬ÀýÈçÀûÓÃVT-d¸øKVMÐéÄâ»úÖ±½Ó·ÖÅäÉ豸£©¡£
VirtioÊÇÒ»ÖÖparavirtualization£¬Ö»ÄÜÔËÐмæÈÝVirtioµÄ¿Í»§»ú£¨LinuxÄÚºËÖ§³Ö£¬WindowsÐèÒª°²×°Ïà¹ØÇý¶¯£©¡£Para-virtualizedÉ豸ÁÐ±í£º
- network device (virtio-net)
- block device (virtio-blk)
- controller device (virtio-scsi)
- serial device (virtio-serial)
- balloon device (virtio-balloon)
Ïà¹ØÃüÁîÖ¸¶¨virtioģʽ¼´¿É¡£
×÷Õß¼ò½é£º²Ì¿½Ý£¬ÏÖ¾ÍÖ°ÓÚÂÌÐÇÔÆ¿Æ¼¼£¬¸ß¼¶¹¤³Ìʦ£¬¸ºÔðOpenstackÏà¹ØÁìÓòµÄÑз¢¹¤×÷¡£°®ºÃÔÆ¼ÆËã¡¢¿ªÔ´ÏîÄ¿¡¢WebÏà¹Ø»°Ìâ¡£ÔøÈÎÌÚѶ»ù´¡¼Ü¹¹²¿ÃÅÑз¢¹¤³Ìʦ£¬ÓµÓл¥ÁªÍø·Ö²¼Ê½ÏµÍ³¶àÄêÑз¢¾Ñé¡£ÂÌÐÇÔÆ¿Æ¼¼(ÉîÛÚ)ÓÐÏÞ¹«Ë¾£¨www.gstarcloud.com£©ÊÇÒ»¼ÒѸËÙáÈÆðµÄ»¥ÁªÍø¹«Ë¾£¬×¨×¢ÓÚ¹«ÓÐÔÆ·þÎñ¡£»ùÓÚ²»¶Ï´´ÐµÄÈíÓ²¼þƽ̨¼Ü¹¹¡¢¸ßЧµÄÔËÓª¹ÜÀíÁ÷³ÌºÍÈÈÇé¸ßÕǵÄÊÂÒµÐÄ£¬Îª¿Í»§´òÔìÒ×Óᢿɿ¿¡¢¸ßÐԼ۱ȵÄÔÆ¼ÆËã·þÎñƽ̨¡£¸Ãƽ̨¼¯ÖÐÁ˵¯ÐÔ¼ÆËã¡¢·Ö²¼Ê½¿é´æ´¢ºÍÈí¼þ¶¨ÒåÍøÂç(SDN)µÈIaaSºËÐļ¼ÊõºÍÄÜÁ¦£¬ÒÔÃë¼¶²¿Êð¡¢ÔÚÏßÇ¨ÒÆ¡¢·Ö²¼Ê½Êý¾Ý¿â¡¢CDN¼ÓËٵȹ¦ÄÜ£¬ÎªÓû§Ìá¹©Ò»Õ¾Ê½ÔÆ¼ÆËã·þÎñ¡£±¾ÎÄΪÂÌÐÇÔÆ¿Æ¼¼¶À¼Ò¹©¸å£¬Òѵõ½¹Ù·½µÄ¶À¼ÒÊÚȨ·¢²¼¡£
|