
Linux系统
文章平均质量分 58
上善若水75
这个作者很懒,什么都没留下…
展开
-
判断CPU是否64位,以及linux操作系统是否64位
通过下面的命令判断CPU是否64位:egrep -c 'lm' /proc/cpuinfo如果返回0,则不是64位,是1或大于1就是64位,因为 lm 代表 Long Mode即64-bit CPU. 通过下面的命令判断安装的内核是否64位:uname -mx86_64 代表是 64-bit 内核,i386, i486, i586 or i686等就是32位内核翻译 2012-07-29 21:04:28 · 1216 阅读 · 0 评论 -
Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(二)
在正式开始之前,有几点说明:1. 我选择的主机操作系统是Ubuntu12.10桌面版,可以从http://releases.ubuntu.com/12.10/官方网站下载,注意要选择64位的,32位不适合;2. 用于实验的主机必须是支持虚拟化的,可以用下面的命令来检验:cat /proc/cpuinfo | grep vmx或 cat /proc/cpuin原创 2013-06-26 22:34:55 · 3111 阅读 · 0 评论 -
Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(三)
原则上来说,qemu, libvirt, libusb, usbredir, spice等都可以通过 apt-get install的方式从Ubuntu源在线安装。但是这样如果碰到一点问题,就比较难办,如果自己从源代码开始编译,那么出了问题可以通过阅读和修改源码,修复相关问题。我们要搭建的各个软件模块是有相互依赖性的,比如qemu依赖libspice-server, Usbredir依赖lib原创 2013-06-27 22:30:34 · 3949 阅读 · 0 评论 -
Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(四)
接下来要编译的是Usbredir,在编译之前大致介绍一下什么是Usbredir:usbredir is the name of a networkprotocol for sending usb device traffic over a network connection. It is alsothe name of the software package offering a pars原创 2013-06-28 21:57:44 · 3736 阅读 · 2 评论 -
Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(五)
今天要编译的是Spice,Spice是一个类似RDP的远程连接协议,它基于网络连接,适用于本地、局域网或广域网(说实在的,以目前中国广域网的带宽和延迟,如果没有很好的优化,还是不太适合的)。与RDP的相对独立性不同,Spice并不能独立工作,它需要与Qemu-KVM等结合使用。Spice是一种Client——Server的架构,虚拟化主机这端驻留SpiceServer,要使用远程桌面的终端这边原创 2013-06-29 09:46:30 · 4113 阅读 · 0 评论 -
Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(六)
正如本系列第一篇文章架构图所示Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(一),除了在内核空间的KVM模块之外,在用户空间需要QEMU来模拟所需要CPU和设备模型以及用于启动客户机进程,这样才有了一个完整的KVM运行环境。而qemu-kvm是为了针对KVM专门做了修改和优化的QEMU分支,具体关于KVM,QEMU-KVM的介绍还是请参阅相关的官方网站:http://www.li原创 2013-06-29 20:18:07 · 6084 阅读 · 16 评论 -
Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(七)
qemu编译出来以后,其实就已经可以做一些虚拟机的使用体验了,因此在继续下一步之前,我们先小小的体验一下,感受一下创建和使用虚拟机的乐趣。一.创建镜像文件我们平常装在PC上的操作系统是驻留在硬盘上的,硬盘逻辑上又可以分为多个驱动器,如C盘对应系统盘,D盘对应数据盘等。虚拟机也有类似盘的概念,只不过它通常以文件的形式存在,我们也可以分别创建对应系统盘和数据盘的镜像文件。创建这种镜像文件的原创 2013-06-30 10:49:40 · 2799 阅读 · 0 评论 -
Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(十八)
到目前为止,我们用spice客户端连接虚拟机的命令如下:dev@devhost:/opt/vm# sudo spicec –h 127.0.0.1 –p 4000 //127.0.0.1可以用实际的主机IP地址代替,这样在其他机器上也可以远程连接到这台虚拟机 。 这样连上去的效果,看到的虚拟机窗口缺省是一个640x480的窗口,那么有没有办法让虚拟机窗口全屏呢,原创 2013-07-18 20:56:50 · 7252 阅读 · 1 评论 -
Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(八)
Libvirt是用c写的一个管理虚拟机及其资源(如网络、存储和外设等)的工具库,它不仅支持KVM/QEMU,它还支持xen,Vmware,OpenVZ和VirtualBox等其他HyperVisor,关于它的详细信息参考http://www.libvirt.org/。 我们从 https://launchpad.net/ubuntu/+source/libvirt/1原创 2013-07-02 21:47:03 · 2526 阅读 · 1 评论 -
Ubuntu 新建用户无法登录问题
今天在系统上以root身份新增了一个用户,passwd设置了登录密码,开机登录时(unity界面),输入密码,屏幕闪了一下,立刻又回到登录界面了,以为密码错了,可是ctrl+alt+f1进入命令行login时输入之后就进去了。不知道哪里出了问题,查了资料后有的说显卡不支持unity默认图形界面,觉得不太可能。晚上回来又找了找,发现是命令用的不合适,我用的是useradd xxx,实际上应该用add转载 2013-07-04 21:04:56 · 11891 阅读 · 7 评论 -
Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(九)
Libvirt其实并没有太多“实质”的东西,它所做的大部分都是要通过Hypervisor(如KVM-Qemu,XEN等)来实现的,它本质上就是一个适配器和管理库。但是它又是非常有价值的,它一方面封装了不同Hypervisor的底层不同实现,提供了统一的使用接口给上层应用,另一方面它通过规范的XML定义、命令行工具和API使得我们对虚拟机的使用和管理变得更方便。Libvirt其实并没有太多“原创 2013-07-04 22:13:35 · 3038 阅读 · 0 评论 -
KVM-QEMU vdagent实现机制分析(一)
在Ubuntu12.10下搭建基于KVM-QEMU的虚拟机环境(十八)中我们实验了通过在虚拟机里面安装vdagent(Spice Agent)程序来自动适应屏幕分辨率的功能,这个vdagent是运行在虚拟机里面的,而分辨率的信息来自spice client,这中间隔着spice server,qemu等模块,中间的过程还是比较复杂的。通过分析这个流程,有助于帮助我们理解更多KVM-QEMU原创 2013-07-25 10:59:42 · 12079 阅读 · 4 评论 -
KVM-QEMU vdagent实现机制分析(二)
1. 虚拟串口模块的初始化注册在QEMU中与虚拟串口(virtio-serial)通信相关的文件主要有以下几个:Virtio-pci.cvirtio-serial-bus.c(h) //从名字上看也像virtio-console.cvl.c //qemu的main函数在这里原创 2013-07-25 16:36:10 · 5461 阅读 · 0 评论 -
Ubuntu12.10启动时间调查
最近Ubuntu系统使用了一段时间以后,发现系统启动变慢,刚装完系统的时候启动大概半分钟,现在发现启动时间感觉快1分钟了,于是决定调查一下。首先Google一下,发现网上希望加速Ubuntu启动的帖子也不少,首先推荐的是一个叫bootchart的工具,它可以记录Ubuntu系统的启动过程,还提供图形化的显示,于是就安装一个:dev@devhost:~$ sudo ap原创 2013-07-27 13:05:35 · 1723 阅读 · 0 评论 -
ubuntu 启动背景图片替换方法
1.cp ./ubuntu_logo.png /lib/plymouth/themes/ubuntu-logo/ubuntu_logo.png cp ./ubuntu_logo16.png /lib/plymouth/themes/ubuntu-logo/ubuntu_logo16.png update-initramfs -u原创 2014-07-10 16:57:23 · 3644 阅读 · 0 评论 -
Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(十五)
接下来我们试验虚拟机的网络配置功能,KVM虚拟机网络配置主要有两种方式:NAT方式和Bridge方式。今天我们主要理解和实验NAT方式的网络配置。NAT方式是kvm安装后的默认方式,它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机,因为NAT的全称是Network Address Translation(网络地址转换),即虚拟机和主机在一个特定的内部子网内,虚拟原创 2013-07-11 20:45:29 · 5943 阅读 · 0 评论 -
Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(一)
经过几年的发展,基于KVM-QEMU的虚拟化技术变得越来越成熟,redhat也已经初步形成了以此为基础的虚拟化产品。同时其他的Linux平台(如Ubuntu)也对此有了完善的支持方案,加上各类配套软件的开源特性,以此技术为基础搭建一套可用的虚拟机环境变得不再困难。本系列将以Ubuntu12.10为主机环境,实验如何从裸的系统搭建出整个环境。由于网上对KVM-QEMU的介绍已经很多,对此技术不再介绍原创 2013-06-26 21:34:42 · 4643 阅读 · 0 评论 -
Redhat6.2 跑虚拟机出现IO wait高的问题
目前测试下来安装完Redhat6.2以后,性能还是可以接受的。修改如下: 打开/etc/cgsnapshot_blacklist.conf文件,注释掉memory.force_empty 和cpu.shares,如下所示: [root@host226 etc]# vicgsnapshot_blacklist.conf #cgsnapshot tool configu原创 2013-04-24 19:16:51 · 1557 阅读 · 0 评论 -
用 badblocks 检测硬盘坏道
硬盘是一个损耗设备,当使用一段时间后可能会出现坏道等物理故障。电脑硬盘出现坏道后,如果不及时更换或进行技术处理,坏道就会越来越多,并会造成频繁死机和数据丢失。最好的处理方式是更换磁盘,但在临时的情况下,应及时屏蔽坏道部分的扇区,不要触动它们。badblocks就是一个检查坏道位置的工具。一、命令参数badblocks使用格式为:引用badblocks [ -svwnf ]转载 2013-05-17 11:07:35 · 1477 阅读 · 0 评论 -
利用libvirt命令动态挂载数据盘的方法
在利用KVM的虚拟桌面应用中,有时候需要在虚拟桌面起来后还能够动态的挂载或卸载数据盘,以达到类似热插盘U盘或移动硬盘的效果,当然管理上需要做处理。如果纯粹中技术上来讲,大概是下面的几步:1. 创建数据盘: 创建数据盘可以用qemu-img命令,但是缺点是创建完以后还需要在虚拟机里面做磁盘初始化(在磁盘管理里)和格式化。相比较而言,用libguestfs带的 virt-make-fs就原创 2013-05-23 18:16:11 · 6403 阅读 · 0 评论 -
Ubuntu12.04下编译可维护的libusb debian包
1. 从https://launchpad.net/debian/+source/libusb 下载最新的libusb版本及debian配置包:libusb_0.1.12-23.2.debian.tar.gz; libusb_0.1.12-23.2.dsc; libusb_0.1.12.orig.tar.gz2. 将上述3个文件上传到 Ubuntu12.04 系统的 /opt下原创 2013-06-13 21:23:13 · 1758 阅读 · 0 评论 -
用libvirt 挂载光驱
在libvirt 官方文档里,挂载光驱的XML定义如下: 按照这个定义,采用qemu-kvm定义和启动虚拟机以后,发现这个光驱在虚拟机里盘符出现,但是无法读取光盘内容。 后来跑到本地系统 /dev 下找光驱,发现:/dev/cdrom6 -> sr0原来本地光驱不叫cdrom,而是c原创 2013-06-18 11:43:00 · 6464 阅读 · 0 评论 -
virtio 介绍
KVM是必须使用硬件虚拟化辅助技术(如Intel VT-x、AMD-V)的hypervisor,在CPU运行效率方面有硬件支持,其效率是比较高的;在有Intel EPT特性支持的平台上,内存虚拟化的效率也较高。QEMU/KVM提供了全虚拟化环境,可以让客户机不经过任何修改就能运行在KVM环境中。不过,KVM在I/O虚拟化方面,传统的方式是使用QEMU纯软件的方式来模拟I/O设备(如第4章中提到模拟转载 2013-07-05 21:15:41 · 5419 阅读 · 0 评论 -
Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(十)
在Ubuntu12.10下搭建基于KVM-QEMU的虚拟机环境(九)中我们用libvirt定义创建、启动和使用了基本的虚拟机过程。今天开始我们通过对XML的更多tag的改变来尝试更多新的功能。 今天要实验的是virtio 的功能,有关virtio的介绍参阅:http://www.linux-kvm.org/page/Virtio 和http://www.ibm.com原创 2013-07-05 21:47:44 · 3894 阅读 · 0 评论 -
Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(十一)
上一个介绍主要讲了如何virtio驱动对于虚拟机性能改善的重要性以及如何安装针对磁盘的虚拟驱动,接下来我们继续安装其他几个虚拟驱动:QXL虚拟显卡、虚拟网卡、虚拟串口和改善显示和鼠标体验的vdagent程序。在继续之前我们先还是有针对性的修改定义虚拟机的XML定义文件,参阅红色字体部分: XP_VM2 91f15b08-e115-4016-a522-b550f原创 2013-07-06 23:24:13 · 4399 阅读 · 0 评论 -
Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(十二)
Libvirt除了在虚拟机的定义文件中可以初始挂载光驱之外,还有一种动态换盘挂载的方式,那就是采用 virsh命令中的attach-device命令,该命令的具体格式如下: dev@devhost:/opt/vm/xpvm1$ sudo virsh attach-device filename 其中,filename是一个用XML格式定义的文件(我们原创 2013-07-08 22:55:47 · 3888 阅读 · 0 评论 -
Ubuntu下libvirt 禁用 apparmor的方法
Libvirt在做某些事情的时候会被Apparmor阻挡,因此为了确保Libvirt始终有必须的权限,必须禁用apparmor。方法如下:1. 在编译libvirt的时候选择--without-apparmor选项;2. 执行下面的命令为libvirt禁用 apparmor:$ ln -s /etc/apparmor.d/usr.sbin.libvirt原创 2013-07-09 21:56:33 · 5981 阅读 · 1 评论 -
Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(十三)
今天我们实验libvirt提供的快照功能,快照可以用于系统恢复,防止安装了某些软件或中病毒等情况导致系统损毁的情况。一、快照类型1) 磁盘快照内部的:快照驻留在原来的镜像文件内部外部的:快照以一个新的外部独立文件的形式存在,在此之后,原镜像变成只读,所有改变记录到快照文件里磁盘快照由virsh snapshot-create命令创建2) 内存快照原创 2013-07-09 22:34:26 · 2461 阅读 · 1 评论 -
ubuntu12 环境下编译freerdp
有时候需要从linux环境下远程连接到windows的环境,可以采用freerdp。freerdp是一个linux下开源的工具,在Ubuntu下可以直接用 apt-get install freerdp-x11安装。但是有时候为了自己需要维护或修改BUG的目的,需要从源码编译一个,下面以Ubuntu12.10环境为例,做了一点尝试。1. 从 https://launchpad.net/ub原创 2013-06-23 10:27:00 · 3824 阅读 · 0 评论 -
Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(十四)
今天我们继续试验snapshot的功能。1. 启动虚拟机,在空的D盘上新建一个文本文档test.txt;2. 定义创建snapshot的XML: snap1 也即定义了创建这个虚拟机的外部快照。3. 执行创建外部原创 2013-07-10 23:28:54 · 2681 阅读 · 0 评论 -
rdesktop 鼠标指针显示问题
Linux下 rdesktop远程连接到windows桌面后发现鼠标指针显示效果不好,具体表现为在白色背景下指针模糊不清楚。后来发现rdesktop用的是windows缺省的鼠标方案(windows Aero 方案)。改成标准方案后显示效果可以,方法如下:1. 打开控制面板;2. 双击选择鼠标;3. 选择“指针”Tab页;4. 在“方案”下拉框中选择“Windows 标准(大)原创 2013-06-25 19:04:59 · 4105 阅读 · 1 评论 -
tomcat catalina.out 日志分割
tomcat 运行过程中 catalina.out会越长越大,里面都是原创 2014-09-11 21:23:37 · 5133 阅读 · 0 评论