kvm安装
客户机: 192.168.1.48
远程主机: 192.168.0.20
这里都是Ubuntu系统
目的:在远程主机划分几台虚拟机
先在远程主机执行以下操作:
1.BIOS开启虚拟化, 查看cpu是否支持,有输出vmx相关就可以了
grep vmx /proc/cpuinfo
2.安装kvm
apt-get install qemu-kvm libvirt-bin virtinst -y
3.确保libvirtd服务正常运行
ps -ef | grep libvirtd
4.把系统镜像拷贝到远程主机的用户主目录下
5.修改 /etc/network/interfaces,把原来有线网卡的配置注释掉(如果有的话),增加以下的类似内容(这里eno1是有线网卡)
auto br0
iface br0 inet static
address 192.168.0.20/23
gateway 192.168.1.1
bridge_ports eno1
bridge_stp on
bridge_fd 0
bridge的参数可以看这篇文章: http://botcave.blogspot.com/2008/11/bridging-in-linux.html
重启生效
回到客户机:
准备: ssh-copy-id speakin@192.168.0.20,以免后面要输入密码
1.安装 virt-manager
apt install virt-manager
2.执行 virt-manager 即可打开图形界面
左上角 文件->添加连接,看是否成功
后面就是正常的界面安装了,安装好了,有需要可以配置静态ip,类似
auto ens3
iface ens3 inet static
address 192.168.0.21/23
gateway 192.168.1.1
dns-nameserver 192.168.1.1
除了可以用virt-manager界面管理远程主机外也可以进去192.168.0.20通过命令管理
修改虚拟机配置可以通过virsh setvcpus之类的命令(试了不行)也可以通过修改虚拟机配置文件,先关闭虚拟机,例如我的虚拟机名称s22
virsh shutdown s22
virsh edit s22
保存后 virsh start s22
Virsh除了能够进行内存和cpu的管理之外,还可以进行其他的一些管理,下面列出一些常用的命令参数。
virsh list #显示本地活动虚拟机
virsh list –all #显示本地所有的虚拟机(活动的+不活动的)
virsh define s22.xml #通过配置文件定义一个虚拟机(这个虚拟机还不是活动的)
virsh start s22 #启动名字为s22的非活动虚拟机
virsh create s22.xml #创建虚拟机(创建后,虚拟机立即执行,成为活动主机)
virsh suspend s22 #暂停虚拟机
virsh resume s22 #启动暂停的虚拟机
virsh shutdown s22 #正常关闭虚拟机
virsh destroy s22 #强制关闭虚拟机
virsh dominfo s22 #显示虚拟机的基本信息
virsh domname 2 #显示id号为2的虚拟机名
virsh domid s22 #显示虚拟机id号
virsh domuuid s22 #显示虚拟机的uuid
virsh domstate s22 #显示虚拟机的当前状态
virsh dumpxml s22 #显示虚拟机的当前配置文件(可能和定义虚拟机时的配置不同,因为当虚拟机启动时,需要给虚拟机分配id号、uuid、vnc端口号等等)
virsh setmem s22 512000 #给不活动虚拟机设置内存大小
virsh setvcpus s22 4 #给不活动虚拟机设置cpu个数
virsh edit s22 #编辑配置文件(一般是在刚定义完虚拟机之后)
virsh autostart s22 #设置随宿主机开机自启动
virsh autostart --disable s22 #取消随宿主机开机自启动