从命令行启动KVM guest
一直习惯了用libvirt在图形界面下安装OS,刚才尝试了一下用命令行 创建、安装、运行 ubuntu OS。过程如下:
查看机器配置是否支持硬件虚拟化,以及安装kvm内核模块就不再叙述了。下边说一下启动虚拟机,安装系统的过程。
1、创建磁盘镜像:
kvm-img create test.img 4G
建议使用raw格式,raw格式的性能比qcow2的性能要好
创建一个可以达到20G的disk image。
It will only use the amount of space that it needs though.The -f qcow2 is the standard modern qemu image format.
xiaogw@R715:~/kvm-image$ kvm-img create test.img 4G
Formatting 'test.img', fmt=raw size=4294967296
xiaogw@R715:~/kvm-image$ ls -lth
total 8.1G
-rw-r--r-- 1 xiaogw xiaogw 4.0G 2012-09-20 11:40 test.img
-rw------- 1 root root 8.0G 2012-09-20 11:35 ubuntu.img
2、启动虚拟机,安装系统
xiaogw@R715:~/kvm-image$ kvm -hda ./test.img -cdrom ../os_install_iso/ubuntu-8.04-desktop-i386.iso -m 512 -smp 2 -boot d
其中:
-smp :分配的cpu内核数
-boot d :-boot [a|c|d|n] boot on floppy (a), hard disk (c), CD-ROM (d), or network (n)
启动windows虚拟机,必须添加-localtime参数,否外使用utc时间。
3、系统安装完成,启动虚拟机:
xiaogw@R715:~/kvm-image$ kvm -hda ./test.img -m 512 -smp 2 -boot c
目前还是在本机上安装 虚拟机、操作系统。可以考虑远程安装,利用vnc。
4、关于网络
4.1、启动好的ubuntu OS可以连接网络,kvm默认使用《NAT网络》,guest获得一个10.0.2.x的地址,可以访问host服务器所在的LAN及subnet。虽然guest的IP为10.0.2.x,仍然可以通过ssh及samba访问host(或在网络上的host),而且可以访问internet。vpn客户端可能不能工作。
4.2、如果你希望guest以另外一个host出现在LAN上,对网络上的其他host可见。你需要是用《桥接网络》。
如果部署桥接的话,另外上网查询吧^^
4.3、关于将虚拟机的显示输出到VNC
注意:如果添加了-nographic,则不会启动vnc。
启动时添加参数: -vnc host-ip:1,password (或2,3….)
网上找的攻略,没有验证启可行性。
以下为启动windows服务器的例子,将host主机的3389端口映射到guest主机的3389端口,用于远程桌面连接。并开启vnc
mac=`printf ‘DE:AD:BE:EF:%02X:%02X\n’ $((RANDOM%256)) $((RANDOM%256))`
/usr/libexec/qemu-kvm \
-hda ./win2003.img \
-m 1024 \
-smp 2 \
-boot c \
-vnc host-ip:1,password \
-daemonize \
-net nic,macaddr=$mac \
-net user \
-redir tcp:3389::3389
5、关于qemu控制窗口切换
进入qemu的控制台,在鼠标聚焦到qemu界面时候,按住 Ctrl+Alt+2 进入控制台(将显示输出到vnc时,操作相同):
(qemu) change cdrom /usr/local/CentOS-5.6-x86_64/CentOS-5.6-x86_64-bin-2of8.iso
关于错误:”device not found”。可能是设备映射出错,解决:
(qemu) info block
…
(qemu) change ide1-cd0 iso文件、
ctrl+alt+1 返回
关于组合键:
Ctrl-Alt-f 全屏
Ctrl-Alt-n
n=1:目标系统显示
n=2:监视器
n=3:串口
在通常情况下,Qemu使用SDL来显示VGA输出,使用-nographic,禁止所有的图形输出,这样Qemu只是一个简单的命令行程序。模拟的串口将会重定向到命令行,所以我们依然可以在Qemu平台上使用串口命令来调试linux内核。
在启动时,如果我们使用了‘-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
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com