OpenStack Grizzly راهی آسان و آزمایش شده برای ایجاد پلتفرم OpenStack شخصی شما است.
حتما میدانید که به کمک OpenStack میتوان سرورهای فیزیکی را فضای ابری تبدیل کرد. در این مقاله به شما آموزش میدهیم که چطور نرمافزار OpenStack Grizzly به سادهترین روش ممکن نصب کنید.
پیشنیازهای نصب OpenStack Grizzly
پیش از شروع نصب مطمئن شوید که این منابع را در اختیار دارید:
آماده سازی Ubuntu
پس از نصب اوبونتو 12.04 یا 13.04 روی سرور 64 بیتی، باید از Sudo mode استفاده کنید و لطفا تا پایان نصب با همین کاربر ادامه دهید.
sudo su
اگر از اوبونتو 12.04 استفاده میکنید باید مخازن یا Grizzly Repositories را به این دستور اضافه کنید.
apt-get install -y ubuntu-cloud-keyring echo deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/grizzly main >> /etc/apt/sources.list.d/grizzly.list
سیستم خود را به روز کنید:
apt-get update -y apt-get upgrade -y apt-get dist-upgrade -y
تنظیمات شبکه
در نظر داشته باشید که فقط یک NIC باید اجازه دسترسی به اینترنت را داشته باشد.
#For Exposing OpenStack API over the internet auto eth1 iface eth1 inet static address 192.168.100.51 netmask 255.255.255.0 gateway 192.168.100.1 dns-nameservers 8.8.8.8 #Not internet connected(used for OpenStack management) auto eth0 iface eth0 inet static address 10.10.10.51 netmask 255.255.255.0
حالا با این دستور سرویس شبکه را restart کنید.
service networking restart
MySQL & RabbitMQ
با این دستور MySQL را نصب کنید:
apt-get install -y mysql-server python-mysqldb
حالا آن را برای برای پذیرش تمام درخواست های دریافتی پیکربندی کنید:
sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf service mysql restart
RabbitMQ
RabbitMQ را نصب کنید:
apt-get install -y rabbitmq-server
نصب سرویس NTP:
apt-get install -y ntp
این پایگاههای داده را ایجاد کنید:
mysql -u root -p #Keystone CREATE DATABASE keystone; GRANT ALL ON keystone.* TO 'keystoneUser'@'%' IDENTIFIED BY 'keystonePass'; #Glance CREATE DATABASE glance; GRANT ALL ON glance.* TO 'glanceUser'@'%' IDENTIFIED BY 'glancePass'; #Quantum CREATE DATABASE quantum; GRANT ALL ON quantum.* TO 'quantumUser'@'%' IDENTIFIED BY 'quantumPass'; #Nova CREATE DATABASE nova; GRANT ALL ON nova.* TO 'novaUser'@'%' IDENTIFIED BY 'novaPass'; #Cinder CREATE DATABASE cinder; GRANT ALL ON cinder.* TO 'cinderUser'@'%' IDENTIFIED BY 'cinderPass'; quit;
نصب سرویسهای دیگر:
apt-get install -y vlan bridge-utils
فعال کردن IP_Forwarding:
sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf # To save you from rebooting, perform the following sysctl net.ipv4.ip_forward=1
Keystone
با Keystone package شروع کنید:
apt-get install -y keystone
ویژگی اتصال در /etc/keystone/keystone.conf را با پایگاه داده جدید تطبیق دهید:
connection = mysql://keystoneUser:keystonePass@10.10.10.51/keystone
سرویس احراز هویت را مجدداً راه اندازی و پایگاه داده را همگام سازی کنید:
service keystone restart keystone-manage db_sync
پایگاه داده keystone را با استفاده از دو اسکریپت موجود در Scripts folder این مخزن git پر کنید:
#Modify the **HOST_IP** and **EXT_HOST_IP** variables before executing the scripts wget https://raw.github.com/mseknibilel/OpenStack-Grizzly-Install-Guide/OVS_MultiNode/KeystoneScripts/keystone_basic.sh wget https://raw.github.com/mseknibilel/OpenStack-Grizzly-Install-Guide/OVS_MultiNode/KeystoneScripts/keystone_endpoints_basic.sh chmod +x keystone_basic.sh chmod +x keystone_endpoints_basic.sh ./keystone_basic.sh ./keystone_endpoints_basic.sh
یک فایل اعتبارنامه ساده (credential file) ایجاد و آن را بارگذاری کنید تا بعداً اذیت نشوید:
nano creds #Paste the following: export OS_TENANT_NAME=admin export OS_USERNAME=admin export OS_PASSWORD=admin_pass export OS_AUTH_URL="http://192.168.100.51:5000/v2.0/" # Load it: source creds
برای آزمایش Keystone، از یک دستور ساده CLI استفاده می کنیم:
keystone user-list
Glance
اکنون باید Glance را نصب کنیم:
apt-get install -y glance
برای به روز رسانی /etc/glance/glance-api-paste.ini این دستور را اجرا کنید:
[filter:authtoken] paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory delay_auth_decision = true auth_host = 10.10.10.51 auth_port = 35357 auth_protocol = http admin_tenant_name = service admin_user = glance admin_password = service_pass
/etc/glance/glance-registry-paste.ini را با استفاده از این دستور به روز رسانی کنید:
[filter:authtoken] paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory auth_host = 10.10.10.51 auth_port = 35357 auth_protocol = http admin_tenant_name = service admin_user = glance admin_password = service_pass
به روز رسانی /etc/glance/glance-api.conf با:
sql_connection = mysql://glanceUser:glancePass@10.10.10.51/glance
همچنین
[paste_deploy] flavor = keystone
به روز رسانی/etc/glance/glance-registry.conf را با استفاده از:
sql_connection = mysql://glanceUser:glancePass@10.10.10.51/glance
و
[paste_deploy] flavor = keystone
سرویسهای glance-api و glance-registry را مجدداً راهاندازی کنید:
service glance-api restart; service glance-registry restart
همگام سازی پایگاه داده glance:
glance-manage db_sync
Quantum
سرور کوانتومی و مجموعه بسته OpenVSwitch را نصب کنید:
apt-get install -y quantum-server
فایل پیکربندی پلاگین او وی اس /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini را با این دستور ویرایش کنید:
#Under the database section [DATABASE] sql_connection = mysql://quantumUser:quantumPass@10.10.10.51/quantum #Under the OVS section [OVS] tenant_network_type = gre tunnel_id_ranges = 1:1000 enable_tunneling = True #Firewall driver for realizing quantum security group function [SECURITYGROUP] firewall_driver = quantum.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
ویرایش /etc/quantum/api-paste.ini
[filter:authtoken] paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory auth_host = 10.10.10.51 auth_port = 35357 auth_protocol = http admin_tenant_name = service admin_user = quantum admin_password = service_pass
/etc/quantum/quantum.conf را به روز کنید:
[keystone_authtoken] auth_host = 10.10.10.51 auth_port = 35357 auth_protocol = http admin_tenant_name = service admin_user = quantum admin_password = service_pass signing_dir = /var/lib/quantum/keystone-signing
سرور کوانتومی را مجددا راه اندازی کنید:
service quantum-server restart
Nova
با نصب اجزای nova شروع کنید:
apt-get install -y nova-api nova-cert novnc nova-consoleauth nova-scheduler nova-novncproxy nova-doc nova-conductor
اکنون بخش authtoken را در فایل /etc/nova/api-paste.ini به این شکل تغییر دهید:
[filter:authtoken] paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory auth_host = 10.10.10.51 auth_port = 35357 auth_protocol = http admin_tenant_name = service admin_user = nova admin_password = service_pass signing_dirname = /tmp/keystone-signing-nova # Workaround for https://bugs.launchpad.net/nova/+bug/1154809 auth_version = v2.0
/etc/nova/nova.conf را به این صورت تغییر دهید:
[DEFAULT] logdir=/var/log/nova state_path=/var/lib/nova lock_path=/run/lock/nova verbose=True api_paste_config=/etc/nova/api-paste.ini compute_scheduler_driver=nova.scheduler.simple.SimpleScheduler rabbit_host=10.10.10.51 nova_url=http://10.10.10.51:8774/v1.1/ sql_connection=mysql://novaUser:novaPass@10.10.10.51/nova root_helper=sudo nova-rootwrap /etc/nova/rootwrap.conf # Auth use_deprecated_auth=false auth_strategy=keystone # Imaging service glance_api_servers=10.10.10.51:9292 image_service=nova.image.glance.GlanceImageService # Vnc configuration novnc_enabled=true novncproxy_base_url=http://192.168.100.51:6080/vnc_auto.html novncproxy_port=6080 vncserver_proxyclient_address=10.10.10.51 vncserver_listen=0.0.0.0 # Network settings network_api_class=nova.network.quantumv2.api.API quantum_url=http://10.10.10.51:9696 quantum_auth_strategy=keystone quantum_admin_tenant_name=service quantum_admin_username=quantum quantum_admin_password=service_pass quantum_admin_auth_url=http://10.10.10.51:35357/v2.0 libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver linuxnet_interface_driver=nova.network.linux_net.LinuxOVSInterfaceDriver #If you want Quantum + Nova Security groups firewall_driver=nova.virt.firewall.NoopFirewallDriver security_group_api=quantum #If you want Nova Security groups only, comment the two lines above and uncomment line -1-. #-1-firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver #Metadata service_quantum_metadata_proxy = True quantum_metadata_proxy_shared_secret = helloOpenStack # Compute # compute_driver=libvirt.LibvirtDriver # Cinder # volume_api_class=nova.volume.cinder.API osapi_volume_listen_port=5900
پایگاه داده خود را همگام سازی کنید:
nova-manage db sync
راه اندازی مجدد خدمات nova-*:
cd /etc/init.d/; for i in $( ls nova-* ); do sudo service $i restart; done
Cinder
بسته های مورد نیاز را نصب کنید:
apt-get install -y cinder-api cinder-scheduler cinder-volume iscsitarget open-iscsi iscsitarget-dkms
سرویس های iscsi را پیکربندی کنید:
sed -i 's/false/true/g' /etc/default/iscsitarget
راه اندازی مجدد سرویس ها:
service iscsitarget start service open-iscsi start
/etc/cinder/api-paste.ini را مطابق دستور زیر پیکربندی کنید:
[filter:authtoken] paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory service_protocol = http service_host = 192.168.100.51 service_port = 5000 auth_host = 10.10.10.51 auth_port = 35357 auth_protocol = http admin_tenant_name = service admin_user = cinder admin_password = service_pass signing_dir = /var/lib/cinder
/etc/cinder/cinder.conf را ویرایش کنید:
[DEFAULT] rootwrap_config=/etc/cinder/rootwrap.conf sql_connection = mysql://cinderUser:cinderPass@10.10.10.51/cinder api_paste_config = /etc/cinder/api-paste.ini iscsi_helper=ietadm volume_name_template = volume-%s volume_group = cinder-volumes verbose = True auth_strategy = keystone iscsi_ip_address=10.10.10.51
سپس پایگاه داده خود را همگام سازی کنید:
cinder-manage db sync
در نهایت، فراموش نکنید که یک volumegroupایجاد کنید و نام آن را cinder-volumes بگذارید:
dd if=/dev/zero of=cinder-volumes bs=1 count=0 seek=2G losetup /dev/loop2 cinder-volumes fdisk /dev/loop2 #Type in the followings: n p 1 ENTER ENTER t 8e w
به ایجاد physical volume و سپس volume group ادامه دهید:
pvcreate /dev/loop2 vgcreate cinder-volumes /dev/loop2
راه اندازی مجدد خدمات سیندر:
cd /etc/init.d/; for i in $( ls cinder-* ); do sudo service $i restart; done
بررسی کنید که آیا سرویسهای cinder در حال اجرا هستند:
cd /etc/init.d/; for i in $( ls cinder-* ); do sudo service $i status; done
Horizon
برای نصب Horizon به این صورت عمل کنید:
apt-get install -y openstack-dashboard memcached
اگر تم اوبونتو OpenStack را دوست ندارید، می توانید با حذف این بسته ، آن را غیرفعال کنید:
dpkg --purge openstack-dashboard-ubuntu-theme
آپاچی و memcached را دوباره بارگیری کنید:
service apache2 restart; service memcached restart
بیشتر بخوانید:
https://hostida.com/blog/what-is-apache-web-server/
داشبورد OpenStack را در http://192.168.100.51/horizon بررسی کنید. می توانیم با admin / admin_pass وارد شویم
Network Node
Node آماده سازی
پس از نصب اوبونتو 12.04 یا سرور 13.04 64 بیتی، sudo را اجرا کنید:
sudo su
اگر از اوبونتو 12.04 استفاده میکنید باید Grizzly Repositories را به این دستور اضافه کنید.
apt-get install -y ubuntu-cloud-keyring echo deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/grizzly main >> /etc/apt/sources.list.d/grizzly.list
سیستم خود را به روز رسانی کنید»
apt-get update -y apt-get upgrade -y apt-get dist-upgrade -y
سرویس npt را نصب کنید:
apt-get install -y ntp
سرور NTP را برای controller node پیکربندی کنید:
#Comment the ubuntu NTP servers sed -i 's/server 0.ubuntu.pool.ntp.org/#server 0.ubuntu.pool.ntp.org/g' /etc/ntp.conf sed -i 's/server 1.ubuntu.pool.ntp.org/#server 1.ubuntu.pool.ntp.org/g' /etc/ntp.conf sed -i 's/server 2.ubuntu.pool.ntp.org/#server 2.ubuntu.pool.ntp.org/g' /etc/ntp.conf sed -i 's/server 3.ubuntu.pool.ntp.org/#server 3.ubuntu.pool.ntp.org/g' /etc/ntp.conf #Set the network node to follow up your conroller node sed -i 's/server ntp.ubuntu.com/server 10.10.10.51/g' /etc/ntp.conf service ntp restart
نصب سرویس های دیگر:
apt-get install -y vlan bridge-utils
sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf # To save you from rebooting, perform the following sysctl net.ipv4.ip_forward=1
Networking
3 NIC باید وجود داشته باشد:
# OpenStack management auto eth0 iface eth0 inet static address 10.10.10.52 netmask 255.255.255.0 # VM Configuration auto eth1 iface eth1 inet static address 10.20.20.52 netmask 255.255.255.0 # VM internet Access auto eth2 iface eth2 inet static address 192.168.100.52 netmask 255.255.255.0
بخش اول OpenVSwitch
OpenVSwitch را نصب کنید:
apt-get install -y openvswitch-switch openvswitch-datapath-dkms
ایجاد پل ها:
#br-int will be used for VM integration ovs-vsctl add-br br-int #br-ex is used to make to VM accessible from the internet ovs-vsctl add-br br-ex
Quantum
عامل Quantum openvswitch، l3 agent و dhcp agent را نصب کنید:
apt-get -y install quantum-plugin-openvswitch-agent quantum-dhcp-agent quantum-l3-agent quantum-metadata-agent
ویرایش /etc/quantum/api-paste.ini:
[filter:authtoken] paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory auth_host = 10.10.10.51 auth_port = 35357 auth_protocol = http admin_tenant_name = service admin_user = quantum admin_password = service_pass
فایل پیکربندی پلاگین OVS
/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini را با این دستور ویرایش کنید:
#Under the database section [DATABASE] sql_connection = mysql://quantumUser:quantumPass@10.10.10.51/quantum #Under the OVS section [OVS] tenant_network_type = gre tunnel_id_ranges = 1:1000 integration_bridge = br-int tunnel_bridge = br-tun local_ip = 10.20.20.52 enable_tunneling = True #Firewall driver for realizing quantum security group function [SECURITYGROUP] firewall_driver = quantum.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
به روز رسانی /etc/quantum/metadata_agent.ini:
# The Quantum user information for accessing the Quantum API. auth_url = http://10.10.10.51:35357/v2.0 auth_region = RegionOne admin_tenant_name = service admin_user = quantum admin_password = service_pass # IP address used by Nova metadata server nova_metadata_ip = 10.10.10.51 # TCP Port used by Nova metadata server nova_metadata_port = 8775 metadata_proxy_shared_secret = helloOpenStack
مطمئن شوید که IP rabbitMQ شما در /etc/quantum/quantum.conf روی controller node تنظیم شده باشد:
rabbit_host = 10.10.10.51 #And update the keystone_authtoken section [keystone_authtoken] auth_host = 10.10.10.51 auth_port = 35357 auth_protocol = http admin_tenant_name = service admin_user = quantum admin_password = service_pass signing_dir = /var/lib/quantum/keystone-signing
/etc/sudoers.d/quantum_sudoers را ویرایش کنید تا به این شکل دسترسی کامل داشته باشید (متاسفانه اجباری است)
nano /etc/sudoers.d/quantum_sudoers #Modify the quantum user quantum ALL=NOPASSWD: ALL
تمام سرویس ها را مجددا راه اندازی کنید:
cd /etc/init.d/; for i in $( ls quantum-* ); do sudo service $i restart; done
بخش دوم OpenVSwitch
Eth2 را در /etc/network/interfaces ویرایش کنید تا به این شکل شود:
# VM internet Access auto eth2 iface eth2 inet manual up ifconfig $IFACE 0.0.0.0 up up ip link set $IFACE promisc on down ip link set $IFACE promisc off down ifconfig $IFACE down
Eth2 را به br-ex اضافه کنید:
#Internet connectivity will be lost after this step but this won't affect OpenStack's work ovs-vsctl add-port br-ex eth2 #If you want to get internet connection back, you can assign the eth2's IP address to the br-ex in the /etc/network/interfaces file.
KVM
مطمئن شوید که سخت افزار شما از مجازی سازی را پشتیبانی می کند:
apt-get install -y cpu-checker kvm-ok
اکنون به سراغ نصب kvm بروید و آن را پیکربندی کنید:
apt-get install -y kvm libvirt-bin pm-utils
آرایه cgroup_device_acl را در فایل /etc/libvirt/qemu.conf ویرایش کنید:
cgroup_device_acl = [ "/dev/null", "/dev/full", "/dev/zero", "/dev/random", "/dev/urandom", "/dev/ptmx", "/dev/kvm", "/dev/kqemu", "/dev/rtc", "/dev/hpet","/dev/net/tun" ]
در این مرحله virtual bridge پیش فرض را حذف کنید:
virsh net-destroy default virsh net-undefine default
با بهروزرسانی فایل /etc/libvirt/libvirtd.conf، انتقال زنده live migration را فعال کنید:
listen_tls = 0 listen_tcp = 1 auth_tcp = "none"
متغیر libvirtd_opts را در فایل /etc/init/libvirt-bin.conf ویرایش کنید:
env libvirtd_opts="-d -l"
فایل /etc/default/libvirt-bin را ویرایش کنید:
libvirtd_opts="-d -l"
برای بارگیری مقادیر جدید، سرویس libvirt و dbus را مجددا راه اندازی کنید:
service dbus restart && service libvirt-bin restart
OpenVSwitch
apt-get install -y openvswitch-switch openvswitch-datapath-dkms
:bridge
#br-int will be used for VM integration ovs-vsctl add-br br-int
Quantum
عامل Quantum openvswitch را نصب کنید:
apt-get -y install quantum-plugin-openvswitch-agent
فایل پیکربندی پلاگین OVS
/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini را با این دستور ویرایش کنید:
#Under the database section [DATABASE] sql_connection = mysql://quantumUser:quantumPass@10.10.10.51/quantum #Under the OVS section [OVS] tenant_network_type = gre tunnel_id_ranges = 1:1000 integration_bridge = br-int tunnel_bridge = br-tun local_ip = 10.20.20.53 enable_tunneling = True #Firewall driver for realizing quantum security group function [SECURITYGROUP] firewall_driver = quantum.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
مطمئن شوید که IP rabbitMQ شما در /etc/quantum/quantum.conf روی controller node تنظیم شده باشد:
rabbit_host = 10.10.10.51 #And update the keystone_authtoken section [keystone_authtoken] auth_host = 10.10.10.51 auth_port = 35357 auth_protocol = http admin_tenant_name = service admin_user = quantum admin_password = service_pass signing_dir = /var/lib/quantum/keystone-signing
راه اندازی مجدد تمام خدمات:
service quantum-plugin-openvswitch-agent restart
Nova
اجزای مورد نیاز nova را برای compute node نصب کنید:
apt-get install -y nova-compute-kvm
اکنون بخش authtoken را در فایل /etc/nova/api-paste.ini به این شکل تغییر دهید:
[filter:authtoken] paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory auth_host = 10.10.10.51 auth_port = 35357 auth_protocol = http admin_tenant_name = service admin_user = nova admin_password = service_pass signing_dirname = /tmp/keystone-signing-nova # Workaround for https://bugs.launchpad.net/nova/+bug/1154809 auth_version = v2.0
فایل /etc/nova/nova-compute.conf را ویرایش کنید:
[DEFAULT] libvirt_type=kvm libvirt_ovs_bridge=br-int libvirt_vif_type=ethernet libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver libvirt_use_virtio_for_bridges=True
/etc/nova/nova.conf را به این صورت تغییر دهید:
[DEFAULT] logdir=/var/log/nova state_path=/var/lib/nova lock_path=/run/lock/nova verbose=True api_paste_config=/etc/nova/api-paste.ini compute_scheduler_driver=nova.scheduler.simple.SimpleScheduler rabbit_host=10.10.10.51 nova_url=http://10.10.10.51:8774/v1.1/ sql_connection=mysql://novaUser:novaPass@10.10.10.51/nova root_helper=sudo nova-rootwrap /etc/nova/rootwrap.conf # Auth use_deprecated_auth=false auth_strategy=keystone # Imaging service glance_api_servers=10.10.10.51:9292 image_service=nova.image.glance.GlanceImageService # Vnc configuration novnc_enabled=true novncproxy_base_url=http://192.168.100.51:6080/vnc_auto.html novncproxy_port=6080 vncserver_proxyclient_address=10.10.10.53 vncserver_listen=0.0.0.0 # Network settings network_api_class=nova.network.quantumv2.api.API quantum_url=http://10.10.10.51:9696 quantum_auth_strategy=keystone quantum_admin_tenant_name=service quantum_admin_username=quantum quantum_admin_password=service_pass quantum_admin_auth_url=http://10.10.10.51:35357/v2.0 libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver linuxnet_interface_driver=nova.network.linux_net.LinuxOVSInterfaceDriver #If you want Quantum + Nova Security groups firewall_driver=nova.virt.firewall.NoopFirewallDriver security_group_api=quantum #If you want Nova Security groups only, comment the two lines above and uncomment line -1-. #-1-firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver #Metadata service_quantum_metadata_proxy = True quantum_metadata_proxy_shared_secret = helloOpenStack # Compute # compute_driver=libvirt.LibvirtDriver # Cinder # volume_api_class=nova.volume.cinder.API osapi_volume_listen_port=5900 cinder_catalog_info=volume:cinder:internalURL
راه اندازی مجدد خدمات nova-*:
cd /etc/init.d/; for i in $( ls nova-* ); do sudo service $i restart; done
اولین ماشین مجازی شما
برای راه اندازی اولین ماشین مجازی ، ابتدا باید یک tenant، کاربر و شبکه داخلی جدید ایجاد کنیم.
keystone tenant-create --name project_one
یک کاربر جدید ایجاد کنید و نقش عضو را در tenant جدید به آن اختصاص دهید:
keystone user-create --name=user_one --pass=user_one --tenant-id $put_id_of_project_one --email=user_one@domain.com keystone user-role-add --tenant-id $put_id_of_project_one --user-id $put_id_of_user_one --role-id $put_id_of_member_role
یک شبکه جدید برای آن ایجاد کنید:
quantum net-create --tenant-id $put_id_of_project_one net_proj_one
یک زیر شبکه جدید در شبکه tenant جدید ایجاد کنید:
quantum subnet-create --tenant-id $put_id_of_project_one net_proj_one 50.50.1.0/24 --dns_nameservers list=true 8.8.8.7 8.8.8.8
یک روتر برای tenant جدید ایجاد کنید:
quantum router-create --tenant-id $put_id_of_project_one router_proj_one
روتر را به عامل l3 در حال اجرا اضافه کنید (اگر به طور خودکار اضافه نشده باشد):
quantum agent-list (to get the l3 agent ID) quantum l3-agent-router-add $l3_agent_ID router_proj_one
روتر را به subnet اضافه کنید:
quantum router-interface-add $put_router_proj_one_id_here $put_subnet_id_here
راه اندازی مجدد تمام سرویس های کوانتومی:
cd /etc/init.d/; for i in $( ls quantum-* ); do sudo service $i restart; done
یک شبکه خارجی با شناسه tenant متعلق به admin tenant ایجاد کنید.
quantum net-create --tenant-id $put_id_of_admin_tenant ext_net --router:external=True
یک زیر شبکه برای IP های شناور ایجاد کنید:
quantum subnet-create --tenant-id $put_id_of_admin_tenant --allocation-pool start=192.168.100.102,end=192.168.100.126 --gateway 192.168.100.1 ext_net 192.168.100.100/24 --enable_dhcp=False
حالا router’s gatewayخود را به شبکه خارجی تنظیم کنید:
quantum router-gateway-set $put_router_proj_one_id_here $put_id_of_ext_net_here
این قوانین امنیتی را اضافه کنید تا بتوانید پینگ ماشین های مجازی را بگیرید:
nova --no-cache secgroup-add-rule default icmp -1 -1 0.0.0.0/0 nova --no-cache secgroup-add-rule default tcp 22 22 0.0.0.0/0
با اختصاص یک IP شناور به tenant پروژه شروع کنید:
quantum floatingip-create ext_net
یک VM راه اندازی کنید:
nova --no-cach e boot --image $id_myFirstImage --flavor 1 my_first_vm
شناسه پورت مربوط به VM خود را انتخاب کنید:
quantum port-list
IP شناور را به VM متصل کنید:
quantum floatingip-associate $put_id_floating_ip $put_id_vm_port
تمام شد! پینگ VM خود را بگیرید و از OpenStack لذت ببرید.