如何在xl create配置中正确设置disk参数以使用Xen文件后端存储?
你的问题根源是disk配置存在两个错误:一是没有明确指定后端存储类型为文件类型,二是target参数指向了目录,而不是预先创建的块设备镜像文件。
正确操作步骤
1. 提前创建磁盘镜像文件
你需要先在宿主机上生成指定大小的空镜像文件,示例为创建20G的raw格式镜像:
truncate -s 20G /home/yy/ub_xen/ubud1-disk.img
如果需要稀疏镜像或者qcow2格式,也可以用qemu-img创建:
# 创建20G qcow2格式镜像 qemu-img create -f qcow2 /home/yy/ub_xen/ubud1-disk.img 20G
2. 修改配置文件中的disk参数
raw格式镜像的正确配置如下:
disk = [ 'file:/home/yy/ub_xen/ubud1-disk.img,hda,w' ]
如果是qcow2格式镜像,修改前缀即可:
disk = [ 'qcow2:/home/yy/ub_xen/ubud1-disk.img,hda,w' ]
参数说明:
- 开头的
file:/qcow2:前缀明确告知Xen使用文件后端存储 - 第二部分为镜像文件的绝对路径
- 第三部分
hda为客户机内识别的块设备名,半虚拟化场景也可替换为xvda - 第四部分
w代表给客户机开放该设备的读写权限,安装系统时必须配置为可写
3. 额外注意事项
- 确保镜像文件的权限允许root用户读写,可执行
chmod 644 /home/yy/ub_xen/ubud1-disk.img调整权限 - 不要直接将宿主机目录作为块设备传入客户机,客户机无法直接识别目录作为存储介质
修改完成后重新执行sudo xl create -c ub_xen.cfg即可在分区步骤看到可用磁盘。
内容的提问来源于stack exchange,提问作者teddy teddy
相关产品推荐
相关产品推荐

