运维基本的操作都在控制节点上的,较为方便的方式就是在openstack 的 dashboard(仪表盘)中进行,进入 dashboard 的方式就是直接在浏览器中输入控制节点的 IP 地址。(需要注意的是浏览器选择方面最好选择火狐浏览器或则谷歌浏览器,因为相对于 IE 浏览器而言,前面两个浏览器对于 openstack 的支持性要好,使用 IE 会在打开实例控制台时无法进入,出现“No vnc....”的错误信息)
用户名和密码放在控制节点/root 下,存放在文件名为 keystonerc_admin 的文件中,登陆用户参数为 export OS_USERNAME,密码参数为export OS_PASSWORD。
5.1 创建网络
登陆 dashboard
5.1.1 创建外网
点击左侧的“管理员”,选择“网络”,点击“创建网络”
网络名称:public_network(网络名称为自定义名称)
选择项目:admin
“外部网络”打对勾(这一步尤为重要)
5.1.2 创建子网
单击创建的网络,再点击“创建子网”
子网名称 :public_subnet
网络地址 :10.231.29.0/25
“激活 DHCP”去掉对勾
分配地址池:192.168.0.50,192.168.0.106
点击“已创建”
5.1.3 创建内网
“项目”---“网络”---“网络”
点击“创建网络”
网络名称:private_network
子网名称:private_subnet
网络地址:10.10.0.0、24
分配地址池:10.10.0.2,10.10.0.254
点击“已创建”
5.1.4 创建并编辑路由
创建路由
“项目”---“网络”---“路由”
点击“新建路由”
路由名称:router1
编辑路由
点击“路由”---“设置网关”
选择“外部网络 public_network”
增加路由接口
点击生成的路由
点击“增加接口”
选择“子网 private_network”
5.2 制作镜像
5.2.1 制作 linux 镜像(RHEL6.4)
环境说明:
说明 1:
底层环境是 WIN7+vmware workstation,虚拟机是 Centos6.5 且带有桌面环境(这里需要注意的是安装桌面版的系统是为了制作过程中调用镜像制作的面板)
说明 2:
在 vmware workstation 环境下需要开启 CPU 虚拟化支持选择虚拟机,右键点击-硬件-处理器-优先模式-Intel VT-x/EPT orAMD-V/RVI在优先模式下面的 Intel VT-x/EPT or AMD-V/RVI 打上对勾。
开始制作
# yum groupinstall -y Virtualization "Virtualization Client"
# yum install -y libvirt
# service libvirtd restart
# mkdir /openstack-image
# cd /openstack-image
# qemu-img create -f qcow2 rhel-openstack.img 10G
# chown qemu:qemu /openstack-image -R
# virt-install -n rhelimg -r 1024 --cpu host -c /images/rhel-server-6. 4-x86_64-dvd.iso --disk path=/openstack-image/rhel-openstack.img,de vice=disk,bus=virtio,size=30,format=qcow2 --vnc --vncport=5900 --vncl isten=0.0.0.0 -v
注意事项:
注意事项 1:
分区,分区的时候只给"/" 根目录分一个区即可,其他都不要。
注意事项 2:
网络设置方面,确保你的网卡 eth0 是 DHCP 状态的
网卡配置如下
# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0"
BOOTPROTO="dhcp" NM_CONTROLLED="yes" ONBOOT="yes" TYPE="Ethernet"
# rm -rf /etc/udev/rules.d/70-persistent-net.rules
关闭防火墙和 selinux
# sed -i s/^SELINUX=.*/SELINUX=disabled/g /etc/selinux/config
# service iptables stop && chkconfig iptables off
# service ip6tables stop && chkconfig ip6tables off
关机
5.3 上传镜像以及创建实例
上传镜像
“项目”---“Compute”---“镜像”
点击“创建镜像”
名称:rhel6.4
镜像源:镜像文件
镜像文件:选择文件(选择存放镜像的位置)
格式化:QCOW2-QEMU 模拟器
点击“创建镜像”
启动云主机
在刚创建的镜像后面点击“运行”
云主机名称:YUM-TEST
云主机:选择对应的云主机类型
网络:private_network
点击“运行”
在 dashboard 中创建的实例不能指定创建在哪一个物理主机上,所以一般有项目规划的情况下,都会把实例指定创建在某台物理主机上下面就指定创建实例
注:
针对 openstack 的操作都是通过特殊途径的,首先在控制节点上,切换到/root 目录下,输入. keystonerc_admin,需要注意的是点和
keystonerc_admin 之间必须有空格
查看镜像
# nova image-list
查看网络 | |||||
# nova network-list | |||||
+-------------------------------------- | +----------------- | +------ | + | ||
| ID | | Label | | Cidr | | |||
+-------------------------------------- | +----------------- | +------ | + | ||
| 8dec0402-6ad7-4390-9c0d-60badaffc718 | public_network | | - | | | |||
| e49ae481-475c-4e36-bdcd-cc0967dab675 | private_network | - | | | ||||
+-------------------------------------- | +----------------- | +------ | + |
注:创建实例需要指定网络
# nova boot --image fedora --flavor 1 test1 --availability-zone
nova:node-1 --nic net-id=e49ae481-475c-4e36-bdcd-cc0967dab675
参数说明:
fedora:镜像名
1 :级别
test1:实例名
nova:域名
node-1:主机名
net-id=e49ae481-475c-4e36-bdcd-cc0967dab675 :网卡 id
其他部分命令实例:
查看集群服务
# nova-manage service list
查看云主机
# nova list
查看云主机详细信息
# nova show <vm-id>
查看集群服务
# nova host-list
查看集群
# nova hypervisor-list
查看目标节点资源
# nova-manage service describe_resource node2(node2 是对应主机名)
5.3.1 实例和外网的连通
添加规则,生成并绑定浮动 ip为了外网的机器能够访问云主机,需要为云主机绑定浮动 IP,另外添加相应服务的规则
添加规则(为了能够通过 SSH 方式访问实例)
“项目”---“Compute”---“访问&安全”---“安全组”
点击“添加规则”
端口:22
点击“添加”
添加第二个规则(为了能够 PING 通实例)
规则:定制 ICMP 规则
类型:-1
编码:-1
点击“添加”
绑定浮动 IP
“项目”---“Compute”---“访问&安全”---“浮动 IP”
点击“分配 IP 给项目”
找到要分配的 IP,点击“关联”,选择相应的云主机
5.3.2 云主机分区调整
新建的云主机会有一些问题
问题 1:
没有 swap 分区
问题 2:
根分区太小,大部分空间都没有分配
调整分区
增加交换分区
首先在外部网络使用 shell 工具通过 ssh 方式登录云主机
# fdisk /dev/vda
主要命令
d 删除分区
n 新增主分区、扩展分区、逻辑分区
p 显示分区
t 转换分区格式
w 保存分区表
Command(m for help):n
增加主分区,因为扩展分区不能作为交换分区
分区大小除了开始结束范围,还可以用 +16G 这种方式表示。
Command(m for help):t
82 表示交换分区 id
Command(m for help):w
保存退出
使分区生效
# partprobe
如果系统没有此命令,安装 yum install -y parted 或者重启云主机
将/dev/vda2 分区格式化为交换分区
# mkswap /dev/vda2
挂载交换分区
# swapon /dev/vda2
注:
卸载交换分区
# swapoff /dev/vda2
查看交换分区设置成功
[root@host-10-10-0-2 ~]# free
total | used | free | shared | buffers | cached | |
Mem: | 16332544 | 256196 | 16076348 | 0 | 6440 | 42460 |
-/+ buffers/cache: | 207296 | 16125248 |
Swap: 33556428 | 0 | 33556428 |
修改分区表自动挂载 swap 分区
# vi /etc/fstab
新增一行
/dev/vda2 swap swap defaults 0 0
挂载分区到/home(挂载分区到其他目录应该依照实际情况而定,这里以挂载到/home 为例)
# fdisk /dev/vda
新增扩展分区,新增逻辑分区
格式化分区
# mkfs.ext4 /dev/vda5
修改分区表
# vi /etc/fstab
新增
/dev/vda5 /home ext4 defaults 0 2
注:
最后一个 2 是 pass 选项
pass 选项:
0 不会被 fsck utility 检查
1 root 用户应该有最高优先权
2 如果你想被 check 就选择 2
# partprobe
5.3.3 增加云主机访问带宽
在控制节点
# vi /etc/neutron/dhcp_agent.ini
dnsmasq_config_file = /etc/neutron/dnsmasq-neutron.conf
# vi /etc/neutron/dnsmasq-neutron.conf
添加
dhcp-option-force=26,1400
在控制节点以及各个云主机上
# ethtool -K eth2 tso off
# ethtool -K eth2 gro off
注:
这里修改的网卡配置对应的网卡依照实际情况而定,例如在控制节点
就是指 eth2 网卡
把命令写进启动脚本里(在控制节点以及各新建云主机上操作)
# vi /etc/rc.d/rc.local
在最后添加
ethtool -k eth1 tso off
5.4 云主机应用扩展
案例 1:
云主机选择镜像为最小化安装系统的镜像,但是在实际部署云主机之后,发现在部署应用的过程需要桌面环境的支持,这就需要为云主机安装桌面环境。
安装桌面环境:
# yum grouplist |more
按需安装软件组
# yum groupinstall -y "Desktop" "Desktop Platform" "Desktop
Platform Development" "Fonts" "General Purpose Desktop" "Graphical Administration Tools" "Graphics Creation Tools" "Input Methods" "X Window System" "Chinese Support [zh]" "Internet
Browser"
# vi /etc/inittab
修改启动级别为 5
重启
客户若想能够远程连接桌面,则需要在云主机端和客户登陆端做部分配置
在云主机 Linux 平台安装 VNCServer 服务端软件包
# yum -y install vnc *vnc-server*
修改 VNCServer 主配置文件
# vi /etc/sysconfig/vncservers
复制下面两行并去掉行首注释符,然后修改为
VNCSERVERS="1:root" VNCSERVERARGS[1]="-geometry 1024x768" 【1024x768 的“x 不可以改为*”】
设置 VNCServer 远程连接密码
# vncpasswd
输入两次相同的密码
重启 vncserver 服务
# service vncserver start
上一步执行完毕会在 root 宿主目录下生成.vnc 开头的隐藏目录,该目
录下面的文件就是 root 用户的 VNC 桌面配置文件,编辑 xstartup
# vi /root/.vnc/xstartup
将最后一行改为
gnome &
使用 GNOME 桌面
(查看是否为 gnome 桌面,用 ps -A 命令查看是否有相关进程)
开启防火墙 VNCServer 端口
# vi /etc/sysconfig/iptables
在“-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT”下
面添加一行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT
(这一行不能添加到最后)
重启 iptables 服务
# service iptables restart
然后再客户登陆端做操作,这里以登陆端为 windows 系统为例
在 Windows 客户端下打开 http://www.realvnc.com/,下载对应平台的VNC-Viewer 客户端(该文件为绿色软件,无需安装),双击下载下来
的文件即可打开
打开软件
在 VNC Server 一栏输入 192.168.1.78:1(对应的服务器端地址,注意不要丢失)
原文:http://blog.51cto.com/xiaoxiaozhou/2113350