KVM 配置.note

noteId: WEBf1373d548b34f4e28b04d597e0dc3eb9 · 原始路径:/ALL/Linux - A模块/服务配置/KVM 虚拟机配置/KVM 配置.note · 图片:26 · 附件待处理:0

 
参考链接:https://wiki.debian.org/KVM#Libvirt_default_network
 
 
# --location 指定的是安装镜像的位置,使用 lsblk查看本地挂载的安装镜像(44GB的那个就是),一般都是 /dev/sr0
其它参数都好理解
 
 
1、配置 KVM:
apt install -y virt-manager bridge-utils
 
(1)配置网卡:
# Mail1:
vim /etc/network/interfaces
## hwaddress 参数不是必须的,它能够自定义 MAC地址
 
 
# Mail2:
vim /etc/network/interfaces
## hwaddress 参数不是必须的,它能够自定义 MAC地址
 
 
 
(2)创建虚拟机:
virt-install --name vm01 --os-variant debian11 --memory 1024 --vcpus 1 --disk size=4 --network bridge=br0 --location /dev/sr0 --graphics none --console pty,target_type=serial --extra-args "console=ttyS0"
# console这里不能够有任何空格
 
## 13.2版本命令:
virt-install --name vm01 --osinfo debian13 --memory 1024 --vcpus 1 --disk size=4 --network bridge=br0 --location /dev/sr0 --graphics none --console pty,target_type=serial --extra-args "console=ttyS0"
 
稍等一会就会自动进入kvm了:
然后执行安装操作即可
安装需要的时间比较久,建议比赛时提前做kvm,本次实验kvm安装了一个半小时
 
## 如果哪个参数忘记了,例如:console 可以使用命令查看:
virt-install --console help
 
 
(3)虚拟机操作:
# 进入虚拟机:
virsh console vm01
 
# 查看所有虚拟机:
virsh list --all
 
# 启动虚拟机:
virsh start vm01
 
# 进入虚拟机关闭虚拟机:
virsh console vm01
 poweroff
 Ctrl + ]    //退出
 
# 强制关闭虚拟机:
virsh destroy vm01
 
# 删除虚拟机:(需要先关闭虚拟机)
virsh undefine vm01
 
# 退出虚拟机:(按键盘)
Ctrl + ]
 
·如果有时虚拟机安装后一直卡在grub界面:
 
# 在这个界面按 e 编辑 grub
### 这个模式的grub只能够通过快捷键移动光标:
## 使用 Ctrl + N 下移
## 使用 Ctrl + F 右移
## 使用 Ctrl + B 左移
## 使用 Ctrl + P 上移
 
 
# 进系统后修改:
vim /etc/default/grub
 
 
 
2、虚拟机迁移:
 
(1)配置NFS共享虚拟机根目录:
# 将虚拟机存储的机器(Mail1)配置为NFS服务器:
## 共享 /var/lib/libvirt/images 目录
apt install -y nfs-kernel-server
vim /etc/exports
exportfs -av
 
# Mail2上挂载nfs目录:
apt install -y nfs-client
vim /etc/fstab
mount -a
 
(2)迁移虚拟机:
需要先完成前面的nfs挂载步骤
# 虚拟机必须是开机状态才能够进行迁移
virsh migate --live --persistent --undefinesource --unsafe vm01 qemu+ssh://172.16.100.102/system
可以看到迁移后Mail1本地已经没有虚拟机了:
Mail2查看:
 
# 要完成题目的要求需要在Mail1和Mail2两端都给对端传ssh密钥,使他们都能够免密连接ssh
Mail1:
ssh-keygen
ssh-copy-id root@172.16.100.102
 
Mail2:
ssh-keygen
ssh-copy-id root@172.16.100.101
 
# 配置 vmmigrate命令:
## 可以在/root/.bashrc 配置 alias:
Mail1:
Mail2:
 
source ~/.bashrc
 
## 也可以将其配置成shell命令放到 /usr/bin/目录下
vim /usr/bin/vmmigrate    //新建一个文件,将virsh ... 命令写入即可
chmod 777 /usr/bin/vmmigrate
 
 
3、客户端通过ssh访问kvm虚拟机:
 
(1)虚拟机 挂载镜像源安装软件包:
# 将 /dev/sr0 挂载进虚拟机
virsh change-media vm01 sdb /dev/sr0 --block
 
# 安装软件包:
virsh console vm01
apt-cdrom add
apt install -y vim dbus ssh
 
 
(2)虚拟机 配置IP:
vim /etc/network/interfaces
systemctl restart networking
 
 
(3)虚拟机配置ssh服务:
配置允许 root 用户登录
 
(4)防火墙配置dnat:
操作过程这里不赘述,在边界防火墙上将22端口映射到虚拟机IP即可
将 47.119.161.17 映射到 172.16.100.110(虚拟机IP) 的22端口即可
# Router1:
vim /etc/nftables.conf
 
 
(5)客户端配置路由、ssh密钥拷贝给 虚拟机:
# 配置 47.119.161.17的路由指向 Router1:
apt install -y frr
vtysh
 conf t
  ip route 47.119.161.17 255.255.255.255 47.119.161.30
  end
  wr
 
# 配置 ssh:
ssh-keygen
ssh-copy-id root@47.119.161.17
 
·测试:
 
 
4、vmcli 命令:
 
# Client:
vim /usr/bin/vmcli
chmod 777 /usr/bin/vmcli