Linux 安装 QEMU-KVM
在 QEMU-KVM 环境运行 Debian 12 amd64。
环境准备
安装相关工具:
sudo apt install qemu-system-x86 qemu-system-arm libvirt-daemon-system virt-manager
-
qemu-system-x86
提供 i386 和 x86-64 硬件仿真; -
qemu-system-arm
提供 arm 硬件仿真; -
libvirt-daemon-system
管理硬件虚拟化的工具包,以守护进程方式提供服务; -
virt-manager
可选,基于 QT 的图形界面的虚拟机管理工具。
查看服务状态:
systemctl status libvirtd.service
将当前登录用户添加到组 kvm
和 libvirt
,重新登录后生效:
sudo usermod -aG kvm $USER
sudo usermod -aG libvirt $USER
安装 Debian 12
方式一:图形界面
点击图标启动 Virtual Machine Manager
。
-
文件 → 新建虚拟机:
Figure 1. 新建虚拟机 -
连接 QEMU/KVM:
Figure 2. 连接 QEMU/KVM -
选择安装介质,提前下载了 Debian 12 ISO 文件:
Figure 3. 选择安装介质 -
设置内存和 CPU:
Figure 4. 设置内存和 CPU -
设置磁盘:
Figure 5. 设置磁盘 -
设置名称和选择网络:
Figure 6. 设置名称和选择网络 -
进入系统安装界面:
Figure 7. 进入系统安装界面
方式二:终端
终端方式安装,安装时选择 SSH Server 组件,后续通过 SSH 方式登录:
sudo virsh net-start default
sudo virt-install \
--arch x86_64 \
--location /data/os/debian-12.5.0-amd64-netinst.iso \
--osinfo debian12 \
--ram 8192 \
--vcpus 8 \
--disk size=50 \
--name debian12-amd64 \
--network network=default \
--graphics none \
--extra-args='console=ttyS0'
-
arch
CPU 架构 x86_64 -
location
系统 ISO 文件路径 -
osinfo
系统名称debian12
-
ram
内存 8192 MB -
vcpus
CPU 8 核心 -
disk
磁盘 50GB -
name
名称 -
network
网络 -
graphics
无图形界面none
-
console=ttyS0
终端启动系统
Debian 12
Debian 官方提供了本地 QEMU 虚拟机 qcow2 格式镜像,直接从 https://www.debian.org/distrib/ 下载镜像。
-
镜像从 2G 扩容到 52G:
sudo cp debian-12-nocloud-amd64.qcow2 /var/lib/libvirt/images # 扩容 +50G sudo qemu-img resize /var/lib/libvirt/images/debian-12-nocloud-amd64.qcow2 +50G # 查看镜像大小 sudo qemu-img info /var/lib/libvirt/images/debian-12-nocloud-amd64.qcow2
-
通过图形界面安装,选择 导入现有磁盘映像,其他和上述步骤一致,或者命令:
sudo virsh net-start default sudo virt-install \ --import \ --arch x86_64 \ --disk path=/var/lib/libvirt/images/debian-12-nocloud-amd64.qcow2,device=disk,bus=virtio \ --osinfo debian12 \ --ram 8192 \ --vcpus 8 \ --name debian12-amd64 \ --network network=default \ --graphics none
-
进入虚拟机后,默认用户 root,无密码,执行:
# 查看磁盘 df -h # 可以看到增加容量未直接添加到分区 lsblk apt-get install cloud-guest-utils # 分区扩容 growpart /dev/vda 1 # 字符编码 apt install locales # 更新配置文件 /etc/locale.gen 取消注释 `en_US.UTF-8 UTF-8` 和 `zh_CN.UTF-8 UTF-8` # 更新配置文件 /etc/default/locale 写入 `LANG=en_US.UTF-8` locale-gen # 修改 hostname hostnamectl hostname debian12-amd64 # 远程登录 apt-get install openssh-server # 新建用户,后续通过该用户远程登录: adduser jenkins
-
重启后生效;
-
配置 apt 代理(可选):
/etc/apt/apt.conf.d/99proxyAcquire::http::Proxy "http://192.168.0.254:8000";
-
配置 apt 源,备份后修改(可选):
source=/etc/apt/mirrors/debian.list cp ${source} ${source}~ sed 's/https:\/\/deb.debian.org/http:\/\/mirrors.cloud.tencent.com/' ${source}~ | tee ${source} source=/etc/apt/mirrors/debian-security.list cp ${source} ${source}~ sed 's/https:\/\/deb.debian.org/http:\/\/mirrors.cloud.tencent.com/' ${source}~ | tee ${source}
相关命令
sudo virsh list --all
# 启动
sudo virsh start debian12-amd64
# 停止
sudo virsh shutdown debian12-amd64
# 查看 IP
sudo virsh domifaddr debian12-amd64
# 复制 SSH 公钥,免密登录用户 jenkins
ssh-copy-id jenkins@192.168.123.154
# 删除虚拟机
sudo virsh undefine debian12-amd64 --remove-all-storage --nvram