linux kvm virt-install导入centos7.6 qcow2文件

本文详细介绍如何使用virt-install和libvirt工具搭建虚拟机,包括配置文件路径、依赖包安装、参数详解及常见问题解决。涵盖了内存、CPU、磁盘、网络等关键设备的设置方法。

配置文件:
/etc/libvirt/qemu/test.xml
/var/lib/kimchi/isos/test.qcow2
依赖包:

yum -y install libguestfs-tools
yum -y install virt-install.noarch
virt-install --name test_jf --os-type=linux --os-variant=centos7.0 --ram 65536 --vcpus=8 --cpu host-model --disk path=test.qcow2,bus=ide,format=qcow2,size=550,sparse=yes --network bridge=kbeno1,model=e1000 --network bridge=kbeno1,model=e1000,link_state=down --force --import  --autostart

参数解释:

--name 后面是要新建的虚拟机的名称;
--ram 后面是分配的内存大小(单位MB)
--vcpus= 是分配的cpu个数
--cpu host-model 复制主机cpu配置
--import 在已有的磁盘镜像中构建客户机
--disk=后面的第一个参数是qcow2文件
sparse=yes 磁盘映像使用稀疏格式,即不立即分配指定大小的空间
--autostart的意思是虚拟机随着宿主机的启动而自动启动
link_state=down 网卡不启用,up为启用
model:GuestOS中看到的网络设备型号,如e1000、rtl8139或virtio等

常见问题:

WARNING  无法连接到图形控制台:没有安装 virt-viewer。请安装 'virt-viewer' 软件包。
WARNING  没有控制台用于启动客户机,默认为 --wait -1

开始安装......
ERROR    unsupported format character '奠(0xffffffe7) at index 47
域安装失败,您可以运行下列命令重启您的域:
'virsh start virsh --connect qemu:///system start test_jf'
否则请重新开始安装。

这个可以忽略,不影响使用

# 查询磁盘信息
qemu-img info /home/data/iso/sys.qcow2
# 增加50G空间
qemu-img resize /home/data/iso/sys.qcow2 +50G
# 准备使用virt-resize调整分区空间,而virt-resize不能原地扩容,需要制作一个备份
cp  /home/data/iso/sys.qcow2  /home/data/iso/sys-orig.qcow2
# 扩容分区/dev/sda1,这里可以扩容该磁盘的特定分区,最好确认需要扩容的挂载点所在分区
# 可以使用后面的验证分区大小命令确认需要扩容的分区
virt-resize --expand /dev/sda1  /home/data/iso/sys-orig.qcow2  /home/data/iso/sys.qcow2 
# 查看分区信息
qemu-img info /home/data/iso/sys.qcow2
# 验证分区大小
virt-filesystems --long -h --all -a /home/data/iso/sys.qcow2
[root]# virt-install --help
usage: virt-install --name NAME --memory MB STORAGE INSTALL [options]

从指定安装源创建新虚拟机。

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  --connect URI         通过 libvirt URI 连接到虚拟机管理程序

通用选项:
  -n NAME, --name NAME  客户机实例名称
  --memory MEMORY       Configure guest memory allocation. Ex:
                        --memory 1024 (in MiB)
                        --memory 512,maxmemory=1024
                        --memory 512,maxmemory=1024,hotplugmemorymax=2048,hotplugmemoryslots=2
  --vcpus VCPUS         Number of vcpus to configure for your guest. Ex:
                        --vcpus 5
                        --vcpus 5,maxvcpus=10,cpuset=1-4,6,8
                        --vcpus sockets=2,cores=4,threads=2
  --cpu CPU             CPU model and features. Ex:
                        --cpu coreduo,+x2apic
                        --cpu host-passthrough
                        --cpu host
  --metadata METADATA   配置客户机元数据。例如:
                        --metadata name=foo,title="My pretty title",uuid=...
                        --metadata description="My nice long description"

安装方法选项:
  --cdrom CDROM         光驱安装介质
  -l LOCATION, --location LOCATION
                        安装源 (例如:nfs:host:/path, http://host/path,
                        ftp://host/path)
  --pxe                 使用 PXE 协议从网络引导
  --import              在已有的磁盘镜像中构建客户机
  --livecd              将光驱介质视为 Live CD
  -x EXTRA_ARGS, --extra-args EXTRA_ARGS
                        将附加参数添加到由 --location
                        引导的内核中
  --initrd-inject INITRD_INJECT
                        添加指定文件到由 --location 指定的 initrd
                        根中
  --os-variant DISTRO_VARIANT
                        在客户机上安装的操作系统,例如:'fedor
                        a18'、'rhel6'、'winxp' 等。
  --boot BOOT           配置客户机引导设置。例如:
                        --boot hd,cdrom,menu=on
                        --boot init=/sbin/init (针对容器)
  --idmap IDMAP         为 LXC 容器启用用户名称空间。例如:
                        --idmap uid_start=0,uid_target=1000,uid_count=10

设备选项:
  --disk DISK           指定存储的各种选项。例如:
                        --disk size=10 (在默认位置创建 10GiB 镜像)
                        --disk /my/existing/disk,cache=none
                        --disk device=cdrom,bus=scsi
                        --disk=?
  -w NETWORK, --network NETWORK
                        配置客户机网络接口。例如:
                        --network bridge=mybr0
                        --network network=my_libvirt_virtual_net
                        --network network=mynet,model=virtio,mac=00:11...
                        --network none
                        --network help
  --graphics GRAPHICS   配置客户机显示设置。例如:
                        --graphics vnc
                        --graphics spice,port=5901,tlsport=5902
                        --graphics none
                        --graphics vnc,password=foobar,port=5910,keymap=ja
  --controller CONTROLLER
                        配置客户机控制器设备。例如:
                        --controller type=usb,model=ich9-ehci1
  --input INPUT         配置客户机输入设备。例如:
                        --input tablet
                        --input keyboard,bus=usb
  --serial SERIAL       配置客户机串口设备
  --parallel PARALLEL   配置客户机并口设备
  --channel CHANNEL     配置客户机通信通道
  --console CONSOLE     配置文本控制台连接主机与客户机
  --hostdev HOSTDEV     配置物理 USB/PCI 等主机设备与客户机共享
  --filesystem FILESYSTEM
                        传递主机目录到客户机。例如:
                        --filesystem /my/source/dir,/dir/in/guest
                        --filesystem template_name,/,type=template
  --sound [SOUND]       配置客户机声音设备仿真
  --watchdog WATCHDOG   配置客户机 watchdog 设备
  --video VIDEO         配置客户机视频硬件。
  --smartcard SMARTCARD
                        配置客户机智能卡设备。例如:
                        --smartcard mode=passthrough
  --redirdev REDIRDEV   配置客户机重定向设备。例如:
                        --redirdev usb,type=tcp,server=192.168.1.1:4000
  --memballoon MEMBALLOON
                        配置客户机 memballoon 设备。例如:
                        --memballoon model=virtio
  --tpm TPM             配置客户机 TPM 设备。例如:
                        --tpm /dev/tpm
  --rng RNG             Configure a guest RNG device. Ex:
                        --rng /dev/urandom
  --panic PANIC         配置客户机 panic 设备。例如:
                        --panic default
  --memdev MEMDEV       Configure a guest memory device. Ex:
                        --memdev dimm,target_size=1024

客户机配置选项:
  --security SECURITY   设置域安全驱动配置。
  --cputune CPUTUNE     Tune CPU parameters for the domain process.
  --numatune NUMATUNE   为域进程调整 NUMA 策略。
  --memtune MEMTUNE     为域进程调整内存策略。
  --blkiotune BLKIOTUNE
                        为域进程调整 blkio 策略。
  --memorybacking MEMORYBACKING
                        为域进程设置内存后备策略。例如:
                        --memorybacking hugepages=on
  --features FEATURES   设置域 <features> XML。例如:
                        --features acpi=off
                        --features apic=on,eoi=on
  --clock CLOCK         设置域 <clock> XML。例如:
                        --clock offset=localtime,rtc_tickpolicy=catchup
  --pm PM               配置 VM 电源管理功能
  --events EVENTS       配置 VM 生命周期管理策略
  --resource RESOURCE   配置 VM 资源分区(cgroups)
  --sysinfo SYSINFO     Configure SMBIOS System Information. Ex:
                        --sysinfo emulate
                        --sysinfo host
                        --sysinfo bios_vendor=Vendor_Inc.,bios_version=1.2.3-abc,...
                        --sysinfo system_manufacturer=System_Corp.,system_product=Computer,...
                        --sysinfo baseBoard_manufacturer=Baseboard_Corp.,baseBoard_product=Motherboard,...
  --qemu-commandline QEMU_COMMANDLINE
                        Pass arguments directly to the qemu emulator. Ex:
                        --qemu-commandline='-display gtk,gl=on'
                        --qemu-commandline env=DISPLAY=:0.1

虚拟化平台选项:
  -v, --hvm             这个客户机应该是一个全虚拟化客户机
  -p, --paravirt        这个客户机应该是一个半虚拟化客户机
  --container           这个客户机应该是一个容器客户机
  --virt-type HV_TYPE   要使用的管理程序名称 (kvm, qemu, xen, ...)
  --arch ARCH           模拟 CPU 架构
  --machine MACHINE     机器类型为仿真类型

其它选项:
  --autostart           主机启动时自动启动域。
  --transient           Create a transient domain.
  --wait WAIT           请等待数分钟以便完成安装。
  --noautoconsole       不要自动尝试连接到客户端控制台
  --noreboot            安装完成后不启动客户机。
  --print-xml [XMLONLY]
                        打印生成的 XML 域,而不是创建客户机。
  --dry-run             运行安装程序,但不创建设备或定义客户
                        机。
  --check CHECK         启用或禁用验证检查。例如:
                        --check path_in_use=off
                        --check all=off
  -q, --quiet           抑制非错误输出
  -d, --debug           输入故障排除信息

使用 '--option=?' 或 '--option help' 来查看可用的子选项
请参考 man 手册,以便了解示例和完整的选项语法。

<think>好的,我现在需要帮助用户解决如何使用virt-install命令创建KVM虚拟机的问题,并且用户特别指定了参数如os-type为linux,内存1024,磁盘路径qcow2,以及网络设置。首先,我得回忆一下virt-install的常用参数和语法结构。 首先,virt-install是一个命令行工具,用于创建新的KVM虚拟机。用户需要具体的参数示例,所以我应该提供一个包含这些参数的典型命令。用户提到的参数包括os-type=linux,内存1024MB,磁盘使用qcow2格式,以及网络设置。可能还需要指定安装源,比如ISO文件的位置。 接下来,我需要确保每个参数的语法正确。例如,--os-type linux是正确的写法,而内存参数应该是--memory 1024。磁盘部分可能需要指定路径、大小和格式,所以应该是--disk path=/var/lib/libvirt/images/vm1.qcow2,size=20,format=qcow2。网络设置通常使用默认的NAT,所以用--network network=default。 然后,可能还需要其他必要的参数,比如虚拟CPU的数量(--vcpu),图形界面类型(--graphics),以及是否自动启动(--noautoconsole)。安装源通常通过--cdrom指定ISO文件路径。 我需要检查是否遗漏了任何必要参数。例如,虚拟机名称(--name)和内存、vcpu都是必须的。确保示例命令能够正确运行,用户可以直接复制粘贴使用。 另外,用户提供的引用内容中有提到Qemu设置内存使用-m选项,但在virt-install中是用--memory,这点需要注意区分。同时,用户可能对网络设置的具体配置感兴趣,比如桥接网络,所以可能需要简要说明如何调整网络参数。 最后,生成相关问题时要围绕virt-install的其他参数、磁盘格式区别、网络模式以及如何启用虚拟化增强功能等,这些是用户可能进一步想了解的内容。</think>### 如何用`virt-install`创建KVM虚拟机(指定参数示例) 以下是使用`virt-install`命令创建KVM虚拟机的示例,包含指定操作系统类型、内存、磁盘格式及网络设置: ```bash virt-install \ --name=vm1 \ --os-type=linux \ --os-variant=ubuntu22.04 \ --memory=1024 \ --vcpu=2 \ --disk path=/var/lib/libvirt/images/vm1.qcow2,size=20,format=qcow2 \ --network network=default \ --graphics=vnc \ --cdrom=/path/to/ubuntu-22.04.iso \ --noautoconsole ``` #### 参数说明: 1. **`--name`**:虚拟机名称(必填) 2. **`--os-type`**:指定操作系统类型为`linux`[^1] 3. **`--memory`**:分配内存大小(单位MB),此处为1024 MB 4. **`--disk`**:设置虚拟磁盘: - `path`:磁盘文件存储路径 - `size`:磁盘容量(GB) - `format`:磁盘格式为`qcow2`(支持动态分配空间) 5. **`--network`**:网络配置使用默认NAT模式(`network=default`) 6. **`--cdrom`**:指定安装介质路径(如ISO镜像) #### 扩展配置: - **CPU核心绑定**:添加`--cpuset=0-3`可限制使用特定物理CPU核心 - **虚拟化增强**:添加`--virt-type=kvm --cpu host-passthrough`提升性能 - **桥接网络**:替换为`--network bridge=br0`使用桥接模式[^2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云樱梦海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值