裸机提供的console功能类似于虚拟机的vnc功能。其使用的步骤是这样的:
1. 如果要使用裸机的串口(serial console)功能,需要在制作镜像时做一些配置。
1) 修改系统启动文件
A)对于suse的系统,在制作镜像时需要修改/etc/inittab文件,在该文件的最后添加如下配置:
S0:12345:respawn:/sbin/agetty -L 19200 ttyS0
B)对于redhat系统,修改/boot/grub/grub.conf文件,找到hiddenmenu关键字,在其前一行添加如下两行:
serial --unit=0 --speed=19200
terminal --timeout=5 serial console
然后在kernel行的尾部最后添加如下配置:
console=ttyS0,19200n8
2)如果希望root用户能够通过串口进行登录,则需要修改安全配置文件,在 /etc/securetty最后增加:
ttyS0
2. 要在webui上配置ironic-console的反向代理才能正常从nova接口使用console
3. 创建node时指定ipmi_terminal_port(>=6900,且不能重复)
ironicnode-create -d agent_huawei -i ipmi_username=root -i ipmi_password=Huawei12#$-i ipmi_address=4.6.161.31 -i ipmi_terminal_port=6900 -p cpus=4 -ideploy_kernel=$ironic_kernel_uuid -i deploy_ramdisk=$deploy_ramdisk_uuid -plocal_gb=300 -p memory_mb=22000 -p cpu_arch=x86_64 -pcapabilities=board_type:high_performance,boot_mode:bios -proot_device='{"name": "devsda"}' -n node-31--network-provider neutron_plugin -e product_name="RH2288H V3" -epcpus=2
或者update node时将该参数写入
ironic node-update 6f4f11f5-63af-462d-b8e4-20decf641207 adddriver_info/ipmi_terminal_port=6900
4. 获取console连接,然后在浏览器上进行访问(推荐google的浏览器):
nova get-serial-console bdbbee06-cc85-44f6-abfe-1bf86fa6e9f0(instance_uuid)
备注:
如果能够访问internal_base平面,则可以跳过haproxy和console proxy,直接访问shellinabox服务,此仅仅为了方便问题定位。使用如下命令获取访问连接然后通过浏览器进行访问。
ironic node-get-console 6f4f11f5-63af-462d-b8e4-20decf641207 (node_uuid)
这是因为FSP6.0做了安全加固,不允许从后台获取URL。如果要登陆虚拟机,建议从FM或者SC界面登陆。
如果有同学说我就好这一口,就喜欢通过vnc来登陆虚拟机。尤其是NFV的同学,手工拉起的虚拟机无法通过页面登陆的请,也可以。
登陆三个控制节点,修改/etc/nova/policy.json文件
Password:
Controller-01:/home/fsp # TMOUT=0
Controller-01:/home/fsp # vim /etc/nova/policy.json
Controller-01:/home/fsp # chmod 777 /etc/nova/policy.json
Controller-01:/home/fsp# vim /etc/nova/policy.json
把这行内容改成:
"compute:get_vnc_console":"rule:all_admins_or_owner",
chmod 755/etc/nova/policy.json
再重启nova-api的服务即可:
cpshost-template-instance-operate --service nova nova-api --action stop
cps host-template-instance-operate --service nova nova-api --action start
cps template-instance-list --service nova nova-api
|