kvm虚拟机的创建

首先是下载kvm和qemu以及redhat开发的virt-install
其次是从ubuntu下载了14.04的cd[url=http://www.ubuntu.com/download/desktop/]镜像[/url],摆到脚本当下的文件夹
#!/bin/sh
sudo apt-get install qemu-kvm libvirt-bin bridge-utils virt-viewer virt-install
sudo adduser `id -un` kvm
sudo adduser `id -un` libvirtd
virsh -c qemu:///system list
sudo virsh -c qemu:///session undefine ubuntu1404
imagefile="$HOME/kvm/guest.img"
if [ ! -e $imagefile ]
then
echo "creating kvm disk: $imagefile"
virt-install --connect qemu:///session --name ubuntu1404 --ram 1000 --vcpus=1 --disk path=$imagefile,size=10 --accelerate --cdrom ./ubuntu-14.04.2-desktop-amd64.iso --graphics vnc
# virt-install --connect qemu:///session --name ubuntu1404 --ram 1000 --vcpus=1 --disk path=$imagefile,size=10 --accelerate --cdrom ./ubuntu-14.04.2-desktop-amd64.iso --graphics none
# size=10 means allocate 10GB for this VM
else
echo "kvm disk $imagefile exists!"
fi


如果你是在远程执行安装,通过命令行是看不到vnc的输出的,virt-install的--graphics参数如果指定了输出,尤其又是第一次安装,则需要通过桌面打开vnc
在本地桌面环境(如果本地也是命令行环境,就悲剧了),打入以下命令:
ssh -X -C youruser@thathostip
virt-viewer ubuntu1210

就可以看到远程安装进程了
### 如何创建 KVM 虚拟机 #### 准备工作 为了成功创建 KVM 虚拟机,需要先完成必要的准备工作。这包括安装所需的工具包以及配置存储和网络资源。 在准备阶段,需确保已安装以下组件: - `qemu-kvm` 和其相关工具用于支持虚拟化功能。 - `libvirt` 提供管理 API 并允许远程访问虚拟机。 - `virt-manager`, `virt-install` 是常用的虚拟机管理和创建工具。 - `openssh-askpass` 可选,但在某些图形界面环境中可能需要用到[^2]。 执行如下命令可以一次性安装上述所需软件包: ```bash yum install qemu-kvm qemu-kvm-tools libvirt virt-manager virt-install openssh-askpass -y ``` #### 存储设置 对于存储部分,通常会为虚拟机分配独立的磁盘空间。假设已经有一块未使用的硬盘 `/dev/sdb`,可以通过以下操作将其格式化并挂载到指定目录: 1. 使用 `fdisk` 命令划分分区: ```bash fdisk /dev/sdb ``` 2. 对新创建的分区进行文件系统初始化(这里以 XFS 文件系统为例): ```bash mkfs.xfs /dev/sdb1 ``` 3. 将此分区挂载至默认路径 `/var/lib/libvirt/images` 以便后续使用: ```bash mount /dev/sdb1 /var/lib/libvirt/images ``` 以上步骤完成后即可拥有一个可供虚拟机使用的存储位置[^1]。 #### 网络配置 推荐采用桥接模式实现宿主机与虚拟机之间的通信。具体做法如下: 1. 安装 `bridge-utils` 工具集: ```bash yum install bridge-utils -y ``` 2. 编辑网卡配置文件调整成桥接方式(假定原物理接口名为 eth0),修改后的典型内容如下所示: ```plaintext DEVICE=br0 TYPE=Bridge BOOTPROTO=dhcp ONBOOT=yes DELAY=0 DEVICE=eth0 HWADDR=<MAC地址> MASTER=br0 SLAVE=yes ONBOOT=yes BOOTPROTO=none NM_CONTROLLED=no ``` 重启网络服务使更改生效: ```bash systemctl restart network ``` 此时应该能够观察到新增了一个名称类似于 br0 的桥梁设备处于活动状态[^3]。 #### 创建虚拟机实例 最后一步就是实际构建虚拟机本身了。下面给出基于 CentOS ISO 镜像启动的新建例子: 下载操作系统镜像源文件: ```bash wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.7.1908/isos/x86_64/CentOS-7-x86_64-DVD-1908.iso ``` 利用 `virt-install` 执行自动化部署流程: ```bash virt-install \ --name kvm-centos-test \ --ram 2048 \ --vcpus 2 \ --disk path=/var/lib/libvirt/images/kvm-centos-test.qcow2,size=20,bus=virtio,format=qcow2 \ --cdrom /path/to/CentOS-7-x86_64-DVD-1908.iso \ --network bridge=br0,model=virtio \ --graphics vnc,listen=0.0.0.0,port=5901 \ --noautoconsole ``` 其中各参数含义分别为:定义 VM 名称、内存大小(MB)、CPU 数量、磁盘容量(GB),指明引导介质所在位置,设定联网形式及显示协议等细节信息。 至此整个过程结束,可通过 VNC 连接到对应端口继续手动干预剩余安装环节或者等待全自动脚本处理完毕。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值