Linux虚拟化技术之kvm服务的部署
kvm部署(以Centos系统为例)虚拟化技术虚拟机需要开启虚拟化的支持setenforce 0systemctl stop firewalldcat /proc/cpuinfo | grep -E 'vmx|svm' #如果有内容出现 说明cpu支持虚拟化yum -y remove `rpm -qa | egrep 'qemu|virt|kvm'` #清理kvm环境rm -rf /var/lib
kvm部署(以Centos系统为例)
虚拟化技术
虚拟机需要开启虚拟化的支持
setenforce 0
systemctl stop firewalld
cat /proc/cpuinfo | grep -E 'vmx|svm' #如果有内容出现 说明cpu支持虚拟化
yum -y remove `rpm -qa | egrep 'qemu|virt|kvm'` #清理kvm环境
rm -rf /var/lib/libvirt /etc/libvirt
安装kvm
uname -r
yum -y install *qemu* *virt* librbdl-devel --skip-broken
yum -y upgrade
启动服务
systemctl start libvirtd.service
systemctl enable libvirtd.service #设置为开机启动
查看现象 看是否已经启动好了
lsmod | grep kvm
安装飞机驾驶舱(web的管理界面)
yum -y install cockpit
systemctl start cockpit
浏览器要访问目标9090端口
输入用户名就是自己系统的用户名和密码
192.168.109.134:9090
1.图形界面安装虚拟机
接下来通过vnc连接这个centos的linux系统
进入以后在其终端内输入命令 进入图形界面控制器 一个非常类似vmware的软件
virt-mananger
进行相关设置 本质就是在虚拟机中玩虚拟机 虚拟机中创建kali一样
配置文件位置
/etc/libvirt/qemu/ //虚拟机的配置文件 例如kali1.xml
/var/lib/libvirt/images/ //虚拟机的存储介质文件
2.命令行安装虚拟机(需要手动连接光盘 不方便 还是建议图形化界面)
已经存在一个安装好的虚拟机 通过命令方式快速复制一个新的虚拟机的方式
cp vm1.xml vm2.xml
cp vm1.qcow2 vm2.qcow2
vi /etc/libvirt/qemu/vm2.xml 修改name uuid sourcefile mac-address
mount /home/xxxx.iso
yum -y install virt-install
virsh define /etc/libvirt/qemu/vm2.xml #创建虚拟机
virsh list --all #查看和启动虚拟机 看到新的虚拟机的name
virsh start vm2 #vm2是上一条命令查看到的name信息
gurbby --update-kernel=ALL --args="console=ttyS0"
virsh console vm2 //此时直接可以进入控制台
创建新的空磁盘(吃多少拿多少 不是一下子就10G)
cd /var/lib/libvirt/images
qemu-img create -f qcow2 vm-1.qcow2 10G
可以把磁盘直接替换到xml文件里
之后重新定义虚拟机
virsh define vm1
热添加内存
virsh qemu-monitor-command kali-1 --hmp --cmd balloon 1024 //把kali-1添加内存到1024MB
查看虚拟机当前的内存
virsh qemu-monitor-command kali-1 --hmp --cmd info balloon
存储管理(vmdisk是自己定义的名字)
默认存储池(查看存储池)
virsh pool-list --all
默认存储的地方:
/var/lib/libvirt/images/
自定义存储池
mkdir -p /data/vmfs
定义池
virsh pool-define-as vmdisk --type dir --target /data/vmfs
构建池
virsh pool-build vmdisk
启动存储池(自动启动)
virsh pool-autostart vmdisk
删除存储池
virsh vol-delete --pool vmdisk vm1.qcow2
取消激活存储池
virsh pool-destroy vmdisk
取消定义存储池
virsh pool-undefine vmdisk
磁盘格式
raw类型磁盘 原始格式 性能最好 但是是直接占用最开始设置的磁盘空间 系统占用的就少了 且不支持快照
qcow 性能不如raw 很快就出来了qcow2
qcow2 性能不如raw 但是支持快照
快照(生成一个快照 假设虚拟机的名字是kali-1)
virsh snapshot-create-as kali-1 kali-1kuaizhao.snap
查看快照
virsh snapshot-list kali-1
还原快照
virsh snapshot-revert kali-1 kali-1kuaizhao.snap
删除快照
virsh snapshot-delete --snapshotname kali-1kuaizhao.snap kali-1
虚拟磁盘挂载到宿主机器(本机)
查看磁盘镜像信息 可以看到磁盘的文件系统
virt-df -h -d kali-1
查看文件系统
virt-filesystems -d kali-1
挂载磁盘镜像分区 挂载完成后可以看到磁盘的文件
guestmount -d kali-1 -m /dev/centos/root --rw /root/kalicipan1
ls /root/kalicipan1
取消挂载
guestunmount /root/kalicipan1
虚拟机的克隆操作
克隆kali-1的虚拟机
virt-clone -o kali-1 --auto-clone
指定名字的克隆
virt-clone -o kali-1 -n kali-2 --auto-clone
指定位置和名字的克隆
virt-clone -o kali-1 -n kali-2 --auto-clone -f /var/lib/libvirt/images/kali-2.qcow2
网络管理
查看虚拟机网卡和mac地址
virsh domiflist kali-1
添加网卡
virsh attach-interface --domain kali-1 --type bridge --source br0 --config
删除网卡
virsh detach-interface kali-1 bridge [mac地址] --config
网卡的拷贝操作
cd /etc/sysconfig/network-scripts/
ls
cp ifcfg-ens33 ifcfg-ens34
vi ifcfg-ens33
DEVICE=ens34
TYPE=Bridge //或者Ethernet
ONBOOT=yes
IPV6INT=no
USERCTL=no
BOOTPROTO=static //或者使用dhcp
IPADDR=192.168.1.154
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
systemctl restart network libvirtd
# /etc/init.d/network restart
修改虚拟机的配置(/etc/libvirt/qemu/kali-1.xml)
virsh edit kali-1
可以尝试自己新添加一块网卡内容
<interface type='bridge'>
<mac address='xx:xx:xx:xx:xx:xx'>
<source bridge='br0'/>
<model type='virtio'/>
<address type='pci' domain=....../>
</interface>
之后重启虚拟机即可
也可以在图形化界面进行操作
添加完成以后再查看配置文件
更多推荐
所有评论(0)