[VMM 2008虚拟化之初体验-4] 添加VMM库 & Add-LibraryServer

本文详细介绍了VMM库的重要性和规划策略,包括库中存放的虚拟硬盘、脚本和配置文件等资源,以及如何通过UI和PowerShell命令进行库的添加与管理,旨在提高虚拟环境的效率和资源利用率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

此次体验将包括以下内容:

  • 为什么需要VMM库
  • 如何规划VMM库
  • 通过UI添加VMM库
  • 使用PowerShell命令(Add-LibraryServer)添加VMM库

1、为什么需要VMM库

    每个公司都有一个IT部门,管理机器的,硬盘坏了就到库存里拿一个来换;电脑坏了,从里面拿一个来用;需要光盘装系统,也取一个来。而且有一些东西是拿了还需要还的,比如光盘。由此看来,VMM库也是一下的,就是存放一些共享的配件,需要的时候取出来用一下。当然每个人都可以自己有一套需要的配件,但是当今是共享的时代,已经没有必要每个人都自己准备了,所以大家都使用库存,比如驱动之家,可以认为是系统驱动的库存,大家都到那里下载,共享驱动。

    VMM库可以存放的配件有:虚拟硬盘文件(.vhd,.vmdk)、虚拟软盘文件(.vfd,.flp)、PowerShell脚本(.ps1)和配置文件(.xml,.inf)。其中.vmdk和.flp用于VMWare虚拟机。所以我也创建了这些文件(作为试验,只要扩展名对就可以了):

D:\VHDS
    Demo-flat.vmdk
    Demo.flp
    Demo.inf
    Demo.iso
    Demo.ps1
    Demo.vfd
    Demo.vhd
    Demo.vmdk
    Demo.xml
    x86_Win2k3.vhd
    x86_Win2k3_ProductKey.inf
    x86_Win2k8.vhd
    x86_Win2k8_ProductKey.inf
    x86_WinXP_SP3.vhd
    x86_WinXP_SP3_ProductKey.inf
    x86_WinXP_SP3_Sysprep.inf
   
2、如何规划VMM库

    学过工科的同学,应该都会讲到库存管理,不过这里用的却是仓库管理,因为VMM上的配件不像公司那样是一个电话给IT,IT自己给你拿来。在电脑里,所有的资料都是需要拷贝的,就像仓库管理的物料运输和搬运,必须考虑运输效率。所以最好把库服务器安放在需要使用到库文件的主机附近。VMM服务器本身是默认的库服务器,同时还支持多个库服务器,因此,还可以直接使用需要创建虚拟机的主机作为服务器,这样本地传输就避免了网络堵塞。Windows Server 2008 R2还支持创建Clustter(集群),在集群里配置高可用库服务器,提高了故障转移和故障处理。如果主机使用SAN,最好将库服务器也放在同一个SAN中,提高传输速度。简言之,就是要把库服务器和主机放在网络传输快的地方或同一个SAN中,考虑故障转移就配置高可用的库服务器。

 

3、通过UI添加VMM库

第一步: 准备好前面的文件,放在D:\VHDS这个文件夹里并共享文件夹。

第二步:点击Actions面板上的Add library Server,在弹出的向导里填入用户名,密码,域名,下一步。

第三步:在选择库服务器页面上,输入域名,作为库服务器的计算机名,点击添加按钮,下一步。

第四步:添加共享文件夹。选中需要添加的共享文件夹,点击下一步即可。左下角有一个“显示隐藏的共享”,指的是文件夹以"&"符号结尾的共享,如图所示。

第五步:直接点击“Add Library Servers”即可。这里有个“View Script”按钮,可以获取对应的PowerShell脚本,这里先获取它,为后面作分析。

 第六步:查看库服务器和共享文件是否添加成功。

 

 

4、用PowerShell命令(Add-LibraryServer)添加VMM库

    在前面的UI操作中,可以查看PowerShell的脚本:

ExpandedBlockStart.gif代码
1 Add-LibraryShare -VMMServer localhost -SharePath "\\vmm-lizeng02\VHDs" -Description "" -JobGroup a11df9de-d3e3-4622-ae8b-53638257172e -RunAsynchronously 
2 $Credential = get-credential
3 Add-LibraryServer -VMMServer localhost -ComputerName "vmm-lizeng02" -Description "" -LibraryGroup "All Hosts" -Credential $Credential -JobGroup a11df9de-d3e3-4622-ae8b-53638257172e -RunAsynchronously 
4 

 

从这个代码看,还是PowerShell脚本比较强大,如果添加好库之后还想添加一些共享文件,可以使用下面的代码

Add-LibraryShare -VMMServer localhost -SharePath "\\vmm-lizeng02\ShareName"

 

 

这些工作做完,终于有VHD在库里面了,下一次将体验创建一个真实的虚拟机。敬请期待~

 

转载于:https://www.cnblogs.com/CNSytemCenter/archive/2010/02/04/Add-LibraryServer.html

### 指令集虚拟化 指令集虚拟化是一种底层的虚拟化形式,主要依赖于硬件辅助虚拟化技术如Intel VT-x[^1]。这种类型的虚拟化允许创建一个抽象层,在该层之上可以运行未经修改的操作系统及其应用程序。 #### 技术原理 在传统的计算机体系结构中,某些敏感指令如果被客户机操作系统执行,则可能会破坏整个系统的稳定性或安全性。因此,当这些敏感指令被执行时,它们会被捕获并重定向到VMM(Virtual Machine Monitor),以便安全处理。此过程确保了即使是在特权级别较低的情况下也能正确模拟特殊权限级别的行为[^4]。 ```assembly ; 假设这是一个尝试切换CPU模式的汇编代码片段 mov eax, cr0 ; 将控制寄存器CR0的内容移动到EAX寄存器 and al, ~1 ; 清除最低位以禁用保护模式 mov cr0, eax ; 更新回CR0寄存器 ``` 上述例子展示了如何通过软件手段拦截对关键状态寄存器的操作,并将其交给VMM进行适当处理。 ### 操作系统级虚拟化 相比之下,操作系统级虚拟化并不涉及改变处理器的行为;相反,它是在宿主操作系统内核层面提供隔离环境给多个独立的应用实例或者轻量级容器使用的方案[^3]。 #### 实现方法 这类虚拟化通常不需要额外的支持硬件特性就能工作良好。Linux中的LXC(Linux Containers),Docker等工具就是典型代表。它们利用命名空间(namespace)机制来分离进程树、文件系统挂载点以及其他资源视图,同时借助cgroups(cgroup)控制系统资源分配比例从而达到高效管理和调度的目的。 ```bash # 创建一个新的网络名称空间并将当前shell放入其中 ip netns add new_namespace ip netns exec new_namespace bash ``` 这段命令用于展示怎样快速建立新的网络命名空间并与之交互,这是构建更复杂OS-level VM的基础之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值