当前位置:首页 » 文件传输 » glance上传镜像命令
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

glance上传镜像命令

发布时间: 2022-05-01 05:27:29

‘壹’ glance 导入ceph镜像 命令 file rbd

只需要运行(以下命令即可):

sudo docker run -d --net=host ceph/daemon rbd_mirror

‘贰’ openstack必须安装哪些组件

一、 数据库

a) 安装
# apt-get install python-mysqldb mysql-server

b) 配置

修改 /etc/mysql/my.cnf
[mysqld]


bind-address = 127.0.0.1 # ip 地址全部使用本机
default-storage-engine = innodb #设置默认存储引擎为 Innodb
innodb_file_per_table
collation-server = utf8_general_ci #设置编码格式
init-connect = 'SET NAMES utf8'
character-set-server = utf8

c) 重启 mysql 服务,使用安全模式初始化数据库,删除匿名用户
# service mysql restart
# mysql_secure_installation 或 # mysql_install_db

二、 软件包配置

a) 安装 OpenStack Havana Ubuntu 云档案
# apt-get install python-software-properties
# add-apt-repository cloud-archive:Havana

b) 更新软件包数据库,更新系统
# apt-get update && apt-get dist-upgrade
# reboot

三、 消息服务

消息服务使用 rabbitmq
# apt-get install rabbitmq-server

注: rabbitmq 默认提供一个 guest 用户和默认的 guest 密码,这里需要修改一下 guest 用户的密码,因为后面配置 nova 服务的时候需要用到 rabbitmq 密码
# rabbitmqctl change_password guest openstack

四、 Keystone 认证服务

a) 安装
# apt-get install keystone

b) 配置

1) 修改数据库连接方式,编辑配置文件 /etc/keystone/keystone.conf
...
[sql]
# The SQLAlchemy connection string used to connect to the database
connection = mysql://keystone:[email protected]/keystone
...

2) 删除默认创建的数据库
rm –f /var/lib/keystone/keystone.db

3) 创建数据库
# mysql -u root -p
mysql> CREATE DATABASE keystone;
mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'openstack';
mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'openstack';

4) 创建数据表
# keystone-manage db_sync

5) 创建一个随机的 Token 用于连接认证服务时使用

# openssl rand -hex 10 > /root/token # 后面还会用到所以可以保存起来

编辑 /etc/keystone/keyston.conf
[DEFAULT]
# A "shared secret" between keystone and other openstack services
admin_token = ADMIN_TOKEN
...

6) 重启服务
# service keystone restart

c) 创建租户 (tenant) 、用户 (user) 、角色 (role)

在还没有创建任何用户之前,我们必须要使用 token 来进行认证,可以将 token 设置为环境变量,或者在使用 keystone 命令的时候使用 –os-token 命令来指定 token 。

这里设置为环境变量:
# export OS_SERVICE_TOKEN=ADMIN_TOKEN
# export OS_SERVICE_ENDPOINT=http://127.0.0.1:35357/v2.0

1) 创建租户 admin 和 service
# keystone tenant-create --name=admin --description="Admin Tenant"

# keystone tenant-create --name=service --description="Service Tenant"

2) 创建用户 admin
#keystone user-create --name=admin --pass=openstack --email=admin@localhost

# keystone role-create --name=admin

3) 为 admin 创建 role

4) 关联 user 、 tenant 和 role
# keystone user-role-add --user=admin --tenant=admin --role=admin

d) 创建服务 (service) 和访问端点 (endpoint)

1) 创建 keystone 服务,类型为 identity( 认证 )
# keystone service-create --name=keystone --type=identity --description="Keystone Identity Service"

2) 使用上面返回的 service id 来创建服务的访问端点
# keystone endpoint-create \

--service-id=the_service_id_above\

--publicurl=http://127.0.0.1:5000/v2.0 \

--internalurl=http://127.0.0.1:5000/v2.0 \

--adminurl=http://127.0.0.1:35357/v2.0

e) 校验 keystone 服务

现在已经创建了 admin 用户,所以可以通过 admin 用户来访问 keystone 服务
$ unset OS_SERVICE_TOKEN OS_SERVICE_ENDPOINT
$ keystone --os-username=admin --os-password=openstack --os-auth-url=http://127.0.0.1:35357/v2.0 token-get

为了避免每次都需要输入用户名和密码,可以将它们保存为环境变量。编辑 /root/keystone.sh
export OS_USERNAME=admin
export OS_PASSWORD=openstack
export OS_TENANT_NAME=admin
export OS_AUTH_URL=http://127.0.0.1:35357/v2.0

这样只要执行 # source keystone.sh 命令就可以连接 keystone 了

五、 镜像服务 —glance

a) 安装
# apt-get install glance python-glanceclient

b) 配置

1) 设置数据库连接

编辑配置文件 /etc/glance/glance-api.conf 和 /etc/glance/glance-registry.conf
...
[DEFAULT]
...
# SQLAlchemy connection string for the reference implementation
# registry server. Any valid SQLAlchemy connection string is fine.
# See: http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections.
html#sqlalchemy.create_engine
sql_connection = mysql://glance:[email protected]/glance
...

2) 创建数据库
# mysql -u root -p
mysql> CREATE DATABASE glance;
mysql> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
IDENTIFIED BY 'openstack';
mysql> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
IDENTIFIED BY 'openstack';

3) 创建数据表
# glance-manage db_sync

4) 创建 glance 用户并关联到角色
# keystone user-create --name=glance --pass=openstack --email=glance@localhost

# keystone user-role-add --user=glance --tenant=service --role=admin

5) 配置 glance 服务使用 keystone 来进行认证

编辑 /etc/glance/glance-api.conf 和 /etc/glance/glance-registry.conf 文件
[keystone_authtoken]
...
auth_uri = http://127.0.0.1:5000
auth_host = 127.0.0.1
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = glance
admin_password = openstack
...
[paste_deploy]
...
flavor = keystone

6) 添加认证信息到 /etc/glance/glance-api-paste.ini 和 /etc/glance/glance-registry-paste.ini 文件
[filter:authtoken]
paste.filter_factory=keystoneclient.middleware.auth_token:filter_factory
auth_host=127.0.0.1
admin_user=glance
admin_tenant_name=service
admin_password=openstack

7) 注册镜像服务
# keystone service-create --name=glance --type=image --description="Glance Image Service"

8) 使用上面返回的 service id 创建访问点
# keystone endpoint-create \
--service-id=the_service_id_above \
--publicurl=http://127.0.0.1:9292 \
--internalurl=http://127.0.0.1:9292 \
--adminurl=http://127.0.0.1:9292

9) 重启镜像服务
# service glance-registry restart
# service glance-api restart

c) 创建镜像文件

CirrOS 镜像是常用的一个 qcow2 类型的镜像,下载镜像并上传到 glance 服务器
$ mkdir images
$ cd images/
$ wget http://cdn.download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img
# glance image-create --name="CirrOS 0.3.1" --disk-format=qcow2 --container-format=bare --is-public=true < cirros-0.3.1-x86_64-disk.img

查看上传的镜像可以使用
# glance image-list

六、 计算服务

a) 安装计算服务软件包
# apt-get install nova-novncproxy novnc nova-api nova-ajax-console-proxy nova-cert nova-conctor nova-consoleauth nova-doc nova-scheler python-novaclient
# apt-get install nova-compute-kvm python-guestfs

修改内核 bug
# dpkg-statoverride --update --add root root 0644 /boot/vmlinuz-$(uname -r)

# vim /etc/kernel/postinst.d/statoverride

#!/bin/sh

version="$1"

# passing the kernel version is required

[ -z "${version}" ] && exit 0

dpkg-statoverride --update --add root root 0644 /boot/vmlinuz-${version}

# chmod +x /etc/kernel/postinst.d/statoverride

b) 配置

1) 配置数据库

编辑配置文件 /etc/nova/nova.conf
...
[database]
# The SQLAlchemy connection string used to connect to the database
connection = mysql://nova:[email protected]/nova
[keystone_authtoken]
auth_host = 127.0.0.1
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = nova
admin_password = openstack

2) 配置计算服务使用 rabbitmq 消息队列传送信息

编辑配置文件 /etc/nova/nova.conf
...
[DEFAULT]
rpc_backend = nova.rpc.impl_kombu
rabbit_host = 127.0.0.1
rabbit_password = openstack # 如果rabbitmq未改,则使用默认guest密码
...

‘叁’ 镜像传到glance是存在哪个文件夹下的

glance是OpenStack管理镜像的一个组件,从web client上传的镜像或者从命令行上传的镜像默认保存到了那个目录下,可以在:
# cat /etc/glance/glance-api.conf | grep -v "^$" | grep -v "^#"
filesystem_store_datadir=/var/lib/glance/images/ #这行中是显示的image存储目录
# cd /var/lib/glance/images/
[root@CLOUD1 images(keystone_admin)]# ls

‘肆’ 2015openstack win7镜像怎么制作

镜像制作方法一:
centos6.5镜像制作:(首先将CentOS-6.5-x86_64-minimal.iso镜像拷贝到/home下面)

1:

qemu-img create -f qcow2 /home/ttxImg/ttx_centos6.5.img 2.8G
2:

virt-install --connect qemu:///system -n ttx_centos6.5 -r 1024 --vcpus=2 --disk path=/home/ttxImg/ttx_centos6.5.img -c /home/ttxImg/CentOS-6.5-x86_64-minimal.iso --vnc --vncport=5914 --vnclisten=0.0.0.0 --noautoconsole --os-type linux --network=bridge:br100 --hvm --noautoconsole

windows7镜像制作:

qemu-img create -f qcow2 /home/ttxImg/ttx_win7.qcow2 40000M
virt-install --connect qemu:///system -n ttx_win7 -r 2048 --vcpus=2 --disk path=/home/ttxImg/ttx_win7.qcow2,bus=virtio,format=qcow2,cache=writeback --disk path=/home/ttxImg/virtio-win-0.1-81.iso,device=cdrom,perms=ro --force -c /home/ttxImg/win7_x86_64.iso --vnc --vncport=5914 --vnclisten=0.0.0.0 --noautoconsole --os-type windows --os-variant=win7 --network=bridge:virbr0 --hvm --noautoconsole
注:假若安装系统时,磁盘损坏,则可以将上述bus=virtio修改为bus=ide
若是还找不到,使用如下命令:
virt-install --connect qemu:///system -n neokylin_lst -r 1024 --vcpus=2 --disk path=/neokylinlst.qcow2,bus=virtio,format=qcow2,cache=writeback --force -c /home/neokylin.iso --vnc --vncport=5914 --vnclisten=0.0.0.0 --noautoconsole --os-type linux --network=bridge:virbr0 --hvm --noautoconsole

使用virtio网卡驱动:
virt-install --connect qemu:///system -n ttx_win7 -r 2048 --vcpus=2 --disk path=/home/ttxImg/ttx_win7.qcow2,bus=virtio,format=qcow2,cache=writeback --disk path=/home/ttxImg/virtio-win-0.1-81.iso,device=cdrom,perms=ro --force -c /home/ttxImg/win7_x86_64.iso --vnc --vncport=5914 --vnclisten=0.0.0.0 --noautoconsole --os-type windows --os-variant=win7 --network=bridge:virbr0,model=virtio --hvm --noautoconsole

<interface type='bridge'>
<mac address='52:54:00:ac:9c:4c'/>
<source bridge='br1'/>
<target dev='vnet3'/>
<model type='virtio'/>
<alias name='net3'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
</interface>

windows镜像上传命令:
glance add name="windows" is_public=true container_format=ovf disk_format=qcow2 < windowsxp.img

centos镜像上传命令:
glance image-create --name centos --is-public true --container-format ovf --disk-format qcow2 < /home/agen/centos63.img

centos镜像上传命令:

glance add name=centos_6.2_ramdisk disk_format=ari container_format=ari is_public=True < initrd-2.6.32-220.el6.x86_64.img
输出:Added new image with ID: 9
以上命令是先上传镜像的ramdisk文件,注意类型必须是ari
glance add name=centos_6.2_kernel disk_format=aki container_format=aki is_public=True < vmlinuz-2.6.32-220.el6.x86_64
输出:Added new image with ID: 10
以上命令是上传镜像的kernel文件,格式必须是aki
glance add name=centos_6.2_final disk_format=ami container_format=ami is_public=True ramdisk_id=9 kernel_id=10 < centos_6.2_final.img
以上命令是上传主要镜像文件,格式必须是ami,ramdisk_id是刚上传的ramdisk的id,kernel_id同理。
镜像制作方法二:
1、将iso镜像文件转换为img镜像
qemu-img convert -f raw CentOS_6.2_Final64bit.iso /home/createvm/test.img
2、创建配置文件setup.xml
<domain type='kvm' id='21'>
<name>test_mini_centos</name>
<uuid>7e7f54d0-4b62-7c5e-d385-ed72473a5785</uuid>
<memory>1048576</memory>
<currentMemory>1048576</currentMemory>
<vcpu>1</vcpu>
<os>
<type arch='x86_64' machine='pc-0.14'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/var/lib/libvirt/images/test_mini_centos.img'/>
<target dev='vda' bus='virtio'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>
<disk type='block' device='cdrom'>
<driver name='qemu' type='raw'/>
<target dev='hdc' bus='ide'/>
<readonly/>
<alias name='ide0-1-0'/>
<address type='drive' controller='0' bus='1' unit='0'/>
</disk>
<controller type='ide' index='0'>
<alias name='ide0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<interface type='bridge'>
<mac address='52:54:00:7a:d2:93'/>
<source bridge='br0'/>
<target dev='vnet1'/>
<model type='virtio'/>
<alias name='net0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<serial type='pty'>
<source path='/dev/pts/0'/>
<target port='0'/>
<alias name='serial0'/>
</serial>
<console type='pty' tty='/dev/pts/0'>
<source path='/dev/pts/0'/>
<target type='serial' port='0'/>
<alias name='serial0'/>
</console>
<input type='tablet' bus='usb'>
<alias name='input0'/>
</input>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='5901' autoport='yes'/>
<sound model='ich6'>
<alias name='sound0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</sound>
<video>
<model type='cirrus' vram='9216' heads='1'/>
<alias name='video0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>
<alias name='balloon0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</memballoon>
</devices>
</domain>
3、virsh define setup.xml //创建虚拟机 查看当前系统所有的虚拟机信息:virsh list --all
4、virsh start vm_name //启动你创建的相应名字的虚拟机
注意:假若出现br0 没有此设备则使用sudo /usr/sbin/brctl addbr br0命令
qemu-img create -f raw /home/ttxImg/centos6.5_openstack_ttx.img 3000M
virt-install -n CentOS6.5-openstack-ttx -r 2048 --cpu host -c /home/ttxImg/CentOS-6.5-i386-minimal.iso --disk path=/home/ttxImg/centos6.5_openstack_ttx.img,device=disk,bus=virtio,size=10,format=qcow2 --vnc --vncport=5908 --vnclisten=0.0.0.0 -v --network bridge=br0

用 vncviewer 登录后按照屏幕提示完成 CentOS 安装。需要注意的是在分区阶段把 10GB 硬盘全部划分成一个 ext4 root 分区,不要创建多个分区也不要创建 swap 区:
$ vncviewer 172.16.39.111:5900

安装完后会自动重启,如果没有重启的话按照下面的命令启动刚刚安装好的虚拟机镜像 centos.img,如果出现 failed to find romfile “pxe-rtf8139.bin” 的错误提示可以通过安装 kvm-pxe 解决:
$ sudo qemu-kvm -m 512 -drive file=centos.img -boot c -net nic -net user -nographic -vnc :10
kvm: pci_add_option_rom: failed to find romfile "pxe-rtl8139.bin"

$ sudo apt-get install kvm-pxe

再次用 vnc 登录虚拟机镜像,安装一些必要工具(因为这个镜像将会是模板,所以最好保持最简最小化):
$ vncviewer 172.16.39.111:5900

# yum update
# yum upgrade
# yum install openssh-server
# chkconfig sshd on

修改分区加载表(/etc/fstab),注释或删除以前的,加上 LABEL=cec-rootfs 一行:
# vi /etc/fstab
#UUID=47a90bea-2d88-4c82-a335-09c1533b1538 / ext4 defaults 1 1
LABEL=cec-rootfs / ext4 defaults 0 0

在网络接口配置里面注释或删除这行 #HWADDR= 一行,启用 DHCP:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
#HWADDR="00:11:22:12:34:56"
#NM_CONTROLLED="yes"
BOOTPROTO=dhcp
ONBOOT="yes"

注射 ssh key 以便外界可以用 ssh -i mykey.priv root@host 的形式无密码登录到虚拟机实例,在 /etc/rc.local 文件中加入下面这些:
# vi /etc/rc.local
...
mkdir -p /root/.ssh
echo >> /root/.ssh/authorized_keys
curl -m 10 -s http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
| grep 'ssh-rsa' >> /root/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
echo "AUTHORIZED_KEYS:"
echo "--------------------"
cat /root/.ssh/authorized_keys
echo "--------------------"

别忘了还需要修改 sshd 的配置实现无密码登录:
# vi /etc/ssh/sshd_config
...
RSAAuthentication yes
PubkeyAuthentication yes
PermitRootLogin without-password
no
PasswordAuthentication no
UsePAM no

需要关闭 SELINUX,否则即使上面 ssh 设定允许 root 无密码登录也无效:
# vi /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted

70-persistent-net.rules 会自动添加其他的网络接口,需要删除这个文件避免自动添加除了 eth0 以外的接口,关闭虚拟机准备发布镜像:
# rm -rf /etc/udev/rules.d/70-persistent-net.rules

# shutdown -h now

上传镜像:
glance image-create --name centos6.5_openstack_ttx --is-public true --container-format ovf --disk-format qcow2 < /home/ttxImg/centos6.5_openstack_ttx.img

后面为其他地方复制,仅供参考:

Openstack kvm win7镜像制作
2012-12-13 13:35:17 我来说两句 作者:China_OS
收藏 我要投稿

Openstack不但能管理linux虚拟机还能管理windows虚拟机,之前做过基于kvm的debian6镜像,今天实战一下win镜像的制作,以win7为例。 www.2cto.com
母系统环境:ubuntu12.10 server + kvm
下载virtio驱动,因为win默认不支持virtio驱动,而通过openstack管理虚拟机是需要virtio驱动的。需要两个virtio驱动,一个是硬盘的,一个是网卡的,即:virtio-win-0.1-30.iso和virtio-win-1.1.16.vfd
1
wget http://autosetup1.googlecode.com/files/virtio-win-1.1.16.vfd
2
wget http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-0.1-30.iso
下载一个win7的镜像,默认的名字太长了,修改短一点
1
mvcn_windows_7_professional_vl_build_x86_dvd_x15-71025.iso win7.iso
创建一个win7的镜像,raw格式,大小7G
www.2cto.com
1
kvm-img create -f raw win7.img 7G
启动基于win7的kvm虚拟机,映射驱动vfd到软盘A
1
kvm -m 1024 -cdrom win7.iso -drivefile=win7.img,if=virtio,boot=on -fda virtio-win-1.1.16.vfd -boot d -nographic -vnc 10.1.6.228:8
用vnc安装win7,因为默认没有virtio驱动,所以识别不了硬盘,需要手动选择,整个过程如下:
选择键盘

‘伍’ openstack制作windows2016镜像错误

镜像制作方法一:
centos6.5镜像制作:(首先将CentOS-6.5-x86_64-minimal.iso镜像拷贝到/home下面)

1:

qemu-img create -f qcow2 /home/ttxImg/ttx_centos6.5.img 2.8G
2:

virt-install --connect qemu:///system -n ttx_centos6.5 -r 1024 --vcpus=2 --disk path=/home/ttxImg/ttx_centos6.5.img -c /home/ttxImg/CentOS-6.5-x86_64-minimal.iso --vnc --vncport=5914 --vnclisten=0.0.0.0 --noautoconsole --os-type linux --network=bridge:br100 --hvm --noautoconsole

windows7镜像制作:

qemu-img create -f qcow2 /home/ttxImg/ttx_win7.qcow2 40000M
virt-install --connect qemu:///system -n ttx_win7 -r 2048 --vcpus=2 --disk path=/home/ttxImg/ttx_win7.qcow2,bus=virtio,format=qcow2,cache=writeback --disk path=/home/ttxImg/virtio-win-0.1-81.iso,device=cdrom,perms=ro --force -c /home/ttxImg/win7_x86_64.iso --vnc --vncport=5914 --vnclisten=0.0.0.0 --noautoconsole --os-type windows --os-variant=win7 --network=bridge:virbr0 --hvm --noautoconsole
注:假若安装系统时,磁盘损坏,则可以将上述bus=virtio修改为bus=ide
若是还找不到,使用如下命令:
virt-install --connect qemu:///system -n neokylin_lst -r 1024 --vcpus=2 --disk path=/neokylinlst.qcow2,bus=virtio,format=qcow2,cache=writeback --force -c /home/neokylin.iso --vnc --vncport=5914 --vnclisten=0.0.0.0 --noautoconsole --os-type linux --network=bridge:virbr0 --hvm --noautoconsole

使用virtio网卡驱动:
virt-install --connect qemu:///system -n ttx_win7 -r 2048 --vcpus=2 --disk path=/home/ttxImg/ttx_win7.qcow2,bus=virtio,format=qcow2,cache=writeback --disk path=/home/ttxImg/virtio-win-0.1-81.iso,device=cdrom,perms=ro --force -c /home/ttxImg/win7_x86_64.iso --vnc --vncport=5914 --vnclisten=0.0.0.0 --noautoconsole --os-type windows --os-variant=win7 --network=bridge:virbr0,model=virtio --hvm --noautoconsole

<interface type='bridge'>
<mac address='52:54:00:ac:9c:4c'/>
<source bridge='br1'/>
<target dev='vnet3'/>
<model type='virtio'/>
<alias name='net3'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
</interface>

windows镜像上传命令:
glance add name="windows" is_public=true container_format=ovf disk_format=qcow2 < windowsxp.img

centos镜像上传命令:
glance image-create --name centos --is-public true --container-format ovf --disk-format qcow2 < /home/agen/centos63.img

‘陆’ 如何把glance的镜像放到cinder上

我的测试环境中,cinder后端存储采用FC SAN,现在想实现glance的后端存储为cinder.

‘柒’ 求助系统监控glance,sar命令常用使用方法

HP-UX上glance, top和ps察看进程内存数据之间的关系及计算

常常有人会问,在HP-UX上面,采用glance,top,ps等工具察看进程的内存情况,各个数据之间的关系比较混乱,常常不能明白各个数值之间的关系,现在对此作一个简要的说明。

在每个进程中,内存的使用分为多个类型,有TEXT(程序的可执行代码),DATA(数据,所有通过malloc,calloc等动态分配的数据在这里), STACK(局部变量,局部数组等会在这里),SHM(共享内存),MEMMAP (动态连接库的内存映射和通过mmap得到的内存,这又分为两种,其一动态链接库的可执行代码部分,这部分是各进程share的,还有一部分是动态链接库的数据部分,这是private的),UAREA(每一个线程会有这么一块区域)。

在Glance看到的RSS是指在真实内存中的数据大小, VSS是虚拟内存的大小。

所以在Glance的 Memory report中看到的Text,DATA,STACK,Shmem就不难理解了。Other就是非Text, 非Data,非Stack,非Shmem的其他内存,如MEMMAP, UAREA,NULLDR等等。

所以以glance的memory report为基础,各结果之间的计算关系为:

glance的Process Detail中的Total RSS/VSS = glance memory report中所有PRIV的内存大小 + (所有SHARE的内存大小/引用次数),由于share内存引用次数的不一样,因此该值相对不准。
ps中的sz为glance中real的data, text, stack的总和,vsz为glance中virtual的data, text, stack的总和,不包含share memory,Other memory等

top中的SIZE为glance中virtual的data,text,stack和other的和
top中的RES为glance中memory report中所有标记为PRIV的内存大小的和。

所以各个程序之间得到的结果较为混乱,但是glance是比较全的。
希望可以帮到你,望采纳!

‘捌’ 怎样从web client上传的镜像将镜像上传到glance

glance是OpenStack管理镜像的一个组件,从web client上传的镜像或者从命令行上传的镜像默认保存到了那个目录下,可以在: # cat /etc/glance/glance-api.conf | grep -v "^$" | grep -v "^#" filesystem_store_datadir=/var/lib/glance/image

‘玖’ 如何使用curl命令获取glance镜像列表信息

[root@controller ~]# source /etc/keystone/admin-openrc.sh
[root@controller ~]#curl -i -H "X-Auth-Token:`openstack token issue | awk -F '|' ' / id / {print $3}'`" http://controller:9292/v2/images
参考一下,命令比较麻烦,可以拆分来看(比如openstack token issue),一点一点理解