kvm 虚拟机
关于text模式安装的一个问题 http://serverfault.com/questions/257962/kvm-guest-installed-from-console-but-how-to-get-to-the-guests-console
安装命令:
/usr/libexec/qemu-kvm -m 1024 -smp 4 -boot order=cd,once=c -hda /home/vm/kvm/centos64_64_01.qcow2 -cdrom /home/isofiles/centos64_64.iso -kernel /mnt/centos64/isolinux/vmlinuz -append "console=ttyS0" -initrd /mnt/centos64/isolinux/initrd.img -nographic
-kernel -initrd 两个参数要自行指定路径,可以先mount来找到文件。
-boot 参数时指定order 和once 这样第一次从cdrom安装后reboot后从硬盘启动
启动:
/usr/libexec/qemu-kvm -m 1024 -smp 4 -boot order=d -hda /home/vm/kvm/centos64_64_01.qcow2 -nographic
启动就是把安装时的一些参数去掉,让他从磁盘读取文件启动就ok了
启动时还可以使用-curses参数代替-nographic,注意低版本的qemu可能不支持此参数
启动时指定网络相关参数
/usr/libexec/qemu-kvm -m 1024 -smp 4 -boot order=d -hda /home/vm/kvm/centos64_64_01.qcow2 -nographic -net nic,model=e1000 -net tap,ifname=tap0,script=/etc/qemu/qemu-ifup
qemu-ifup脚本的内容:
#!/bin/sh switch=br0 if [ -n "$1" ];then ip link set $1 up sleep 1 /sbin/ifconfig $1 0.0.0.0 up brctl addif ${switch} $1 else echo "Error:no interface specified" exit 1 fi
附一篇讲解桥接、交换、路由的文章http://zhumeng8337797.blog.163.com/blog/static/1007689142011643834429/
相关命令介绍
Virt-install
功能
建立虚拟机。
参数
-n NAME, --name=NAME 指定 Guest 名字
-r MEMORY, --ram=MEMORY 指定内存大小
-u UUID, --uuid=UUID 指定 uuid 号
--vcpus=VCPUS 指定虚拟机的 CPU 数量
-p, --paravirt 指定客户机为半虚拟化 Guest
-f DISKFILE, --file=DISKFILE 虚拟机的虚拟磁盘,磁盘可以是文件、磁盘分区或者是lvm。此选项用来指定虚拟磁盘的路径
-s DISKSIZE, --file-size=DISKSIZE 指定虚拟磁盘的大小,单位是 G;如果—file 指定的文件路径不存在,并且—nonsparse 选项没有指定,对这个文件不会预先分配存储空
间。
-w NETWORK, --network=NETWORK NETWORK有三种选择,bridge:BRIDGE ,network:NAME 和 user
-c CDROM, --cdrom=CDROM 指定用于全虚拟化 Guest 的虚拟 CD,可以是一个 ISO 镜像文件,也可以是一个 CDROM 设备,也可以是一个通过 URL 可以访问和获取到的 boot.iso 镜像。如果将其忽略,那么在—location 选项中必须指定 kernel 和 initrd的位置,也可以使用—pxe 参数通过网络进行安装。
--pxe 使用 PXE boot 协议来加载初始化的 ramdisk 和 kernel,以便于启动 Guset 段的安装进进程。如果没有指定—pxe,那么就必须指定—cdrom 和--location 其中一个。
-l LOCATION, --location=LOCATION 指定 kernel 和 initrd 的安装源,这对于半虚拟化是必须的。对于全虚拟化,要么使用--location 要么使用--cdrom 来指定 ISO 或 CDROM
镜像。其必须符合下面的四种格式:DIRECTORY 、nfs:host:/path、http://host/path、 ftp://host/path
-x EXTRA, --extra-args=EXTRA 用来给加载的 kernel 和 initrd 提供额外的内核命令行参数。
-m MAC 指定虚拟机的网络卡之硬件地址。这个参数可以省略,省略时virt-install 将自动产生
实例
#virt-installl -n vm0 -r 1024 -f /vm/vm01.img -s 20 --nographics -p -l http://192.168.1.8/centos6
来源:http://wiki.51osos.com/wiki/Virt-install