{"id":34747,"date":"2023-07-30T01:17:09","date_gmt":"2023-04-05T10:36:05","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/openstack-%e5%ae%89%e8%a3%85%e5%91%bd%e4%bb%a4%e5%a4%87%e5%bf%98%e5%bd%95\/"},"modified":"2024-04-30T16:01:38","modified_gmt":"2024-04-30T08:01:38","slug":"openstack-%e5%ae%89%e8%a3%85%e5%91%bd%e4%bb%a4%e5%a4%87%e5%bf%98%e5%bd%95","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/openstack-%e5%ae%89%e8%a3%85%e5%91%bd%e4%bb%a4%e5%a4%87%e5%bf%98%e5%bd%95\/","title":{"rendered":"Openstack \u5b89\u88c5\u547d\u4ee4\u5907\u5fd8\u5f55"},"content":{"rendered":"<h1>OpenStack\u5b89\u88c5\uff08\u517c\u5bb9Openstack-havana 2013.2-1.el6\uff09<\/h1>\n<p>\u6211\u4eceOpenstack\u5b98\u65b9\u6587\u6863\u4e2d\u8bb0\u5f55\u4e0b\u4e86\u5b9e\u9645\u4f7f\u7528\u7684\u5b89\u88c5\u547d\u4ee4\u3002\u9884\u8ba1\u7684\u73af\u5883\u662fCentOS6.4\uff08\u6700\u5c0f\u5b89\u88c5\uff09\uff0c\u5b9e\u4f8b\u5377\u4f7f\u7528NFS\u73af\u5883\u3002<\/p>\n<h2>1. \u672c\u5730\u8bbe\u7f6e d\u00ec<\/h2>\n<h3>MySQL \u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u7ba1\u7406\u7cfb\u7edf\uff0c\u5e38\u7528\u4e8e\u5404\u79cd Web \u5e94\u7528\u7a0b\u5e8f\u7684\u6570\u636e\u5b58\u50a8\u548c\u7ba1\u7406\u3002<\/h3>\n<p>\u8bf7\u5728\u4e0b\u8f7d\u540e\u8fdb\u884c\u672c\u5730\u5b89\u88c5\u3002<\/p>\n<pre class=\"post-pre\"><code>yum localinstall MySQL-shared-compat-5.6.14-1.linux_glibc2.5.x86_64.rpm\r\nyum localinstall MySQL-server-5.6.14-1.linux_glibc2.5.x86_64.rpm\r\nyum localinstall MySQL-server-5.6.14-1.linux_glibc2.5.x86_64.rpm\r\nyum localinstall MySQL-client-5.6.14-1.linux_glibc2.5.x86_64.rpm\r\n\r\nservice mysql start\r\nchkconfig mysql on\r\nmysql_secure_installation\r\n<\/code><\/pre>\n<h3>\u5b89\u88c5\u5b58\u50a8\u5e93<\/h3>\n<pre class=\"post-pre\"><code>yum install http:\/\/repos.fedorapeople.org\/repos\/openstack\/openstack-havana\/rdo-release-havana-6.noarch.rpm\r\nyum install http:\/\/dl.fedoraproject.org\/pub\/epel\/6\/x86_64\/epel-release-6-8.noarch.rpm\r\n<\/code><\/pre>\n<h3>\u5b89\u88c5Openstack-util\uff0cApache Qpid\u3002<\/h3>\n<pre class=\"post-pre\"><code>yum install openstack-utils\r\nyum -y install qpid-cpp-server memcached\r\n<\/code><\/pre>\n<h4>qpid \u914d\u7f6e<\/h4>\n<pre class=\"post-pre\"><code>vi \/etc\/qpidd.conf\r\n\r\nauth=no\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>service qpidd start\r\nchkconfig qpidd on\r\n<\/code><\/pre>\n<h2>2. \u5b89\u88c5\u57fa\u77f3<\/h2>\n<pre class=\"post-pre\"><code>yum install openstack-keystone python-keystoneclient\r\n<\/code><\/pre>\n<h3>\u6570\u636e\u5e93\u914d\u7f6e<\/h3>\n<pre class=\"post-pre\"><code>openstack-config --set \/etc\/keystone\/keystone.conf \\\r\nsql connection mysql:\/\/keystone:keystone@localhost\/keystone\r\n\r\nopenstack-db --init --service keystone --password keystone\r\n<\/code><\/pre>\n<h3>\u521b\u9020\u4ee3\u5e01<\/h3>\n<pre class=\"post-pre\"><code>ADMIN_TOKEN=$(openssl rand -hex 10)\r\necho $ADMIN_TOKEN\r\nopenstack-config --set \/etc\/keystone\/keystone.conf DEFAULT \\\r\nadmin_token $ADMIN_TOKEN\r\n\r\nkeystone-manage pki_setup --keystone-user keystone --keystone-group keystone\r\nchown -R keystone:keystone \/etc\/keystone\/* \/var\/log\/keystone\/keystone.log\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>service openstack-keystone start\r\nchkconfig openstack-keystone on\r\n<\/code><\/pre>\n<h3>\u5b9a\u4e49\u7528\u6237\u3001\u79df\u6237\u548c\u89d2\u8272<\/h3>\n<pre class=\"post-pre\"><code>export OS_SERVICE_TOKEN=$ADMIN_TOKEN\r\nexport OS_SERVICE_ENDPOINT=http:\/\/openstack_host:35357\/v2.0\r\n\r\nkeystone tenant-create --name=admin --description=\"Admin Tenant\"\r\nkeystone tenant-create --name=service --description=\"Service Tenant\"\r\n\r\nkeystone user-create --name=admin --pass=admin\r\nkeystone role-create --name=admin\r\n<\/code><\/pre>\n<h3>\u4e3a\u8eab\u4efd\u670d\u52a1\u521b\u5efa\u4e00\u4e2a\u670d\u52a1\u6761\u76ee\u3002<\/h3>\n<pre class=\"post-pre\"><code>keystone service-create --name=keystone --type=identity --description=\"Keystone Identity Service\"\r\n\r\nkeystone endpoint-create \\\r\n  --service-id=above_display_sid \\\r\n  --publicurl=http:\/\/openstack_host:5000\/v2.0 \\\r\n  --internalurl=http:\/\/openstack_host:5000\/v2.0 \\\r\n  --adminurl=http:\/\/openstack_host:35357\/v2.0\r\n<\/code><\/pre>\n<h2>3. \u5b89\u88c5\u56fe\u50cf\u670d\u52a1\u3002<\/h2>\n<h3>\u6570\u636e\u5e93\u914d\u7f6e<\/h3>\n<pre class=\"post-pre\"><code>openstack-config --set \/etc\/glance\/glance-api.conf \\\r\n   DEFAULT sql_connection mysql:\/\/glance:glance@localhost\/glance\r\nopenstack-config --set \/etc\/glance\/glance-registry.conf \\\r\n   DEFAULT sql_connection mysql:\/\/glance:glance@localhost:\/glance\r\nopenstack-db --init --service glance --password glance\r\n<\/code><\/pre>\n<h3>\u4e3a\u56fe\u50cf\u670d\u52a1\u521b\u5efa\u4e00\u4e2a\u7528\u6237\u6761\u76ee\u3002<\/h3>\n<pre class=\"post-pre\"><code>keystone user-create --name=glance --pass=glance\r\nkeystone user-role-add --user=glance --tenant=service --role=admin\r\n<\/code><\/pre>\n<h3>\u914d\u7f6e\u81ea\u52a8\u4ee4\u724c<\/h3>\n<pre class=\"post-pre\"><code>openstack-config --set \/etc\/glance\/glance-api.conf keystone_authtoken \\\r\n   auth_host openstack_host\r\nopenstack-config --set \/etc\/glance\/glance-api.conf keystone_authtoken \\\r\n   admin_user glance\r\nopenstack-config --set \/etc\/glance\/glance-api.conf keystone_authtoken \\\r\n   admin_tenant_name service\r\nopenstack-config --set \/etc\/glance\/glance-api.conf keystone_authtoken \\\r\n   admin_password glance\r\nopenstack-config --set \/etc\/glance\/glance-registry.conf \\\r\n  keystone_authtoken auth_host openstack_host\r\nopenstack-config --set \/etc\/glance\/glance-registry.conf \\\r\n   keystone_authtoken admin_user glance\r\nopenstack-config --set \/etc\/glance\/glance-registry.conf \\\r\n   keystone_authtoken admin_tenant_name service\r\nopenstack-config --set \/etc\/glance\/glance-registry.conf \\\r\n   keystone_authtoken admin_password glance\r\n<\/code><\/pre>\n<h3>\u914d\u7f6e\u8ba4\u8bc1\u4ee4\u724c\uff08glance-api-paste\uff09<\/h3>\n<pre class=\"post-pre\"><code>cp \/usr\/share\/glance\/glance-api-dist-paste.ini \/etc\/glance\/glance-api-paste.ini\r\ncp \/usr\/share\/glance\/glance-registry-dist-paste.ini \/etc\/glance\/glance-registry-paste.ini\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>vi \/etc\/glance\/glance-api-paste.ini\r\nvi \/etc\/glance\/glance-registry-paste.ini\r\n<\/code><\/pre>\n<ul class=\"post-ul\">[filter:authtoken]<\/ul>\n<pre class=\"post-pre\"><code>[filter:authtoken]\r\npaste.filter_factory=keystoneclient.middleware.auth_token:filter_factory\r\nauth_host=controller\r\nadmin_user=glance\r\nadmin_tenant_name=service\r\nadmin_password=GLANCE_PASS\r\n<\/code><\/pre>\n<h3>\u4e3a\u8eab\u4efd\u670d\u52a1\u521b\u5efa\u4e00\u4e2a\u670d\u52a1\u9879\u3002<\/h3>\n<pre class=\"post-pre\"><code>keystone service-create --name=glance --type=image \\\r\n  --description=\"Glance Image Service\"\r\n\r\nkeystone endpoint-create \\\r\n  --service-id=above_display_sid \\\r\n  --publicurl=http:\/\/openstack_host:9292 \\\r\n  --internalurl=http:\/\/openstack_host:9292 \\\r\n  --adminurl=http:\/\/openstack_host:9292\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>service openstack-glance-api start\r\nservice openstack-glance-registry start\r\nchkconfig openstack-glance-api on\r\nchkconfig openstack-glance-registry on\r\n<\/code><\/pre>\n<h3>\u786e\u8ba4<\/h3>\n<pre class=\"post-pre\"><code>mkdir images\r\ncd images\/\r\nwget http:\/\/cdn.download.cirros-cloud.net\/0.3.1\/cirros-0.3.1-x86_64-disk.img\r\n\r\nglance image-create --name=\"CirrOS 0.3.1\" --disk-format=qcow2 \\\r\n  --container-format=bare --is-public=true &lt; cirros-0.3.1-x86_64-disk.img\r\n<\/code><\/pre>\n<h2>4. \u5b89\u88c5\u8ba1\u7b97\u63a7\u5236\u5668\u670d\u52a1<\/h2>\n<pre class=\"post-pre\"><code>yum install openstack-nova python-novaclient\r\n<\/code><\/pre>\n<h3>\u8bbe\u5b9a\u6570\u636e\u5e93<\/h3>\n<pre class=\"post-pre\"><code>openstack-config --set \/etc\/nova\/nova.conf \\\r\n  database connection mysql:\/\/nova:nova@localhost\/nova\r\n\r\nopenstack-db --init --service nova --password NOVA_DBPASS\r\n<\/code><\/pre>\n<h3>\u914d\u7f6e<\/h3>\n<pre class=\"post-pre\"><code>openstack-config --set \/etc\/nova\/nova.conf DEFAULT my_ip nova_ip_address\r\nopenstack-config --set \/etc\/nova\/nova.conf DEFAULT vncserver_listen nova_ip_address\r\nopenstack-config --set \/etc\/nova\/nova.conf DEFAULT vncserver_proxyclient_address nova_ip_address\r\n<\/code><\/pre>\n<h3>\u4e3a\u8ba1\u7b97\u670d\u52a1\u521b\u5efa\u7528\u6237\u6761\u76ee\u3002<\/h3>\n<pre class=\"post-pre\"><code>keystone user-create --name=nova --pass=nova\r\nkeystone user-role-add --user=nova --tenant=service --role=admin\r\n<\/code><\/pre>\n<h3>\u914d\u7f6e\u8ba4\u8bc1<\/h3>\n<pre class=\"post-pre\"><code>openstack-config --set \/etc\/nova\/nova.conf DEFAULT auth_strategy keystone\r\nopenstack-config --set \/etc\/nova\/nova.conf DEFAULT auth_host openstack_host\r\nopenstack-config --set \/etc\/nova\/nova.conf DEFAULT admin_user nova\r\nopenstack-config --set \/etc\/nova\/nova.conf DEFAULT admin_tenant_name service\r\nopenstack-config --set \/etc\/nova\/nova.conf DEFAULT admin_password nova\r\n<\/code><\/pre>\n<h3>\u4fee\u6539 api\uff0c\u4f8b\u5982\uff1ahttps:\/\/bugs.launchpad.net\/nova\/+bug\/1237334<\/h3>\n<pre class=\"post-pre\"><code>vi \/etc\/nova\/nova.conf\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code># a list of APIs to enable by default (list value)\r\n#enabled_apis=ec2,osapi_compute,metadata\r\nenabled_apis=ec2,osapi_compute\r\n<\/code><\/pre>\n<h3>\u4e3a\u8eab\u4efd\u670d\u52a1\u521b\u5efa\u4e00\u4e2a\u670d\u52a1\u6761\u76ee\u3002<\/h3>\n<pre class=\"post-pre\"><code>keystone service-create --name=nova --type=compute \\\r\n  --description=\"Nova Compute service\"\r\n\r\nkeystone endpoint-create \\\r\n  --service-id=cb15dabf3b164ddda40e74bc32bcbe85 \\\r\n  --publicurl=http:\/\/openstack01:8774\/v2\/%\\(tenant_id\\)s \\\r\n  --internalurl=http:\/\/openstack01:8774\/v2\/%\\(tenant_id\\)s \\\r\n  --adminurl=http:\/\/openstack01:8774\/v2\/%\\(tenant_id\\)s\r\n<\/code><\/pre>\n<h3>\u914d\u7f6e qpid<\/h3>\n<pre class=\"post-pre\"><code>openstack-config --set \/etc\/nova\/nova.conf \\\r\n  DEFAULT rpc_backend nova.openstack.common.rpc.impl_qpid\r\nopenstack-config --set \/etc\/nova\/nova.conf DEFAULT qpid_hostname openstack01\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>service openstack-nova-api start\r\nservice openstack-nova-cert start\r\nservice openstack-nova-consoleauth start\r\nservice openstack-nova-scheduler start\r\nservice openstack-nova-conductor start\r\nservice openstack-nova-novncproxy start\r\nchkconfig openstack-nova-api on\r\nchkconfig openstack-nova-cert on\r\nchkconfig openstack-nova-consoleauth on\r\nchkconfig openstack-nova-scheduler on\r\nchkconfig openstack-nova-conductor on\r\nchkconfig openstack-nova-novncproxy on\r\n<\/code><\/pre>\n<h3>\u914d\u7f6e\u4e00\u4e2a\u8ba1\u7b97\u8282\u70b9<\/h3>\n<pre class=\"post-pre\"><code>service libvirtd start\r\nservice messagebus start\r\nchkconfig libvirtd on\r\nchkconfig messagebus on\r\nservice openstack-nova-compute start\r\nchkconfig openstack-nova-compute on\r\n<\/code><\/pre>\n<h3>\u914d\u7f6e\u7f51\u7edc<\/h3>\n<pre class=\"post-pre\"><code>openstack-config --set \/etc\/nova\/nova.conf DEFAULT \\\r\n  network_manager nova.network.manager.FlatDHCPManager\r\nopenstack-config --set \/etc\/nova\/nova.conf DEFAULT \\\r\n  firewall_driver nova.virt.libvirt.firewall.IptablesFirewallDriver\r\nopenstack-config --set \/etc\/nova\/nova.conf DEFAULT network_size 254\r\nopenstack-config --set \/etc\/nova\/nova.conf DEFAULT allow_same_net_traffic False\r\nopenstack-config --set \/etc\/nova\/nova.conf DEFAULT multi_host True\r\nopenstack-config --set \/etc\/nova\/nova.conf DEFAULT send_arp_for_ha True\r\nopenstack-config --set \/etc\/nova\/nova.conf DEFAULT share_dhcp_address True\r\nopenstack-config --set \/etc\/nova\/nova.conf DEFAULT force_dhcp_release True\r\nopenstack-config --set \/etc\/nova\/nova.conf DEFAULT flat_interface eth1\r\nopenstack-config --set \/etc\/nova\/nova.conf DEFAULT flat_network_bridge br100\r\nopenstack-config --set \/etc\/nova\/nova.conf DEFAULT public_interface eth1\r\n\r\nservice openstack-nova-metadata-api start\r\nchkconfig openstack-nova-metadata-api on\r\n\r\nservice openstack-nova-network start\r\nchkconfig openstack-nova-network on\r\n\r\n<\/code><\/pre>\n<h4>\u60ca\u559c\u793c\u7269<\/h4>\n<pre class=\"post-pre\"><code>for i in cert compute conductor console consoleauth metadata-api novncproxy network; do\r\nservice openstack-nova-$i restart\r\ndone\r\n<\/code><\/pre>\n<h3>\u521b\u5efanova-network<\/h3>\n<pre class=\"post-pre\"><code>source keystonerc\r\nnova network-create vmnet --fixed-range-v4=10.0.0.0\/24 \\\r\n  --bridge-interface=br100 --multi-host=T\r\n\r\n# backup iptables (or stop iptables)\r\niptables-save &gt; iptables-origin\r\n\r\niptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 35357 -j ACCEPT\r\niptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8774 -j ACCEPT\r\niptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9292 -j ACCEPT\r\niptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 5000 -j ACCEPT\r\n<\/code><\/pre>\n<h2>5. \u5b89\u88c5\u4eea\u8868\u677f<\/h2>\n<pre class=\"post-pre\"><code>yum install memcached python-memcached python-pbr mod_wsgi openstack-dashboard\r\n<\/code><\/pre>\n<h3>\u914d\u7f6e\u4eea\u8868\u677f<\/h3>\n<pre class=\"post-pre\"><code>vi \/etc\/openstack-dashboard\/local_settings\r\n<\/code><\/pre>\n<ul class=\"post-ul\">Memcache<\/ul>\n<pre class=\"post-pre\"><code>CACHES = {\r\n'default': {\r\n'BACKEND' : 'django.core.cache.backends.memcached.MemcachedCache',\r\n'LOCATION' : '127.0.0.1:11211'\r\n}\r\n}\r\n<\/code><\/pre>\n<ul class=\"post-ul\">Dashboard ACL<\/ul>\n<pre class=\"post-pre\"><code>ALLOWED_HOSTS = ['localhost', 'my-desktop']\r\n<\/code><\/pre>\n<ul class=\"post-ul\">Compute Node<\/ul>\n<pre class=\"post-pre\"><code>OPENSTACK_HOST = \"openstack_host\"\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>service httpd start\r\nservice memcached start\r\nchkconfig httpd on\r\nchkconfig memcached on\r\n<\/code><\/pre>\n<h2>6. \u5b89\u88c5\u5e76\u914d\u7f6e\u5757\u5b58\u50a8\u670d\u52a1\u63a7\u5236\u5668<\/h2>\n<pre class=\"post-pre\"><code>yum install openstack-cinder openstack-utils openstack-selinux\r\n<\/code><\/pre>\n<h3>\u8bbe\u5b9a\u6570\u636e\u5e93<\/h3>\n<pre class=\"post-pre\"><code>openstack-config --set \/etc\/cinder\/cinder.conf \\\r\n        database connection mysql:\/\/cinder:cinder@localhost\/cinder\r\n\r\nopenstack-db --init --service cinder --password cinder\r\n<\/code><\/pre>\n<h3>\u4e3a\u5757\u5b58\u50a8\u670d\u52a1\u521b\u5efa\u7528\u6237\u5165\u53e3\u3002<\/h3>\n<pre class=\"post-pre\"><code>keystone user-create --name=cinder --pass=cinder \r\nkeystone user-role-add --user=cinder --tenant=service --role=admin\r\n\r\nopenstack-config --set \/etc\/cinder\/cinder.conf \\\r\n  DEFAULT rpc_backend cinder.openstack.common.rpc.impl_qpid\r\nopenstack-config --set \/etc\/cinder\/cinder.conf \\\r\n  DEFAULT qpid_hostname openstack01\r\n<\/code><\/pre>\n<h3>\u4e3a\u5757\u5b58\u50a8\u670d\u52a1\u521b\u5efa\u4e00\u4e2a\u670d\u52a1\u5165\u53e3\u3002<\/h3>\n<pre class=\"post-pre\"><code>keystone service-create --name=cinder --type=volume \\\r\n  --description=\"Cinder Volume Service\"\r\n\r\nkeystone endpoint-create \\\r\n  --service-id=above_display_sid \\\r\n  --publicurl=http:\/\/openstack01:8776\/v1\/%\\(tenant_id\\)s \\\r\n  --internalurl=http:\/\/openstack01:8776\/v1\/%\\(tenant_id\\)s \\\r\n  --adminurl=http:\/\/openstack01:8776\/v1\/%\\(tenant_id\\)s\r\n\r\nkeystone endpoint-create \\\r\n  --service-id=above_display_sid \\\r\n  --publicurl=http:\/\/openstack01:8776\/v2\/%\\(tenant_id\\)s \\\r\n  --internalurl=http:\/\/openstack01:8776\/v2\/%\\(tenant_id\\)s \\\r\n  --adminurl=http:\/\/openstack01:8776\/v2\/%\\(tenant_id\\)s\r\n<\/code><\/pre>\n<h3>\u8bbe\u7f6eNFS<\/h3>\n<h4>\u9a71\u52a8\u7a0b\u5e8f\uff08nova.conf\uff09<\/h4>\n<pre class=\"post-pre\"><code>vi \/etc\/nova\/nova.conf\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code># Libvirt handlers for remote volumes. (list value)\r\nlibvirt_volume_drivers=iscsi=nova.virt.libvirt.volume.LibvirtISCSIVolumeDriver,iser=nova.virt.libvirt.volume.LibvirtISERVolumeDriver,local=nova.virt.libvirt.volume.LibvirtVolumeDriver,fake=nova.virt.libvirt.volume.LibvirtFakeVolumeDriver,rbd=nova.virt.libvirt.volume.LibvirtNetVolumeDriver,sheepdog=nova.virt.libvirt.volume.LibvirtNetVolumeDriver,nfs=nova.virt.libvirt.volume.LibvirtNFSVolumeDriver,aoe=nova.virt.libvirt.volume.LibvirtAOEVolumeDriver,glusterfs=nova.virt.libvirt.volume.LibvirtGlusterfsVolumeDriver,fibre_channel=nova.virt.libvirt.volume.LibvirtFibreChannelVolumeDriver,scality=nova.virt.libvirt.volume.LibvirtScalityVolumeDriver\r\n<\/code><\/pre>\n<h4>\u78c1\u76d8\u5217\u8868<\/h4>\n<pre class=\"post-pre\"><code>vi \/etc\/cinder\/shares\r\n\r\nNFS_STORAGE:\/openstack\r\n<\/code><\/pre>\n<h4>\u5c71<\/h4>\n<pre class=\"post-pre\"><code>vi \/etc\/cinder\/cinder.conf\r\n<\/code><\/pre>\n<ul class=\"post-ul\">Disk list<\/ul>\n<pre class=\"post-pre\"><code># File with the list of available nfs shares (string value)\r\nnfs_shares_config=\/etc\/cinder\/shares\r\n<\/code><\/pre>\n<ul class=\"post-ul\">Mount point<\/ul>\n<pre class=\"post-pre\"><code># Base dir containing mount points for nfs shares. (string\r\n# value)\r\nnfs_mount_point_base=\/var\/lib\/cinder\/nfs\r\n<\/code><\/pre>\n<h4>\u521b\u5efarootwrap.d\u6587\u4ef6\u3002<\/h4>\n<pre class=\"post-pre\"><code>mkdir -p \/etc\/cinder\/rootwrap.d\r\nchgrp -R cinder \/etc\/cinder\/rootwrap.d\r\nvi \/etc\/cinder\/rootwrap.d\/volume.filters\r\n\r\n\r\n[Filters]\r\n# cinder\/volume\/nfs.py\r\nstat: CommandFilter, \/usr\/bin\/stat, root\r\nmount: CommandFilter, \/bin\/mount, root\r\ndf: CommandFilter, \/bin\/df, root\r\ntruncate: CommandFilter, \/usr\/bin\/truncate, root\r\nchmod: CommandFilter, \/bin\/chmod, root\r\nrm: CommandFilter, \/bin\/rm, root\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>service openstack-cinder-api start\r\nservice openstack-cinder-scheduler start\r\nchkconfig openstack-cinder-api on\r\nchkconfig openstack-cinder-scheduler on\r\nservice openstack-cinder-volume start\r\nchkconfig openstack-cinder-volume on\r\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>OpenStack\u5b89\u88c5\uff08\u517c\u5bb9Openstack-havana 2013.2-1.el6\uff09 \u6211\u4eceOpenstac [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-34747","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Openstack \u5b89\u88c5\u547d\u4ee4\u5907\u5fd8\u5f55 - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/openstack-\u5b89\u88c5\u547d\u4ee4\u5907\u5fd8\u5f55\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Openstack \u5b89\u88c5\u547d\u4ee4\u5907\u5fd8\u5f55\" \/>\n<meta property=\"og:description\" content=\"OpenStack\u5b89\u88c5\uff08\u517c\u5bb9Openstack-havana 2013.2-1.el6\uff09 \u6211\u4eceOpenstac [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/openstack-\u5b89\u88c5\u547d\u4ee4\u5907\u5fd8\u5f55\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-05T10:36:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-30T08:01:38+00:00\" \/>\n<meta name=\"author\" content=\"\u9038, \u79d1\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u9038, \u79d1\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/openstack-%e5%ae%89%e8%a3%85%e5%91%bd%e4%bb%a4%e5%a4%87%e5%bf%98%e5%bd%95\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/openstack-%e5%ae%89%e8%a3%85%e5%91%bd%e4%bb%a4%e5%a4%87%e5%bf%98%e5%bd%95\/\",\"name\":\"Openstack \u5b89\u88c5\u547d\u4ee4\u5907\u5fd8\u5f55 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-04-05T10:36:05+00:00\",\"dateModified\":\"2024-04-30T08:01:38+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/85c1dae56e6ea1e695c73d33c684d487\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/openstack-%e5%ae%89%e8%a3%85%e5%91%bd%e4%bb%a4%e5%a4%87%e5%bf%98%e5%bd%95\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/openstack-%e5%ae%89%e8%a3%85%e5%91%bd%e4%bb%a4%e5%a4%87%e5%bf%98%e5%bd%95\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/openstack-%e5%ae%89%e8%a3%85%e5%91%bd%e4%bb%a4%e5%a4%87%e5%bf%98%e5%bd%95\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Openstack \u5b89\u88c5\u547d\u4ee4\u5907\u5fd8\u5f55\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/85c1dae56e6ea1e695c73d33c684d487\",\"name\":\"\u9038, \u79d1\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g\",\"caption\":\"\u9038, \u79d1\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/keyi\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/openstack-%e5%ae%89%e8%a3%85%e5%91%bd%e4%bb%a4%e5%a4%87%e5%bf%98%e5%bd%95\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Openstack \u5b89\u88c5\u547d\u4ee4\u5907\u5fd8\u5f55 - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/openstack-\u5b89\u88c5\u547d\u4ee4\u5907\u5fd8\u5f55\/","og_locale":"zh_CN","og_type":"article","og_title":"Openstack \u5b89\u88c5\u547d\u4ee4\u5907\u5fd8\u5f55","og_description":"OpenStack\u5b89\u88c5\uff08\u517c\u5bb9Openstack-havana 2013.2-1.el6\uff09 \u6211\u4eceOpenstac [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/openstack-\u5b89\u88c5\u547d\u4ee4\u5907\u5fd8\u5f55\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-04-05T10:36:05+00:00","article_modified_time":"2024-04-30T08:01:38+00:00","author":"\u9038, \u79d1","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u9038, \u79d1","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"7 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/openstack-%e5%ae%89%e8%a3%85%e5%91%bd%e4%bb%a4%e5%a4%87%e5%bf%98%e5%bd%95\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/openstack-%e5%ae%89%e8%a3%85%e5%91%bd%e4%bb%a4%e5%a4%87%e5%bf%98%e5%bd%95\/","name":"Openstack \u5b89\u88c5\u547d\u4ee4\u5907\u5fd8\u5f55 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-04-05T10:36:05+00:00","dateModified":"2024-04-30T08:01:38+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/85c1dae56e6ea1e695c73d33c684d487"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/openstack-%e5%ae%89%e8%a3%85%e5%91%bd%e4%bb%a4%e5%a4%87%e5%bf%98%e5%bd%95\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/openstack-%e5%ae%89%e8%a3%85%e5%91%bd%e4%bb%a4%e5%a4%87%e5%bf%98%e5%bd%95\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/openstack-%e5%ae%89%e8%a3%85%e5%91%bd%e4%bb%a4%e5%a4%87%e5%bf%98%e5%bd%95\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"Openstack \u5b89\u88c5\u547d\u4ee4\u5907\u5fd8\u5f55"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/85c1dae56e6ea1e695c73d33c684d487","name":"\u9038, \u79d1","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g","caption":"\u9038, \u79d1"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/keyi\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/openstack-%e5%ae%89%e8%a3%85%e5%91%bd%e4%bb%a4%e5%a4%87%e5%bf%98%e5%bd%95\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/34747","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=34747"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/34747\/revisions"}],"predecessor-version":[{"id":92882,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/34747\/revisions\/92882"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=34747"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=34747"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=34747"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}