
宿主机的操作系统是Rocky 9。CentOS类似。
虚拟机镜像采用Rocky-9-GenericCloud.latest.x86_64.qcow2官方镜像文件。
在宿主机上部署网桥bridge,虚拟机网络直接接入宿主机所在网络,与宿主机使用同一个网段的IP。
在BIOS里开启CPU虚拟化,Intel VT或者AMD-V。一般而言都是开启状态,可以在操作系统中通过命令检查。
检查CPU是否开启了虚拟化(参考/etc/sysconfig/moduleskvm.modules),执行以下命令,返回数值大于0则表示已经开启了虚拟化。
Intel CPU:
$ grep -c vmx /proc/cpuinfoAMD CPU:
$ grep -c svm /proc/cpuinfo操作系统中需要加载kvm内核模块。一般而言,操作系统中已经默认加载了该模块,可以通过命令检查。
执行以下命令,显示kvm条目则表示kvm模块已经加载。
# lsmod|grep kvm
kvm_intel 148081 57
kvm 461126 1 kvm_intel如果没有加载,modprobe kvm加载即可。
yum install qemu-system-x86
yum install qemu-img
yum install libguestfs
yum install tigervnc-server
#默认有
#yum install xorriso
systemctl start libvirtdip link add br0 type bridge
ip address delete 10.0.0.10/24 dev eth0
ip address add 10.0.0.10/24 dev br0
ip link set dev br0 up
ip route add default via 10.0.0.1 dev br0
qemu-img convert -f qcow2 -O qcow2 Rocky-9-GenericCloud.latest.x86_64.qcow2 r9-01.qcow2 virt-install --name r9-01 --memory 4096 --noreboot --os-variant detect=on,name=rocky9 --disk "$(pwd)/r9-01.qcow2" --graphics vnc,port=5911,listen=0.0.0.0 --boot hd直接启动官方镜像,也会运行cloud-init,使用的是镜像自带的默认配置,不方便。实际使用时,使用cloud-init配置文件,见第5节步骤。
#创建1个空的meta-data,之后有元数据需求可以填入
touch meta-data
#创建网络配置文件,并将虚拟机的IP填入
cat << EOF > network-config
network:
version: 2
ethernets:
# opaque ID for physical interfaces, only referred to by other stanzas
eth0:
dhcp4: no
addresses:
- 10.0.0.11/24
gateway4: 10.0.0.1
nameservers:
addresses: [10.0.0.3]
EOF
cat << EOF > user-data
#cloud-config
hostname: r9-01
chpasswd:
list: |
root:<密码明文>
expire: false
ssh_pwauth: true
disable_root: false
groups:
- candy
users:
- name: candy
primary_group: candy
lock_passwd: false
passwd: $6$rounds=4096$X7iep1or/AJiS0BF$UUULI8dypbeFw.Hc1AS7.eFm6YYYVVYz.sVLXw4CgVUMWayg220Z3A8SyklHqPRkeVlgonv/uGT3kky8U0LMO.
EOF使用mkpasswd命令,输入要加密的密码明文,回车,就会打印生成加密密码。
[root@log01 r9-wht-config]# mkpasswd --method=SHA-512 --rounds=4096
Password:
#
$6$rounds=4096$X7iep1or/AJiS0BF$UUULI8dypbeFw.Hc1AS7.eFm6YYYVVYz.sVLXw4CgVUMWayg220Z3A8SyklHqPRkeVlgonv/uGT3kky8U0LMO. virt-install --name r9-01 --memory 4096 --noreboot --os-variant detect=on,name=rocky9 --disk "$(pwd)/r9-01.qcow2" --graphics vnc,port=5911,listen=0.0.0.0 --cloud-init user-data="$(pwd)/user-data,meta-data=$(pwd)/meta-data,network-config=$(pwd)/network-config" --network bridge=br0,model=virtio3种方式。
(1) virsh创建的虚拟机,可以通过virsh console <vm名称>来访问。
(2) 在创建虚拟机时,配置了vnc,使用vnc viewer访问即可。
(3) 在cloud-init自定义文件中,配置了虚拟机的网络IP,通过ssh访问即可。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。