Debian系统安装KVM虚拟化
1.先验证下机器是否支持虚拟化
egrep 'vmx|svm' /proc/cpuinfo
物理机也必须要开启虚拟化功能,这里检测一下
root@debian:~# dmesg | grep kvm
[ 455.705523] kvm: zapping shadow pages for mmio generation wraparound
[ 494.920829] kvm: zapping shadow pages for mmio generation wraparound
#别出现disable就行,如果出现了disable,需要在BIOS里开启CPU虚拟化功能
2.安装必要的包
apt-get install qemu-kvm virtinst bridge-utils libvirt-daemon-system libvirt-dev libvirt-clients
apt-get install virt-top libguestfs-tools libosinfo-bin qemu-system virt-manager
.配置桥接网卡
vim /etc/network/interface
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
auto br0
# Bridge setup
iface br0 inet dhcp
bridge_ports eno1
我这里是的IP是自动获取的,所以改成这样就行了
如果是手动配置IP,那么参考下面的配置文件
vim /etc/network/interface
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
#iface eno1 inet static
#address 172.24.182.57
#netmask 255.255.255.0
#gateway 172.24.182.10
auto br0
iface br0 inet static
address 172.24.182.57
netmask 255.255.255.0
gateway 172.24.182.10
bridge_ports eno1
bridge_stp off
bridge_waitport 0
bridge_fd 0
网卡配置完成,还需要加载路由信息,不然机器可能上不了网
vim /etc/rc.local
ip route add 172.25.0.0/16 via 172.25.24.1
ip route add 172.24.0.0/16 via 172.25.24.1
ip route add default via 172.25.24.11
- 器让br0生效
reboot
5.创建2个目录,用来存放系统iso和虚拟机的硬盘文件
mkdir /home/iso
mkdir -p /home/img/vm
-----------------------下面步骤可选------------------------------------------------
插入一步,视情况而定
如果机器有数据盘,那么要记得挂载、分区、甚至做逻辑卷,方便以后扩容
下面以有一个1T的数据盘为例
先建立一个目录
mkdir /data
分区
fdisk -l #查看一下有没有数据盘
n
回车,回车,回车
w 保存
格式化
mkfs -t ext4 /dev/sdb1
自动挂载
echo "/dev/sdb1 /data ext4 defaults 0 0" >> /etc/fstab
mount -a
df -h #看下挂上没
#上传一个centos镜像
6.用命令行安装虚拟机
mkdir -p /data/{iso,img}
mkdir -p /data/img/vm
virt-install --virt-type=kvm --name centos7 --ram 1024 --vcpus=1 --os-variant=rhel7 --virt-type=kvm --hvm --cdrom=/data/iso/CentOS-7-x86_64-Minimal-1810.iso --network=bridge=br0,model=virtio --graphics vnc,listen=0.0.0.0 --noautoconsole --disk path=/data/img/vm/centos7.qcow2,size=40,bus=virtio,format=qcow2
–name 这个参数就是取名字
–ram 这个参数就是分配内存以MB计数 16834就是16G
–vcpus 这个就是分配CPU的个数
–cdrom 这个就是选择镜像位置
–network=bridge 这个就是选择桥接网卡的接口
–disk path 这个参数就是为了配置虚拟机的硬盘大小 size=40 就是40G format为qcow2 这个格式支持快照
#建议先看下宿主机器的配置,再分配虚拟机的资源
这样就可以运行起来,通过ps -ef | grep qemu查询用到的端口
例-vnc 0.0.0.0:0 最后1个0就是指5900端口,1就是5901,以此类推
root@debian:~# ps -ef | grep qemu
libvirt+ 6549 1 92 11:41 ? 00:00:10 qemu-system-x86_64 -enable-kvm -name guest=centos7,debug-threads=on -S -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-6-centos7/master-key.aes -machine pc-i440fx-2.8,accel=kvm,usb=off,dump-guest-core=off -cpu SandyBridge -m 1024 -realtime mlock=off -smp 1,sockets=1,cores=1,threads=1 -uuid 9c5cf8fd-6ddf-43eb-93ba-569299db1aca -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-6-centos7/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=delay -no-hpet -no-shutdown -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x4.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x4 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x4.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x4.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5 -drive file=/home/img/vm/centos7.qcow2,format=qcow2,if=none,id=drive-virtio-disk0 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -drive if=none,id=drive-ide0-0-0,readonly=on -device ide-cd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -netdev tap,fd=25,id=hostnet0,vhost=on,vhostfd=27 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:03:6f:1d,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channel/target/domain-6-centos7/org.qemu.guest_agent.0,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 -device usb-tablet,id=input0,bus=usb.0,port=1 -vnc 0.0.0.0:0 -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7 -msg timestamp=on
就可以使用vnc-viewer进行连接安装
用宿主IP和刚才看到的端口
然后就是安装虚拟机了
7.启动虚拟机
root@debian:~# virsh list --all
Id Name State
----------------------------------------------------
- centos7 shut off
root@debian:~# virsh start centos7
Domain centos7 started