kvm

kvm http://blog.51cto.com/changfei/1672147 KVM-Qemu-Libvirt 三者之间的关系 Qemu Qemu是一个模拟器,它向Guest OS模拟CPU和其他硬件, Guest OS认为自己和硬件直接打交道,其实是同Qemu模拟出来的硬件打交道,Qemu将这些指令转译给真正的硬件。 由于所有的指令都要从Qemu里面过一手,因而性能较差。wKiom1WdDYyjiVZiAAECBtAEQ5E590.jpg KVM KVM是linux内核的模块,它需要 CPU 的支持, 采用硬件辅助虚拟化技术Intel-VT,AMD-V,内存的相关如Intel的EPT和AMD的RVI技术,Guest OS的CPU指令不用再经过Qemu转译,直接运行,大大提高了速度,KVM通过 /dev/kvm暴露接口,用户态程序可以通过 ioctl函数来访问这个接口。见如下伪代码: open("/dev/kvm") ioctl(KVM_CREATE_VM) ioctl(KVM_CREATE_VCPU) for (;;) { ioctl(KVM_RUN) switch (exit_reason) { case KVM_EXIT_IO: case KVM_EXIT_HLT: } } KVM 内核模块本身只能提供CPU和内存的虚拟化, 所以它必须结合QEMU才能构成一个完成的虚拟化技术, 这就是下面要说的 qemu-kvm。 qemu-kvm Qemu将KVM整合进来,通过ioctl调用 /dev/kvm接口,将有关CPU指令的部分交由内核模块来做。kvm 负责cpu虚拟化+内存虚拟化, 实现了cpu和内存的虚拟化, 但kvm不能模拟其他设备。qemu模拟IO设备 (网卡,磁盘等) , kvm加上qemu之后就能实现真正意义上服务器虚拟化。因为用到了上面两个东西,所以称之为qemu-kvm。 Qemu 模拟其他的硬件,如Network, Disk,同样会影响这些设备的性能,于是又产生了pass through半虚拟化设备virtio_blk, virtio_net,提高设备性能。 libvirt libvirt 是目前使用最为广泛的对KVM虚拟机进行管理的工具和API。Libvirtd是一个daemon进程,可以被本地的 virsh 调用,也可以被远程的virsh调用,Libvirtd调用qemu-kvm操作虚拟机。 libvirt、virsh、virt-manager https://blog.csdn.net/wanglei_storage/article/details/51107648 libvirt、virsh、virt-manager 介绍 kvm 虚拟化中 libvirt 是目前使用最为广泛的对 kvm 虚拟机进行管理的工具和应用程序接口,而且一些常用的虚拟机管理工具 (virsh、virt-install、virt-manager等) 和云计算框架平台都在底层使用libvirt的应用程序接口。 virsh virsh 是用于管理虚拟化环境中的客户机和 Hypervisor 的命令行工具, 与 virt-manager 等工具类似, 它也是通过 libvirt API 来实现虚拟化的管理。virsh 是完全在命令行文本模式下运行的用户态工具, 它是系统管理员通过脚本程序实现虚拟化自动部署和管理的理想工具之一。 ...

Created 27276-10-27 · Updated 27276-10-27 · 1 min · 152 words · -

centos, kde, vnc

centos, kde, vnc 转自: http://digitalocean.youhuima.cc/centos-7-kde-vnc-remote.html (侵删) VPS远程操作用的最多的是SSH,有时候一些特殊需求也要用到远程图形化操作,比如使用在VPS上使用浏览器访问网站。本文以Digitalocean VPS为例分享如何安装KDE和VNC实现远程图形界面访问。如果要购买Digitalocean VPS,建议使用Digitalocean优惠码,可以节省不少银子。 下面介绍安装KDE和VNC的步骤和关键注意点: SSH登录到VPS上以root用户权限进行整个安装过程。 查询查询支持的软件包: yum grouplist 如果系统有"KDE Plasma Workspaces",说明可以安装KDE图形化界面,然后执行一键安装命令: yum groupinstall “KDE Plasma Workspaces” 直到安装完成。 安装VNC server,一键安装: 配置VNC server: 在centos 7里配置文件初始模版为: /lib/systemd/system/vncserver@.service 这个配置文件只是一个模版,是不会被调用的。需要按照如下步骤复制1份或多份并修改相应的参数来对应不同的VNC viewer客户端。下面以root用户为例。 复制一份配置文件,"@“后的1表示该配置文件对应的远程连接端口号为5901 (5900+1) : cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service 远程连接端口号默认为5900+n,n为VNC服务端设置的连接序号,上面的序号就是配置文件名称里”.service"前的1。其它的以此类推。 修改新配置文件: 将 (有两处) 改为登录用户root,VNC远程连接后将是root权限。 如果是非root用户就直接用用户名替换即可。 修改前: [Service] Type=forking -》 需要改为simple才会启动成功 Clean any existing files in /tmp/.X11-unix environment ExecStartPre=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’ ExecStart=/sbin/runuser -l 改为root不带括号 -c “/usr/bin/vncserver %i -geometry 1024x768” ...

Created 19196-04-19 · Updated 19196-04-19 · 2 min · 256 words · -

Windows 共享网络设置 (有线网络和无线网络)

Windows 共享网络设置 (有线网络和无线网络) 有线共享网络 打开连接 Internet 的 “本地连接 属性” 窗口,切换到“共享”标签页 在“共享” 标签页中,勾选 “允许其他网络用户通过此计算机的Internet连接来连接”,确定;如果网络连接中超过两个连接,则还需要选择需要共享的连接 打开另一个需要共享的连接的“本地连接 属性”窗口,选择“Internet 协议版本4 (TCP/IPV4)属性”,设置静态IP,这里的设置的IP网段应避开连接Internet的网段,否则易造成IP冲突等问题 这样配置后,这个网卡就想当于共享网络的网关,其他要共享此连接的电脑只需要设置将IP地址配置成同一网段与上述不同即可 (如192.168.71.2),其余配置不变 无线共享网络 无线共享在双网卡的情况下,用于共享需要是无线网卡,这里可以采用与上述相同的方式进行无线网络共享;当然也可使用如360出的免费360wifi,可以不用进行配置 如果进行上述配置后,各连接正常,但是无法访问Internet,则是由于Internet Connection Sharing(ICS)服务未启动。 右键“我的电脑”-》管理-》服务和应用程序-》服务-》双击Internet Connection Sharing(ICS)-》启动 双击Internet Connection Sharing(ICS)状态栏显示“已启动”即可 ———————————————— 版权声明:本文为CSDN博主「小蜗coding」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/acsder2010413/article/details/40395621

Created 1016-01-01 · Updated 1016-01-01 · 1 min · 35 words · -

windows默认共享的打开和关闭?

windows默认共享的打开和关闭? http://www.cnblogs.com/Fooo/archive/2007/06/04/771021.html Windows启动时都会默认打开admin$ ipc$ 和每个盘符的共享,对于不必要的默认共享,一般都会把它取消掉,可当又需要打开此默认共享时,又该从哪里设置呢,一般来说有两个地方,MSDOS命令和计算机管理共享文件夹,下面主要从DOS命令来设置,因为比较简单,也可进行批处理。 一、因为Windows是默认打开默认共享的,还是先从删除默认共享开始吧: 首先从注册表里永久禁止打开默认共享: 如果要禁止C$、D$、E$一类的共享,可以单击"开始→运行"命令,在运行窗口键入"Regedit"后回车,打开注册表编辑器。依次展开[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserverparameters ]分支,将右侧窗口中的DOWRD值"AutoShareServer"设置为"0"即可。 如果要禁止ADMIN$共享,可以在同样的分支下,将右侧窗口中的DOWRD值"AutoShareWKs" 设置为"0"即可。 如果要禁止IPC$共享,可以在注册表编辑器中依次展开[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa]分支,将右侧窗口中的DOWRD值"restrictanonymous"设置值为"1"即可。 当不想改动注册表,或只是临时删除这些共享时,可以使用 net share 命令: 输入net share 命令时可以查看当前所有的共享 **net share c$ /del net share d$ /del net share ipc$ /del net share admin$ /del** 想每次开机后自动删除默认共享,只需把上面的命令保存为.bat文件,开机自动运行就可以了 二、打开默认共享: 先在控制面板的"服务",看SERVER服务是否启动,如果没有启动,则将设置为自动或者手动,然后再选择启动。 开启系统的默认共享的方法 1.检查AutoShareServer和AutoShareWks注册表值是否为0。 2.找到注册表中的HKEY_LOCAL_MACHINESystemCurrentControlSetServicesLanmanServerParameters。 3.将下面子项中的AutoShareServer和AutoShareWks DWORD值改为1。 4.重启。通常Win2003、Win2000XP会在启动时自动创建。 5.启动后,可以通过运行CMD命令进入命令行模式,再运行net share,再共享列表中会看到Admin$、C$IPC$等默认共享。 注意: 如果按以上方法仍无效。可能是病毒或恶意程序破坏了系统,这时因先杀毒和恢复系统。 此外关闭Server服务、在网卡上去掉Microsoft客户端驱以及在网卡上去掉"文件和打印共享"等都会关闭默认共享。此时要将相应项恢复设置。 也可以在开始菜单的运行中输入CMD,然后输入以下的命令 **net share c$=c: net share d$=d: net share ipc$ net share admin$** 在计算机管理中的共享文件中也可以对所有的共享目录进行设置,右键"我的电脑"->“管理”->“共享文件”,由于是图形界面比较简单,这里就不在详细说明。

Created 16166-05-16 · Updated 16166-05-16 · 1 min · 63 words · -

windows bat basic

windows bat basic @echo off @echo off 关闭回显 @echo on 打开回显 @echo off并不是DOS程序中的, 而是DOS批处理中的。 当年的DOS,所有操作都用键盘命令来完成, 当你每次都要输入相同的命令时, 可以把这么多命令存为一个批处理, 从此以后,只要运行这个批处理, 就相当于打了几行、几十行命令。 DOS在运行批处理时, 会依次执行批处理中的每条命令, 并且会在显示器上显示, 如果你不想让它们显示, 可以加一个"echo off" 当然,“echo off"也是命令, 它本身也会显示, 如果连这条也不显示, 就在前面加个”@"。 pause 使显示器停下,并显示"请按任意键继续" 例如: @echo off @echo hello! pause 显示如下图hello1 @echo on @echo hello! pause 显示如下图hello2 注释 rem comments0 :: comments1 rem和::都起到注释的作用,然而又有些不同。 一、 rem是一条命令, 在运行的时候相当于把 rem 本身及其后面的内容置空。既然它是一条命令,就必须处于单独的一行或者有 类似"&“的连接符号连接。 二、 批处理遇到以冒号”:“开头的行时 (忽略冒号前的空格) ,会将其后的语句识别为"标记"而不是命令语句,因此类似 “:label"这样的东西在批处理中仅仅是一个标记。 三、 对于”::“而言,之所以可以达到注释的效果,是因为第二个:不是标签的合法字符 (把它换成;.等等都行) ,它不被当 作一个合法的标签 这一点很好理解,如果在你的批处理中有一个永远用不到的标签hero,那么你就可以用”:hero"打头来作为注释。只不过 冒号有其先天的优越性–语法上的问题。 好了,我们现在回过头来看看call。比如"call:hero”,为什么要有冒号?这是为了与文件hero区分。 四、 嗯,我想你已经明白我的意思了,下面我将为你解释一些奇妙的东西。 经验告诉我们,在复合语句中使用":“经常会出问题。那么究竟什么时候会出现问题? ...

Created 17176-04-17 · Updated 17176-04-17 · 1 min · 205 words · -

windows SC命令详解

windows SC命令详解 SC命令详解(一个很有用的command) 作为一个命令行工具,SC.exe可以用来测试你自己的系统,你可以设置一个批处理文件来使用不同的参数调用 SC.exe来控制服务。 一.SC使用这样的语法: SC [Servername] command Servicename [Optionname= Optionvalues] SC [command] 这里使用第一种语法使用SC,使用第二种语法显示帮助。 下面介绍各种参数。 Servername 可选择: 可以使用双斜线,如\myserver,也可以是\192.168.1.223来操作远程计算机。如果在本地计算机上操作 就不用添加任何参数。 Command 下面列出SC可以使用的命令。 config–改变一个服务的配置。 (长久的) continue-对一个服务送出一个继续控制的要求。 control–对一个服务送出一个控制。 create–创建一个服务。 (增加到注册表中) delete–删除一个服务。 (从注册表中删除) EnumDepend-列举服务的从属关系。 GetDisplayName-获得一个服务的显示名称。 GetKeyName-获得一个服务的服务键名。 interrogate-对一个服务送出一个询问控制要求。 pause–对一个服务送出一个暂停控制要求。 qc–询问一个服务的配置。 query–询问一个服务的状态,也可以列举服务的状态类型。 start–启动一个服务。 stop–对一个服务送出一个停止的要求。 Servicename 在注册表中为service key制定的名称。注意这个名称是不同于显示名称的 (这个名称可以用net start和服务控 制面板看到) ,而SC是使用服务键名来鉴别服务的。 Optionname 这个optionname和optionvalues参数允许你指定操作命令参数的名称和数值。注意,这一点很重要在操作名称和等 号之间是没有空格的。一开始我不知道,结果………………,比如,start= optionvalues,这个很重要。 optionvalues可以是0,1,或者是更多的操作参数名称和数值对。 如果你想要看每个命令的可以用的optionvalues,你可以使用sc command这样的格式。这会为你提供详细的帮助。 Optionvalues 为optionname的参数的名称指定它的数值。有效数值范围常常限制于哪一个参数的optionname。如果要列表请用 sc command来询问每个命令。 Comments 很多的命令需要管理员权限,所以我想说,在你操作这些东西的时候最好是管理员。呵呵! 当你键入SC而不带任何参数时,SC.exe会显示帮助信息和可用的命令。当你键入SC紧跟着命令名称时,你可以得 到一个有关这个命令的详细列表。比如,键入sc create可以得到和create有关的列表。 但是除了一个命令,sc query,这会导出该系统中当前正在运行的所有服务和驱动程序的状态。 当你使用start命令时,你可以传递一些参数 (arguments) 给服务的主函数,但是不是给服务进程的主函数。 二.SC create 这个命令可以在注册表和服务控制管理数据库建立一个入口。 ...

Created 25256-03-25 · Updated 25256-03-25 · 2 min · 372 words · -

windows bat, 批处理获取当前时间

批处理获取当前时间 rem CODE BY t0nsha rem 关于提取date,time输出结果的一个批处理 rem “:” (冒号) 和"“波浪号必不可少! rem ““后的数字: 为正数表示舍弃输出结果的前几位;直接跟负数表示取到输出结果的后第几位。 rem “,“后的数字: 为正数表示取到输出结果的前第几位;为负数表示舍弃输出结果的后几位。 echo %date% echo %date:~4% ::下行表示舍弃前0位,取到第10位 (即取输出结果的前10位) echo %date:~0,10% echo %date:4,-5% pause echo %time% echo %time:-3% echo %time:~2,-3% pause echo %date:~4% %time:~0,-3% pause BTW 使用批处理产生日期 (时间) 文件、文件夹 帮别人整Sql server自动备份 发现无法使用网络映射驱动器作为备份文件存放路径 而本机磁盘空间实在是不够 于是决定在本机只备份最新2天数据 再写个批处理,做成系统调度 每周将备份数据复制到网络驱动器上存档 从网上搜到批处理产生日期文件的办法 下面是实现的比较好的 批处理文件: @echo off set aFile=bak-%DATE:~4,4%%DATE:~9,2%%DATE:~12,2% set bFile=bak-%TIME:~0,2%%TIME:~3,2%%TIME:~6,2% set cFile=bak-%DATE% echo Afile=%aFile% echo Bfile=%bFile% echo Cfile=%cFile% ...

Created 20206-02-20 · Updated 20206-02-20 · 1 min · 121 words · -

Regsvr32

Regsvr32 Regsvr32命令的作用是将动态链接库文件注册为注册表中的命令组成。WInXP系统的regsvr32.exe在windowssystem32文件夹下;2000系统的regsvr32.exe在winntsystem32文件夹下。 Regsvr 32命令是Windows中控件文件(如扩展名为DLL、OCX、CPL的文件)的注册和反注册工具。命令格式 Regsvr32 [/s] [/n] [/i[:cmdline]] dllname /u 卸载安装的控件,卸载服务器注册; /s 注册成功后不显示操作成功信息框; /i 调用DllInstall函数并把可选参数[cmdline]传给它,当使用/u时用来卸载DLL; /n 不调用DllRegisterServer,该参数必须和/i一起使用。 简单实例 要手工注册"E:\CPCW.dll",只需在"开始→运行"中键入"Regsvr32 E:\CPCW.dll",单击"确定"按钮后会弹出提示信息"DllRegisterServer in CPCW.dll succeeded",说明组件注册成功;如果要卸载此组件,在"开始→运行"中键入"Regsvr32 /u E:\CPCW.dll"即可。 格式: regsvr32 [/s] [/n] [/i[:cmdline]] DLLname 使用参数—解除服务器注册 使用参数[/s]—无声;不显示消息框 使用参数—调用DllInstall,给其传递一个可选[cmdline];跟/u参数一起使用时卸载DLL。 使用参数[/n]—不用调用DLLRegisterServer。这个参数必须跟/i一起使用。 实例1: IE无法打开新窗口 regsvr32 actxprxy.dll regsvr32 shdocvw.dll 重启后如果还不能解决 regsvr32 mshtml.dll regsvr32 urlmon.dll regsvr32 msjava.dll regsvr32 browseui.dll regsvr32 oleaut32.dll regsvr32 shell32.dll 实例2: IE无法保存HTML格式文件 regsvr32 inetcomm.dll 实例3: MSN无法登陆 regsvr32 softpub.dll 实例4: windows默认的文件关联混乱 regsvr32 /i shdocvw.dll regsvr32 /i shell.dll ...

Created 18186-02-18 · Updated 18186-02-18 · 1 min · 139 words · -

各种文件系统的文件夹数量与容量限制

各种文件系统的文件夹数量与容量限制 http://blog.csdn.net/leonwei/article/details/3980179 今天写程序时,打算不断的将生成的图片文件放入一个文件夹中,但是每次当放入65534个文件后就无法再存入了,起初一位是程序的bug,后来才发现原来是文件系统对文件数目有限制。经过查阅发现 FAT16 对于FAT16文件系统,可以保存的文件体积最大值是 4 GB - 1 byte (2^32 bytes - 1 byte);卷的最大体积是4GB;每个卷上最多可以保存的文件数量是65,536个 (2^16);根目录下可以保存的文件和文件夹数量最大值是512个 (如果使用了长文件名,该数字还会减小) 对于FAT32文件系统, 可以保存的文件体积最大值是 4 GB - 1 byte (2^32 bytes - 1 byte);Windows自带的工具可以创建的卷的最大体积是32GB;每个卷中最多可以保存的文件数量是4,177,920个;一个特定文件夹中最多可以保存的子文件夹和文件的数量是65,534 (如果使用了长文件名,那么该数字会减小) 对于NTFS文件系统,可以保存的文件的大小的最大值,理论上是16EB - 1 KB (2^64 bytes - 1 KB)(1EB=1024PB=1024TB=1024GB) ,实际实现过的最大值是16TB - 64 KB (2^44 bytes - 64 KB);卷的体积最大值,理论上可以达到2^64个簇 - 1个簇,实际实现过的最大值是2^56 TB - 64 KB ( 2^32 个簇 - 1个簇);每个卷可以包含的文件个数的最大值是4,294,967,295个 (2^32 - 1) 其中长文件和短文件名文件是指过去的DOS操作系统下,因为8.3格式的限制,文件主档名超过8字节或扩展名超过3字节的文件名,都被称为"长文件名",一般在Windows下正常的文件名在DOS下会显示不正常。 (如"Program files"资料夹可能会显示成"Progra~1") 在微软的Windows NT3.5出来之后,“长文件名"问题得以解决,现在的Windows XP系统一般可以输入400多个字符作为文件名,或者400个字符扩展名。{fact} 而我用的是FAT32系统,里面最多就允许65534个文件,了解了这些,我就知道了应该对这种大批量的文件系统上的文件存储要适度的建立子文件夹。

Created 20206-05-20 · Updated 20206-05-20 · 1 min · 69 words · -

libvirt, virsh

libvirt, virsh libvirt virsh: command line utility # archlinux install libvirt sudo pacman -S libvirt virt-install sudo pacman -S iptables-nft dnsmasq dmidecode systemctl status libvirtd sudo systemctl enable libvirtd --now sudo systemctl enable virtlogd --now sudo systemctl enable virtlockd --now sudo usermod -a -G libvirt $(whoami) # ubuntu install libvirt sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager sudo systemctl enable --now libvirtd sudo usermod -aG libvirt $(whoami) # libvirt commands virsh list --all virsh vncdisplay archlinux sudo virsh net-list --all sudo virsh net-start default # test virsh -c qemu:///system virsh pool-list --all virsh pool-define-as pool0 dir - - - - /home/wiloon/workspace/libvirtPool virsh pool-build pool0 virsh pool-start pool0 virsh pool-autostart pool0 virsh help pool virsh help pool-autostart virsh pool-autostart pool0 --disable # remove pool virsh pool-destroy pool0 virsh pool-undefine poolname vim /etc/libvirt/qemu.conf ...

Created 24246-04-24 · Updated 24246-04-24 · 4 min · 779 words · -

linux下挂载kvm磁盘文件

linux下挂载kvm磁盘文件 宿主机Debian, 客户机winxp, 磁盘文件格式raw sudo mount -o loop,offset=32256 -t ntfs winxp.img /mnt http://stackoverflow.com/questions/8171179/kvm-virtual-machine-running-windows-xp-how-to-get-files-from-guest-to-host winxp.img and loop1 is not a single partition (which can be mounted), it is image of full hard disk with own partition table. You should read partition table from loop1 with fdisk; compute offset of first partition and do: sudo mount -o offset=N -t ntfs /dev/loop1 /home/robert/kvm/images/tmp where N is offset in bytes. Telepathic mode on N is 32256 Telepathic mode off ...

Created 7076-04-07 · Updated 7076-04-07 · 1 min · 123 words · -

virt-manager error

virt-manager error After I finished the install of the “kvm ,qemu-kvm ,libvirt-bin,virtinst,virt-manager”. I want to connect to my vms through the virt-manager .But I come to this error: Unable to open a connection to the libvirt management daemon. Libvirt URI is: qemu:///system Verify that: The ’libvirtd’ daemon has been started And more details: Unable to open connection to hypervisor URI ‘qemu:///system’: unable to connect to ‘/var/run/libvirt/libvirt-sock’, libvirtd may need to be started: Permission denied ...

Created 24246-03-24 · Updated 24246-03-24 · 1 min · 146 words · -

Windows PowerShell

Windows PowerShell # 查看 power shell 版本 $PSVersionTable # 查看安装路径 $PSHOME install https://github.com/PowerShell/PowerShell/releases Set-Aliasll dir http://marui.blog.51cto.com/1034148/290067/ Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework 的强大功能。它引入了许多非常有用的新概念,从而进一步扩展了您在 Windows 命令提示符和 Windows Script Host 环境中获得的知识和创建的脚本。 目录 Windows PowerShell 简介 PowerShell脚本十个基本概念 Windows PowerShell 简介 目标受众 Windows PowerShell 入门主要面向之前没有 Windows PowerShell 背景知识的 IT 专业人员、程序员和高级用户。虽然具备脚本和 WMI 方面的背景知识会有所帮助,但是理解本文档并不假定或要求您具备此方面知识。 关于 Windows PowerShell 通过解决长期存在的问题并添加一些新的功能,Windows PowerShell 旨在改进命令行和脚本环境. 关于 Windows PowerShell 通过解决长期存在的问题并添加一些新的功能,Windows PowerShell 旨在改进命令行和脚本环境。 可发现特性 您可轻易发现 Windows Powershell 的功能。例如,若要查找用于查看和更改 Windows 服务的 cmdlet 列表,请键入: ...

Created 12126-03-12 · Updated 12126-03-12 · 3 min · 448 words · -

windows shutdown script

windows shutdown script win10 win10 shutdown script # shutdown.bat shutdown.exe /s /t 3 winXP 在Windows XP中,新增了一条命令行工具"shutdown",其作用是"关闭或重新启动本地或远程计算机"。利用它,我们不但可以注销用户,关闭或重新启动计算机,还可以实现定时关机、远程关机。 该命令的语法格式如下: shutdown [-i |-l|-s |-r |-a] [-f] [-m [\ComputerName]] [-t xx] [-c “message”] [-d[p]:xx:yy] 其中,各参数的含义为: -i 显示图形界面的对话框。 -l 注销当前用户,这是默认设置。 -m ComputerName优先。 -s 关闭计算机。 -r 关闭之后重新启动。 -a 中止关闭。除了-l 和ComputerName 外,系统将忽略其它参数。在超时期间,您只可以使用-a。 -f 强制运行要关闭的应用程序。 -m [\ComputerName] 指定要关闭的计算机。 -t xx 将用于系统关闭的定时器设置为 xx 秒。默认值是20秒。 -c “message” 指定将在"系统关闭"窗口中的"消息"区域显示的消息。最多可以使用127 个字符。引号中必须包含消息。 -d [p]:xx:yy 列出系统关闭的原因代码。 首先,我们来看一下该命令的一些基本用法: 注销当前用户 shutdown - l 该命令只能注销本机用户,对远程计算机不适用。 关闭本地计算机 shutdown - s 重启本地计算机 shutdown - r ...

Created 12126-02-12 · Updated 12126-02-12 · 1 min · 141 words · -

kvm 快捷键

kvm 快捷键 在图形模拟时,我们可以使用下面的这些组合键: Ctrl-Alt-f 全屏 Ctrl-Alt-n 切换虚拟终端’n’.标准的终端映射如下: n=1 : 目标系统显示 n=2 : 临视器 n=3 : 串口 Ctrl-Alt 抓取鼠标和键盘在虚拟控制台中,我们可以使用Ctrl-Up, Ctrl-Down, Ctrl-PageUp 和 Ctrl-PageDown在屏幕中进行移动. 在模拟时,如果我们使用`-nographic’选项,我们可以使用Ctrl-a h来得到终端命令: Ctrl-a h 打印帮助信息 Ctrl-a x 退出模拟 Ctrl-a s 将磁盘信息保存入文件(如果为-snapshot) Ctrl-a b 发出中断 Ctrl-a c 在控制台与监视器进行切换 Ctrl-a Ctrl-a 发送Ctrl-a

Created 12126-12-12 · Updated 12126-12-12 · 1 min · 42 words · -

kvm 磁盘

kvm 磁盘 http://forum.ubuntu.org.cn/viewtopic.php?f=65&t=302055 固定大小虚拟磁盘效率最高 虚拟磁盘效率最大决定因素在于碎片,而非格式。通常用的动态大小磁盘映像虽然灵活,但其效率自然不如固定大小。以往很多人因创建固定磁盘费时费力而直接使用物理磁盘,不仅有相当风险,且有不便之处,也未必能满足所需功能。 xfs 和 NTFS 早已支持空间预分配,但 ext 系列直到 ext4 才支持该功能。现如今,ext4 已然稳定。用 fallocate 命令在其上创建固定大小的 raw 格式映像甚为简单,创建速度与 qemu-img 创建的稀疏文件无异,瞬间完成。比如: fallocate -l 15G disk1.img virtio 提高的效率是什么效率 直接给 qemu 用 -hda 指定硬盘,谁用谁知道,慢如蜗牛不说,还能听见磁头辛勤地哀鸣,心痛不?网上有人说 cache=writeback ,没错,这是关键,速度快了不说,也不用再担心磁头累跨了。还有人说 if=virtio ,更有甚者 virtio 与 writeback 不可兼得,晕不?其实 virtio 节省的只不过是 CPU 模拟设备所需的运算时间,并不能降低磁盘访问,只有 writeback 才是关键。当然,若你愿意完全可两者并用, if=virtio,cache=writeback 没有任何问题。所谓有问题只不过是拿那已安装的 Windows 来更改设备造成的。 virtio 安装 Windows 小问题 对于新磁盘映像,用 if=virtio 安装 WindowsXP/2003 加载驱动后,依然会碰到找不到某某文件问题。因为一个 bug 没错,但也不能指望微软修正,设法绕过吧。 随便弄张 Linux LiveCD 启动,用 fdisk /dev/vda 为其分区 (一定要 fdisk 而非 cfdisk ,其它未试) ,全部大小只用于一个主分区,指定分区 ID 标志为 0x0b 。再用 mkfs.vfat /dev/vda1 创建文件系统。重新启动 Windows 安装便可绕过上述 bug 。 ...

Created 4046-12-04 · Updated 4046-12-04 · 1 min · 125 words · -

kvm 参数

kvm 参数 -bios file 指定虚拟机使用的BIOS,file指定BIOS文件路径 -smp n[,cores=cores][,threads=threads][,sockets=sockets][,maxcpus=maxcpus] 模拟一个有n个cpu的smp系统,可以简单的指定n为一个数值,或者分别指定socket数,core数/socket,线程数/core -m megs 指定虚拟机使用的内存数量,可以使用M或G后缀 -rtc [base=utc|localtime|date][,clock=host|vm][,driftfix=none|slew] 指定虚拟机使用的时间,linux客户机使用-rtc base=utc,clock=host,windows客户机使用-rtc base=localtime,clock=host -net nic,model=virtio,macaddr=52-54-00-12-34-01 -net tap,ifname=tap0 桥接网络,客户机网络接口通过tap接口桥接到主机网络,使用的tap接口名为tap0,由/etc/kvm/kvm-ifup来动态配置tap0接口。model=virtio指定虚拟机网卡使用半虚拟化驱动,如果有多个虚拟客户机同时运行则必须指定macaddr为一个独一无二的值,否则会出现mac地址冲突。如果通过主机的/etc/network/interfaces来静态配置tap接口,则此处应在-net tap接口处附加两个另外的参数script=no,downscript=no -drive file=debian.img,if=virtio,index=0,media=disk,format=qcow2,cache=writeback 指定客户机使用的硬盘驱动器,if=virtio指定使用半虚拟化驱动,index=0指定该硬盘为接口的第一个驱动器,media=disk指定为硬盘驱动器,如果是光盘则为media=cdrom。format=qcow2为硬盘格式 (raw/qcow2) ,以创建磁盘镜像时的格式为准。旧式指定第一个硬盘驱动器的参数为-hda debian.img,已经不再推荐使用。 -drive file=debian.iso,index=2,media=cdrom或者-hdc debian.iso 指定光盘驱动器,debian.iso为使用的光驱映像文件 -fda file 指定软盘驱动器,file为软磁盘镜像 -no-fd-bootchk 客户机启动时不检查软盘驱动器,加速客户机启动 -boot [order=drives][,once=drives][,menu=on|off] ‘drives’: floppy (a), hard disk (c), CD-ROM (d), network (n) 指定引导顺序,c为第一个硬盘驱动器,d为第一个光盘驱动器 -boot order=c -vnc :0 将虚拟机的视频输出重定向到vnc端口,通过vnc viewer可以连接到虚拟机的视频输出 error:Could not initialize SDL(No available video device) - exiting add the parameters -vga std -k en-us -vnc :1 ...

Created 3036-12-03 · Updated 3036-12-03 · 1 min · 122 words · -

Virtio

Virtio 半虚拟化驱动Virtio Virtio是KVM/Linux的I/O虚拟化框架,以增强KVM的IO效率,是与其他虚拟化平台的半虚拟化(Paravirtualized)类似的东西,主要应用于磁盘设备和网络接口设备。主流的linux发行版已经默认支持Virtio,如果客户机是linux则无需其他设置,直接可以使用Virtio设备,但是如果客户机是windows,则需要在客户机安装Virtio设备驱动,甚至在windows开始安装之前需要提前加载块设备驱动。windows Virtio驱动可从Fedor

Created 3036-12-03 · Updated 3036-12-03 · 1 min · 4 words · -

qemu basic, kvm 参数

qemu basic, kvm 参数 qemu-img create To set up your own guest OS image, you first need to create a blank disc image. QEMU has the qemu-img command for creating and manipulating disc images, and supports a variety of formats. If you don’t tell it what format to use, it will use raw files. The “native” format for QEMU is qcow2, and this format offers some flexibility. Here we’ll create a 3GB qcow2 image to install Windows XP on: ...

Created 3036-12-03 · Updated 3036-12-03 · 1 min · 200 words · -

btrfs上使用虚拟机效率很差

btrfs上使用虚拟机效率很差 kvm在btrfs上的IO效率极端的差。 kvm, winxp, 768M的实例,安装系统花了一天多...T_T...开机大约需要40分钟。这种效率已经远远超出了我的预期,于是我改用libvirt管理的kvm。结果依然出乎意料,debian实例的安装需要超过5分钟。由于怀疑是raw格式而非qcow2格式造成的速度差异,因此新建了一个实例,一时偷懒就放在了/下面,这个分区是ext3而非btrfs。结果安装大约在3分钟内结束,这似乎证明了我的猜想。于是我开始使用btrfs下的raw格式进行安装,结果速度依然异常缓慢。由此我怀疑到是btrfs文件系统的问题。 在ext3上创建一个qcow2格式的实例后,证实了我的猜想。问题在于btrfs的某种机制上。在网络上寻找类似问题,并没有发现。因此在blog上提出警告和问题。 有人知道为什么在btrfs上使用虚拟机会导致极端的效率问题么?hdparm和文件读写测试表明btrfs的平均效率并没有问题,磁盘也没有问题。

Created 3036-12-03 · Updated 3036-12-03 · 1 min · 7 words · -