热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

双网卡安装OpenstackFolsom+Quantum过程记录

OpenstackFolsom发布好久了,但由于新的组件Quantum的加入,以及知识的跨度,比如同时需要系统管理及网络工程方面的知识,所以Folsom的安装还是挺费事的。经过几天的测试,参考各种文档,终于完成了Folsom基于双网卡的安装,总结至此。1.需求说明

Openstack Folsom 发布好久了,但由于新的组件Quantum的加入,以及知识的跨度,比如同时需要系统管理及网络工程方面的知识,所以Folsom的安装还是挺费事的。

经过几天的测试,参考各种文档,终于完成了Folsom基于双网卡的安装,总结至此。

1. 需求说明

====================

:节点名称: NICs

:控制节点: eth0 (100.10.10.51), eth1 (192.168.100.51)

:网络节点: eth0 (100.10.10.52), eth2 (0.0.0.0)

:计算节点: eth0 (100.10.10.53)

**备注 1: ** 本文为双网卡安装Folsom设计,根据官方说明,网络节点最好采用三块网卡控制节点可以和计算节点合二为一.

**备注 2:** 本文安装指南环境为实现Folsom功能评估,力求简单方便,安全性差,不可用于生产环境。

**备注 3: ** 本文不适用于虚拟机环境.请使用物理计算机安装.

.. image:: http://i.imgur.com/4D51h.jpg

2. 控制节点

===============

2.1. 准备系统

-----------------

* 安装系统注意事项::

    - ubuntu-12.10-server-amd64.iso

    - 为Cinder服务预留独立分区 例如: /dev/sda5

    - 提前定义好各服务器主机名及IP,尽量别改,一定要改,请修改/etc/hosts中的对应关系

* 以下所有命令均在root权限下完成,所以在装好ubuntu后,请切换到root::

   sudo passwd

   su

* 更新系统(依据笔者经验,安装完Folsom环境后最好别再使用dist-upgrade,以免产生些许小问题,如虚拟机获得不了ip等..)::

   apt-get update

   apt-get upgrade

   apt-get dist-upgrade

* 因为要更新和下载的软件比较多,可以在空闲时间一次更新系统并提前安装所需要软件,以后只需要配置就行了:

   apt-get update && apt-get dist-upgrade -y && apt-get update -y && apt-get dist-upgrade -y && apt-get install -y rabbitmq-server ntp vlan bridge-utils keystone curl openssl glance quantum-server quantum-plugin-openvswitch nova-api nova-cert novnc nova-consoleauth nova-scheduler nova-novncproxy cinder-api cinder-scheduler cinder-volume iscsitarget open-iscsi iscsitarget-dkms openstack-dashboard memcached python-mysqldb mysql-server 

2.2.配置网卡

------------

* 主控应该有一个外网网卡::

   #访问Openstack API 

   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

   #管理网络和虚拟机网络合二为一

   auto eth0

   iface eth0 inet static

   address 100.10.10.51

   netmask 255.255.255.0

* 重启网络服务::

   service networking restart

2.3. MySQL & RabbitMQ

------------

* 安装 MySQL 和 RabbitMQ::

   apt-get install mysql-server python-mysqldb rabbitmq-server 

* 配置Mysql监听所有地址::

   sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf

   service mysql restart

* 为了简化安装,以后所有连接mysql服务均使用 root:password登录,将root权限更改为所有主机可以访问(默认只能本机访问)

   mysql -uroot -ppassword

   use mysql;

   update user set host='%' where user='root' and host='localhost';

   flush privileges;

* 创建所有必须的数据库::

   create database keystone;

   create database nova;

   create database glance;

   create database cinder;

   create database quantum;

2.4. 节点时间同步

------------------

* 安装时间服务器,其它节点时间同此服务器同步::

   apt-get install ntp

   sed -i 's/server ntp.ubuntu.com/server ntp.ubuntu.comserver 127.127.1.0fudge 127.127.1.0 stratum 10/g' /etc/ntp.conf

   service ntp restart  

2.5. Others

-------------------

* 安装其它服务::

   apt-get install vlan bridge-utils

* 允许IP转发::

   vi /etc/sysctl.conf

   net.ipv4.conf.all.rp_filter = 0

   net.ipv4.conf.default.rp_filter = 0 

   sysctl net.ipv4.ip_forward=1

   # 检查一下

   sysctl -p 

2.6. Keystone

-------------------

* 安装组件::

   apt-get install keystone

* 编辑 /etc/keystone/keystone.conf 数据库连接::

   cOnnection= mysql://root:password@100.10.10.51/keystone

* 重启keystone并初始化数据库::

   service keystone restart

   keystone-manage db_sync

* 使用 `自动化脚本 `_ 创建keystone用户、服务、服务端点。为了简化,这里只创建admin一个用户,请不要修改此用户密码。 

    bash keystone_basic.sh

    执行一次,否则会创建多个service

    bash keystone_endpoints_basic.sh

* 创建/root/novarc文件,写入以下内容::

    export OS_TENANT_NAME=admin

    export OS_TENANT_ID=c7fb80d964a24ab1bc0fd370696c804e

    export OS_USERNAME=admin

    export OS_PASSWORD=password

    export OS_AUTH_URL="http://127.0.0.1:35357/v2.0"

    export OS_REGION_NAME=RegionOne

    export OS_IDENTITY_API_VERSION=2.0

    export SERVICE_TOKEN=ADMIN

    export SERVICE_ENDPOINT="http://127.0.0.1:35357/v2.0"

    各项值请根据实际情况替换

    keystone tenant-list

    将获取的tenant_id替换到novarc

    source /root/novarc

    echo "source /root/novarc" >> ~/.bashrc

2.7. Glance

-------------------

* 安装组件

    apt-get install glance

* 分别修改 /etc/glance/glance-api-paste.ini 和/etc/glance/glance-registry-paste.ini::

   [filter:authtoken]

   paste.filter_factory = keystone.middleware.auth_token:filter_factory

   auth_host = 100.10.10.51

   auth_port = 35357

   auth_protocol = http

   admin_tenant_name = admin

   admin_user = admin

   admin_password = password

* 分别修改 /etc/glance/glance-api.conf 和/etc/glance/glance-registry.conf ::

   sql_cOnnection= mysql://root:password@100.10.10.51/glance

   [paste_deploy]

   flavor = keystone

* 重启glance服务并同步glance数据库::

   service glance-api restart; service glance-registry restart

   glance-manage db_sync

* 测试glance 服务,不输出任何结果代表成功::

    glance index

* 上传个镜像::

   wget https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img

   glance image-create --name myFirstImage --is-public true --container-format bare

    --disk-format qcow2 < cirros-0.3.0-x86_64-disk.img

* 再查看一下::

   glance image-list

2.8. Quantum

-------------------

* 安装组件::

   apt-get install quantum-server quantum-plugin-openvswitch

* 修改 /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini,移动后文件最后,有模板:: 

   [DATABASE]

   sql_cOnnection= mysql://root:password@100.10.10.51/quantum

   #Under the OVS section

   [OVS]

   tenant_network_type = gre

   tunnel_id_ranges = 1:1000

   enable_tunneling = True

* 修改 /etc/quantum/api-paste.ini ::

   [filter:authtoken]

   paste.filter_factory = keystone.middleware.auth_token:filter_factory

   auth_host = 100.10.10.51

   auth_port = 35357

   auth_protocol = http

   admin_tenant_name = admin

   admin_user = admin

   admin_password = password

* 重启 quantum server::

   service quantum-server restart

2.9. Nova

-------------------

* 安装组件::

   apt-get install -y nova-api nova-cert novnc nova-consoleauth nova-scheduler nova-novncproxy

* 修改 /etc/nova/api-paste.ini ::

   [filter:authtoken]

   paste.filter_factory = keystone.middleware.auth_token:filter_factory

   auth_host = 100.10.10.51

   auth_port = 35357

   auth_protocol = http

   admin_tenant_name = admin

   admin_user = admin

   admin_password = password

   signing_dirname = /tmp/keystone-signing-nova

* Modify the /etc/nova/nova.conf like this::

   [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

   scheduler_driver=nova.scheduler.simple.SimpleScheduler

   s3_host=100.10.10.51

   ec2_host=100.10.10.51

   ec2_dmz_host=100.10.10.51

   rabbit_host=100.10.10.51

   cc_host=100.10.10.51

   dmz_cidr=169.254.169.254/32

   metadata_host=100.10.10.51

   metadata_listen=0.0.0.0

   nova_url=http://100.10.10.51:8774/v1.1/

   sql_cOnnection=mysql://novaUser:novaPass@100.10.10.51/nova

   ec2_url=http://100.10.10.51:8773/services/Cloud 

   root_helper=sudo nova-rootwrap /etc/nova/rootwrap.conf

   # Auth

   use_deprecated_auth=false

   auth_strategy=keystone

   keystone_ec2_url=http://100.10.10.51:5000/v2.0/ec2tokens

   # Imaging service

   glance_api_servers=100.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=192.168.100.51

   vncserver_listen=0.0.0.0 

   # Network settings

   network_api_class=nova.network.quantumv2.api.API

   quantum_url=http://100.10.10.51:9696

   quantum_auth_strategy=keystone

   quantum_admin_tenant_name=admin

   quantum_admin_username=admin

   quantum_admin_password=password

   quantum_admin_auth_url=http://100.10.10.51:35357/v2.0

   libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver

   linuxnet_interface_driver=nova.network.linux_net.LinuxOVSInterfaceDriver

   firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver

   # Compute #

   compute_driver=libvirt.LibvirtDriver

   # Cinder #

   volume_api_class=nova.volume.cinder.API

   osapi_volume_listen_port=5900

* 初始化nova数据库::

   nova-manage db sync

* 重启所有nova服务::

   cd /etc/init.d/; for i in $( ls nova-* ); do sudo service $i restart; done   

* 检查nova服务,有笑脸图标,证明服务正常::

   nova-manage service list

    Binary           Host             Zone             Status     State Updated_At

    nova-cert        sm1u07           nova             enabled    :-)   2013-03-15 12:08:31

    nova-consoleauth sm1u07           nova             enabled    :-)   2013-03-15 12:08:30

    nova-scheduler   sm1u07           nova             enabled    :-)   2013-03-15 12:08:30

2.10. Cinder

-------------------

* 安装组件::

   apt-get install 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 = keystone.middleware.auth_token:filter_factory

   service_protocol = http

   service_host = 100.10.10.51

   service_port = 5000

   auth_host = 100.10.10.51

   auth_port = 35357

   auth_protocol = http

   admin_tenant_name = admin

   admin_user = password

   admin_password = password

* 修改the /etc/cinder/cinder.conf to::

   [DEFAULT]

   rootwrap_cOnfig=/etc/cinder/rootwrap.conf

   sql_cOnnection= mysql://root:password@100.10.10.51/cinder

   api_paste_cOnfg= /etc/cinder/api-paste.ini

   iscsi_helper=ietadm

   volume_name_template = volume-%s

   volume_group = cinder-volumes

   verbose = True

   auth_strategy = keystone

* 初始化cinder数据库::

   cinder-manage db sync

* 创建cinder使用的物理卷及卷组::

   pvcreate /dev/sda5

   vgcreate cinder-volumes /dev/sda5

   service cinder-volume restart

   service cinder-api restart

2.11. 控制面板

-------------------

* 安装组件 ::

   apt-get install openstack-dashboard memcached

* dashboard依赖apache和memcache::

   service apache2 restart; service memcached restart

现在可以访问Dashboard了 **http://192.168.100.51/horizon** 用户名密码 **admin:password**.

3. 网络节点

=========================

3.1. 准备系统

------------------

* 安装ubuntu12.01::

   apt-get update

   apt-get upgrade

   apt-get dist-upgrade

    快速:

    apt-get update && apt-get dist-upgrade -y && apt-get install -y ntp vlan bridge-utils openvswitch-switch openvswitch-datapath-dkms quantum-plugin-openvswitch-agent quantum-dhcp-agent quantum-l3-agent

* 安装配置基本服务ntp,vlan,bridge-utils::

   apt-get install ntp vlan bridge-utils

   sed -i 's/server ntp.ubuntu.com/server 100.10.10.51/g' /etc/ntp.conf

   service ntp restart  

* 允许ip转发::

   vi /etc/sysctl.conf

   net.ipv4.conf.all.rp_filter = 0

   net.ipv4.conf.default.rp_filter = 0

   sysctl net.ipv4.ip_forward=1

3.2.配置网卡

------------

* 网络节点eth1网卡将做为虚拟机与互联网通讯端口,设置网卡为 promisc mode::

   #虚拟机外网出口

   auto eth1

   iface eth1 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

   #管理网络及内部通信

   auto eth0

   iface eth0 inet static

   address 100.10.10.52

   netmask 255.255.255.0

3.3. OpenVSwitch

------------------

* 安装虚拟交换机::

   apt-get install -y openvswitch-switch openvswitch-datapath-dkms

* 创建网桥::

   #br-int is used for VM integration

   ovs-vsctl add-br br-int

   #br-ex is used for accessing internet.

   ovs-vsctl add-br br-ex

   ovs-vsctl br-set-external-id br-ex bridge-id br-ex

   ovs-vsctl add-port br-ex eth1

   启动br-ex

   ip link set br-ex up

3.4. Quantum

------------------

* 安装quantum组件::

   apt-get -y install quantum-dhcp-agent quantum-l3-agent quantum-plugin-openvswitch-agent

* 编辑/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini :: 

   #Under the database section

   [DATABASE]

   sql_cOnnection= mysql://root:password@100.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 = 100.10.10.52

   enable_tunneling = True

* 更新 /etc/quantum/l3_agent.ini::

   auth_url = http://100.10.10.51:35357/v2.0

   auth_region = RegionOne

   admin_tenant_name = admin

   admin_user = admin

   admin_password = password

   metadata_ip = 100.10.10.51

   metadata_port = 8775

   use_namespaces = False

* 修改 /etc/quantum/dhcp_agent.ini::

   use_namespaces = False

* 修改/etc/quantum/quantum.conf ::

   rabbit_host = 100.10.10.51

* 重启所有服务::

   service quantum-dhcp-agent restart

   service quantum-l3-agent restart

   service quantum-plugin-openvswitch-agent restart

4. 计算节点

=========================

4.1. 准备系统

------------------

* 更新升级::

   apt-get update

   apt-get upgrade

   apt-get dist-upgrade

   快速:

    apt-get update && apt-get dist-upgrade -y && apt-get install -y ntp vlan bridge-utils cpu-checker kvm libvirt-bin pm-utils openvswitch-switch openvswitch-datapath-dkms  quantum-plugin-openvswitch-agent nova-compute-kvm

* 安装 ntp vlan bridge-utils::

   apt-get install ntp vlan bridge-utils

   sed -i 's/server ntp.ubuntu.com/server 100.10.10.51/g' /etc/ntp.conf

   service ntp restart  

* 允许IP转发::

   vi /etc/sysctl.conf

   net.ipv4.conf.all.rp_filter = 0

   net.ipv4.conf.default.rp_filter = 0

   sysctl net.ipv4.ip_forward=1

4.2.配置网卡

------------

* vi /etc/network/interfaces ::

   # 管理网络和内部通讯网络

   auto eth0

   iface eth0 inet static

   address 100.10.10.53

   netmask 255.255.255.0

4.3 KVM

------------------

* 确认硬件支持虚拟化::

   apt-get install cpu-checker

   kvm-ok

* 安装kvm组件::

   apt-get install -y kvm libvirt-bin pm-utils

* 编辑libvirt设备列表支持tun  /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"

   ]

* 删除kvm默认网络配置 ::

   virsh net-destroy default

   virsh net-undefine default

* 允许动态迁移 ::

   vi /etc/libvirt/libvirtd.conf 

   listen_tls = 0

   listen_tcp = 1

   auth_tcp = "none"

   vi /etc/init/libvirt-bin.conf

   env libvirtd_opts="-d -l"

   vi /etc/default/libvirt-bin

   libvirtd_opts="-d -l"

   service libvirt-bin restart

4.4. OpenVSwitch

------------------

* 安装 openVSwitch::

   apt-get install -y openvswitch-switch openvswitch-datapath-dkms

* 创建网桥 bridges::

   #br-int will be used for VM integration

   ovs-vsctl add-br br-int

4.5. Quantum

------------------

* 安装 Quantum openvswitch agent::

   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://root:password@100.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 = 100.10.10.53

   enable_tunneling = True

* 修改rabbitMQ IP ::

   vi /etc/quantum/quantum.conf

   rabbit_host = 100.10.10.51

* 重启所有服务::

   service quantum-plugin-openvswitch-agent restart

4.6. Nova

------------------

* 安装nova compute组件::

   apt-get install nova-compute-kvm

* 修改 /etc/nova/api-paste.ini::

   [filter:authtoken]

   paste.filter_factory = keystone.middleware.auth_token:filter_factory

   auth_host = 100.10.10.51

   auth_port = 35357

   auth_protocol = http

   admin_tenant_name = admin

   admin_user = admin

   admin_password = password

   signing_dirname = /tmp/keystone-signing-nova

* 编辑 /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

   scheduler_driver=nova.scheduler.simple.SimpleScheduler

   s3_host=100.10.10.51

   ec2_host=100.10.10.51

   ec2_dmz_host=100.10.10.51

   rabbit_host=100.10.10.51

   cc_host=100.10.10.51

   dmz_cidr=169.254.169.254/32

   metadata_host=100.10.10.51

   metadata_listen=0.0.0.0

   nova_url=http://100.10.10.51:8774/v1.1/

   sql_cOnnection=mysql://novaUser:novaPass@100.10.10.51/nova

   ec2_url=http://100.10.10.51:8773/services/Cloud 

   root_helper=sudo nova-rootwrap /etc/nova/rootwrap.conf

   # Auth

   use_deprecated_auth=false

   auth_strategy=keystone

   keystone_ec2_url=http://100.10.10.51:5000/v2.0/ec2tokens

   # Imaging service

   glance_api_servers=100.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=100.10.10.53

   vncserver_listen=0.0.0.0 

   # Network settings

   network_api_class=nova.network.quantumv2.api.API

   quantum_url=http://100.10.10.51:9696

   quantum_auth_strategy=keystone

   quantum_admin_tenant_name=admin

   quantum_admin_username=admin

   quantum_admin_password=password

   quantum_admin_auth_url=http://100.10.10.51:35357/v2.0

   libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver

   linuxnet_interface_driver=nova.network.linux_net.LinuxOVSInterfaceDriver

   firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver

   # Compute #

   compute_driver=libvirt.LibvirtDriver

   # Cinder #

   volume_api_class=nova.volume.cinder.API

   osapi_volume_listen_port=5900

* Restart nova-* services::

   cd /etc/init.d/; for i in $( ls nova-* ); do sudo service $i restart; done   

* Check for the smiling faces on nova-* services to confirm your installation::

   nova-manage service list

5. 创建虚拟机

============

* 使用 管理虚拟机

* 编辑安全组,允许所有协议,tcp,udp,icmp

    root@sm1u07:~# nova secgroup-list-rules default

    Please enter password for encrypted keyring: 

+-------------+-----------+---------+-----------+--------------+

| IP Protocol | From Port | To Port | IP Range  | Source Group |

+-------------+-----------+---------+-----------+--------------+

| icmp        | -1        | 255     | 0.0.0.0/0 |              |

| tcp         | 1         | 65535   | 0.0.0.0/0 |              |

| udp         | 1         | 65535   | 0.0.0.0/0 |              |

+-------------+-----------+---------+-----------+--------------+

* 使用脚本 `quantum.sh `_ 为admin创建相关的网络,即虚拟机内网和外网

* 查看创建好的网络

    root@hp4u:~# quantum net-list

+--------------------------------------+-----------+--------------------------------------+

| id                                   | name      | subnets            |

+--------------------------------------+-----------+--------------------------------------+

| 14dbb282-c74a-4784-bfc3-351f7ca3d034 | ext_net   | 95bddb90-84dc-4579-99b8-798a393a3edf |

| d402e168-cbda-4345-8ffa-015e6a1c4aa1 | admin-net | 8ef3c4dd-a265-421c-afa2-6cff28ae2c74 |

+--------------------------------------+-----------+--------------------------------------+

    root@hp4u:~# quantum router-list

+--------------------------------------+-----------------+--------------------------------------------------------+

| id                                   | name            | external_gateway_info                |

+--------------------------------------+-----------------+--------------------------------------------------------+

| 623b68f4-967a-4028-9a92-dc5a7d3e16e8 | provider-router | {"network_id": "14dbb282-c74a-4784-bfc3-351f7ca3d034"} |

+--------------------------------------+-----------------+--------------------------------------------------------+

* 修改 /etc/quantum/l3_agent.ini :

     gateway_external_network_id = 14dbb282-c74a-4784-bfc3-351f7ca3d034

     router_id = 623b68f4-967a-4028-9a92-dc5a7d3e16e8

     service quantum-l3-agent restart  

* 使用控制面板创建一个虚拟机,并记录vm-uuid,勇冠vm-uuid获取vm的端口id

     quantum port-list -- --device_id

* 目前horizon不支持quantum的floatingip操作,通过quantum 命令行为vm 分配floatingip,

     quantum floatingip-create --port_id

* 大功告成,现在你可以去dashboard中用vnc登录vm,测试一下各个网络是否通畅


推荐阅读
  • docker镜像重启_docker怎么启动镜像dock ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 云计算的优势与应用场景
    本文详细探讨了云计算为企业和个人带来的多种优势,包括成本节约、安全性提升、灵活性增强等。同时介绍了云计算的五大核心特点,并结合实际案例进行分析。 ... [详细]
  • 本文探讨了为何相同的HTTP请求在两台不同操作系统(Windows与Ubuntu)的机器上会分别返回200 OK和429 Too Many Requests的状态码。我们将分析代码、环境差异及可能的影响因素。 ... [详细]
  • 使用JS、HTML5和C3创建自定义弹出窗口
    本文介绍如何结合JavaScript、HTML5和C3.js来实现一个功能丰富的自定义弹出窗口。通过具体的代码示例,详细讲解了实现过程中的关键步骤和技术要点。 ... [详细]
  • 本文将详细探讨 Linux 系统中的 netstat 命令,该命令用于查看网络状态和连接情况。通过了解 IP 地址和端口的基本概念,我们将更好地理解如何利用 netstat 命令来监控和管理网络服务。 ... [详细]
  • 优化使用Apache + Memcached-Session-Manager + Tomcat集群方案
    本文探讨了使用Apache、Memcached-Session-Manager和Tomcat集群构建高性能Web应用过程中遇到的问题及解决方案。通过重新设计物理架构,解决了单虚拟机环境无法真实模拟分布式环境的问题,并详细记录了性能测试结果。 ... [详细]
  • 本文提供了一套实用的方法论,旨在帮助开发者构建能够应对高并发请求且易于扩展的Web服务。内容涵盖了服务器架构、数据库管理、缓存策略以及异步处理等多个方面。 ... [详细]
  • 近期参与了一个旨在提高在线平台大规模查询响应速度的项目,预计处理的数据量为2-3亿条,数据库并发量约为每秒1500次,未来可能增至3000次。通过对比Redis和MongoDB,最终选择了MongoDB,因其具备优秀的横向扩展性和GridFS支持下的Map/Reduce功能。 ... [详细]
  • 安装MemcachedMemcached整理安装PythonMemcachedAPIpython操作啊Memcached使用Python-memcached模块下载安装:https ... [详细]
author-avatar
mobiledu2502925915
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有