虚拟化-创建虚拟机

1、虚拟机的组成:

磁盘镜像文件:虚拟机的硬盘,/var/lib/libvirt/images/xxxx.qcow2

XML文件:虚拟机配置声明文件,/etc/libvirt/qemu/xxxx.xml

2、磁盘镜像文件:

RAW:一次性分配大小
QCOW2:copy on write

3、qemu-img命令:(管理镜像盘,多种格式)

qemu-img create -f qcow2 node1.qcow2 50G	#创建大小为50G的磁盘镜像,-f指定了类型

qemu-img info node1.qcow2	#查看磁盘信息

qemu-img create -b disk.qcow2 -f qcow2 node1.qcow2	50G # -b指定了后端盘

# 后端盘copy on write
# 首先从前端盘读取数据,如果没有,则从后端盘读取数据,并把数据写入到前端盘
# 对前端盘进行修改,后端盘不会改变
# 前端盘的大小应该大于等于后端盘
# 后端盘可以多层嵌套,后端盘也可以指定自己的后端盘。前端盘-->后端盘-->后端盘....

4、虚拟机配置声明文件:

# 配置文件,到官网上找模板,自己修改
vim /etc/libvirt/qemu/xxxx.xml
<domain type='kvm'>
	<name>node1</name>	#虚拟机名称,通过virsh list查看
  
  	<memory unit='KB'>2248000</memory>	#最大内存大小
  	<currentMemory unit='KB'>2248000</currentMemory >	#当前内存大小

	<vcpu placement='static'>2</vcpu>	#cpu个数

    <disk type='file' device='disk'>	#磁盘
    	<driver name='qemu' type='qcow2'/>	#磁盘类型	
      	<source file='/var/lib/libvirt/images/node1.qcow2'/>	#磁盘路径
      	<target dev='vda' bus='virtio'/>	#磁盘名称,通过fdisk -l查看
    </disk>
	...
    <interface type='bridge'>	#网卡
      	<source bridge='default'/>	#虚拟交换机,通过virsh domiflist  node1查看的source
      	<model type='virtio'/>
    </interface>
	...
</domain>

5、批量创建虚拟机的脚本:

vim createvhost.sh
#!/bin/bash
function createvhost(){
	vhost=$1
	cd /var/lib/libvirt/images/
	qemu-img create -b disk.qcow2 -f qcow2 ${vhost}.qcow2 50G	#创建磁盘
	sed 's,node,${vhost}' node.xml > /etc/libvirt/qemu/${vhost}.xml	#创建配置文件,node.xml是模板
	virsh define /etc/libvirt/qemu/${vhost}.xml	# 根据配置文件创建虚拟机
}
if (( $# == 0 )); then
	echo "no hostname"
esle
	for i in $*;		# $*表示所有的参数列表
	do
		createvhost ${i}	
	done
fi

# 创建两台虚拟机
bash createvhost.sh web1 db1	

virsh start web1	#开机
virsh console web1	#连接

写总结的第六十八天!!!

在 Rocky Linux 9.5 上部署 KVM(Kernel-based Virtual Machine)虚拟化创建虚拟机,可以通过以下步骤完成。KVM 是 Linux 内核中的虚拟化模块,允许将系统转变为一个虚拟化平台,支持运行多个虚拟机(Guest OS)。 ### 检查硬件支持 首先,确保 CPU 支持虚拟化技术。可以通过以下命令检查: ```bash egrep -c '(vmx|svm)' /proc/cpuinfo ``` 如果返回值大于 0,说明 CPU 支持虚拟化技术。如果返回 0,则需要在 BIOS/UEFI 中启用虚拟化支持。 ### 安装 KVM 及相关工具 安装 KVM 及其依赖组件,包括 `qemu-kvm`、`libvirt` 和 `virt-install` 等工具: ```bash sudo dnf install -y qemu-kvm libvirt virt-install virt-manager ``` - `qemu-kvm`:提供用户空间的虚拟化支持。 - `libvirt`:提供虚拟化管理接口。 - `virt-install`:用于创建虚拟机- `virt-manager`:提供图形界面管理工具(可选)。 安装完成后,启动 `libvirtd` 服务并设置开机自启: ```bash sudo systemctl start libvirtd sudo systemctl enable libvirtd ``` ### 配置网络 KVM 支持多种网络模式,常见的有: - **NAT 模式**:虚拟机通过主机的网络连接访问外部网络,外部无法直接访问虚拟机- **桥接模式**:虚拟机与主机处于同一网络,可以直接被外部访问。 可以通过 `virsh` 命令或编辑 XML 配置文件来配置网络。例如,查看当前网络配置: ```bash sudo virsh net-list --all ``` ### 创建虚拟机 使用 `virt-install` 命令创建虚拟机。以下是一个示例命令,用于创建一个基于 ISO 镜像的虚拟机: ```bash sudo virt-install \ --name=myvm \ --ram=2048 \ --vcpus=2 \ --disk path=/var/lib/libvirt/images/myvm.qcow2,size=20 \ --cdrom=/path/to/iso \ --os-type=linux \ --os-variant=rhel9 \ --network=bridge:virbr0 \ --graphics spice \ --console pty,target_type=serial ``` - `--name`:虚拟机名称。 - `--ram`:分配的内存大小(单位为 MB)。 - `--vcpus`:分配的 CPU 核心数。 - `--disk`:磁盘镜像路径及大小。 - `--cdrom`:ISO 镜像路径。 - `--os-type` 和 `--os-variant`:指定操作系统类型和变体。 - `--network`:网络配置。 - `--graphics`:图形显示方式。 - `--console`:控制台配置。 ### 管理虚拟机 使用 `virsh` 命令管理虚拟机,例如查看运行中的虚拟机: ```bash sudo virsh list ``` 停止虚拟机: ```bash sudo virsh shutdown myvm ``` 启动虚拟机: ```bash sudo virsh start myvm ``` ### 相关问题 1. 如何在 Rocky Linux 9.5 上配置桥接网络以支持 KVM 虚拟机2. 如何使用 `virt-manager` 图形界面管理 KVM 虚拟机? 3. 如何在 KVM 中创建快照并恢复虚拟机? 4. 如何在 Rocky Linux 9.5 上使用 `libvirt` API 管理虚拟机? 5. 如何优化 KVM 虚拟机的性能?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值