《E-VDI产品部署及运维手册-cn.docx》由会员分享,可在线阅读,更多相关《E-VDI产品部署及运维手册-cn.docx(30页珍藏版)》请在三一办公上搜索。
1、VDI产品部署及运维手册一、编写目的本手册是作为噢易公司VDI产品的部署及运维手册,详细介绍VDI产品的部署流程以及VDI服务器配置参数等,使相关工程师快速熟悉VDI产品。二、适用范围本手册适用于噢易公司所有研发工程师、测试工程师、实施工程师、技术支持工程师等。三、包括内容l 产品部署注意事项l 服务器端部署(含主控节点、计算节点)l Web管理平台初始化l 安装Linux客户端l 安装Windows客户端l 产品架构图及组件介绍l 服务器端组件日志l 常用VDI产品命令l 附录一:常用Linux命令l 附录二:使用到的开源技术l 附录三:常见问题与解答四、产品部署注意事项l 确定主控节点IP
2、;l 是否需要存储节点,如需要,请确保网络连接顺畅;l 部署顺序应为:先部署服务器端(含主控节点、计算节点),再进行Web管理平台的初始化,最后安装客户端(Windows、Linux)五、服务器端部署5.1 部署主控节点操作步骤:1、在物理服务器上安装虚拟化软件,安装前需手动设置从光驱启动,或者在启动时选择从光驱启动也可;2、插入光盘自动识别进入安装欢迎界面,如果物理服务器已经存在操作系统,安装会覆盖之前的操作系统;3、重新设置账户密码,并配置相关网络信息,具体操作请参见下方详解;.5.1.1光盘运行安装操作步骤:插入服务器主控节点console光盘,重启服务器,自动识别进入安装欢迎界面,选择
3、安装方式,如图2.1.1.1所示:注意:当前安装文件中英文版Console/Agent节点集一体,请自行选择对象执行,当前以中文版为例;图2.1.1.1选择安装节点l Install Oseasy E-VDI 4.0.1Console(Chinese,Simplified):安装中文版主控节点。l Install Oseasy E-VDI 4. 0.1Agent(Chinese,Simplified):安装中文版计算节点l Install Oseasy E-VDI 4.0.1Console(English):安装英文版主控节点。l Install Oseasy E-VDI 4. 0.1Agen
4、t(English):安装英文版计算节点l Boot from localPress Tab to edit options:从本地磁盘启动,即放弃本次安装。5.1.2 挂载部署当前首次进入安装信息部署界面时,安装位置及网络项展示为“未配置”及“未连接”,如下图所示,现即可手动执行部署。操作步骤1、 挂载项后点击系统安装图标,进入设备选择界面,选择“我要分区”进行挂载,如图5.1.2.1所示:图5.1.2.1自定义分区2、 若当服务器为标配云主机,则在安装信息摘要界面可直接将SAS和SSD硬盘勾选,加入配置分区项。3、创建分区,将其类型项由默认项“”更改成“标准分区”,点击左下角“+”项进入添
5、加新挂载点界面,如图2.1.2.3所示对象完成后文件类型“/boot”默认为ext4“/”默认为xfs“/opt/storage/”默认为xfs“swap”交换分区“期望容量”默认单位为MB,可手动写入数值后加入单位GBa) 选择所需挂载硬盘:b) “/boot”:c) “swap”:d) “/” :e) “/opt/storage”:f) 展示4、确认分区后,点击左上角“完成”功能按钮,即可保存当前所做分区挂载项,确认“接受更改”信息后,如下图所示:5.1.3 配置网卡IP地址、DNS、主机名安装部署之前请先规划好Console/Agent节点的IP信息。操作步骤:1、配置网络,在安装信息界
6、面点击“NETWORK&HOSTNAME”2、左侧网卡展示栏处选中“已连接”的网卡项,在右侧网络连接状态处,手动将其启动至“开启”状态,如下图所示: 3、左下角“主机名”处,可自定义更改其Console/Agent节点的主机显示名,如图2.1.3.1所示:备注:当前主控与计算节点处主机名默认项分别为:“oseasy”、“oseasy-agent”4、点击右下角“配置”按钮,进入编辑网卡界面,依次配置选择“IPv4设置”、在其设置下选择配置方式“手动”,再点击“添加”功能按钮,即可出现IP文本信息框,填写所规划的IP、子网等信息,如下图所示:5、待网络配置保存完成后,在网络信息界面,查看IP、子
7、网等信息是否与写入一致,如下图所示:6、两项配置确认完成后,点击“开始安装”功能按钮,可进入到下一安装过程,如下图所示:5.1.4 设置root管理员密码安装过程中必须设置默认的root密码,一旦设置,其他机器访问该主机就需要登录验证操作步骤:1、开始安装过后读取安装文件的过程中,点击用户设置处的“ROOT密码”项进行设置,如下图所示:2、在ROOT密码界面,写入密码并确认后,由于密码难易程度,需手动点击两次“完成”来进行确认,如下图所示:3、设定完毕后执行安装,如下图所示 5.1.5 完成安装操作步骤:1、安装完成后,从驱动器中弹出安装CD,服务器自行进行重启,如下图所示:5.2部署计算节点
8、计算节点Agent的部署过程,与主控节点基本类似,可参考上节内部,部署过程中注意选择目标版本和修改节点主机名称即可。六、Web管理平台初始化参考产品操作手册第三章,包括对平台的初始化及注册激活。七、安装Linux客户端参考产品操作手册第四章第一节:Linux客户端八、安装Windows客户端VDI产品提供了用于安装在Windows平台的客户端软件,可以通过客户端软件访问VDI产品中维护的虚拟桌面。操作步骤:1. 将windows客户端软件包复制到终端机,双击打开安装:2. 选择安装路径:3. 配置主控节点IP:4. 开始安装。5. 安装完成后,点击桌面快捷方式打开软件进入主界面即可。九、产品架
9、构图及组件介绍9.1 部署架构图9.2 产品组件架构图* Thor内部的子服务间的消息通信同样依赖RabbitMQ9.3产品组件介绍9.3.1 thorthor是噢易公司VDI产品自主研发的重要后台服务组件,主要配置目录是:/etc/thor/。本节将详细介绍thor的相关信息,强烈建议仔细阅读本章节内容。 安装位置:/usr/lib/python2.7/site-packages/tcloud 配置目录:/etc/thor/ 组件作用:thor组件是VDI产品中重要的中间件,主要有以下几点: Web管理平台与thor-api服务、thor-novnc服务、thor-agent服务通信,管理V
10、M; Web管理平台通过RabbitMQ与thor-supervisor服务通信,管理硬件、网络等; thor-event与libvrit通信,达到与Qemu-KVM间接交互的目地,控制VM的生命周期; 服务组成:thor组件由以下7个子服务组成o thor-agent:虚拟机管理服务执行文件软连接: /usr/bin/thor-agent服务路径:/usr/lib/python2.7/site-packages/tcloud/bin/thor-agento thor-api:API服务接口,对外接收客户端或web管理平台的指令。执行文件软连接: /usr/bin/thor-api服务路径:/
11、usr/lib/python2.7/site-packages/tcloud/bin/thor-apio thor-event:事件监听服务,加速虚拟机状态同步。执行文件软连接: /usr/bin/thor-event服务路径:/usr/lib/python2.7/site-packages/tcloud/bin/thor-evento thor-novnc:提供VNC代理服务。执行文件软连接: /usr/bin/thor-novnc服务路径:/usr/lib/python2.7/site-packages/tcloud/bin/thor-novnco thor-sch:计划任务调度服务,提供
12、课表的部分功能。执行文件软连接: /usr/bin/thor-sch服务路径:/usr/lib/python2.7/site-packages/tcloud/bin/thor-scho thor-supervisor:系统硬件、网络更改、agent服务守护。执行文件软连接: /usr/bin/thor-supervisor服务路径:/usr/lib/python2.7/site-packages/tcloud/bin/thor-supervisoro thor-manage:提供给研发工程师、测试工程师、实施工程师使用帮助工具,通过此服务可以实现对虚拟机的各类操作。执行文件软连接: /usr/
13、bin/thor-manage服务路径:/usr/lib/python2.7/site-packages/tcloud/bin/thor-managethor-manage服务可以执行5大类共计48种操作,执行命令的格式如:#thor-manage category action 详细信息如表(注意:操作参数args未列出):类别(category)操作(action)作用imageclean_images_instslist模板列表,可以查看到模板名称、状态、所有者等信息register注册模板servicechange_db_host_ipchange_host_ipchange_raid
14、_io_schget_loglist_pools列出虚拟池(也可以认为是“教室”)make_bond0_localmake_thor_conf根据thor的配置文件模板生成thor的配置文件reset_root_pwd重置root用户密码reset_systemrestart_libvirt重启libvirt服务upgrade_client更新客户端vmHostVMShutdownHostVMStartadd_base_diskadd_mode_diskbackupbalance_modedestroy销毁虚拟桌面enable_usb启用USBgenerate_keyinstancetypes
15、list虚拟桌面列表信息live_migrationmode_listpause暂停虚拟桌面reboot重启虚拟桌面resize更改虚拟机磁盘大小restart_all重启所有虚拟桌面restore重置虚拟桌面save_as_templateshutdown关闭虚拟桌面snapshot_restoresnapshot_takestart启动虚拟桌面transfer_tounpause恢复虚拟桌面update_mode_orderusb_attachusb_listnetworkget_network_inforeset_networkstorageget_fc_hba_infoget_fc_l
16、un_listget_fc_wwnnsget_fc_wwns 组件通信:Thor内部子服务使用RabbitMQ进行通信。9.3.2 Web管理平台Web管理平台仅在主控节点上安装运行 安装位置:/var/www/console/console/ 组件作用:提供给系统管理员使用,用于维护整个VDI产品。可以通过浏览器进行VDI产品中各类服务的管理,如管理主机、网络、存储等资源,维护虚拟机模板、教学或个人桌面等虚拟化环境,管理教室终端及会话等,还可对主机或虚拟机进行资源占用情况的监视。 运行环境:web服务仅运行于主控节点,输入 http:/主控节点IP 即可进入。Web服务基于apache ht
17、tpd、mod_wsgi运行, 使用的是python的开源web框架django开发,前端使用了AngularJS框架, 依赖以下两个重要服务: apache httpd:安装位置: /etc/httd/配置文件: /etc/httd/conf.d/console.confmod_wsgi: /etc/httd/modules/mod_wsgi.so mysql数据库:配置文件:/etc/fmysql数据库超级管理员:root, 默认管理密码为cloudhan(可查看VDI产品主控节点的数据库配置文件/etc/thor/database.conf)9.3.3 RabbitMQ 安装位置:/us
18、r/lib/rabbitmq 组件作用:开源的消息队列系统,提供系统级的消息对列服务,在不同的应用程序之间传递消息 操作命令:/etc/init.d/rabbitmq-server start|stop|restart 在浏览器中查看RabbitMQ控制台:访问http:/主控节点IP:56972/ 可以进入RabbitMQ控制台。十、服务器端组件日志在服务器出现异常,及日常服务器端运维时,进行组件日志分析可以快速的定位问题所在。以下日志是VDI产品较为常用的: 对虚拟机操作的日志:/etc/thor/log/agent.log,记录所有对虚拟机操作的信息,如VM的创建、启动、销毁等。 客户端
19、接口日志:/etc/thor/log/api.log,记录客户端与虚拟机接口的交互日志。 web管理平台日志(仅主控节点):/etc/thor/log/thorconsole.log,记录所有访问管理平台的请求。 数据库日志(仅主控节点): /var/log/mariadb/mariadb.log apache httpd日志目录(仅主控节点): /var/log/httpd/access_log: 访问日志error_log: 错误日志 libvirt日志目录:/var/log/libvirt/libvirt作为thor组件的基础,它自身也记录了许多日志,比较重要的是qemu目录下的日志,/
20、var/log/libvrit/qemu/ 目录下是每个VM模板的日志,日志以i-000XXXX.log形式命名;在web管理平台新建模板时,会自动创建一个日志。日志编号可以通过打开“编辑模板”时的窗口查看。 rabbitmq日志目录: /var/log/rabbitmq/十一、常用VDI产品部署或维护操作 修改主机名#hostnamectl -static set-hostname 主机名修改完成后,重启主机即可 服务器端升级(更新bin包)简便的方式是可以通过scp命令将bin包远程拷贝到服务器上,默认服务器的拷贝到/root目录需要注意的是:主控节点需要更新 console 和 agen
21、t 两个bin包; 计算节点只需更新 agent 包。#scp update-evdi-console.bin root192.168.1.2:/root拷贝完成后,ssh进入要更新的主机, 通过sh命令更新bin包:#ssh 192.168.1.2#cd /root#sh update-evdi-console.bin /注意:仅主控节点更新此包#sh update-evdi-agent.bin升级完成后,需要重启thor服务:#systemctl restart thor-api.service#systemctl restart thor-agent.service 删除注册文件#rm
22、r /var/www/tcloudkeyfile 更改版本#vi /etc/thor/version.修改版本.#thor-api restart 查看虚拟机配置信息#cat /etc/default/qemu-kvm 更改虚拟机磁盘大小#thor-manage vm resize_base_disk i-0000003 10 disk_0 /i-0000003是虚拟机模板名称 注册模板#thor-manage image register 注册名称 操作系统类型 模板路径 qcow2 虚拟化服务开启、停止、查看状态等(此处主要是指重启thor组件的子服务)/以下是基于CentOS 7(不含)
23、之前的版本#thor-agent start|stop|status|restart#thor-novnc start|stop|status|restart#thor-api start|stop|status|restart./以下基于CentOS 7(含)之后版本#systemctl start|stop|status|restart thorAgent#systemctl start|stop|status|restart thorApi. 查看具体模板信息#qemu-img info /etc/thor/images.i-000000027 /i-000000027是虚拟机模板名称
24、查看挂载路径#cat /etc/fstab 批量升级客户端通常在生产环境中,无论是Linux客户端还是Windows客户端,规模都有可能会比较大,当客户端需要升级时,逐台升级的方式费时费力。此时就可以通过向Web管理平台上传客户端更新bin包的方式来进行批量升级。操作步骤:1. 登录Web管理平台;2. 进入“系统”-“系统升级”菜单;3. 点击“上传系统包”按钮,选择要上传的客户端更新包,上传即可;更新包上传完成后,客户端开机时将会自行进行更新检查。附录一、常用Linux命令 man用法man *。列出某个命令的详细用法、可用参数及各参数的作用。遇到任何未知命令,都可用man来查看其功能参数
25、 ls列出文件及文件夹列表,可带参数:-a, -l等 ll列出文件及文件夹列表的详细信息,如修改时间,文件大小等 scpsecure copy, 用作不同主机之间的文件复制,例如:Scp dir/file usernameipaddress:dir chown更改文件及目录的所属组和所属用户 chmod更改文件及目录所对应用户组的权限。主要的权限有:可读、可写、可执行,例如:chmod -R 777 /opt/abc将/opt/abc 目录的权限改为777 vilinux中的基本的文本编辑器,有以下三种模式:1.命令模式(command mode):控制屏幕光标的移动,字符、字或行的删除,移动
26、复制某区段及进入Insert mode下,或者到 last line mode;此模式常用命令:”i”、”o”、”a”,”dd”、”ctrl+b”、”ctrl+f”、”u”、”、”等;2.插入模式(Insert mode):只有在Insert mode下,才可以做文字输入,按ESC键可回到命令行模式;3.底行模式(last line mode)将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号等;此模式常用命令:”/”、”?”、”:%s”、”:q”、”:q!”、”:wq”、”:set nu”、”:任意数字”等;:q - 退出:q! - 不保存修改并退出:wq - 保存修改并退出:
27、set nu - 显示行号 tail文件指定内容写到标准输出。一般用来查看最近的记录的文件内容。持续输出加参数-f, 比如查看某日志:tail -f /var/log/somelog.log cat将文件内容输出,不需要打开文件,直接获取文件的内容信息; ps查看进程,常用”ps ef/aux|grep *”,*为进程名或ID grep过滤器,常用来做搜索匹配,若能灵活运用,对查找信息有很大帮助, 如查看某进程信息ps -ef|grep thor echo与”、”结合使用,”echo * filename”,将*内容输入到某文件中,且覆盖此文件原有内容,”echo * filename”,将*
28、内容追加输入到某文件中,不覆盖原有内容 top查看进程的资源占用信息,可以查看进程所占用的内存,CPU等信息 kill干掉进程的命令,一般用”kill -9 *” df -h查看磁盘分区及磁盘挂载目录情况 du -sh查看文件或目录的大小 fuser查看所有正在使用某个file,file system 或者socket的进程 fdisk对磁盘进行如添加分区,删除分区,查看分区信息等操作 mkfs.ext*格式化硬盘分区 dmesg显示开机信息,一般问题都会在开机信息中显示出来 find查找文件,例如find / -name “oseasy*” tar解压与压缩包命令。Tar xvf *.tar
29、 C /home 或 tar cvf *.tar dir/file free查看系统内存使用情况,显示的格式清晰明了,查看很方便 dpkg安装deb包时,会使用到,安装软件:dpkg -i evdi.4.0.1-upgrade.deb附录二、使用到的开源软件或技术 Web:server:apache + mod_wsgiweb框架:django使用的django第三方库:- mysql-pythonjs框架:AngularJSdb:mysql 消息对列服务:RabbitMQ 虚拟化技术LibvirtQemuKVM Python第三方库:SqlArchemypython-libvirtolso.
30、messaging附录三:常见问题与解答一、 客户端Q:进入教学桌面时,提示“目前没有可用的场景”,如何解决?A:此提示是由于没有创建桌面场景,进入Web管理平台创建教学桌面(云PC版为“云PC”“公共云PC”)即可。Q:进入教学桌面时,提示“你的客户端没有配置或配置了错误的登录序号”,如何解决?A:此问题有两种情况:1 未配置登录序号; 2 配置错误的登录序号:比如教学桌面数量设置为3,而实际上客户端排序时终端的数量大于3。解决方法:进入Web管理平台的终端页面,选择客户终端重新进行排序即可;Q:进入个人桌面(或专属云PC)时,提示“你没有绑定任何桌面”,如何解决?A:此问题是由于未给终端绑
31、定个人桌面(或专属云PC)造成的,需要先检查终端是否分配了教室,再检查是否给教室创建了个人桌面Q:网络配置正常,点击“USB”后,标题栏提示“网络未准备好”,无法使用USB?A:请关闭虚拟机内的系统防火墙。二、 服务器端Q:服务器端使用bin包升级,完成后需要重启哪些服务?A:更新bin包完成后需要重启thor有关的6个服务:service thor-agent restartservice thor-event restartservice thor-sch restartservice thor-novnc restartservice thor-supervisor restartservice thor-api restartQ:忘记了thor-manage操作命令?A:通过SSH登录主机,输入“thor-manage”,然后回车,即可查看命令的分类关键字列表;再次输入 “thor-manage 命令关键字”, 即可查看命令的操作关键字列表。