`

Xen5.5制作windows镜像

阅读更多

已在Xen下制作完Linux镜像,windows镜像也做了10来天了,现来个总结,镜像一览表:
windows2003 Serverwindows2003_64 Server
windows 自家的服务器...64自家服务器
windows 自家的loadBalancer...64
windows 自家的portal Server...64
windows mysql5.1...64
windows apache loacBalancer...64

每个镜像都拥有的“六脉神剑":
JDK1.6.22, intel-agent, cloud-agent,
VNC server, Ssh Server, XenTools
在此基础上再安装特性东东,如Mysql镜像安装mysql+apache+php+phpMyAdmin,apache LoadBalancer镜像就安装apache LoadBalancer... ...

——————————————安装过程概览——————————————
1、 如何将Apusic作为windows服务启动
    Cmd中切换到%Apusic_Home%/domain/mydomain/bin目录
    .安装  apusicsvc.exe -install -name xxx
    .移除  apusicsvc.exe -uninstall xxx 后可带参数(查看帮助)

2、 如何将.bat作为windows服务(.bat文件怎么注册成windows服务)
   .使用sc命令
sc create 服务名 binPath= xxx type= share start= auto display= yyy...可选参数,具体的参数请google
    注意: = 后面的空格不能省略。如果路径中含有空格则使用双引号括起来...

   声明:本人使用此方法并未达到目标。
拓展:要创建服务,使用sc命令即可,但要能作为服务运行必须符合MS的相关规范。我使用命令成功的创建了服务但服务没有生效,觉得去研究MS相关规范成本太高因此放弃... ...
启动服务过程中所经历的错误:
A、 错误5拒绝访问
B、 错误1053: 服务没有及时相应启动或控制请求
想让.bat做成服务运行,sc不行,不止.bat不行,一般.exe都不行。还是上面的理由做成服务的编写是有固定格式的... ...
推荐使用软件magic starter。但是我本人采用的是java wrapper service

3、 参考我的《将java程序做成windows系统服务》
    http://liaoshaoyao.iteye.com/admin/blogs/809134

4、 扩展之.bat与.cmd的区别
   bat用的是16位的dos运行,而cmd则是通过xp系统的32位dos运行的。有些命令在bat可以使用但是在cmd中却不能使用。

5、 将Apusic as配置成Apusic LoadBalancer的两种方法:
   方法一:
   方法二:在/mydomain/bin下找到startapusic.cmd中,修改此启动脚本,在其中所有的%JAVA_RUN%后添加 -config /config/loadbalancer.conf文件

6、 windows2003 server每次开机时都需要点击ctrl+alt+del的方式才能登录,如何去掉这一限制呢?
  “运行”——gpedit.msc——组策略——计算机配置——windows设置——安全设置——本地策略——安全选项,将“交互式登录:不需要按ctrl+alt+del”勾上OK!

7、 关于远程服务
  windows的远程服务有我们大家都熟知的Telnet方式,但是那种方式不太安全,况且考虑到与Linux镜像保持一致在此处我们仍然使用VNC来进行远程访问。
  拓展:
  A、 Linux下访问windows远程桌面
  .启服务中的Terminal Services
  .开启我的电脑——远程中的选项(windows的远程桌面需要用到的端口为3389),如果要修改端口可以参照下面的方式:
  进入注册表: HKEY_LOCAL_MACHINE\System\currentControlSet\Control\Terminal Server\wds\rdpwd\tds\tcp\portNumber 进行编辑。

8、 负载均衡器
作用:
A、将客户端的请求均匀地分流给后端真实的服务器
B、 一台做主机另一台做热备份

9、 Apache在windows环境下的配置
首先得打开httpd.conf这个配置文件,找到如下代码:
LoadModule proxy_module modules/mod_proxy.so//提供代理服务器功能
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so//提供负载均衡功能
LoadModule proxy_http_module modules/mod_proxy_http.so//支持http协议
   默认的httpd.conf中只含#ProxyRequests On,添加如下配置:
   ProxyRequests Off
  <Proxy balancer://mycluster>
  BalancerMember http://node-a.myserver.com:8080(使用BlancerMember添加真实的服务器地址)
  BalancerMember http://node-b.myserver.com:8080
  </Proxy>
  ProxyPass / balancer://mycluster(协议地址可以随便定义)
   调试时可以添加如下代码来监视负载均衡器(不要带入到生产环境):
<Location /balancer-manager>
  SetHandler balancer-manager
  order Deny,Allow
  Deny from all
  Allow from localhost
  </Location>
如此般配置好之后访问 http://localhost/balancer-manager/ 即可看到负载均衡的工作状况。

   改完之后重启服务器,访问你的Apache所在服务器的地址,即可看到负载均衡的效果了。打开 balancer-manager 的界面,可以看到请求是平均分配的。
   如果不想平均分配怎么办?给 BalancerMember 加上 loadfactor 参数即可,取值范围为1-100。比如你有三台服务器,负载分配比例为 7:2:1,只需这样设置:
   ProxyRequests Off
  <Proxy balancer://mycluster>
  BalancerMember http://node-a.myserver.com:8080 loadfactor=7
  BalancerMember http://node-b.myserver.com:8080 loadfactor=2
  BalancerMember http://node-c.myserver.com:8080 loadfactor=1
  </Proxy>
  ProxyPass / balancer://mycluster
  默认情况下,负载均衡会尽量让各个服务器接受的请求次数满足预设的比例。如果要改变算法,可以使用 lbmethod 属性。如:
   ProxyRequests Off
  <Proxy balancer://mycluster>
  BalancerMember http://node-a.myserver.com:8080 loadfactor=7
  BalancerMember http://node-b.myserver.com:8080 loadfactor=2
  BalancerMember http://node-c.myserver.com:8080 loadfactor=1
  </Proxy>
  ProxyPass / balancer://mycluster
  ProxySet lbmethod=bytraffic

   lbmethod可能的取值有:
  lbmethod=byrequests 按照请求次数均衡(默认)
  lbmethod=bytraffic 按照流量均衡
  lbmethod=bybusyness 按照繁忙程度均衡(总是分配给活跃请求数最少的服务器)

——————关于热备份(Hot StandBy)————————
只需添加 status=+H 属性,就可以把某台服务器指定为备份服务器:
  ProxyRequests Off
  <Proxy balancer://mycluster>
  BalancerMember http://node-a.myserver.com:8080
  BalancerMember http://node-b.myserver.com:8080 status=+H
  </Proxy>
  ProxyPass / balancer://mycluster
从 balancer-manager 界面中可以看到,请求总是流向 node-a ,一旦node-a挂掉, Apache会检测到错误并把请求分流给 node-b。Apache会每隔几分钟检测一下 node-a 的状况,如果node-a恢复,就继续使用node-a。

10、 Apache2.0+性能调优
2.0中影响性能的最核心特性:MPM(Multi-Processing Modules,多道处理模块),在此主要阐述prefork和worker这两种和性能关系最大的产品级MPM:

A、 prefork的工作原理是,控制进程在最初建立“StartServers”个子进程后,为了满足MinSpareServers设置的需要创建一个进程,等待一秒钟,继续创建两个,再等待一秒钟,继续创建四个……如此按指数级增加创建的进程数,最多达到每秒32个,直到满足MinSpareServers设置的值为止。这就是预派生(prefork)的由来。这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销以增加性能

B、 worker的工作原理及配置
由主控制进程生成“StartServers”个子进程,每个子进程中包含固定的ThreadsPerChild线程数,各个线程独立地处理请求

调优工作主要针对httpd.conf中的如下两处的参数值进行调节:

<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   20
ServerLimit      256
MaxClients       256
MaxRequestsPerChild  4000
</IfModule>


<IfModule worker.c>
StartServers         2
MaxClients         150
MinSpareThreads     25
MaxSpareThreads     75
ThreadsPerChild     25
MaxRequestsPerChild  0
</IfModule>

我们可以显示地指定使用那种MPM.

11、 windows启动之后总是弹出提示框"发现新硬件,已安装完更新,...需重启"的提示,然而本身并需要重启的。怀疑是XenServer启动的途中往其中插入了配置IP的xxx.iso,如何去掉这个提示呢?
   网上一般的说法是重新安装设备的驱动... ... (排除)

12、 windows修改主机名而不重启
   从网上搜到了相关的脚本,试验成功,然而当使用远程连接时却提示“不在域内...”,然而我使用VNC Client是可以连接成功的。 VNC与Telnet使用的是不同的连接方式,如何解决Telnet连接不成功的问题呢?

13、 windows查看进程号及kill进程的方法
   windows任务管理器——查看——选择列 选择
   命令行: tasklist 列出所有的进程和进程的相应信息
   杀进程的命令:
    taskill 进程号(程序名)
   强力杀进程:
   ntsd -c q -p PID
14、 小知识: Linux下不识别localhost,得换成对应的127.0.0.1,而windows对于两者都能正确识别。
待续... ...
反思:
1、 起初并没有弄明白intel-agent与cloud-agent及其伴随os启动的整个原理。傻B似的在那里修改每一个模板的ip与主机名,结果发现不能用。

—————————————突破障碍——————————————
   制作好了Windows虚拟镜像之后在应用平台启动,能够正常启动与关闭但是一旦关闭则不能再被启动了(也不能被重启)... ...
   这个问题整整折磨我跟师兄近达两个星期,一直到今天才水落石出,原来是我们将windows虚拟机的最大cpu个数设置为32个的缘故(linux也是32个)。查看文档发现如下东东:




   虽然说早就意识到了阅读文档的重要性,然而却一再视而不见!!!
  • 大小: 12.3 KB
  • 大小: 10 KB
分享到:
评论

相关推荐

    Xen安装windows和linux虚拟机参考.pdf

    在CentOS 5.5 32位系统中,安装Xen的步骤如下: 1. 挂载ISO镜像文件以访问安装所需的软件包: ```bash mount -o loop /iso/CentOS-5.5-i386-bin-DVD.iso /media/cdrom/ ``` 2. 使用yum安装Xen及相关组件: ```...

    Xen安装windows和linux虚拟机资料.pdf

    在物理机上挂载CentOS 5.5的ISO镜像,然后通过yum命令安装Xen及相关组件。确保在安装过程中选择了支持Xen的内核,并在安装完成后检查`/boot/grub/grub.conf`配置文件,确保默认启动的是Xen内核。重启系统后,验证Xen...

    Xen安装windows和linux虚拟机.pdf

    1. **挂载ISO镜像**:通过`mount`命令将CentOS 5.5的ISO镜像挂载到/media/cdrom/目录下。 2. **使用Yum安装Xen**:通过`yum`命令禁用所有仓库,启用c5-media仓库,然后安装Xen相关的软件包。 3. **检查Grub配置**:...

    Xen安装windows和linux虚拟机归纳.pdf

    1. **挂载ISO镜像**:首先,你需要挂载包含CentOS 5.5 32位安装镜像的ISO文件,例如通过`mount -o loop /iso/CentOS-5.5-i386-bin-DVD.iso /media/cdrom/`命令。 2. **使用YUM安装**:接着,你可以通过YUM安装Xen...

    CentOS5.3-5.8_32x64位DVD镜像下载种子

    6. CentOS5.8:这是5.x系列的最后一个版本,于2012年6月发布,提供长期支持,增加了对新技术的支持,如EXT4文件系统和Xen虚拟化。 综上所述,这个资源包对于那些需要部署或研究CentOS 5.x系列,特别是寻求离线安装...

    Rose MirrorHA for Linux详细配置文档

    将CentOS 5.5镜像文件`CentOS-5.6-i386-bin-dvd.iso`拷贝到U盘根目录下。 4. 将镜像文件中的`isolinux`目录释放到U盘根目录下。 5. 将`isolinux`目录下的所有文件复制到U盘根目录。 6. 修改`isolinux.bin`为`...

    linux command

    8. **还原RPM包**:在软件升级失败后,可挂载ISO镜像,如`mount rhel-server-5.5-x86_64-dvd.iso /mnt -o loop`,然后重新安装RPM包。 9. **查看RPM包信息**:使用`rpm`命令查询包内容,如`rpm –qpl virt-viewer-...

    双机配置rose mirrorHA for linux.doc

    - 使用U盘安装,需下载工具,解压并运行syslinux-4.04.exe,将镜像文件和相关文件拷贝至U盘。 - 注意在分区时避免选择U盘,以免数据丢失。 ### 安装程序包 1. 下载并安装Rose Mirror HA及其所需的兼容库。 2. ...

    最新Red Hat iso 安装

    - 继承RHEL 5.5中对新型芯片架构的支持,如Intel Xeon 5600/7500和IBM Power7。 - 完全重写的进程调度器与全新的多处理器锁定机制。 - 利用NVIDIA图形处理器进行GNOME和KDE的重大升级。 - 新的系统安全服务守护...

    CentOS本地源设置

    mount -o loop /var/lib/xen/images/CentOS-5.5-x86_64-bin-DVD-1of2.iso /mnt ``` - **复制文件**:将挂载点中的内容复制到之前创建的本地源路径中的 `os` 目录。 ```bash cp -r /mnt/CentOS /var/...

    Red_Hat_Enterprise_Linux_6安装图解

    - **增强的虚拟化支持**:不仅继承了RHEL 5.5 版本中对新型芯片架构的支持(如 Intel Xeon 5600 和 7500 以及 IBM Power7),还带来了全新的进程调度器和多处理器锁定机制,进一步提升了虚拟化性能。 - **系统安全和...

    Red Hat Enterprise Linux 6安装图解

    RHEL 6基于社区版Fedora 12进行开发,在继承了前一代RHEL 5.5的优秀特性的基础上,引入了大量的新功能和技术改进,旨在为企业用户提供更加稳定、高效的操作平台。 #### 二、关键特性 ##### 1. **强大的可伸缩性和...

Global site tag (gtag.js) - Google Analytics