Jerry's profile三角阳台的LIVE记事本PhotosBlogListsMore Tools Help

Blog


    11/16/2008

    杭州毅行圆满完成

    终于,走完了全程,虽然还是离“合格的初级驴子”的及格线差了那么一点点。我们8:45am出发,4:07pm抵达,共用时7小时22分钟,是第2支抵达终点的队伍。

    简单的用照片记录下全程。
    7点才过我们就出发,香巴拉青年旅社这附近实在荒凉,打不到Taxi,还好路过一辆面包车,10元1个人,虽然贵了点,但是还是走吧。。。

    8:02am 毛爷爷像底下合影
    IMG_1420 

    8:15am大合影完后,穿雪套费了我们点时间,当8:33am我们打算出发的时候,却发现已经错过了我们的发队,结果我们被排到了最后,等所有队伍发完才又能轮到我们。终于,8:45am 发令枪响,出发!

    8:51am到浙大后面的小铁门,开始登山,6~7分钟后登上老和山顶。我们上坡不休息,平路快步走。一路赶超无数队伍。

    约莫一个小时后(9:43am),我们经过那个十字路口。
    IMG_1424
    9:56登上美人峰顶,10:20穿过铁丝网(就是上次小猪走错道的地方,应该向下,不是沿路上山)
    IMG_1428
    10:30am到达第一个打卡点石人屋,听说是第5支到此的队伍。于是,盖章、合影,10:34am继续上路。
    IMG_1429 
    之后是一段痛苦的上坡,终于越过了最高海拔以后,在11点半我们到达了十里廊当的起点。
    IMG_1432
    12:14到真际寺,第2打卡点。(照片有点过曝...这是打卡点的同学没处理好...)然后坐下来午餐,补充水,好好地休整了一下。12:48才继续出发。
    IMG_1434
    出发时候的鬼脸兔子
    1435
    13:15到临海亭
    IMG_1437 
    2点到贵人阁,第3打卡点。
    IMG_1439
    3点到玉皇寺,第4打卡点。被告知先遣队走错了路,多花了一个小时。随后(3点40分左右),在接近革命烈士纪念碑的地方,我们赶上了先遣队。
    IMG_1442
    4点,终于到了!不是说等在“吴山天风”4个大字底下的吗?怎么一个人都不见?呃,原来这个还是景区里面,于是我们穿过景区,最后来到这次活动的终点,位于吴山广场的“吴山天风”大石头下。
    IMG_1443 

    完。

    又,照片大图见picasa相册 http://picasaweb.google.com/dellxu/2008113# 
    精彩的超详细游记见兔子space http://bibi0803.spaces.live.com/blog/cns!1B5A87DE7FC785E3!2403.entry

    11/8/2008

    Windows Crash Analyzer

    公司有一台比较特殊的设备监控服务器因为太老旧,于是购买一台新的HP ML150服务器,升级之。操作系统也随着从Windows 2000升级到了Windows 2003。但是一个严重的问题接踵而来,系统变的非常不稳定,经常出现蓝屏,并导致系统意外重启。

    我们知道,Windows OS分为User模式和Kernel模式,每个App都运行在自己的User模式下,即使出现严重错误也不会影响到操作系统本身。但是出现蓝屏,意味着Kernel模式中的某个程序崩溃,这多半是由不可靠的设备驱动程序造成的。到底哪个程序导致了崩溃呢?Crash Analyzer就是这样一个分析崩溃的工具。它包含在DaRT工具包中(DaRT - Diagnose and Recovery Toolset)。

    运行Crash Analyzer有2种方式,一种情况就是虽然系统不稳定但是还是能够正常进入系统的。这时可以在Windows 中安装Crash Analyzer来分析;如果系统一开机就蓝屏,无法正常进入Windows,那就必须通过可引导的ERD Commander光盘来启动并运行光盘中的Crash Analyzer。这就是为啥Crash Analyzer Wizard工具是属于DaRT的原因了。

    在Windows中安装Crash Analyzer之前要先做2个准备工作,第一,安装Debugging Tools for Windows,第二,下载好Symbols包,并安装在本地。这2样可以到这里下载:http://go.microsoft.com/fwlink/?LinkId=30565

    做完以上的准备,可以开始安装DaRT了。DaRT有2个版本,5.0 for XP/2003,6.0 for Vista/2008。选择哪一个版本不是看你崩溃的OS是哪个版本,而是看你崩溃的OS运行所在的硬件是否有这个OS下的驱动程序。这是因为DaRT带有一个自启动的WinRE系统,6.0的WinRE是基于Vista的,所以需要有相应的硬件(raid阵列卡/硬盘驱动和网卡的Vista驱动),5.0是基于XP或2003的。安装很简单,不赘述了,但是到哪里去找DaRT呢?作为微软MDOP包的一部分,DaRT不是免费提供的,也不单卖。如果你是微软EA的客户,或者是SA的用户,那你可以自己到微软网站下载到。否则的话,试试E-mule吧。(再次强调,请使用正版,版权问题,本人概不负责哦。)

    现在开始从Windows中运行Crash Analyzer:
    image
    填入Debugging Tools的安装路径
    image
    选择Symbols的路径。这里如果你在本地已经安装过Symbols包,那选下面的会让你的分析更快速完成;如果没有安装过,但是有Internet链接,选上面的选项“Download Symbol files to this directory:” 
    image 
    接下去选择蓝屏时的内存dump,一般就是C:\Windows\Memory.dmp
    image
    开始调用symbols并进行分析
    image 
    最后,分析结果出来啦
    image 
    崩溃时间:2007年5月8日22:21
    崩溃原因:NVidia的一个显卡驱动

    我想起来了,当时我刚买了新电脑,刚装上新的Vista,驱动程序不兼容的确蓝屏过,后来下载并安装了最新版本的驱动就修复了。

    最后是一个建议,并且给出一个search微软知识库的链接。
    image

    恩恩。好啦,Crash Analyzer演示完毕。

    11/5/2008

    给Hyper-V挑点刺

    iSCSI存储

    微软的Best Practice说,每一台VM都要有自己专用的独立的iSCSI LUN。不建议把多个虚机放在一个LUN上面。为啥呢?因为在虚机迁移的时候,LUN就被切换到了另外一台HOST上去了,如果2个虚机共用一个LUN,那么迁移的时候,就必须这2台虚机一起迁移。所以,建议每台虚机至少要有一个独立的LUN,如果不是每个vhd都独立一个LUN的话。

    这就带来了一个大问题,LUN太多的问题。在一个100台HOST上运行1000个VM的情况下,最少需要1000个LUN,这对于LUN的管理带来了极大的问题。更有些早期的一些存储设备,最多只能支持1024个LUN。

    对比ESX来说,HOST只需要建立少量的iSCSI LUN,每个LUN都可以存放很多虚机文件。因为VMWare采用了VMFS文件系统,多个HOST可以同时访问同一个LUN,因此就不存在LUN切换HOST的问题,也就不存在同一个LUN上的虚机必须同时迁移的局限。

    Non-stop migration(不停机迁移)

    Hyper-V的VM迁移方式是先save status,这个动作将当前的VM状态冻结住,然后将其配置文件和内存复制到Host2上,再在Host 2上恢复status,在这个过程中(Ben的讲座上讲2-3分钟,具体情况根据VM内存的大小和Host间迁移通道的网速密切相关,具体可见拙文2秒到2分钟?Hyper-V的所谓“快速”迁移不快速),2秒到几分钟,VM是不工作的。也就是有宕机时间。

    VMWare用VMotion来实现不停机迁移,该技术通过Snapshot将VM的内存抓取下来,复制到另一台HOST;然后对内存的变化量再抓一次Snapshot,再复制过去,直到内存的变化量小于一个page,在此过程中,VM始终在原HOST上运行。在最后的一瞬间,虚机被切换到HOST2运行,同时最后一片内存也复制过去,整个过程只有几毫秒到几十毫秒。所以此切换对用户完全透明,一个正常的TCP session也不会中断。

    在实际的企业级应用中,比如一个SQL server的transaction甚至一个简单的文件复制动作,都会因为Hyper-V的迁移被打断,甚至引起数据一致性的问题,但是却完全不会被VMotion的迁移影响到。

    不停机迁移的这个功能,微软将在Hyper-V 2.0中提供,集成在Windows 2008 R2中,名字叫Live Migration

    DRS

    有了VirtualCenter,VMWARE可以做到动态的监控HOST的性能,在HOST的性能不平衡的时候,可以通过VMotion自动地动态地不间断地将VM从一台主机迁移到另外一台。

    对比微软的方案,SCVMM类似于VirtualCenter,可以全局的管理很多Host,但是却没有监控HOST性能的组件。监控Host性能的任务被交给了System Center的另外一个成员SCOM(也就是MOM的升级)来完成。因此,必须由SCOM来监控性能,并在触发了相关的Alert时,将信号传递给SCVMM,再由SCVMM来提示用户进行手工迁移。呃,为啥是手工?因为目前微软还做不到不间断迁移,所以真正的DRS目前还不能实现。

    Affinity

    VMWare的Affinity设置很细致。在我们企业中有这样的应用,数台Web服务器组成一个集群,这个集群是通过一台F5 内容交换机来实现负载均衡和高可用性的。如果这些服务器是虚机,并且运行在同一台HOST上,当HOST的硬件发生故障的时候,即使可以在其他HOST节点上重启,整个服务也会中断大约5分钟。但是如果这些虚机Web服务器能分布在不同的硬件服务器上的时候,就可以避免服务的中断。VWMARE很好的用Affinity设置来解决了这个问题,我们可以强制某些VM不允许运作在同一个物理服务器上。

    比较而言,微软还没有能做到这一点。(如果已经有的话,请一定马上纠正我)

    Tech-Ed 2008 2nd day

    上午第一场:商务智能的未来之路
    讲师:Donald Farmer

    提到了下一个版本的SQL Server Codename “Kilimanjaro”(乞力马扎罗,位于著名的赤道上的雪山),说Engine is same,但是在BI上做了很多工作。接着演示了很多Excel和Sharepoint环境下的再开发的组件,有点不应景。我也有点开小差,抽空看了看美国大选,奥巴马174:69领先。不过有一个还有点意思。就是一个免费的datamining云计算实验性服务。记录下网址:
    http://www.sqlserverdatamining/cloud/

    上午第二场:微软安全战略及新技术预览
    讲师:尹川

    老师课讲的挺生动,给个9分 (嘿嘿,最高分9分)

    ISA将不再有下一代产品,取而代之的是名为UAG和TMG的2个产品。

    UAG(Unified Access Gateway),是ISA远程接入服务的升级版本,主管“进”(in)网的安全;TMG(Threat Management Gateway),是ISA Internet访问保护的升级,主管“出”(out)网的安全。

    下午第一场:Best Practice of Hyper-V & SCVMM 2008
    主讲:Ben Armstrong

    要点记录如下
    Hyper-V

    • 每台虚机都有21MB内存的额外开销
    • 建议用server core模式
    • CPU配置推荐每台Host用4颗4核CPU,也就是一共16个Core
    • 内存配置推荐每个Core配置4GB内存(16-core配置64GB内存)
    • 存储用4Gb/s光纤通道
    • 网络至少留1个Gb网卡用作Cluster心跳及VM迁移,配4个Gb网卡用于VM
    • 如果是生产环境,不推荐用动态增长的VHD,因为性能差
    • SAN要用MPIO
    • 每个VM用独立的一个LUN(个人觉得这是一大缺点,因为200个VM就要200个LUN,在LUN的管理上就很不方便)
    • 网络上只支持802.3以太网,不支持WLAN、令牌网等其他网络类型
    • NIC配置上应该配成Synthetic NIC(最多8个),在特定环境,比如PXE,才选Legacy NIC(最多4个)
    • 备份,要确保备份软件支持VSS,比如BackupExec 12.5
    • VSS,要安装hotfix KB956697,解决VSS备份在某些情况下停止工作的bug

     

    SCVMM 2008

    • VMM 2008必须安装在Windows Server 2008 64-bit版上
    • Powershell必须在安装前先加好
    • 必须有AD的支持
    • VMM2008可以装在VM中,但要注意先有鸡还是先有蛋的问题(要用Server Manager来启动)
    • 一台VMM2008服务器最多支持400个Host和8000个VM
    • 物理上应该把Library服务器放在离Host近的位置
    • Library Server可以装在Host的parent 分区上
    • SCOM来检测CPU等性能,然后提醒,并用VMM迁移VM


    下午第二场 在企业中部署Office 2007
    主讲:张金宝

    听了一半,讲师条理清楚,可惜讲了一大半还没讲到如何部署和分发,还在纠缠Office 2007本身的特性,实在听不下去了,溜出来跟盆盆继续探讨Hyper-V的优劣问题。

    下午第三场 使用MDT高效部署Windows Vista
    主讲:程尊华

    程大拿也是老相识了。风格我喜欢,包袱抖的好,给9分。“不是我不明白,这产品名字变的快”。的确有点意思,从BDD2007到MD4.0再到Microsoft Deployment Toolkit 2008,1年之内3易其名。对这名字的变化的关注度超过了产品本身的吸引力。

    不过部署Vista估计也用不太上,就看个大概吧。以后真要部署了,再来请教嘛。

    1天半的Tech-Ed 2008很快就过去了,收获还是很大。回家继续慢慢研究。

    11/4/2008

    Tech-Ed 2008 first day

    第一场,使用MDOP优化企业桌面
    讲师:彭爱华

    很幸运,在Tech-Ed又遇到了盆盆老大,每次听盆老师讲课,都获益非浅。

    今天的主题是MDOP(Microsoft Desktop Optimization Pack)

    把自己今天的收获概要如下:

    微软将其几个应用程序虚拟化穿上的新的“-V”马甲,分别命名为MED-V,App-V,配合Hyper-V,形成了一个完整的V虚拟家族。

    简要比较如下:

      CPU/RAM等资源使用情况 程序打包 网络传输和速度 解决的问题
    MED-V 使用本地资源 打包操作系统环境和应用程序 image很大,比较慢 解决了OS和App直接兼容问题
    APP-V
    (SoftGrid)
    使用本地资源 只打包应用程序 比较快 解决了App之间的兼容问题
    RemoteApp 使用远程资源 运行在远程,只是抓取一个界面,不消耗任何本地资源    


    DaRT - Diagnose and Recovery Toolset,就是原来ERD Commander的升级版本,DaRT 5.0支持Windows XP和Windows 2003,而最新的DaRT 6.0则支持Windows Vista和Windows Server 2008

    AGPM - Advanced Group Policy Management, 是GPMC的增强版本,主要的增强在于可以对GP的历史记录、保留、回退。还增加了类似编程控制中的签入签出功能。

    关于MDOP的详细资料,这篇文章介绍的相当具体:
    http://technet.microsoft.com/zh-cn/magazine/cc138007.aspx

    第二场,Windows Hyper-V 体系结构解密
    讲师:王海勇

    会后跟讲师的讨论再次确认了我先前的文章提到的问题,构建在Hyper-V Cluster高可用性构架下的虚机在Host之间的迁移是freeze内存,整体copy后再恢复的一个过程,需要数秒到数十秒,这期间服务器是停止运行的,无法做到像VMotion那样几乎平滑无中断的迁移。因此现阶段不中断的生产环境还是只能采用VMWare的解决方案。这个功能,据称要在下个版本才能推出。

    Hyper-V对于VMWare的优点在于其采用一个非常小的Hypervisor层(只有735KB),而把设备驱动程序都放在父分区中,子分区的虚拟驱动程序都通过一个VMBus和父分区相连,通过父分区来驱动硬件。这样,只要父分区支持的硬件都能够运行Hyper-V。而父分区就是一个Windows 2008,本身就支持几千种不同的硬件。相比较之下,VMWare ESX的Hypervisor层则有几百MB大,包含有设备驱动程序,这就使得ESX的硬件支持比较差,通常只有在其兼容列表的那些服务器才能运行。关于Hyper-V的构架,这篇文章相当好:http://bbs.cnvz.net/thread-17234-1-1.html

    所以Hyper-V是想兼容并蓄并各种硬件,而ESX则只专注做好几种特定的平台。

    问题就出在了想要兼容并蓄上了。因为兼容并蓄需要考虑更多的硬件,所以现在Hyper-V平台上的虚机的USB,Serial port的模拟问题迟迟没能解决好,兼容并蓄也使得类似VMotion的功能更迟的推出。

    总之,就目前看来,ESX更适合于大企业的PROD应用,而Hyper-V更适合考虑成本更多的中小企业。

    11/2/2008

    Windows的环境子系统

    (本读书笔记,摘自《Windows Internals》第4版英文版)

    Windows有3个环境子系统(environment subsystem)——Windows、POSIX和OS/2。(最早Windows NT是为IBM OS/2平台开发的;POSIX是为了提供一个Unix Interface)

    名词介绍

    * csrss.exe 是Windows子系统(subsystem)的可执行程序。CSRSS表示Client/Server Run-time Subsystem。为啥用这个名字是有历史原因的,早先POSIX和OS/2都和Windows子系统在同一个单一的环境子系统下运行,虽然随后POSIX和OS/2子系统被移走,但是这个名字却保留了下来。

    * Win32k.sys,代表Window 32-bit Kernel-mode

    * POSIX -- portable operating system interface based on UNIX

    Windows Subsystem

    包括以下主要组件:

    • 环境子系统进程(Csrss.exe),用来支持
      - Console Windows
      - 创建和删除进程和线程
      - 支持16-bit 虚拟DOS机 (VDM, Virtual DOS Machine) 进程
      - 其他函数(functions),比如GetTempFile, DefineDosDevice, ExitWindowsEx, 等
    • Kernel模式设备驱动程序(Win32k.sys),包括
      - 窗口管理器(Window manager),用来控制window显示, 管理屏幕输出,收集键盘鼠标及其他设备的输入
      - 图形设备界面(GDI, Graphics Device Interface), 是一个图形输出设备函数库,包括线条(line), 文本(text), 绘图(figure drawing)等图形操作。
    • 子系统DLLs (比如Kernel32.dll, Advapi32.dll, User32.dll和Gdi32.dll),把Windows API函数翻译成那些调用Ntoskrnl.exe和Win32k.sys的核心模式系统服务
    • 图形设备驱动程序,与硬件相关的图像显示驱动,打印驱动和Video miniport驱动

    POSIX Subsystem

    POSIX有很多标准。Windows只实现POSIX.1标准。正因为POSIX的有限特性,Windows 2000中的POSIX子系统不包括一个完整的Unix编程环境,Windows POSIX不能完成诸如创建线程或者使用RPC(remote procedure calls)等功能。为了弥补Windows POSIX的这个缺陷,微软开发了Windows SFU(Windows Service for Unix), 这是一个增强版本的POSIX子系统,包含了2000多个Unix函数和300多个Unix工具。