八、使用Dashboard运行CirrOS 1、配置本机地址解析 编辑本机的C:\Windows\System32\drivers\etc\hosts文件,增加一行: 192.168.8.11 controller 如果因为用户权限不够导致不能保存文件,可以打开“命令提示符(管理员)”,按照以下步骤操作: C:\Windows\system32> cd drivers\etc C:\Windows\System32\drivers\etc> echo192.168.8.11 controller >> hosts 2、使用Dashboard运行CirrOS并通过SSH用户名/密码认证方式登陆 (1)使用demo用户登陆Dashboard,密码为123456。如果用户界面为英文,可以在页面右上角的用户名处点击,选择“设置”,在“用户设置”à“语言”处选择“简体中文(zh-cn)”。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image002.jpg (2)在项目à Compute à 镜像处,可以看到已经添加的CirrOS和CentOS映像。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image004.jpg (3)在项目à Compute à 实例处,点击右上方的“启动云主机”。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image006.jpg (4)在“启动云主机”对话框中按照以下说明配置:可用域为nova,云主机名称处随意填写,云主机类型保持为m1.tiny,云主机数量为1,云主机启动源选择“从镜像启动”,镜像名称选择“cirros-0.3.3-x86_64”,点击运行,启动云主机。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image008.jpg (5)开始创建云主机,根据计算机硬件配置,过程可能会持续1-10分钟不等。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image010.jpg (6)当“状态”从Build变成Active后,云主机创建完成,分配到的IP地址为192.168.1.2。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image012.jpg (7)点击云主机名称CirrOS-1,选择控制台,在“Connected (unencrypted) to: QEMU (instance-00000003)”点击一次,即可使用本地控制台(即本地显示器输出)操作云主机。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image014.jpg (8)在compute节点查看网络连接,可以看到br100网桥。 [iyunv@compute ~]# ifconfig br100 Link encap:Ethernet HWaddr00:0C:29:48:B3:1A inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::94e8:59ff:fed8:f3b7/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:186 errors:0 dropped:0 overruns:0 frame:0 TX packets:101 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:21565 (21.0 KiB) TXbytes:12841 (12.5 KiB) (9)云主机的网络连接原理如下图所示,云主机先连接到br100网桥,然后通过eth1网卡连接到外部网络。在外部网络,可以通过IP地址192.168.1.2访问云主机。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image016.jpg (10)按照默认配置,云主机可以不受限制的访问外部网络,而外部网络无法访问云主机。即外出方向的数据全部允许,进入方向的数据全部拒绝。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image018.jpg 如图,从云主机ping计算节点的br100接口地址,以及本机的VMware Network Adapter VMnet1网卡地址(本机要允许ping),都可以通。 但是从本机ping云主机是不通的。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image020.jpg (11)想要让外部网络可以访问云主机,需要配置安全组。在项目à Compute à 访问&安全处,可以看到默认存在的安全组default,点击“管理规则”。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image022.jpg (12)在管理安全组规则:default处,点击“添加规则”。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image024.jpg (13)在规则处选择“ALL ICMP”,远程处选择CIDR,CIDR处填写0.0.0.0/0,允许来自外部网络所有IP地址的ICMP数据包,点击添加。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image026.jpg (14)这时,从本机可以ping云主机了。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image028.jpg (15)要允许到云主机的SSH访问,需要继续添加规则。在管理安全组规则:default处,点击“添加规则”。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image030.jpg (16)在规则处选择“SSH”,远程处选择CIDR,CIDR处填写0.0.0.0/0,允许来自外部网络的SSH数据包,点击添加。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image032.jpg (17)以下为配置好的default安全组规则,如果需要允许到云主机的其他数据,可以继续添加其他规则。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image034.jpg (18)打开SSH客户端(可以选择putty、Xshell、SecureCRT等软件,这里使用Xshell),新建到云主机192.168.1.2的SSH连接。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image036.jpg (19)输入用户名cirros,密码cubswin:),就可以远程登录到云主机了。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image038.jpg (20)在项目à Compute à 实例处,点击云主机右侧的“更多”,选择“终止云主机”,终止并删除云主机CirrOS-1。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image040.jpg 3、通过SSH公钥认证方式登陆CirrOS云主机 CirrOS支持SSH的用户名/密码方式认证,但是常见的OpenStack云主机操作系统只支持SSH公钥认证,这里将在Dashboard中产生RSA密钥对,将密钥导入SSH客户端,通过SSH公钥认证登陆云主机。 (1)在项目à Compute à 访问&安全处,选择“密钥对”,点击“创建密钥对”。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image042.jpg (2)在密钥对名称处随意输入,这里输入RSA-Dashboard,点击“创建密钥对”。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image044.jpg (3)将密钥文件下载到本机。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image046.jpg 注意某些下载软件可能会下载到错误的文件,建议使用Internet Explorer、Chrome等浏览器的浏览器内置下载工具下载。密钥对文件内容看起来应该是这样的: file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image048.jpg 以下为Dashboard中显示的密钥对信息。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image050.jpg (4)打开Xshell的菜单栏à 工具à 用户密钥管理者。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image052.jpg (5)点击导入,找到下载的rsa-dashboard.pem文件,将Dashboard产生的密钥对导入到Xshell中。其他SSH工具的密钥对导入方法与此类似。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image053.png (6)在项目à Compute à 实例处,点击右上方的“启动云主机”。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image006.jpg (7)在“启动云主机”对话框中按照以下说明配置:可用域为nova,云主机名称处随意填写,云主机类型保持为m1.tiny,云主机数量为1,云主机启动源选择“从镜像启动”,镜像名称选择“cirros-0.3.3-x86_64”。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image055.jpg 切换到访问&安全栏,确认值对为DSA-Dashboard,点击运行,启动云主机 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image057.jpg (8)以下为运行起来的云主机,值对为DSA-Dashboard,IP地址为192.168.1.2。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image059.jpg (9)在Xshell中新建SSH连接。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image061.jpg 切换到用户身份验证,方法选择“Public Key”,用户名填写cirros,用户密钥为导入进来的rsa-dashboard。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image063.jpg (10)以下为通过SSH公钥认证方式登陆的CirrOS云主机。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image065.jpg 九、使用OpenStack命令行客户端运行CentOS 0、使用Dashboard运行CentOS的方法与CirrOS相同,同样需要使用SSH公钥验证,唯一的区别是CentOS的登陆用户名为centos。 下面将在控制节点上使用命令行客户端管理OpenStack并运行CentOS。 1、编辑demo用户的环境变量文件 [iyunv@controller ~]# vi demo-openrc.sh export OS_USERNAME=demo export OS_PASSWORD=123456 export OS_TENANT_NAME=demo exportOS_AUTH_URL=http://controller:35357/v2.0 2、使用OpenStack命令行客户端运行CentOS (1)应用demo用户的环境变量 [iyunv@controller ~]# source demo-openrc.sh (2)产生密钥对 [iyunv@controller ~]# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key(/root/.ssh/id_rsa): # 密钥对存放位置 Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): # 直接回车,不配置密钥保护密码 Enter same passphrase again: # 再次回车确认 Your identification has been saved in/root/.ssh/id_rsa. # 私钥文件 Your public key has been saved in/root/.ssh/id_rsa.pub. # 公钥文件 The key fingerprint is: # 数字签名 46:3a:31:eb:29:84:20:49:b1:bf:c0:29:9e:60:2b:4eroot@controller The key's randomart image is: file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image066.png [iyunv@controller .ssh]# cd /root/.ssh # 进入存放密钥对的目录 [iyunv@controller .ssh]# ls # 查看私钥和公钥文件 id_rsa id_rsa.pub (3)将公钥添加到OpenStack环境中 [iyunv@controller .ssh]# nova keypair-add--pub-key ~/.ssh/id_rsa.pub demo-key (4)显示demo用户的密钥对 [iyunv@controller .ssh]# nova keypair-list file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image068.jpg (5)显示可用的云主机类型 [iyunv@controller .ssh]# nova flavor-list file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image070.jpg 要运行CentOS,m1.tiny不能满足云主机要求,需要使用m1.small或自己创建新的云主机类型。 (6)显示可用的映像列表 [iyunv@controller .ssh]# nova image-list file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image072.jpg (7)显示可用的网络 [iyunv@controller .ssh]# cd ~ [iyunv@controller ~]# source admin-openrc.sh # 只有管理用户admin可以显示外部网络 [iyunv@controller ~]# nova net-list file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image074.jpg (8)显示可用的安全组 [iyunv@controller ~]# source demo-openrc.sh # 切换回demo用户环境变量 [iyunv@controller ~]# nova secgroup-list file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image075.png (9)显示安全组default的规则 [iyunv@controller ~]# nova secgroup-list-rulesdefault file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image077.jpg 在“八、使用Dashboard运行CirrOS”中,已经使用Dashboard为安全组default配置了两个规则,分别允许来自0.0.0.0/0的ICMP和SSH连接。 如果安全组default的规则为空,可以运行以下两个命令添加规则: # nova secgroup-add-rule default icmp -1 -10.0.0.0/0 # nova secgroup-add-rule default tcp 22 220.0.0.0/0 (10)启动虚拟机实例 [iyunv@controller ~]# nova boot --flavorm1.small --image CentOS-6.6-x86_64 --nicnet-id=c1fa6e50-63df-4f69-8433-5cb58b5470c8 --security-group default --key-namedemo-key CentOS-1 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image079.jpg 其中,c1fa6e50-63df-4f69-8433-5cb58b5470c8是nova net-list显示的网络ID。 (11)检查虚拟机实例的状态 [iyunv@controller ~]# nova list file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image081.jpg 根据计算机硬件配置,虚拟机实例的状态从Build变成Active的过程可能会持续5-30分钟不等。 (12)获取从Web访问虚拟机实例控制台的VNC会话地址 [iyunv@controller ~]# nova get-vnc-consoleCentOS-1 novnc file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image083.jpg (13)将获取到的URL复制到浏览器的地址栏中,可以看到虚拟机实例的本地控制台。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image085.jpg 3、使用SSH公钥认证登陆CentOS云主机 CentOS云主机默认不允许控制台登陆,需要使用SSH的公钥认证登录系统。在这里,将在控制节点使用SSH登录到CentOS云主机。 (1)确认网络连通性 [iyunv@controller ~]# ping -c 4 192.168.1.2 PING 192.168.1.2 (192.168.1.2) 56(84) bytesof data. 64 bytes from 192.168.1.2: icmp_seq=1ttl=128 time=2.88 ms 64 bytes from 192.168.1.2: icmp_seq=2ttl=128 time=1.55 ms 64 bytes from 192.168.1.2: icmp_seq=3ttl=128 time=1.73 ms 64 bytes from 192.168.1.2: icmp_seq=4ttl=128 time=1.48 ms --- 192.168.1.2 ping statistics --- 4 packets transmitted, 4 received, 0%packet loss, time 3007ms rtt min/avg/max/mdev =1.486/1.913/2.883/0.568 ms (2)安装SSH客户端软件 [iyunv@controller ~]# yum installopenssh-clients (3)使用SSH公钥认证登陆CentOS云主机 [iyunv@controller ~]# ssh -i ~/.ssh/id_rsacentos@192.168.1.2 The authenticity of host '192.168.1.2(192.168.1.2)' can't be established. RSA key fingerprint is46:83:b0:9c:28:37:48:c1:90:af:dd:7d:9f:ae:44:1f. Are you sure you want to continueconnecting (yes/no)? yes # 输入yes确认 Warning: Permanently added '192.168.1.2'(RSA) to the list of known hosts. [centos@centos-1 ~]$ uname -a # 成功登陆到CentOS云主机 Linux centos-1 2.6.32-504.1.3.el6.x86_64 #1SMP Tue Nov 11 17:57:25 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux [centos@centos-1 ~]$ ifconfig eth0 eth0 Link encap:Ethernet HWaddrFA:16:3E:94:84:4D inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::f816:3eff:fe94:844d/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:407 errors:0 dropped:0 overruns:0 frame:0 TX packets:339 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:49034 (47.8 KiB) TXbytes:36154 (35.3 KiB) [centos@centos-1 ~]$ netstat -ntp (No info could be read for "-p":geteuid()=500 but you should be root.) Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 192.168.1.2:22 192.168.1.253:50610 ESTABLISHED - [centos@centos-1 ~]$ exit # 结束SSH会话,退回到控制节点 logout Connection to 192.168.1.2 closed. (4)终止云主机 [iyunv@controller ~]# nova delete CentOS-1 [iyunv@controller ~]# nova list file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image087.jpg (5)登录新云主机的操作 假如再次启动CentOS云主机,分配的IP地址仍然为192.168.1.2,则使用SSH登录时会有安全提示,并拒绝登陆。需要进行以下操作,才能正常登陆。 [iyunv@controller ~]# cd ~/.ssh [iyunv@controller .ssh]# rm -f known_hosts The authenticity of host '192.168.1.2(192.168.1.2)' can't be established. RSA key fingerprint is9c:c3:6e:16:86:cc:42:ec:cd:26:34:64:ee:59:3a:9b. Are you sure you want to continueconnecting (yes/no)? yes
|