openstack初步部署(4)

2019-03-11 14:40

例如: nova-manage floating create ubuntu10 192.168.1.20/32 删除一个浮动ip,或者一组浮动ip

用法:nova-manage floating delete ip_range 列出所有浮动ip

用法:nova-manage floating list

分配并关联ip到实例 ,基本上要用Euca2ools命令

能手动分配的ip都是放在floating ip 地址池中中,通过create命令创建,之后就可以分配一个浮动ip给你的project,并自动从可用floating ip 地址池中移除,使用euca-allocate-address这个命令,可以获得一个在地址池中的ip,然后就可以绑定它到一个虚拟机上。

获得一个可绑定的ip地址

用法:euca-allocate-address

返回一个浮动ip地址池中的ip

关联一个floating ip 到instance

用法:euca-associate-address -i instance_id floating_ip

当你想把一个floating ip从虚拟机中收回,并放回到浮动ip地址池中时,要先来解除ip与实例的关联,然后用再收回到地址池中以便其他虚拟机使用。

解除浮动ip与虚拟机的绑定

用法:euca-disassociate-address floating_ip 把解除绑定的浮动ip放回地址池中

用法:euca-deallocate-address floating_ip(文档中是这个命令,但是这个命令并不存在,目前版本经试验用的是 euca-release-address)来把ip返回到ip池中,以便其他人用

用法:euca-release-address floating_ip

分配公网ip地址,openstack compute使用NAT来支持公网ip。

必需吧这一个ip或者一些ip块添加到floating ip ,(nova-manage floating create 命令),分配方法类似上面,例如:

nova-manage floating create my-hostname 68.99.26.170/31 euca-allocate-address 68.99.26.170

euca-associate-address -i i-00000001 68.99.26.170 确保安全组已打开

root@my-hostname:~# euca-describe-groups

GROUP admin-project default default

PERMISSION admin-project default ALLOWS icmp -1 -1 FROM CIDR 0.0.0.0/0

PERMISSION admin-project default ALLOWS tcp 22 22 FROM CIDR 0.0.0.0/0

确保NAT 规则添加到iptables,这个会自动完成。

-A nova-network-OUTPUT -d 68.99.26.170/32 -j DNAT --to-destination 10.0.0.3 -A

nova-network-PREROUTING

-d

68.99.26.170/32

-j

DNAT

--to-destination10.0.0.3

-A nova-network-floating-snat -s 10.0.0.3/32 -j SNAT --to-source 68.99.26.170

键入 ip addr 去核对公共地址,例子中是68.99.26.170,已经被加入到你的公共接口中

image管理

镜像管理openstack提供了下面几个命令

nova-mange image all_register convert image_register kernel_register ramdisk_register

但目前用的都是做好的镜像,上面那些命令还没用到,自己制作的镜像可能会用到。现在是直接用uec命令:uec-publish-tarball 来发布镜像。

用法:uec-publish-tarball $image [bucket-name] [hardware-arch] bucket-name 镜像仓库名字 hardware-arch 硬件参数

例如:uec-publish-tarball ubuntu-10.10-server-uec-i386.tar.gz mybucket x86_64 这个命令将会返回三个参数emi,eri,eki emi : eucalyptus machine image 镜像ID eri: eucalyptus ramdisk image eki : eucalyptus kernal image

Amazon 也有相似的参数,命名为 ami,ari ,aki openstack也是沿用ami ,ari ,aki 的表示 列出发布的镜像

用法:euca-describe-images

instance_type/flavors管理

实例类型管理,openstack使用这个实例类型来规定一个虚拟机所具有的cpu数,内存,硬盘大小等相关参数。一个虚拟机是和一个instance_type绑定在一起的。

创建一个instanc_type/flavors

用法:nova-manage instance_type create name memory vcpus local_gb flavorid [swap] [rxtx_quota] [rxtx_cap] 列出一个所有创建的实例类型

用法:nova-manage instance_type list 删掉一个实例类型

用法:nova-manage instance_type delete name 只是在数据库中标记了一下,表示该实例类型被删除了

VM/instance管理

对于虚拟机的管理,openstack提供的命令并不多,只有如下两个

用法:nova-manage vm list 列出所有的虚拟机实例

用法:nova-mange vm live_migration vm_id dest 动态迁移虚拟机vm_id到·

目标主机上dest

大多虚拟机管理的命令都是euca2ools命令。

在开启虚拟机时需要一个keypair,这个keypair会在创建虚拟机时注册到虚拟机上,用于ssh登录时的用户认证。添加keypair的命令是:

euca-add-keypair keypair_name

注意这个命令创建的keypair需要使用这些环境变量EC2_URL, EC2_ACCESS_KEY, EC2_SECRET_KEY, EC2_CERT, EC2_PRIVATE_KEY, S3_URL, EUCALYPTUS_CERT等,这些环境变量都存储在novarc文件中,需要先source一下。

例如:euca-add-keypair mykey>mykey.priv

mykey 是keypair 名字,会记录在数据库中,用于创建实例等用途,mykey.priv 记录了这些内容,用于ssh登录,同时要更改mykey.priv权限,ssh规定的。

chmod 600 mykey.priv 下面开启一个虚拟机实例

euca-run-instances [-n, --instance-count count] [-g, --group group_name] [-k, --key keyname] [--addressing addressing] [-t, --instance-type instance_type] [-z, --availability-zone zone] [--kernel kernel_id] [--ramdisk ramdisk_id] [-h, --help] [--version] [--debug] image_id

-n: 要运行实例的数量 -g; 实例运行的的安全组 -k: keypair 名字

--addressing 寻址方式(例如 private) -t : 实例类型

-z: 实例可以运行的zone

--kernel :发布实例时使用的kernel ID --ramdisk :发布实例时使用的ramdisk ID image_id :必须填的,上传的镜像id

例如:euca-run-instances ami-0000000c -k mykey -t m1.small

mykey就是上面创建的keypair,m1.small是一个instance_type 列出运行的虚拟机实例

euca-describe-instances nova-manage vm list 登录虚拟机实例,需要先授权端口

euca-authorize -P icmp -t -1:-1 default 授权ping euca-authorize -P tcp -p 22 default 授权访问22端口 ssh -i mykey.priv root@172.16.0.4

mykey.priv:就是前面生成的mykey,priv,记录的是keypair

如果ping不通或者ssh登录不上,可以检查一下dnsmasq这个进程,在有虚拟机开启的情况下,有两个dnsmasq进程,如果不是这么回事,那么运行:

killall dnsmasq

service nova-network restart

停掉一个虚拟机实例:

euca-terminate-instance i-00000027

volume逻辑卷管理

对于逻辑卷管理,openstack只提供了两个命令

nova-manage volume delete 删掉这个 id的volume

nova-manage volume reattach 重新绑定这个volume到先前的那台

虚拟机,一般是在主机重启后运行这个命令

其他的都是用euca2ools命令,而且基本上用euca2ools命令也就足够了。

Nova-volume 是openstack在linux上使用LVM的iSCSI 解决方案,注意一个volume 一次只能绑定到一个实例。

首先使用LVM创建一个逻辑卷组:nova-volumes,这是nova默认使用的逻辑卷组,创建逻辑卷等操作,都是操作的这个逻辑卷组。创建这个逻辑卷组已在安装过程中说明。

创建一个volume

euca-create-volume -S, --size size | --snapshot snapshot_id -z zone [-h, --help] [--version] [--debug]

-s --size volume 的大小 (单位:GB)

--snapshot :用来创建volume的snapshot Id,size 和snapshot id 必须要其中一个 - z --zone 创建volume的可用 zone

例如:euca-create-volume -s 1 -z nova

显示所有逻辑卷

euca-describe-volumes 绑定volume

euca-attach-volume -i, --instance instance_id -d, --device device [-h, --help] [--version] [--debug] volume_id

-i :实例 id

-d: 设备名字,在虚拟机中显示,如果虚拟机中有了/dev/vda,/dev/vdb,那么这里是/dev/vdc volume_id :创建的volume_id

例如:euca-attach-volume vol-00000009 -i i-00000008 -d /dev/vdc

解除绑定的volume id

euca-detach-volume 删除一个volume

euca-delete-volume

service 管理

nova-manage service describe_resource 显示某主机资源(vcpu/memery/disk) nova-manage service disable 停止某服务 nova-manage service enable 开始某服务 nova-manage service list 显示某主机开启的服务,及其状态 nova-manage update_resource 更新主机资源(vcpu/memery/disk)

fixed 固定ip管理

列出某个主机上所有的固定ip

用法:nova-manage fixed list [hostname]

新版本的openstack还提供了nova-manage fixed reserve 命令和unreserve命令,reserve ip 就是把该ip地址reserved位置1,这样在分配ip时,就不会分配该ip地址。目前安装的版本需要到数据库中手动更改fixed_ip表中的reserved位。

openstack的dashboard利用的是Python Web 框架 Django来完成的,可以在此基础上再做深入开发,新版的dashboard增加更多功能。

当然可以开发自己的dashboard。


openstack初步部署(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:企业微信监控有什么好处

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: