Identity(keystone)
列出users:
openstack user list # 从某个版本开始,keystone使用openstack代替
列出身份认证服务目录:
openstack catalog list
镜像(glance):
列出能够访问到的镜像:
openstack image list
删除镜像:
openstack image delete IMAGE
描述镜像:
openstack image show IMAGE
更新镜像:
openstack image set IMAGE
上传核心镜像:
$ openstack image create "cirros-threepart-kernel" \
--disk-format aki --container-format aki --public \
--file ~/images/cirros-0.3.5-x86_64-kernel
上传 RAM 镜像:
openstack image create "cirros-threepart-ramdisk" \
--disk-format ari --container-format ari --public \
--file ~/images/cirros-0.3.5-x86_64-initramfs
上传三方镜像:
openstack image create "cirros-threepart" --disk-format ami \
--container-format ami --public \
--property kernel_id=$KID-property ramdisk_id=$RID \
--file ~/images/cirros-0.3.5-x86_64-rootfs.img
注册原始(raw格式)镜像:
openstack image create "cirros-raw" --disk-format raw \
--container-format bare --public \
--file ~/images/cirros-0.3.5-x86_64-disk.img
计算(nova):
列表实例,检查实例的状态:
openstack server list
列出镜像:
openstack image list
创建一个名为m1.tiny的flavors:
openstack flavor create --ram 512 --disk 1 --vcpus 1 m1.tiny
列出flavors:
openstack flavor list
使用flavors和镜像启动实例(如果名称是唯一的):
$ openstack server create --image IMAGE --flavor FLAVOR INSTANCE_NAME
$ openstack server create --image cirros-0.3.5-x86_64-uec --flavor m1.tiny \
MyFirstInstance
登录到实例(下面是linux示例):
# ip netns
# ip netns exec NETNS_NAME ssh USER@SERVER
# ip netns exec qdhcp-6021a3b4-8587-4f9c-8064-0103885dfba2 \
ssh cirros@10.0.0.2
注意:In CirrOS, the password for user cirros is cubswin:). For any other operating system, use SSH keys.
登录到实例:
ssh cloud-user@128.107.37.150
显示实例的细节:
$ openstack server show NAME
$ openstack server show MyFirstInstance
查看实例的console log:
$ openstack console log show MyFirstInstance
对一个实例设置元数据:
$ nova meta volumeTwoImage set newmeta='my meta data'
创建一个实例快照(重点):
$ openstack image create volumeTwoImage snapshotOfVolumeImage
$ openstack image show snapshotOfVolumeImage
暂停实例:
$ openstack server pause NAME
$ openstack server pause volumeTwoImage
暂停之后启动实例:
$ openstack server unpause NAME
挂起实例:
$ openstack server suspend NAME
取消挂起实例:
$ openstack server resume NAME
停止实例:
$ openstack server stop NAME
开启实例:
$ openstack server start NAME
rescue实例:
$ openstack server rescue NAME
$ openstack server rescue NAME --rescue_image_ref RESCUE_IMAGE
调整实例:
$ openstack server resize NAME FLAVOR
$ openstack server resize my-pem-server m1.small
$ openstack server resize --confirm my-pem-server1
重建实例:
$ openstack server rebuild NAME IMAGE
$ openstack server rebuild newtinny cirros-qcow2
重启实例:
$ openstack server reboot NAME
$ openstack server reboot newtinny
将用户数据和文件注入实例:
$ openstack server create --user-data FILE INSTANCE
$ openstack server create --user-data userdata.txt --image cirros-qcow2 \
--flavor m1.tiny MyUserdataInstance2
要验证文件是否已注入,请使用ssh连接到该实例,然后查找/var/lib/cloud
该文件。
将密钥对注入实例,并使用该密钥对访问该实例。
创建密钥对:
$ openstack keypair create test > test.pem
$ chmod 600 test.pem
启动一个实例:
$ openstack server create --image cirros-0.3.5-x86_64 --flavor m1.small \
--key-name test MyFirstServer
使用ssh
连接到实例:
# ip netns exec qdhcp-98f09f1e-64c4-4301-a897-5067ee6d544f \
ssh -i test.pem cirros@10.0.0.4
管理安全组:
向默认安全组添加规则,允许在默认安全组中的实例之间执行ping和SSH:
$ openstack security group rule create default \
--remote-group default --protocol icmp
$ openstack security group rule create default \
--remote-group default --dst-port 22
网络(neutron):
创建网络:
$ openstack network create NETWORK_NAME
创建子网:
$ openstack subnet create --subnet-pool SUBNET --network NETWORK SUBNET_NAME
$ openstack subnet create --subnet-pool 10.0.0.0/29 --network net1 subnet1
块存储(cinder):
创建一个卷(volume):
$ openstack volume create --size SIZE_IN_GB NAME
$ openstack volume create --size 1 MyFirstVolume
启动一个实例并且负载到卷:
$ openstack server create --image cirros-qcow2 --flavor m1.tiny MyVolumeInstance
列出所有的卷,注意卷的状态:
openstack volume list
启动实例之后,给实例添加卷:
$ openstack server add volume INSTANCE_ID VOLUME_ID
$ openstack server add volume MyVolumeInstance 573e024d-5235-49ce-8332-be1576d323f8
注意:在Xen管理程序上,可以提供特定的设备名称而不是自动分配。
$ openstack server add volume --device / dev / vdb MyVolumeInstance 573e024d..1576d323f8
在OpenStack中使用非Xen虚拟机管理程序时,目前不可能。
登录到实例后管理卷:
列出存储设备
# fdisk -l
给卷做文件系统(格式化):
# mkfs.ext3 /dev/vdb
创建一个挂载点:
# mkdir /myspace
挂载卷到挂载点上:
# mount /dev/vdb /myspace
创建一个文件在卷上:
# touch /myspace/helloworld.txt
# ls /myspace
取消挂载:
# umount /myspace