一、VNC环境搭建
- 安装vnc服务
yum -y install tigervnc tigervnc-server
- vnc服务配置——宿主机远程控制
- # 配置vnc
- # 将/lib/systemd/system/vncserver@.service文件复制一份
- cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
- # 编辑刚刚复制得到的文件,将文件中的<USER>修改为VNC Client(或者VNC Viewer)连接的账号,我只设置一个用户root,多用户再增加对应的vncserver@:2.service文件即可
- vim /etc/systemd/system/vncserver@:1.service
- # 修改以后的文件部分内容(只修改文件下半部分)
- [Unit]
- Description=Remote desktop service (VNC)
- After=syslog.target network.target
- [Service]
- Type=forking
- User=root
- # Clean any existing files in /tmp/.X11-unix environment
- ExecStartPre=/bin/sh -c ‘-/usr/bin/vncserver -kill :1 > /dev/null 2>&1 || :‘
- ExecStart=/user/sbin/runuser -l root -c "/usr/bin/vncserver :1 -geometry 1280*720 -depth 24"
- PIDFile=/home/root/.vnc/%H%i.pid
- ExecStop=-/bin/sh -c ‘/usr/bin/vncserver -kill :1 > /dev/null 2>&1 || :‘
- [Install]
- WantedBy=multi-user.target
- #设置vnc连接密码,输入命令vncpasswd以后连续输入两次密码,然后直接连续回车(回车以后还要设置几项,直接回车没有影响,未做深入研究)
- vncpasswd
- # 启动vncserver@:1.service并设置开机启动
- systemctl start vncserver@:1.service
- systemctl enable vncserver@:1.service
- # 设置防火墙(VNC默认是被防火墙阻止的)
- firewall-cmd --permanent --add-service="vnc-server" --zone="public"
- firewall-cmd --reload
- # 启动VNC服务
- vncserver
- # 会出现以下信息:其中说明VNC客户端连接账号为root,端口号为5901(文章最后会有端口说明),在局域网内其他电脑上用VNC客户端连接
- New ‘dev:1 (root)‘ desktop is dev:1
- Starting applications specified in /root/.vnc/xstartup
- Log file is /root/.vnc/dev:1.log
- 下载vnc client,测试连接
二、虚拟机安装
- 创建磁盘(安装系统的空间)
- # 创建类型为raw的磁盘,310G容量
- qemu-img create -f raw /opt/kvm.raw 310G
- # 检查磁盘是否创建成功
- qemu-img info /opt/kvm.raw
- # 看到类似以下信息表明磁盘创建成功
- image: /opt/kvm.raw
- file format: raw
- virtual size: 310G (10737418240 bytes)
- disk size: 0
- virt-install命令以及VNC远程控制安装虚拟机
Windows系统安装
virt-install \
--virt-type kvm \
--name server-10-1-1-126-vm03 \
--ram 4096 \
--cdrom=/iso/cn_windows_10_2019_x64官网.iso \
--boot cdrom \
--cpu core2duo \
--network bridge=br0,model=‘e1000‘ \
--graphics vnc,listen=0.0.0.0,port=5900 \
--disk path=/data/kvm.raw,bus=‘ide‘ \
--noautoconsole \
--os-type=windows
执行virt-install命令以后,虚拟机安装并未结束,接下来用上面配置的VNC连接主机进行后续操作
- # 此时如果virt-install命令参数没有问题,会有提示信息:
- # 开始安装......
- # 域安装仍在进行。您可以重新连接
- # 到控制台(virsh console)以便完成安装进程
- # 执行以后只看到提示连接成功,其他没有变化,所以不用执行这个命令,暂时没发现有什么用处
- # 局域网内的任意一台同网段的电脑通过vnc client或者vnc viewer连接虚拟机
如果连接成功,就会出现熟悉的windows安装界面:
virt-install常用参数说明
- # 旧版本的写法
1 –name指定虚拟机名称 2 –memory分配内存大小。 3 –vcpus分配CPU核心数,最大与实体机CPU核心数相同 4 –disk指定虚拟机镜像,size指定分配大小单位为G。 5 –network网络类型,此处用的是默认,一般用的应该是bridge桥接。 6 –accelerate加速 7 –cdrom指定安装镜像iso 8 –vnc启用VNC远程管理,一般安装系统都要启用。 9 –vncport指定VNC监控端口,默认端口为5900,端口不能重复。 10 –vnclisten指定VNC绑定IP,默认绑定127.0.0.1,这里改为0.0.0.0。 11 –os-type=linux,windows 12 –os-variant=rhel6
- # 新版本的写法
1 --name 指定虚拟机名称 2 --ram 虚拟机内存大小,以 MB 为单位 3 --vcpus 分配CPU核心数,最大与实体机CPU核心数相同 4 –-vnc 启用VNC远程管理,一般安装系统都要启用。 5 –-vncport 指定VNC监控端口,默认端口为5900,端口不能重复。 6 –-vnclisten 指定VNC绑定IP,默认绑定127.0.0.1,这里改为0.0.0.0。 7 --network 虚拟机网络配置 8 # 其中子选项,bridge=br0 指定桥接网卡的名称。 9 10 --os-type=linux,windows 11 --os-variant=rhel7.2 12 13 --disk 指定虚拟机的磁盘存储位置 14 # size,初始磁盘大小,以 GB 为单位。 15 16 --location 指定安装介质路径,如光盘镜像的文件路径。 17 --graphics 图形化显示配置 18 # 全新安装虚拟机过程中可能会有很多交互操作,比如设置语言,初始化 root 密码等等。 19 # graphics 选项的作用就是配置图形化的交互方式,可以使用 vnc(一种远程桌面软件)进行链接。 20 # 我们这列使用命令行的方式安装,所以这里要设置为 none,但要通过 --extra-args 选项指定终端信息, 21 # 这样才能将安装过程中的交互信息输出到当前控制台。 22 --extra-args 根据不同的安装方式设置不同的额外选项
三、虚拟机管理—命令行方式 -
1 virsh list # 查看在运行的虚拟机 2 virsh dumpxml vm-name # 查看kvm虚拟机配置文件 3 virsh edit vm-name # 修改虚拟机的配置文件(部分选项修改以后start虚拟机就可以生效) 4 virsh start vm-name # 启动kvm虚拟机 5 virsh shutdown vm-name # 正常关机 6 7 virsh destroy vm-name # 非正常关机,强制关闭虚拟机(相当于物理机直接拔掉电源) 8 virsh undefine vm-name # 删除vm的配置文件 9 10 ls /etc/libvirt/qemu 11 # 查看删除结果,Centos-6.6的配置文件被删除,但磁盘文件不会被删除 12 13 virsh define file-name.xml # 根据配置文件定义虚拟机 14 virsh suspend vm-name # 挂起,终止 15 virsh resumed vm-name # 恢复被挂起的虚拟机 16 virsh autostart vm-name # 开机自启动vm 17 virsh console <虚拟机名称> # 连接虚拟机
彻底删除虚拟机的方法:1 # 虚拟机启动的情况下先关闭虚拟机 2 virsh destroy vm-name 3 4 # 删除vm配置文件 5 virsh undefine vm-name 6 7 # 查看删除结果(是否删除了配置文件),如果没有vm-name.xml文件则删除成功 8 ls /etc/libvirt/qemu 9 10 # 删除虚拟机磁盘(安装的时候创建的kvm.raw文件) 11 rm /data/kvm.raw