VirtualBox
非root帐号运行VM
在openSUSE
11.3中,root帐号可以正常地创建、注册、启动、停止和注销VM,然而non-root帐号就不行,使用vboxmanage的时候提示:
ERROR: failed to initialize COM! 请教了google大神,该问题得以解决:
1、修改/etc/udev/rules.d/10-vboxdrv.rules KERNEL=="vboxdrv",
NAME="vboxdrv", OWNER="root", GROUP="vboxusers", MODE="0600"
2、将加入vboxusers组
3、将/vbox.images目录属主更改为
在前面的章节中,我将VirtualBox默认目录更改为/vbox.images/
4、将non-root的machinefolder更换为/vbox.images/ \$ vboxmanage
setproperty machinefolder *vbox.images* 5、重新注册VM \$ vboxmanage
registervm /vbox.images/netmgmt-deb6/netmgmt-deb6.vbox 6、启动VM \$
vboxheadless –startvm netmgmt-deb6 –vrde=off &
KVM kvm
KVM设置共享文件夹 <http://wiki.qemu.org/Documentation/9psetup>
QEMU qemu
softmmutargets和usertargets
softmmutargets定义了full system
emulation,这种模式下可模拟完整的机器,甚至可模拟出不同架构的机器。
usertargets指在用户空间运行模拟,这种模式下可让ARM架构下编译的程序在x8664环境下执行。
enable-kvm
不启用kvm情况下,qemu的命令选项都能执行,但在性能上会有很大损失。
安装操作系统
- Linux环境下
`` example
qemu-system-x86_64 -enable-kvm -smp 2 -m 2048 -net nic -drive file=ubuntu.qcow2,if=virtio -boot order=cd -cdrom ../iso/ubuntu-14.04.3-server-i386.iso -vnc :1,password -monitor stdio
qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 4,maxcpus=4,cores=2,threads=2 -m 8192 -net nic -drive file=ubuntu64.qcow2,if=virtio -boot order=cd -cdrom /home/luyanfei/soft/ubuntu-14.04.3-server-amd64.iso -vnc :1,password -monitor stdio
- Windows环境下
example
qemu-system-x86_64.exe -m 2048 -nic bridge -hda linux.qcow2 -boot order=cd -cdrom TinyCore-current.iso
<h2 id="配置网络">配置网络</h2>
script指向的文件必须添加执行权限。
example
sudo qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 4,maxcpus=4,cores=2,threads=2 -m 8192 -net nic,model=virtio -net tap,ifname=tap0,script=qemu-ifup-nat.sh,downscript=qemu-ifdown-nat.sh -drive file=/opt/vm/ubuntu64.qcow2,if=virtio -vnc :1,password -monitor stdio
sudo qemu-system-x86_64 --enable-kvm -cpu host -m 2048 -net nic,model=virtio -net tap,ifname=tap0,script=/home/luyanfei/mydocs/scripts/qemu/qemu-ifup-nat.sh,downscript=/home/luyanfei/mydocs/scripts/qemu/qemu-ifdown-nat.sh -drive file=/opt/vbox/ubuntu/ubuntu.qcow2,if=virtio -vnc :1 -monitor stdio
tap设备可直接处理太网帧,tun设备处理IP帧。以NAT模式配置虚拟机网卡,虚拟机上的网卡即为宿主机上的tap网卡,只要设置了tap网卡的IP地址,也就相当于设置了虚拟机上网卡的IP地址。如果在虚拟机上设置IP地址,到宿主机上用ifconfig查看,可能会无法显示IP地址。
gentoo中tunctl所在的包为sys-apps/usermode-utilities。
<h2 id="qemu-img">qemu-img</h2>
- Create Qcow2 Disk Image
example
$ qemu-img create -f qcow2 -o size=10G ubuntu.img
- Get Information About Disk Image
example
$ qemu-img info ubuntu.img
- Shrink Disk Image
example
$ qemu-img convert -O qcow2 ubuntu.qcow2 ubuntu_s.qcow2
- Compress Disk Image
example
$ qemu-img convert -O qcow2 -c ubuntu.qcow2 ubuntu_c.qcow2
- Check Disk Image For Errors
example
$ qemu-img check ubuntu.qcow2
- Increase Disk Image Size
example
$ qemu-img resize ubuntu.qcow2 +5GB
<h1 id="Vagrant">Vagrant</h1>
<h2 id="添加ubuntu-cloud-image">添加ubuntu-cloud-image</h2>
vagrant box add
<https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cloud-images/bionic/current/bionic-server-cloudimg-amd64-vagrant.box>
–name ubuntu/bionic
<h1 id="Kubernetes">Kubernetes</h1>
<h2 id="安装">安装</h2>
查看版本依赖
example
[root@localhost yum.repos.d]# kubeadm config images list
``